django-polymorphic / django-polymorphic-tree

Polymorphic MPTT tree support for models
Other
170 stars 45 forks source link

Fix in jqtree for Chrome -instead of moving to Page admin after mouse click it drags element #54

Open Kurdakov opened 7 years ago

Kurdakov commented 7 years ago

I was annoyed, that in admin jqtree won't pass click over link to page admin ( I tried different versions of jqtree it turn out latest which would work in jqtree 0.10 ( which was released long time ago ), so even if possibly this problem is fixed in jqtree ( don't know )

so added following fix to tree.jquery.js see line

elementMouseIsOver = document.elementFromPoint(event.clientX, event.clientY);
in  JqTreeWidget.prototype._mouseStart = function(event) {

JqTreeWidget.prototype._mouseStart = function(event) {
      var offsetX, offsetY, _ref,elementMouseIsOver;
      if (!this.options.dragAndDrop) {
        return;
      }
      this._refreshHitAreas();
      _ref = this._getOffsetFromEvent(event), offsetX = _ref[0], offsetY = _ref[1];
      elementMouseIsOver = document.elementFromPoint(event.clientX, event.clientY);
          elementMouseIsOver = document.elementFromPoint(event.clientX, event.clientY);
      if(elementMouseIsOver != null)
      {  
              if (elementMouseIsOver.getAttribute("href") != null || elementMouseIsOver.getAttribute("src") != null) 
          { 
            return;
          }
      }
      this.drag_element = new DragElement(this.current_item.node, offsetX, offsetY, this.element);
      this.is_dragging = true;
      this.current_item.$element.addClass('moving');
      return true;
    };