tree-element 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -31
- package/lib/animation.d.ts +2 -2
- package/lib/animation.d.ts.map +1 -1
- package/lib/animation.js +16 -12
- package/lib/animation.js.map +1 -1
- package/lib/classNames.d.ts.map +1 -1
- package/lib/classNames.js +2 -2
- package/lib/classNames.js.map +1 -1
- package/lib/dataLoader.d.ts +1 -0
- package/lib/dataLoader.d.ts.map +1 -1
- package/lib/dataLoader.js +22 -20
- package/lib/dataLoader.js.map +1 -1
- package/lib/dragAndDropHandler/binarySearch.js +3 -3
- package/lib/dragAndDropHandler/binarySearch.js.map +1 -1
- package/lib/dragAndDropHandler/dragElement.d.ts.map +1 -1
- package/lib/dragAndDropHandler/dragElement.js +11 -13
- package/lib/dragAndDropHandler/dragElement.js.map +1 -1
- package/lib/dragAndDropHandler/generateHitAreas.d.ts.map +1 -1
- package/lib/dragAndDropHandler/generateHitAreas.js +25 -25
- package/lib/dragAndDropHandler/generateHitAreas.js.map +1 -1
- package/lib/dragAndDropHandler/index.d.ts.map +1 -1
- package/lib/dragAndDropHandler/index.js +125 -158
- package/lib/dragAndDropHandler/index.js.map +1 -1
- package/lib/dragAndDropHandler/iterateVisibleNodes.d.ts.map +1 -1
- package/lib/dragAndDropHandler/iterateVisibleNodes.js +23 -22
- package/lib/dragAndDropHandler/iterateVisibleNodes.js.map +1 -1
- package/lib/dragAndDropHandler/types.d.ts.map +1 -1
- package/lib/elementsRenderer.d.ts +20 -7
- package/lib/elementsRenderer.d.ts.map +1 -1
- package/lib/elementsRenderer.js +195 -136
- package/lib/elementsRenderer.js.map +1 -1
- package/lib/events.d.ts +44 -11
- package/lib/events.d.ts.map +1 -1
- package/lib/index.d.ts +36 -13
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +386 -349
- package/lib/index.js.map +1 -1
- package/lib/keyHandler.d.ts +13 -8
- package/lib/keyHandler.d.ts.map +1 -1
- package/lib/keyHandler.js +106 -51
- package/lib/keyHandler.js.map +1 -1
- package/lib/methodTypes.d.ts +3 -3
- package/lib/methodTypes.d.ts.map +1 -1
- package/lib/mouseHandler.d.ts +1 -1
- package/lib/mouseHandler.d.ts.map +1 -1
- package/lib/mouseHandler.js +36 -49
- package/lib/mouseHandler.js.map +1 -1
- package/lib/mouseUtils.d.ts.map +1 -1
- package/lib/mouseUtils.js +2 -2
- package/lib/mouseUtils.js.map +1 -1
- package/lib/node.d.ts +47 -16
- package/lib/node.d.ts.map +1 -1
- package/lib/node.js +169 -171
- package/lib/node.js.map +1 -1
- package/lib/nodeElement/borderDropHint.d.ts.map +1 -1
- package/lib/nodeElement/borderDropHint.js +4 -5
- package/lib/nodeElement/borderDropHint.js.map +1 -1
- package/lib/nodeElement/folderElement.d.ts +8 -5
- package/lib/nodeElement/folderElement.d.ts.map +1 -1
- package/lib/nodeElement/folderElement.js +75 -67
- package/lib/nodeElement/folderElement.js.map +1 -1
- package/lib/nodeElement/ghostDropHint.d.ts.map +1 -1
- package/lib/nodeElement/ghostDropHint.js +13 -13
- package/lib/nodeElement/ghostDropHint.js.map +1 -1
- package/lib/nodeElement/index.d.ts +2 -1
- package/lib/nodeElement/index.d.ts.map +1 -1
- package/lib/nodeElement/index.js +38 -30
- package/lib/nodeElement/index.js.map +1 -1
- package/lib/nodeUtils.d.ts.map +1 -1
- package/lib/nodeUtils.js +1 -1
- package/lib/nodeUtils.js.map +1 -1
- package/lib/options.d.ts +19 -3
- package/lib/options.d.ts.map +1 -1
- package/lib/positionUtils.js +3 -3
- package/lib/positionUtils.js.map +1 -1
- package/lib/requestUrl.d.ts +1 -1
- package/lib/requestUrl.d.ts.map +1 -1
- package/lib/requestUrl.js +6 -17
- package/lib/requestUrl.js.map +1 -1
- package/lib/saveStateHandler.d.ts.map +1 -1
- package/lib/saveStateHandler.js +59 -89
- package/lib/saveStateHandler.js.map +1 -1
- package/lib/scrollHandler/containerScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/containerScrollParent.js +11 -18
- package/lib/scrollHandler/containerScrollParent.js.map +1 -1
- package/lib/scrollHandler/createScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/createScrollParent.js +12 -13
- package/lib/scrollHandler/createScrollParent.js.map +1 -1
- package/lib/scrollHandler/documentScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/documentScrollParent.js +18 -27
- package/lib/scrollHandler/documentScrollParent.js.map +1 -1
- package/lib/scrollHandler/scrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/scrollParent.js +30 -34
- package/lib/scrollHandler/scrollParent.js.map +1 -1
- package/lib/scrollHandler.d.ts.map +1 -1
- package/lib/scrollHandler.js +11 -14
- package/lib/scrollHandler.js.map +1 -1
- package/lib/selectNodeHandler.d.ts +4 -2
- package/lib/selectNodeHandler.d.ts.map +1 -1
- package/lib/selectNodeHandler.js +64 -83
- package/lib/selectNodeHandler.js.map +1 -1
- package/lib/setDefaultOptions.d.ts.map +1 -1
- package/lib/setDefaultOptions.js +34 -38
- package/lib/setDefaultOptions.js.map +1 -1
- package/lib/triggerCustomEvent.d.ts.map +1 -1
- package/lib/triggerCustomEvent.js +2 -2
- package/lib/triggerCustomEvent.js.map +1 -1
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +2 -2
- package/lib/util.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +43 -32
- package/src/animation.ts +14 -12
- package/src/classNames.ts +52 -52
- package/src/dataLoader.ts +79 -71
- package/src/dragAndDropHandler/binarySearch.ts +17 -17
- package/src/dragAndDropHandler/dragElement.ts +51 -50
- package/src/dragAndDropHandler/generateHitAreas.ts +156 -161
- package/src/dragAndDropHandler/index.ts +334 -348
- package/src/dragAndDropHandler/iterateVisibleNodes.ts +61 -63
- package/src/dragAndDropHandler/types.ts +5 -5
- package/src/elementsRenderer.ts +377 -294
- package/src/events.ts +241 -208
- package/src/header.txt +1 -1
- package/src/index.ts +259 -229
- package/src/keyHandler.ts +179 -115
- package/src/methodTypes.ts +7 -10
- package/src/mouseHandler.ts +316 -316
- package/src/mouseUtils.ts +14 -14
- package/src/node.ts +773 -771
- package/src/nodeElement/borderDropHint.ts +25 -25
- package/src/nodeElement/folderElement.ts +116 -102
- package/src/nodeElement/ghostDropHint.ts +64 -62
- package/src/nodeElement/index.ts +81 -73
- package/src/nodeUtils.ts +5 -5
- package/src/options.ts +25 -5
- package/src/requestUrl.ts +7 -14
- package/src/saveStateHandler.ts +191 -207
- package/src/scrollHandler/containerScrollParent.ts +40 -49
- package/src/scrollHandler/createScrollParent.ts +26 -27
- package/src/scrollHandler/documentScrollParent.ts +66 -72
- package/src/scrollHandler/scrollParent.ts +90 -86
- package/src/scrollHandler.ts +45 -45
- package/src/selectNodeHandler.ts +171 -165
- package/src/setDefaultOptions.ts +44 -32
- package/src/triggerCustomEvent.ts +7 -3
- package/src/util.ts +2 -3
- package/src/version.ts +1 -1
- package/tree_element.css +87 -69
- package/tree_element.debug.js +3866 -3831
- package/tree_element.debug.js.map +1 -1
- package/tree_element.js +2 -2
- package/tree_element.js.map +1 -1
package/lib/methodTypes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methodTypes.d.ts","sourceRoot":"","sources":["../src/methodTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"methodTypes.d.ts","sourceRoot":"","sources":["../src/methodTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,MAAM,IAAI,EAAE,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,MAAM,IAAI,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;AAErE,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAG9C,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,SAAS,aAAa,EACpD,SAAS,EAAE,IAAI,EACf,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,KACtB,OAAO,CAAC"}
|
package/lib/mouseHandler.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ interface MouseHandlerParams {
|
|
|
11
11
|
element: HTMLElement;
|
|
12
12
|
getMouseDelay: () => number;
|
|
13
13
|
getNode: GetNode;
|
|
14
|
-
onClickButton: (node: Node) => void
|
|
14
|
+
onClickButton: (node: Node) => Promise<void>;
|
|
15
15
|
onClickTitle: (node: Node) => void;
|
|
16
16
|
onMouseCapture: MouseCapture;
|
|
17
17
|
onMouseDrag: (positionInfo: PositionInfo) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouseHandler.d.ts","sourceRoot":"","sources":["../src/mouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAOnC,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;AACzC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,CAAC;AAC1E,MAAM,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC;AAOjE,UAAU,kBAAkB;
|
|
1
|
+
{"version":3,"file":"mouseHandler.d.ts","sourceRoot":"","sources":["../src/mouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAOnC,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;AACzC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,CAAC;AAC1E,MAAM,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC;AAOjE,UAAU,kBAAkB;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,YAAY,CAAC;IAC7B,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC;IACzB,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,cAAM,YAAY;IAChB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,cAAc,CAAe;IAErC,OAAO,CAAC,WAAW,CAAuC;IAE1D,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO,CAAC,WAAW,CAAuC;IAE1D,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAU;gBACpB,EACV,UAAU,EACV,OAAO,EACP,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,GACf,EAAE,kBAAkB;IAgCd,MAAM,IAAI,IAAI;IAYrB,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,WAAW,CAgCjB;IAEF,OAAO,CAAC,iBAAiB,CAwBvB;IAEF,OAAO,CAAC,cAAc,CAapB;IAEF,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,SAAS,CAWf;IAEF,OAAO,CAAC,SAAS,CAEf;IAEF,OAAO,CAAC,OAAO,CAEb;IAEF,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,QAAQ,CAYd;IAEF,OAAO,CAAC,SAAS,CAYf;IAEF,OAAO,CAAC,UAAU,CAYhB;CACH;AAED,eAAe,YAAY,CAAC"}
|
package/lib/mouseHandler.js
CHANGED
|
@@ -1,35 +1,19 @@
|
|
|
1
1
|
import { getPositionInfoFromMouseEvent, getPositionInfoFromTouch } from './mouseUtils.js';
|
|
2
2
|
|
|
3
3
|
class MouseHandler {
|
|
4
|
-
_classNames;
|
|
5
|
-
_element;
|
|
6
|
-
_getMouseDelay;
|
|
7
|
-
_getNode;
|
|
8
|
-
_isMouseDelayMet;
|
|
9
|
-
_isMouseStarted;
|
|
10
|
-
_mouseDelayTimer;
|
|
11
|
-
_mouseDownInfo;
|
|
12
|
-
_onClickButton;
|
|
13
|
-
_onClickTitle;
|
|
14
|
-
_onMouseCapture;
|
|
15
|
-
_onMouseDrag;
|
|
16
|
-
_onMouseStart;
|
|
17
|
-
_onMouseStop;
|
|
18
|
-
_triggerEvent;
|
|
19
|
-
_useContextMenu;
|
|
20
4
|
constructor({
|
|
21
|
-
classNames,
|
|
22
|
-
element,
|
|
23
|
-
getMouseDelay,
|
|
24
|
-
getNode,
|
|
25
|
-
onClickButton,
|
|
26
|
-
onClickTitle,
|
|
27
|
-
onMouseCapture,
|
|
28
|
-
onMouseDrag,
|
|
29
|
-
onMouseStart,
|
|
30
|
-
onMouseStop,
|
|
31
|
-
triggerEvent,
|
|
32
|
-
useContextMenu
|
|
5
|
+
_classNames: classNames,
|
|
6
|
+
_element: element,
|
|
7
|
+
_getMouseDelay: getMouseDelay,
|
|
8
|
+
_getNode: getNode,
|
|
9
|
+
_onClickButton: onClickButton,
|
|
10
|
+
_onClickTitle: onClickTitle,
|
|
11
|
+
_onMouseCapture: onMouseCapture,
|
|
12
|
+
_onMouseDrag: onMouseDrag,
|
|
13
|
+
_onMouseStart: onMouseStart,
|
|
14
|
+
_onMouseStop: onMouseStop,
|
|
15
|
+
_triggerEvent: triggerEvent,
|
|
16
|
+
_useContextMenu: useContextMenu
|
|
33
17
|
}) {
|
|
34
18
|
this._classNames = classNames;
|
|
35
19
|
this._element = element;
|
|
@@ -59,7 +43,7 @@ class MouseHandler {
|
|
|
59
43
|
this._isMouseDelayMet = false;
|
|
60
44
|
this._mouseDownInfo = null;
|
|
61
45
|
}
|
|
62
|
-
|
|
46
|
+
_deinit() {
|
|
63
47
|
this._element.removeEventListener("click", this._handleClick);
|
|
64
48
|
this._element.removeEventListener("dblclick", this._handleDblclick);
|
|
65
49
|
if (this._useContextMenu) {
|
|
@@ -70,9 +54,9 @@ class MouseHandler {
|
|
|
70
54
|
this._removeMouseMoveEventListeners();
|
|
71
55
|
}
|
|
72
56
|
_getClickTarget(element) {
|
|
73
|
-
|
|
57
|
+
let button = element.closest(`.${this._classNames.toggler}`);
|
|
74
58
|
if (button) {
|
|
75
|
-
|
|
59
|
+
let node = this._getNode(button);
|
|
76
60
|
if (node) {
|
|
77
61
|
return {
|
|
78
62
|
node,
|
|
@@ -80,9 +64,9 @@ class MouseHandler {
|
|
|
80
64
|
};
|
|
81
65
|
}
|
|
82
66
|
} else {
|
|
83
|
-
|
|
67
|
+
let treeElement = element.closest(`.${this._classNames.element}`);
|
|
84
68
|
if (treeElement) {
|
|
85
|
-
|
|
69
|
+
let node = this._getNode(treeElement);
|
|
86
70
|
if (node) {
|
|
87
71
|
return {
|
|
88
72
|
node,
|
|
@@ -97,16 +81,18 @@ class MouseHandler {
|
|
|
97
81
|
if (!e.target) {
|
|
98
82
|
return;
|
|
99
83
|
}
|
|
100
|
-
|
|
84
|
+
let clickTarget = this._getClickTarget(e.target);
|
|
101
85
|
if (!clickTarget) {
|
|
102
86
|
return;
|
|
103
87
|
}
|
|
104
88
|
switch (clickTarget.type) {
|
|
105
89
|
case "button":
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
90
|
+
{
|
|
91
|
+
void this._onClickButton(clickTarget.node);
|
|
92
|
+
e.preventDefault();
|
|
93
|
+
e.stopPropagation();
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
110
96
|
case "label":
|
|
111
97
|
{
|
|
112
98
|
if (this._triggerEvent("tree.click", {
|
|
@@ -123,9 +109,9 @@ class MouseHandler {
|
|
|
123
109
|
if (!e.target) {
|
|
124
110
|
return;
|
|
125
111
|
}
|
|
126
|
-
|
|
112
|
+
let div = e.target.closest(`ul.${this._classNames.tree} .${this._classNames.element}`);
|
|
127
113
|
if (div) {
|
|
128
|
-
|
|
114
|
+
let node = this._getNode(div);
|
|
129
115
|
if (node) {
|
|
130
116
|
e.preventDefault();
|
|
131
117
|
e.stopPropagation();
|
|
@@ -142,7 +128,7 @@ class MouseHandler {
|
|
|
142
128
|
if (!e.target) {
|
|
143
129
|
return;
|
|
144
130
|
}
|
|
145
|
-
|
|
131
|
+
let clickTarget = this._getClickTarget(e.target);
|
|
146
132
|
if (clickTarget?.type === "label") {
|
|
147
133
|
this._triggerEvent("tree.dblclick", {
|
|
148
134
|
node: clickTarget.node,
|
|
@@ -189,10 +175,11 @@ class MouseHandler {
|
|
|
189
175
|
this._removeMouseMoveEventListeners();
|
|
190
176
|
this._isMouseDelayMet = false;
|
|
191
177
|
this._mouseDownInfo = null;
|
|
192
|
-
if (this._isMouseStarted) {
|
|
193
|
-
|
|
194
|
-
this._onMouseStop(positionInfo);
|
|
178
|
+
if (!this._isMouseStarted) {
|
|
179
|
+
return;
|
|
195
180
|
}
|
|
181
|
+
this._isMouseStarted = false;
|
|
182
|
+
this._onMouseStop(positionInfo);
|
|
196
183
|
}
|
|
197
184
|
_handleStartMouse() {
|
|
198
185
|
document.addEventListener("mousemove", this._mouseMove, {
|
|
@@ -207,7 +194,7 @@ class MouseHandler {
|
|
|
207
194
|
document.addEventListener("touchend", this._touchEnd, {
|
|
208
195
|
passive: false
|
|
209
196
|
});
|
|
210
|
-
|
|
197
|
+
let mouseDelay = this._getMouseDelay();
|
|
211
198
|
if (mouseDelay) {
|
|
212
199
|
this._startMouseDelayTimer(mouseDelay);
|
|
213
200
|
} else {
|
|
@@ -219,7 +206,7 @@ class MouseHandler {
|
|
|
219
206
|
if (e.button !== 0) {
|
|
220
207
|
return;
|
|
221
208
|
}
|
|
222
|
-
|
|
209
|
+
let result = this._handleMouseDown(getPositionInfoFromMouseEvent(e));
|
|
223
210
|
if (result && e.cancelable) {
|
|
224
211
|
e.preventDefault();
|
|
225
212
|
}
|
|
@@ -251,7 +238,7 @@ class MouseHandler {
|
|
|
251
238
|
if (e.touches.length > 1) {
|
|
252
239
|
return;
|
|
253
240
|
}
|
|
254
|
-
|
|
241
|
+
let touch = e.touches[0];
|
|
255
242
|
if (!touch) {
|
|
256
243
|
return;
|
|
257
244
|
}
|
|
@@ -261,7 +248,7 @@ class MouseHandler {
|
|
|
261
248
|
if (e.touches.length > 1) {
|
|
262
249
|
return;
|
|
263
250
|
}
|
|
264
|
-
|
|
251
|
+
let touch = e.touches[0];
|
|
265
252
|
if (!touch) {
|
|
266
253
|
return;
|
|
267
254
|
}
|
|
@@ -271,7 +258,7 @@ class MouseHandler {
|
|
|
271
258
|
if (e.touches.length > 1) {
|
|
272
259
|
return;
|
|
273
260
|
}
|
|
274
|
-
|
|
261
|
+
let touch = e.touches[0];
|
|
275
262
|
if (!touch) {
|
|
276
263
|
return;
|
|
277
264
|
}
|
package/lib/mouseHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouseHandler.js","sources":["../src/mouseHandler.ts"],"sourcesContent":["import type { ClassNames } from \"./classNames\";\nimport type { TriggerEvent } from \"./methodTypes\";\nimport type { PositionInfo } from \"./mouseUtils\";\nimport type { Node } from \"./node\";\n\nimport {\n getPositionInfoFromMouseEvent,\n getPositionInfoFromTouch,\n} from \"./mouseUtils\";\n\nexport type GetMouseDelay = () => number;\nexport type GetNode = (element: HTMLElement) => Node | null;\nexport type MouseCapture = (positionInfo: PositionInfo) => boolean | null;\nexport type MouseStart = (positionInfo: PositionInfo) => boolean;\n\ninterface ClickTarget {\n node: Node;\n type: \"button\" | \"label\";\n}\n\ninterface MouseHandlerParams {\n classNames: ClassNames;\n element: HTMLElement;\n getMouseDelay: () => number;\n getNode: GetNode;\n onClickButton: (node: Node) => void;\n onClickTitle: (node: Node) => void;\n onMouseCapture: MouseCapture;\n onMouseDrag: (positionInfo: PositionInfo) => void;\n onMouseStart: MouseStart;\n onMouseStop: (positionInfo: PositionInfo) => void;\n triggerEvent: TriggerEvent;\n useContextMenu: boolean;\n}\n\nclass MouseHandler {\n private classNames: ClassNames;\n private element: HTMLElement;\n private getMouseDelay: GetMouseDelay;\n private getNode: GetNode;\n\n private isMouseDelayMet: boolean;\n\n private isMouseStarted: boolean;\n\n private mouseDelayTimer: null | number;\n\n private mouseDownInfo: null | PositionInfo;\n private onClickButton: (node: Node) => void;\n private onClickTitle: (node: Node) => void;\n\n private onMouseCapture: MouseCapture;\n\n private onMouseDrag: (positionInfo: PositionInfo) => void;\n\n private onMouseStart: MouseStart;\n\n private onMouseStop: (positionInfo: PositionInfo) => void;\n\n private triggerEvent: TriggerEvent;\n private useContextMenu: boolean;\n constructor({\n classNames,\n element,\n getMouseDelay,\n getNode,\n onClickButton,\n onClickTitle,\n onMouseCapture,\n onMouseDrag,\n onMouseStart,\n onMouseStop,\n triggerEvent,\n useContextMenu,\n }: MouseHandlerParams) {\n this.classNames = classNames;\n this.element = element;\n this.getMouseDelay = getMouseDelay;\n this.getNode = getNode;\n this.onClickButton = onClickButton;\n this.onClickTitle = onClickTitle;\n this.onMouseCapture = onMouseCapture;\n this.onMouseDrag = onMouseDrag;\n this.onMouseStart = onMouseStart;\n this.onMouseStop = onMouseStop;\n this.triggerEvent = triggerEvent;\n this.useContextMenu = useContextMenu;\n\n element.addEventListener(\"click\", this.handleClick);\n element.addEventListener(\"dblclick\", this.handleDblclick);\n element.addEventListener(\"mousedown\", this.mouseDown, {\n passive: false,\n });\n element.addEventListener(\"touchstart\", this.touchStart, {\n passive: false,\n });\n\n if (useContextMenu) {\n element.addEventListener(\"contextmenu\", this.handleContextmenu);\n }\n\n this.isMouseStarted = false;\n this.mouseDelayTimer = null;\n this.isMouseDelayMet = false;\n this.mouseDownInfo = null;\n }\n public deinit(): void {\n this.element.removeEventListener(\"click\", this.handleClick);\n this.element.removeEventListener(\"dblclick\", this.handleDblclick);\n\n if (this.useContextMenu) {\n this.element.removeEventListener(\n \"contextmenu\",\n this.handleContextmenu,\n );\n }\n\n this.element.removeEventListener(\"mousedown\", this.mouseDown);\n this.element.removeEventListener(\"touchstart\", this.touchStart);\n this.removeMouseMoveEventListeners();\n }\n private getClickTarget(element: HTMLElement): ClickTarget | null {\n const button = element.closest<HTMLElement>(\n `.${this.classNames.toggler}`,\n );\n\n if (button) {\n const node = this.getNode(button);\n\n if (node) {\n return {\n node,\n type: \"button\",\n };\n }\n } else {\n const treeElement = element.closest<HTMLElement>(\n `.${this.classNames.element}`,\n );\n\n if (treeElement) {\n const node = this.getNode(treeElement);\n if (node) {\n return {\n node,\n type: \"label\",\n };\n }\n }\n }\n\n return null;\n }\n private handleClick = (e: MouseEvent): void => {\n if (!e.target) {\n return;\n }\n\n const clickTarget = this.getClickTarget(e.target as HTMLElement);\n\n if (!clickTarget) {\n return;\n }\n\n switch (clickTarget.type) {\n case \"button\":\n this.onClickButton(clickTarget.node);\n\n e.preventDefault();\n e.stopPropagation();\n break;\n\n case \"label\": {\n if (this.triggerEvent(\"tree.click\", {\n node: clickTarget.node,\n originalEvent: e,\n })) {\n this.onClickTitle(clickTarget.node);\n }\n break;\n }\n }\n };\n\n private handleContextmenu = (e: MouseEvent) => {\n if (!e.target) {\n return;\n }\n\n const div = (e.target as HTMLElement).closest<HTMLElement>(\n `ul.${this.classNames.tree} .${this.classNames.element}`,\n );\n\n if (div) {\n const node = this.getNode(div);\n if (node) {\n e.preventDefault();\n e.stopPropagation();\n\n this.triggerEvent(\"tree.contextmenu\", {\n node,\n originalEvent: e,\n });\n return false;\n }\n }\n\n return null;\n };\n\n private handleDblclick = (e: MouseEvent): void => {\n if (!e.target) {\n return;\n }\n\n const clickTarget = this.getClickTarget(e.target as HTMLElement);\n\n if (clickTarget?.type === \"label\") {\n this.triggerEvent(\"tree.dblclick\", {\n node: clickTarget.node,\n originalEvent: e,\n });\n }\n };\n\n private handleMouseDown(positionInfo: PositionInfo): boolean {\n // We may have missed mouseup (out of window)\n if (this.isMouseStarted) {\n this.handleMouseUp(positionInfo);\n }\n\n this.mouseDownInfo = positionInfo;\n\n if (!this.onMouseCapture(positionInfo)) {\n return false;\n }\n\n this.handleStartMouse();\n\n return true;\n }\n\n private handleMouseMove(\n e: MouseEvent | TouchEvent,\n positionInfo: PositionInfo,\n ): void {\n if (this.isMouseStarted) {\n this.onMouseDrag(positionInfo);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n return;\n }\n\n if (!this.isMouseDelayMet) {\n return;\n }\n\n if (this.mouseDownInfo) {\n this.isMouseStarted = this.onMouseStart(this.mouseDownInfo);\n }\n\n if (this.isMouseStarted) {\n this.onMouseDrag(positionInfo);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n } else {\n this.handleMouseUp(positionInfo);\n }\n }\n private handleMouseUp(positionInfo: PositionInfo): void {\n this.removeMouseMoveEventListeners();\n this.isMouseDelayMet = false;\n this.mouseDownInfo = null;\n\n if (this.isMouseStarted) {\n this.isMouseStarted = false;\n this.onMouseStop(positionInfo);\n }\n }\n\n private handleStartMouse(): void {\n document.addEventListener(\"mousemove\", this.mouseMove, {\n passive: false,\n });\n document.addEventListener(\"touchmove\", this.touchMove, {\n passive: false,\n });\n document.addEventListener(\"mouseup\", this.mouseUp, { passive: false });\n document.addEventListener(\"touchend\", this.touchEnd, {\n passive: false,\n });\n\n const mouseDelay = this.getMouseDelay();\n\n if (mouseDelay) {\n this.startMouseDelayTimer(mouseDelay);\n } else {\n this.isMouseDelayMet = true;\n }\n }\n\n private mouseDown = (e: MouseEvent): void => {\n // Left mouse button?\n if (e.button !== 0) {\n return;\n }\n\n const result = this.handleMouseDown(getPositionInfoFromMouseEvent(e));\n\n if (result && e.cancelable) {\n e.preventDefault();\n }\n };\n\n private mouseMove = (e: MouseEvent): void => {\n this.handleMouseMove(e, getPositionInfoFromMouseEvent(e));\n };\n\n private mouseUp = (e: MouseEvent): void => {\n this.handleMouseUp(getPositionInfoFromMouseEvent(e));\n };\n\n private removeMouseMoveEventListeners() {\n document.removeEventListener(\"mousemove\", this.mouseMove);\n document.removeEventListener(\"touchmove\", this.touchMove);\n document.removeEventListener(\"mouseup\", this.mouseUp);\n document.removeEventListener(\"touchend\", this.touchEnd);\n }\n\n private startMouseDelayTimer(mouseDelay: number): void {\n if (this.mouseDelayTimer) {\n clearTimeout(this.mouseDelayTimer);\n }\n\n this.mouseDelayTimer = window.setTimeout(() => {\n if (this.mouseDownInfo) {\n this.isMouseDelayMet = true;\n }\n }, mouseDelay);\n\n this.isMouseDelayMet = false;\n }\n\n private touchEnd = (e: TouchEvent): void => {\n if (e.touches.length > 1) {\n return;\n }\n\n const touch = e.touches[0];\n\n if (!touch) {\n return;\n }\n\n this.handleMouseUp(getPositionInfoFromTouch(touch, e));\n };\n\n private touchMove = (e: TouchEvent): void => {\n if (e.touches.length > 1) {\n return;\n }\n\n const touch = e.touches[0];\n\n if (!touch) {\n return;\n }\n\n this.handleMouseMove(e, getPositionInfoFromTouch(touch, e));\n };\n\n private touchStart = (e: TouchEvent): void => {\n if (e.touches.length > 1) {\n return;\n }\n\n const touch = e.touches[0];\n\n if (!touch) {\n return;\n }\n\n this.handleMouseDown(getPositionInfoFromTouch(touch, e));\n };\n}\n\nexport default MouseHandler;\n"],"names":["classNames","element","getMouseDelay","getNode","isMouseDelayMet","isMouseStarted","mouseDelayTimer","mouseDownInfo","onClickButton","onClickTitle","onMouseCapture","onMouseDrag","onMouseStart","onMouseStop","triggerEvent","useContextMenu","handleClick","handleDblclick","mouseDown","touchStart","handleContextmenu","removeMouseMoveEventListeners","getClickTarget","handleMouseDown","handleMouseUp","handleStartMouse","handleMouseMove","mouseMove","touchMove","mouseUp","touchEnd","startMouseDelayTimer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mouseHandler.js","sources":["../src/mouseHandler.ts"],"sourcesContent":["import type { ClassNames } from \"./classNames\";\nimport type { TriggerEvent } from \"./methodTypes\";\nimport type { PositionInfo } from \"./mouseUtils\";\nimport type { Node } from \"./node\";\n\nimport {\n getPositionInfoFromMouseEvent,\n getPositionInfoFromTouch,\n} from \"./mouseUtils\";\n\nexport type GetMouseDelay = () => number;\nexport type GetNode = (element: HTMLElement) => Node | null;\nexport type MouseCapture = (positionInfo: PositionInfo) => boolean | null;\nexport type MouseStart = (positionInfo: PositionInfo) => boolean;\n\ninterface ClickTarget {\n node: Node;\n type: \"button\" | \"label\";\n}\n\ninterface MouseHandlerParams {\n classNames: ClassNames;\n element: HTMLElement;\n getMouseDelay: () => number;\n getNode: GetNode;\n onClickButton: (node: Node) => Promise<void>;\n onClickTitle: (node: Node) => void;\n onMouseCapture: MouseCapture;\n onMouseDrag: (positionInfo: PositionInfo) => void;\n onMouseStart: MouseStart;\n onMouseStop: (positionInfo: PositionInfo) => void;\n triggerEvent: TriggerEvent;\n useContextMenu: boolean;\n}\n\nclass MouseHandler {\n private classNames: ClassNames;\n private element: HTMLElement;\n private getMouseDelay: GetMouseDelay;\n private getNode: GetNode;\n\n private isMouseDelayMet: boolean;\n\n private isMouseStarted: boolean;\n\n private mouseDelayTimer: null | number;\n\n private mouseDownInfo: null | PositionInfo;\n private onClickButton: (node: Node) => Promise<void>;\n private onClickTitle: (node: Node) => void;\n\n private onMouseCapture: MouseCapture;\n\n private onMouseDrag: (positionInfo: PositionInfo) => void;\n\n private onMouseStart: MouseStart;\n\n private onMouseStop: (positionInfo: PositionInfo) => void;\n\n private triggerEvent: TriggerEvent;\n private useContextMenu: boolean;\n constructor({\n classNames,\n element,\n getMouseDelay,\n getNode,\n onClickButton,\n onClickTitle,\n onMouseCapture,\n onMouseDrag,\n onMouseStart,\n onMouseStop,\n triggerEvent,\n useContextMenu,\n }: MouseHandlerParams) {\n this.classNames = classNames;\n this.element = element;\n this.getMouseDelay = getMouseDelay;\n this.getNode = getNode;\n this.onClickButton = onClickButton;\n this.onClickTitle = onClickTitle;\n this.onMouseCapture = onMouseCapture;\n this.onMouseDrag = onMouseDrag;\n this.onMouseStart = onMouseStart;\n this.onMouseStop = onMouseStop;\n this.triggerEvent = triggerEvent;\n this.useContextMenu = useContextMenu;\n\n element.addEventListener(\"click\", this.handleClick);\n element.addEventListener(\"dblclick\", this.handleDblclick);\n element.addEventListener(\"mousedown\", this.mouseDown, {\n passive: false,\n });\n element.addEventListener(\"touchstart\", this.touchStart, {\n passive: false,\n });\n\n if (useContextMenu) {\n element.addEventListener(\"contextmenu\", this.handleContextmenu);\n }\n\n this.isMouseStarted = false;\n this.mouseDelayTimer = null;\n this.isMouseDelayMet = false;\n this.mouseDownInfo = null;\n }\n public deinit(): void {\n this.element.removeEventListener(\"click\", this.handleClick);\n this.element.removeEventListener(\"dblclick\", this.handleDblclick);\n\n if (this.useContextMenu) {\n this.element.removeEventListener(\"contextmenu\", this.handleContextmenu);\n }\n\n this.element.removeEventListener(\"mousedown\", this.mouseDown);\n this.element.removeEventListener(\"touchstart\", this.touchStart);\n this.removeMouseMoveEventListeners();\n }\n private getClickTarget(element: HTMLElement): ClickTarget | null {\n const button = element.closest<HTMLElement>(`.${this.classNames.toggler}`);\n\n if (button) {\n const node = this.getNode(button);\n\n if (node) {\n return {\n node,\n type: \"button\",\n };\n }\n } else {\n const treeElement = element.closest<HTMLElement>(\n `.${this.classNames.element}`,\n );\n\n if (treeElement) {\n const node = this.getNode(treeElement);\n if (node) {\n return {\n node,\n type: \"label\",\n };\n }\n }\n }\n\n return null;\n }\n private handleClick = (e: MouseEvent): void => {\n if (!e.target) {\n return;\n }\n\n const clickTarget = this.getClickTarget(e.target as HTMLElement);\n\n if (!clickTarget) {\n return;\n }\n\n switch (clickTarget.type) {\n case \"button\": {\n void this.onClickButton(clickTarget.node);\n\n e.preventDefault();\n e.stopPropagation();\n break;\n }\n\n case \"label\": {\n if (\n this.triggerEvent(\"tree.click\", {\n node: clickTarget.node,\n originalEvent: e,\n })\n ) {\n this.onClickTitle(clickTarget.node);\n }\n break;\n }\n }\n };\n\n private handleContextmenu = (e: MouseEvent) => {\n if (!e.target) {\n return;\n }\n\n const div = (e.target as HTMLElement).closest<HTMLElement>(\n `ul.${this.classNames.tree} .${this.classNames.element}`,\n );\n\n if (div) {\n const node = this.getNode(div);\n if (node) {\n e.preventDefault();\n e.stopPropagation();\n\n this.triggerEvent(\"tree.contextmenu\", {\n node,\n originalEvent: e,\n });\n return false;\n }\n }\n\n return null;\n };\n\n private handleDblclick = (e: MouseEvent): void => {\n if (!e.target) {\n return;\n }\n\n const clickTarget = this.getClickTarget(e.target as HTMLElement);\n\n if (clickTarget?.type === \"label\") {\n this.triggerEvent(\"tree.dblclick\", {\n node: clickTarget.node,\n originalEvent: e,\n });\n }\n };\n\n private handleMouseDown(positionInfo: PositionInfo): boolean {\n // We may have missed mouseup (out of window)\n if (this.isMouseStarted) {\n this.handleMouseUp(positionInfo);\n }\n\n this.mouseDownInfo = positionInfo;\n\n if (!this.onMouseCapture(positionInfo)) {\n return false;\n }\n\n this.handleStartMouse();\n\n return true;\n }\n\n private handleMouseMove(\n e: MouseEvent | TouchEvent,\n positionInfo: PositionInfo,\n ): void {\n if (this.isMouseStarted) {\n this.onMouseDrag(positionInfo);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n return;\n }\n\n if (!this.isMouseDelayMet) {\n return;\n }\n\n if (this.mouseDownInfo) {\n this.isMouseStarted = this.onMouseStart(this.mouseDownInfo);\n }\n\n if (this.isMouseStarted) {\n this.onMouseDrag(positionInfo);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n } else {\n this.handleMouseUp(positionInfo);\n }\n }\n private handleMouseUp(positionInfo: PositionInfo): void {\n this.removeMouseMoveEventListeners();\n this.isMouseDelayMet = false;\n this.mouseDownInfo = null;\n\n if (!this.isMouseStarted) {\n return;\n }\n\n this.isMouseStarted = false;\n this.onMouseStop(positionInfo);\n }\n\n private handleStartMouse(): void {\n document.addEventListener(\"mousemove\", this.mouseMove, {\n passive: false,\n });\n document.addEventListener(\"touchmove\", this.touchMove, {\n passive: false,\n });\n document.addEventListener(\"mouseup\", this.mouseUp, { passive: false });\n document.addEventListener(\"touchend\", this.touchEnd, {\n passive: false,\n });\n\n const mouseDelay = this.getMouseDelay();\n\n if (mouseDelay) {\n this.startMouseDelayTimer(mouseDelay);\n } else {\n this.isMouseDelayMet = true;\n }\n }\n\n private mouseDown = (e: MouseEvent): void => {\n // Left mouse button?\n if (e.button !== 0) {\n return;\n }\n\n const result = this.handleMouseDown(getPositionInfoFromMouseEvent(e));\n\n if (result && e.cancelable) {\n e.preventDefault();\n }\n };\n\n private mouseMove = (e: MouseEvent): void => {\n this.handleMouseMove(e, getPositionInfoFromMouseEvent(e));\n };\n\n private mouseUp = (e: MouseEvent): void => {\n this.handleMouseUp(getPositionInfoFromMouseEvent(e));\n };\n\n private removeMouseMoveEventListeners() {\n document.removeEventListener(\"mousemove\", this.mouseMove);\n document.removeEventListener(\"touchmove\", this.touchMove);\n document.removeEventListener(\"mouseup\", this.mouseUp);\n document.removeEventListener(\"touchend\", this.touchEnd);\n }\n\n private startMouseDelayTimer(mouseDelay: number): void {\n if (this.mouseDelayTimer) {\n clearTimeout(this.mouseDelayTimer);\n }\n\n this.mouseDelayTimer = window.setTimeout(() => {\n if (this.mouseDownInfo) {\n this.isMouseDelayMet = true;\n }\n }, mouseDelay);\n\n this.isMouseDelayMet = false;\n }\n\n private touchEnd = (e: TouchEvent): void => {\n if (e.touches.length > 1) {\n return;\n }\n\n const touch = e.touches[0];\n\n if (!touch) {\n return;\n }\n\n this.handleMouseUp(getPositionInfoFromTouch(touch, e));\n };\n\n private touchMove = (e: TouchEvent): void => {\n if (e.touches.length > 1) {\n return;\n }\n\n const touch = e.touches[0];\n\n if (!touch) {\n return;\n }\n\n this.handleMouseMove(e, getPositionInfoFromTouch(touch, e));\n };\n\n private touchStart = (e: TouchEvent): void => {\n if (e.touches.length > 1) {\n return;\n }\n\n const touch = e.touches[0];\n\n if (!touch) {\n return;\n }\n\n this.handleMouseDown(getPositionInfoFromTouch(touch, e));\n };\n}\n\nexport default MouseHandler;\n"],"names":["classNames","element","getMouseDelay","getNode","onClickButton","onClickTitle","onMouseCapture","onMouseDrag","onMouseStart","onMouseStop","triggerEvent","useContextMenu","handleClick","handleDblclick","mouseDown","touchStart","handleContextmenu","isMouseStarted","mouseDelayTimer","isMouseDelayMet","mouseDownInfo","deinit","removeMouseMoveEventListeners","getClickTarget","handleMouseDown","handleMouseUp","handleStartMouse","handleMouseMove","mouseMove","touchMove","mouseUp","touchEnd","startMouseDelayTimer"],"mappings":"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"}
|
package/lib/mouseUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouseUtils.d.ts","sourceRoot":"","sources":["../src/mouseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;
|
|
1
|
+
{"version":3,"file":"mouseUtils.d.ts","sourceRoot":"","sources":["../src/mouseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,KAAK,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,6BAA6B,GAAI,GAAG,UAAU,KAAG,YAK5D,CAAC;AAEH,eAAO,MAAM,wBAAwB,GACnC,OAAO,KAAK,EACZ,GAAG,UAAU,KACZ,YAKD,CAAC"}
|
package/lib/mouseUtils.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
let getPositionInfoFromMouseEvent = e => ({
|
|
2
2
|
originalEvent: e,
|
|
3
3
|
pageX: e.pageX,
|
|
4
4
|
pageY: e.pageY,
|
|
5
5
|
target: e.target
|
|
6
6
|
});
|
|
7
|
-
|
|
7
|
+
let getPositionInfoFromTouch = (touch, e) => ({
|
|
8
8
|
originalEvent: e,
|
|
9
9
|
pageX: touch.pageX,
|
|
10
10
|
pageY: touch.pageY,
|
package/lib/mouseUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouseUtils.js","sources":["../src/mouseUtils.ts"],"sourcesContent":["export interface PositionInfo {\n
|
|
1
|
+
{"version":3,"file":"mouseUtils.js","sources":["../src/mouseUtils.ts"],"sourcesContent":["export interface PositionInfo {\n originalEvent: Event;\n pageX: number;\n pageY: number;\n target: HTMLElement;\n}\n\nexport const getPositionInfoFromMouseEvent = (e: MouseEvent): PositionInfo => ({\n originalEvent: e,\n pageX: e.pageX,\n pageY: e.pageY,\n target: e.target as HTMLElement,\n});\n\nexport const getPositionInfoFromTouch = (\n touch: Touch,\n e: TouchEvent,\n): PositionInfo => ({\n originalEvent: e,\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target as HTMLElement,\n});\n"],"names":[],"mappings":"AAOO,IAAM,6BAA6B,GAAI,CAAa,KAAoB;AAC7E,EAAA,aAAa,EAAE,CAAC;EAChB,KAAK,EAAE,CAAC,CAAC,KAAK;EACd,KAAK,EAAE,CAAC,CAAC,KAAK;EACd,MAAM,EAAE,CAAC,CAAC;AACZ,CAAC;IAEY,wBAAwB,GAAG,CACtC,KAAY,EACZ,CAAa,MACK;AAClB,EAAA,aAAa,EAAE,CAAC;EAChB,KAAK,EAAE,KAAK,CAAC,KAAK;EAClB,KAAK,EAAE,KAAK,CAAC,KAAK;EAClB,MAAM,EAAE,KAAK,CAAC;AAChB,CAAC;;"}
|
package/lib/node.d.ts
CHANGED
|
@@ -26,33 +26,60 @@ type IterateCallback = (node: Node, level: number) => boolean;
|
|
|
26
26
|
* :::
|
|
27
27
|
*/
|
|
28
28
|
export declare class Node {
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
@hidden
|
|
31
|
+
*/
|
|
30
32
|
[key: string]: unknown;
|
|
31
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
The child nodes.
|
|
35
|
+
*/
|
|
32
36
|
children: Node[];
|
|
33
|
-
/** The `li` element, once the node is rendered.
|
|
37
|
+
/** The `li` element, once the node is rendered. Nodes inside a closed
|
|
38
|
+
* folder are rendered when the folder is opened. */
|
|
34
39
|
element?: HTMLElement;
|
|
35
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
The id from the node data.
|
|
42
|
+
*/
|
|
36
43
|
id?: NodeId;
|
|
37
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
@hidden
|
|
46
|
+
*/
|
|
38
47
|
idMapping?: Map<NodeId, Node>;
|
|
39
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
Whether the node's children are being fetched.
|
|
50
|
+
*/
|
|
40
51
|
is_loading?: boolean;
|
|
41
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
Whether the folder is open.
|
|
54
|
+
*/
|
|
42
55
|
is_open?: boolean;
|
|
43
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
Whether the node data had an empty `children` array.
|
|
58
|
+
*/
|
|
44
59
|
isEmptyFolder: boolean;
|
|
45
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
Whether the children still have to be fetched.
|
|
62
|
+
*/
|
|
46
63
|
load_on_demand: boolean;
|
|
47
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
The label. Also settable from the `label` key in node data.
|
|
66
|
+
*/
|
|
48
67
|
name: string;
|
|
49
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
@hidden
|
|
70
|
+
*/
|
|
50
71
|
nodeClass?: typeof Node;
|
|
51
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
The parent; `null` for the root node.
|
|
74
|
+
*/
|
|
52
75
|
parent: Node | null;
|
|
53
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
The root node.
|
|
78
|
+
*/
|
|
54
79
|
tree?: Node;
|
|
55
|
-
/**
|
|
80
|
+
/**
|
|
81
|
+
@hidden
|
|
82
|
+
*/
|
|
56
83
|
constructor(nodeData?: NodeData | null, isRoot?: boolean, nodeClass?: typeof Node);
|
|
57
84
|
/**
|
|
58
85
|
* Adds a sibling after this node.
|
|
@@ -81,7 +108,9 @@ export declare class Node {
|
|
|
81
108
|
* @group Changing the tree
|
|
82
109
|
*/
|
|
83
110
|
addChildAtPosition(node: Node, index: number): void;
|
|
84
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
@hidden
|
|
113
|
+
*/
|
|
85
114
|
addNodeToIndex(node: Node): void;
|
|
86
115
|
/**
|
|
87
116
|
* Inserts a new parent between this node and its current parent.
|
|
@@ -300,7 +329,9 @@ export declare class Node {
|
|
|
300
329
|
* @group Changing the tree
|
|
301
330
|
*/
|
|
302
331
|
removeChildren(): void;
|
|
303
|
-
/**
|
|
332
|
+
/**
|
|
333
|
+
@hidden
|
|
334
|
+
*/
|
|
304
335
|
removeNodeFromIndex(node: Node): void;
|
|
305
336
|
/**
|
|
306
337
|
* Updates the node's properties from node data. `children` and `parent`
|
package/lib/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|