Create function from splitter class.

This commit is contained in:
kovacsv 2021-11-06 08:36:34 +01:00
parent c088ab205f
commit 316c722390
2 changed files with 21 additions and 38 deletions

View File

@ -86,7 +86,7 @@ OV.Navigator = class
}); });
let originalWidth = null; let originalWidth = null;
new OV.VerticalSplitter (this.splitterDiv, { OV.CreateVerticalSplitter (this.splitterDiv, {
onSplitStart : () => { onSplitStart : () => {
originalWidth = this.mainDiv.outerWidth (true); originalWidth = this.mainDiv.outerWidth (true);
}, },

View File

@ -1,43 +1,26 @@
OV.VerticalSplitter = class OV.CreateVerticalSplitter = function (splitterDiv, callbacks)
{ {
constructor (splitterDiv, callbacks) let originalPosition = null;
{
this.callbacks = callbacks;
this.mouseMoveHandler = (ev) => {
this.OnMouseMove (ev);
};
this.mouseUpHandler = () => {
this.OnMouseUp ();
};
splitterDiv.mousedown ((ev) => {
this.OnMouseDown (ev);
});
this.originalPosition = null;
}
OnMouseDown (ev) let mouseMoveHandler = (ev) => {
{
this.originalPosition = ev.clientX;
this.callbacks.onSplitStart ();
document.addEventListener ('mousemove', this.mouseMoveHandler);
document.addEventListener ('mouseup', this.mouseUpHandler);
document.addEventListener ('mouseleave', this.mouseUpHandler);
}
OnMouseMove (ev)
{
ev.preventDefault (); ev.preventDefault ();
const diff = ev.clientX - this.originalPosition; const diff = ev.clientX - originalPosition;
this.callbacks.onSplit (diff); callbacks.onSplit (diff);
} };
OnMouseUp () let mouseUpHandler = () => {
{ document.removeEventListener ('mousemove', mouseMoveHandler);
document.removeEventListener ('mousemove', this.mouseMoveHandler); document.removeEventListener ('mouseup', mouseUpHandler);
document.removeEventListener ('mouseup', this.mouseUpHandler); document.removeEventListener ('mouseleave', mouseUpHandler);
document.removeEventListener ('mouseleave', this.mouseUpHandler); originalPosition = null;
};
this.originalPosition = null;
} splitterDiv.mousedown ((ev) => {
originalPosition = ev.clientX;
callbacks.onSplitStart ();
document.addEventListener ('mousemove', mouseMoveHandler);
document.addEventListener ('mouseup', mouseUpHandler);
document.addEventListener ('mouseleave', mouseUpHandler);
});
}; };