Added mouse capture to slider widget.
git-svn-id: http://google-refine.googlecode.com/svn/trunk@506 7d457c2a-affb-35e4-300a-418c747d4874
This commit is contained in:
parent
0ad08d49cc
commit
2ee091e9ea
@ -11,6 +11,14 @@ function SliderWidget(elmt, options) {
|
|||||||
};
|
};
|
||||||
this._drag = null;
|
this._drag = null;
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
this._mouseMoveHandler = function(evt) {
|
||||||
|
return self._onMouseMove(evt);
|
||||||
|
};
|
||||||
|
this._mouseUpHandler = function(evt) {
|
||||||
|
return self._onMouseUp(evt);
|
||||||
|
};
|
||||||
|
|
||||||
this._initializeUI();
|
this._initializeUI();
|
||||||
this._update();
|
this._update();
|
||||||
}
|
}
|
||||||
@ -71,16 +79,23 @@ SliderWidget.prototype._onMouseDown = function(evt, part) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$(document).mousemove(this._mouseMoveHandler);
|
||||||
|
$(document).mouseup(this._mouseUpHandler);
|
||||||
|
|
||||||
this._drag = {
|
this._drag = {
|
||||||
sureDrag: false
|
sureDrag: false,
|
||||||
|
overlay: $('<div>').addClass("slider-widget-overlay").appendTo(document.body)
|
||||||
};
|
};
|
||||||
if ("highlight" == part) {
|
if ("highlight" == part) {
|
||||||
this._drag.elmt = this._highlightRect;
|
this._drag.elmt = this._highlightRect;
|
||||||
this._drag.value = this._range.from;
|
this._drag.value = this._range.from;
|
||||||
|
$(this._drag.overlay).css("cursor", "move");
|
||||||
} else if ("left" == part) {
|
} else if ("left" == part) {
|
||||||
this._drag.elmt = this._leftBracket;
|
this._drag.elmt = this._leftBracket;
|
||||||
|
$(this._drag.overlay).css("cursor", "e-resize");
|
||||||
} else if ("right" == part) {
|
} else if ("right" == part) {
|
||||||
this._drag.elmt = this._rightBracket;
|
this._drag.elmt = this._rightBracket;
|
||||||
|
$(this._drag.overlay).css("cursor", "w-resize");
|
||||||
}
|
}
|
||||||
this._drag.what = part;
|
this._drag.what = part;
|
||||||
this._drag.from = this._range.from;
|
this._drag.from = this._range.from;
|
||||||
@ -96,10 +111,14 @@ SliderWidget.prototype._onMouseUp = function(evt) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$(document).unbind("mousemove", this._mouseMoveHandler);
|
||||||
|
$(document).unbind("mouseup", this._mouseUpHandler);
|
||||||
|
|
||||||
if (this._drag.sureDrag) {
|
if (this._drag.sureDrag) {
|
||||||
this._update();
|
this._update();
|
||||||
this._trigger("stop");
|
this._trigger("stop");
|
||||||
}
|
}
|
||||||
|
this._drag.overlay.remove();
|
||||||
this._drag = null;
|
this._drag = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -43,3 +43,12 @@
|
|||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
cursor: w-resize;
|
cursor: w-resize;
|
||||||
}
|
}
|
||||||
|
.slider-widget-overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: white;
|
||||||
|
opacity: 0.01;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user