Aleksander Machniak
2013-11-22 571c109260fb8455594173f1ed6739f7351f53e1
Make splitters more responsive (using timing events)
2 files modified
26 ■■■■ changed files
skins/classic/splitter.js 13 ●●●● patch | view | raw | blame | history
skins/larry/ui.js 13 ●●●●● patch | view | raw | blame | history
skins/classic/splitter.js
@@ -124,6 +124,17 @@
    if (!this.drag_active)
      return false;
    ref = this;
    // with timing events dragging action is more responsive
    window.clearTimeout(this.ts);
    this.ts = window.setTimeout(function() { ref.onDragAction(e); }, 1);
    return false;
  };
  this.onDragAction = function(e)
  {
    var pos = rcube_event.get_mouse_pos(e);
    if (this.relative) {
@@ -147,8 +158,6 @@
    this.p1pos = this.relative ? $(this.p1).position() : $(this.p1).offset();
    this.p2pos = this.relative ? $(this.p2).position() : $(this.p2).offset();
    return false;
  };
  /**
skins/larry/ui.js
@@ -1292,6 +1292,18 @@
    if (!me.drag_active)
      return false;
    // with timing events dragging action is more responsive
    window.clearTimeout(me.ts);
    me.ts = window.setTimeout(function() { onDragAction(e); }, 1);
    return false;
  };
  /**
   * Dragging action (see onDrag())
   */
  function onDragAction(e)
  {
    var pos = rcube_event.get_mouse_pos(e);
    if (me.relative) {
@@ -1315,7 +1327,6 @@
    me.p1pos = me.relative ? me.p1.position() : me.p1.offset();
    me.p2pos = me.relative ? me.p2.position() : me.p2.offset();
    return false;
  };
  /**