Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qx.ui.table.pane.Scroller.js: Dragging of items does not work anymore after editing a table cell #9334

Closed
Plasmodino opened this issue May 16, 2017 · 3 comments

Comments

@Plasmodino
Copy link
Contributor

Plasmodino commented May 16, 2017

In startEditing() a pointerdown-listener is attached to this.__focusIndicator:

// prevent tap event from bubbling up to the table
this.__focusIndicator.addListener("pointerdown", function(e) {
    this.__lastPointerDownCell = {
         row : this.__focusedRow,
         col : this.__focusedCol
    };
    e.stopPropagation();
}, this);

This listener is not removed anymore in cancelEditing():

cancelEditing : function() {
      if (this.isEditing())
      {
        if (!(this._cellEditor instanceof qx.ui.window.Window))
        {
          this.__focusIndicator.removeState("editing");
          this.__focusIndicator.setKeepActive(true);
        }
        this._cellEditor.destroy();
        this._cellEditor = null;
        this.__cellEditorFactory = null;
      }
    },

The listener keeps on catching pointerdown-events by stopping event propagation. Solution is to save the listener-id and then remove the listener again in cancelEditing().

@johnspackman
Copy link
Member

Sounds reasonable - please can you put your fix forward as a Pull Request?

@level420
Copy link
Member

@Plasmodino thank you for your bug report. It would be very nice if you could provide your proposed fix as a pull request. As you obviously are affected by the bug you could test the fix in your app. Thank you.

Plasmodino added a commit to Plasmodino/qooxdoo that referenced this issue Jul 26, 2017
In startEditing() a pointerdown listener is attached to the focus indicator to prevent events from propagation. This listener is not removed anymore in cancelEditing(). This causes dragging of items to fail afterwards. This fix saves the event listener id to remove the listener in cancelEditing().
level420 pushed a commit that referenced this issue Jul 31, 2017
In startEditing() a pointerdown listener is attached to the focus indicator to prevent events from propagation. This listener is not removed anymore in cancelEditing(). This causes dragging of items to fail afterwards. This fix saves the event listener id to remove the listener in cancelEditing().
@level420
Copy link
Member

Fixed via #9357

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants