@deephaven/golden-layout 0.19.2-beta.4 → 0.20.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/dist/LayoutManager.d.ts +313 -0
- package/dist/LayoutManager.d.ts.map +1 -0
- package/dist/LayoutManager.js +468 -450
- package/dist/LayoutManager.js.map +1 -1
- package/dist/base.d.ts +16 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +6 -6
- package/dist/base.js.map +1 -1
- package/dist/config/Config.d.ts +146 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/dist/config/{defaultConfig.js → Config.js} +6 -6
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ItemConfig.d.ts +66 -0
- package/dist/config/ItemConfig.d.ts.map +1 -0
- package/dist/config/ItemConfig.js +14 -0
- package/dist/config/ItemConfig.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -6
- package/dist/config/index.js.map +1 -1
- package/dist/container/ItemContainer.d.ts +91 -0
- package/dist/container/ItemContainer.d.ts.map +1 -0
- package/dist/container/ItemContainer.js +110 -85
- package/dist/container/ItemContainer.js.map +1 -1
- package/dist/container/index.d.ts +3 -0
- package/dist/container/index.d.ts.map +1 -0
- package/dist/container/index.js +2 -4
- package/dist/container/index.js.map +1 -1
- package/dist/controls/BrowserPopout.d.ts +83 -0
- package/dist/controls/BrowserPopout.d.ts.map +1 -0
- package/dist/controls/BrowserPopout.js +135 -101
- package/dist/controls/BrowserPopout.js.map +1 -1
- package/dist/controls/DragProxy.d.ts +67 -0
- package/dist/controls/DragProxy.d.ts.map +1 -0
- package/dist/controls/DragProxy.js +135 -110
- package/dist/controls/DragProxy.js.map +1 -1
- package/dist/controls/DragSource.d.ts +30 -0
- package/dist/controls/DragSource.d.ts.map +1 -0
- package/dist/controls/DragSource.js +37 -29
- package/dist/controls/DragSource.js.map +1 -1
- package/dist/controls/DragSourceFromEvent.d.ts +30 -0
- package/dist/controls/DragSourceFromEvent.d.ts.map +1 -0
- package/dist/controls/DragSourceFromEvent.js +49 -36
- package/dist/controls/DragSourceFromEvent.js.map +1 -1
- package/dist/controls/DropTargetIndicator.d.ts +14 -0
- package/dist/controls/DropTargetIndicator.d.ts.map +1 -0
- package/dist/controls/DropTargetIndicator.js +18 -14
- package/dist/controls/DropTargetIndicator.js.map +1 -1
- package/dist/controls/Header.d.ts +145 -0
- package/dist/controls/Header.d.ts.map +1 -0
- package/dist/controls/Header.js +414 -271
- package/dist/controls/Header.js.map +1 -1
- package/dist/controls/HeaderButton.d.ts +9 -0
- package/dist/controls/HeaderButton.d.ts.map +1 -0
- package/dist/controls/HeaderButton.js +19 -13
- package/dist/controls/HeaderButton.js.map +1 -1
- package/dist/controls/Splitter.d.ts +12 -0
- package/dist/controls/Splitter.d.ts.map +1 -0
- package/dist/controls/Splitter.js +36 -20
- package/dist/controls/Splitter.js.map +1 -1
- package/dist/controls/Tab.d.ts +91 -0
- package/dist/controls/Tab.d.ts.map +1 -0
- package/dist/controls/Tab.js +131 -119
- package/dist/controls/Tab.js.map +1 -1
- package/dist/controls/TransitionIndicator.d.ts +25 -0
- package/dist/controls/TransitionIndicator.d.ts.map +1 -0
- package/dist/controls/TransitionIndicator.js +53 -39
- package/dist/controls/TransitionIndicator.js.map +1 -1
- package/dist/controls/index.d.ts +11 -0
- package/dist/controls/index.d.ts.map +1 -0
- package/dist/controls/index.js +10 -22
- package/dist/controls/index.js.map +1 -1
- package/dist/errors/ConfigurationError.d.ts +6 -0
- package/dist/errors/ConfigurationError.d.ts.map +1 -0
- package/dist/errors/ConfigurationError.js +15 -8
- package/dist/errors/ConfigurationError.js.map +1 -1
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/items/AbstractContentItem.d.ts +233 -0
- package/dist/items/AbstractContentItem.d.ts.map +1 -0
- package/dist/items/AbstractContentItem.js +284 -242
- package/dist/items/AbstractContentItem.js.map +1 -1
- package/dist/items/Component.d.ts +30 -0
- package/dist/items/Component.d.ts.map +1 -0
- package/dist/items/Component.js +61 -42
- package/dist/items/Component.js.map +1 -1
- package/dist/items/Root.d.ts +18 -0
- package/dist/items/Root.d.ts.map +1 -0
- package/dist/items/Root.js +68 -38
- package/dist/items/Root.js.map +1 -1
- package/dist/items/RowOrColumn.d.ts +157 -0
- package/dist/items/RowOrColumn.d.ts.map +1 -0
- package/dist/items/RowOrColumn.js +219 -187
- package/dist/items/RowOrColumn.js.map +1 -1
- package/dist/items/Stack.d.ts +108 -0
- package/dist/items/Stack.d.ts.map +1 -0
- package/dist/items/Stack.js +218 -151
- package/dist/items/Stack.js.map +1 -1
- package/dist/items/index.d.ts +8 -0
- package/dist/items/index.d.ts.map +1 -0
- package/dist/items/index.js +7 -12
- package/dist/items/index.js.map +1 -1
- package/dist/utils/BubblingEvent.d.ts +8 -0
- package/dist/utils/BubblingEvent.d.ts.map +1 -0
- package/dist/utils/BubblingEvent.js +18 -9
- package/dist/utils/BubblingEvent.js.map +1 -1
- package/dist/utils/ConfigMinifier.d.ts +21 -0
- package/dist/utils/ConfigMinifier.d.ts.map +1 -0
- package/dist/utils/ConfigMinifier.js +121 -121
- package/dist/utils/ConfigMinifier.js.map +1 -1
- package/dist/utils/DragListener.d.ts +34 -0
- package/dist/utils/DragListener.d.ts.map +1 -0
- package/dist/utils/DragListener.js +103 -70
- package/dist/utils/DragListener.js.map +1 -1
- package/dist/utils/EventEmitter.d.ts +59 -0
- package/dist/utils/EventEmitter.d.ts.map +1 -0
- package/dist/utils/EventEmitter.js +64 -70
- package/dist/utils/EventEmitter.js.map +1 -1
- package/dist/utils/EventHub.d.ts +55 -0
- package/dist/utils/EventHub.d.ts.map +1 -0
- package/dist/utils/EventHub.js +83 -105
- package/dist/utils/EventHub.js.map +1 -1
- package/dist/utils/ReactComponentHandler.d.ts +54 -0
- package/dist/utils/ReactComponentHandler.d.ts.map +1 -0
- package/dist/utils/ReactComponentHandler.js +58 -56
- package/dist/utils/ReactComponentHandler.js.map +1 -1
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -21
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/utils.d.ts +25 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +21 -145
- package/dist/utils/utils.js.map +1 -1
- package/package.json +9 -5
- package/dist/config/ItemDefaultConfig.js +0 -8
- package/dist/config/ItemDefaultConfig.js.map +0 -1
- package/dist/config/defaultConfig.js.map +0 -1
|
@@ -1,68 +1,81 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
1
3
|
import $ from 'jquery';
|
|
2
|
-
import
|
|
3
|
-
import DragProxy from
|
|
4
|
+
import { DragListener } from "../utils/index.js";
|
|
5
|
+
import DragProxy from "./DragProxy.js";
|
|
4
6
|
/**
|
|
5
7
|
* Creates a drag item given a starting mouseevent
|
|
6
8
|
* that can then be dragged into the Layout
|
|
7
9
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
11
|
-
*
|
|
12
|
-
* @constructor
|
|
10
|
+
* @param itemConfig the configuration for the contentItem that will be created
|
|
11
|
+
* @param layoutManager
|
|
12
|
+
* @param event used to get the starting position
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
export default class DragSourceFromEvent {
|
|
16
|
+
// we need something to listen for mousemoves against
|
|
17
|
+
constructor(itemConfig, layoutManager, event) {
|
|
18
|
+
_defineProperty(this, "_element", $(window));
|
|
19
|
+
|
|
20
|
+
_defineProperty(this, "_itemConfig", void 0);
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
this._layoutManager = layoutManager;
|
|
20
|
-
this._dragListener = null;
|
|
22
|
+
_defineProperty(this, "_layoutManager", void 0);
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
};
|
|
24
|
+
_defineProperty(this, "_dragListener", void 0);
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
this._itemConfig = itemConfig;
|
|
27
|
+
this._layoutManager = layoutManager;
|
|
28
|
+
|
|
29
|
+
this._createDragListener(event);
|
|
30
|
+
}
|
|
26
31
|
/**
|
|
27
32
|
* Called initially and after every drag
|
|
28
|
-
*
|
|
29
|
-
* @returns {void}
|
|
30
33
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
_createDragListener(event) {
|
|
37
|
+
if (this._dragListener) {
|
|
33
38
|
this._dragListener.destroy();
|
|
34
39
|
}
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
if (!this._element) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
this._dragListener = new DragListener(this._element, true);
|
|
37
46
|
|
|
38
47
|
this._dragListener.on('dragStart', this._onDragStart, this);
|
|
39
48
|
|
|
40
49
|
this._dragListener.on('dragStop', this._destroy, this); // manaully pass in an event as mousedow, that already happened to start the dragListener
|
|
41
50
|
|
|
42
51
|
|
|
43
|
-
this._dragListener.
|
|
52
|
+
this._dragListener.onMouseDown(event);
|
|
44
53
|
|
|
45
54
|
this._dragListener._startDrag();
|
|
46
|
-
}
|
|
47
|
-
_destroy: function _destroy() {
|
|
48
|
-
this._dragListener = null;
|
|
49
|
-
this._element = null;
|
|
50
|
-
this._itemConfig = null;
|
|
51
|
-
this._layoutManager = null;
|
|
52
|
-
},
|
|
55
|
+
}
|
|
53
56
|
|
|
57
|
+
_destroy() {
|
|
58
|
+
this._dragListener = undefined;
|
|
59
|
+
this._element = undefined;
|
|
60
|
+
this._itemConfig = undefined;
|
|
61
|
+
this._layoutManager = undefined;
|
|
62
|
+
}
|
|
54
63
|
/**
|
|
55
64
|
* Callback for the DragListener's dragStart event
|
|
56
65
|
*
|
|
57
|
-
* @param
|
|
58
|
-
* @param
|
|
59
|
-
*
|
|
60
|
-
* @returns {void}
|
|
66
|
+
* @param x the x position of the mouse on dragStart
|
|
67
|
+
* @param y the x position of the mouse on dragStart
|
|
61
68
|
*/
|
|
62
|
-
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
_onDragStart(x, y) {
|
|
72
|
+
if (!this._dragListener || !this._layoutManager) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
63
76
|
var itemConfig = this._itemConfig;
|
|
64
77
|
|
|
65
|
-
if (
|
|
78
|
+
if (typeof itemConfig === 'function') {
|
|
66
79
|
itemConfig = itemConfig();
|
|
67
80
|
}
|
|
68
81
|
|
|
@@ -70,6 +83,6 @@ utils.copy(DragSourceFromEvent.prototype, {
|
|
|
70
83
|
|
|
71
84
|
new DragProxy(x, y, this._dragListener, this._layoutManager, contentItem, null);
|
|
72
85
|
}
|
|
73
|
-
|
|
74
|
-
|
|
86
|
+
|
|
87
|
+
}
|
|
75
88
|
//# sourceMappingURL=DragSourceFromEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragSourceFromEvent.js","names":["$","
|
|
1
|
+
{"version":3,"file":"DragSourceFromEvent.js","names":["$","DragListener","DragProxy","DragSourceFromEvent","constructor","itemConfig","layoutManager","event","window","_itemConfig","_layoutManager","_createDragListener","_dragListener","destroy","_element","on","_onDragStart","_destroy","onMouseDown","_startDrag","undefined","x","y","contentItem","_$normalizeContentItem","extend"],"sources":["../../src/controls/DragSourceFromEvent.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { ItemConfig } from '../config';\nimport type LayoutManager from '../LayoutManager';\nimport { DragListener } from '../utils';\nimport DragProxy from './DragProxy';\n\n/**\n * Creates a drag item given a starting mouseevent\n * that can then be dragged into the Layout\n *\n * @param itemConfig the configuration for the contentItem that will be created\n * @param layoutManager\n * @param event used to get the starting position\n */\nexport default class DragSourceFromEvent {\n private _element? = ($(window) as unknown) as JQuery<HTMLElement>; // we need something to listen for mousemoves against\n private _itemConfig?: ItemConfig | (() => ItemConfig);\n private _layoutManager?: LayoutManager;\n private _dragListener?: DragListener;\n\n constructor(\n itemConfig: ItemConfig | (() => ItemConfig),\n layoutManager: LayoutManager,\n event: JQuery.TriggeredEvent\n ) {\n this._itemConfig = itemConfig;\n this._layoutManager = layoutManager;\n\n this._createDragListener(event);\n }\n\n /**\n * Called initially and after every drag\n */\n _createDragListener(event: JQuery.TriggeredEvent) {\n if (this._dragListener) {\n this._dragListener.destroy();\n }\n\n if (!this._element) {\n return;\n }\n\n this._dragListener = new DragListener(this._element, true);\n this._dragListener.on('dragStart', this._onDragStart, this);\n this._dragListener.on('dragStop', this._destroy, this);\n\n // manaully pass in an event as mousedow, that already happened to start the dragListener\n this._dragListener.onMouseDown(event);\n this._dragListener._startDrag();\n }\n\n _destroy() {\n this._dragListener = undefined;\n this._element = undefined;\n this._itemConfig = undefined;\n this._layoutManager = undefined;\n }\n\n /**\n * Callback for the DragListener's dragStart event\n *\n * @param x the x position of the mouse on dragStart\n * @param y the x position of the mouse on dragStart\n */\n _onDragStart(x: number, y: number) {\n if (!this._dragListener || !this._layoutManager) {\n return;\n }\n\n var itemConfig = this._itemConfig;\n if (typeof itemConfig === 'function') {\n itemConfig = itemConfig();\n }\n var contentItem = this._layoutManager._$normalizeContentItem(\n $.extend(true, {}, itemConfig)\n );\n new DragProxy(\n x,\n y,\n this._dragListener,\n this._layoutManager,\n contentItem,\n null\n );\n }\n}\n"],"mappings":";;AAAA,OAAOA,CAAP,MAAc,QAAd;SAGSC,Y;OACFC,S;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,MAAMC,mBAAN,CAA0B;EAC4B;EAKnEC,WAAW,CACTC,UADS,EAETC,aAFS,EAGTC,KAHS,EAIT;IAAA,kCATmBP,CAAC,CAACQ,MAAD,CASpB;;IAAA;;IAAA;;IAAA;;IACA,KAAKC,WAAL,GAAmBJ,UAAnB;IACA,KAAKK,cAAL,GAAsBJ,aAAtB;;IAEA,KAAKK,mBAAL,CAAyBJ,KAAzB;EACD;EAED;AACF;AACA;;;EACEI,mBAAmB,CAACJ,KAAD,EAA+B;IAChD,IAAI,KAAKK,aAAT,EAAwB;MACtB,KAAKA,aAAL,CAAmBC,OAAnB;IACD;;IAED,IAAI,CAAC,KAAKC,QAAV,EAAoB;MAClB;IACD;;IAED,KAAKF,aAAL,GAAqB,IAAIX,YAAJ,CAAiB,KAAKa,QAAtB,EAAgC,IAAhC,CAArB;;IACA,KAAKF,aAAL,CAAmBG,EAAnB,CAAsB,WAAtB,EAAmC,KAAKC,YAAxC,EAAsD,IAAtD;;IACA,KAAKJ,aAAL,CAAmBG,EAAnB,CAAsB,UAAtB,EAAkC,KAAKE,QAAvC,EAAiD,IAAjD,EAXgD,CAahD;;;IACA,KAAKL,aAAL,CAAmBM,WAAnB,CAA+BX,KAA/B;;IACA,KAAKK,aAAL,CAAmBO,UAAnB;EACD;;EAEDF,QAAQ,GAAG;IACT,KAAKL,aAAL,GAAqBQ,SAArB;IACA,KAAKN,QAAL,GAAgBM,SAAhB;IACA,KAAKX,WAAL,GAAmBW,SAAnB;IACA,KAAKV,cAAL,GAAsBU,SAAtB;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACEJ,YAAY,CAACK,CAAD,EAAYC,CAAZ,EAAuB;IACjC,IAAI,CAAC,KAAKV,aAAN,IAAuB,CAAC,KAAKF,cAAjC,EAAiD;MAC/C;IACD;;IAED,IAAIL,UAAU,GAAG,KAAKI,WAAtB;;IACA,IAAI,OAAOJ,UAAP,KAAsB,UAA1B,EAAsC;MACpCA,UAAU,GAAGA,UAAU,EAAvB;IACD;;IACD,IAAIkB,WAAW,GAAG,KAAKb,cAAL,CAAoBc,sBAApB,CAChBxB,CAAC,CAACyB,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmBpB,UAAnB,CADgB,CAAlB;;IAGA,IAAIH,SAAJ,CACEmB,CADF,EAEEC,CAFF,EAGE,KAAKV,aAHP,EAIE,KAAKF,cAJP,EAKEa,WALF,EAME,IANF;EAQD;;AAvEsC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default class DropTargetIndicator {
|
|
2
|
+
private static _template;
|
|
3
|
+
element: JQuery<HTMLElement>;
|
|
4
|
+
constructor();
|
|
5
|
+
destroy(): void;
|
|
6
|
+
highlightArea(area: {
|
|
7
|
+
x1: number;
|
|
8
|
+
x2: number;
|
|
9
|
+
y1: number;
|
|
10
|
+
y2: number;
|
|
11
|
+
}): void;
|
|
12
|
+
hide(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=DropTargetIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropTargetIndicator.d.ts","sourceRoot":"","sources":["../../src/controls/DropTargetIndicator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC,OAAO,CAAC,MAAM,CAAC,SAAS,CACmD;IAE3E,OAAO,sBAAoC;;IAM3C,OAAO;IAIP,aAAa,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAYtE,IAAI;CAGL"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
1
3
|
import $ from 'jquery';
|
|
2
|
-
|
|
4
|
+
export default class DropTargetIndicator {
|
|
5
|
+
constructor() {
|
|
6
|
+
_defineProperty(this, "element", $(DropTargetIndicator._template));
|
|
3
7
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
$(document.body).append(this.element);
|
|
7
|
-
};
|
|
8
|
+
$(document.body).append(this.element);
|
|
9
|
+
}
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
utils.copy(DropTargetIndicator.prototype, {
|
|
11
|
-
destroy: function destroy() {
|
|
11
|
+
destroy() {
|
|
12
12
|
this.element.remove();
|
|
13
|
-
}
|
|
14
|
-
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
highlightArea(area) {
|
|
15
16
|
this.element.css({
|
|
16
17
|
left: area.x1,
|
|
17
18
|
top: area.y1,
|
|
@@ -19,10 +20,13 @@ utils.copy(DropTargetIndicator.prototype, {
|
|
|
19
20
|
width: Math.floor(area.x2 - area.x1),
|
|
20
21
|
height: Math.floor(area.y2 - area.y1)
|
|
21
22
|
}).show();
|
|
22
|
-
}
|
|
23
|
-
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
hide() {
|
|
24
26
|
this.element.hide();
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_defineProperty(DropTargetIndicator, "_template", '<div class="lm_dropTargetIndicator"><div class="lm_inner"></div></div>');
|
|
28
32
|
//# sourceMappingURL=DropTargetIndicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropTargetIndicator.js","names":["$","
|
|
1
|
+
{"version":3,"file":"DropTargetIndicator.js","names":["$","DropTargetIndicator","constructor","_template","document","body","append","element","destroy","remove","highlightArea","area","css","left","x1","top","y1","width","Math","floor","x2","height","y2","show","hide"],"sources":["../../src/controls/DropTargetIndicator.ts"],"sourcesContent":["import $ from 'jquery';\n\nexport default class DropTargetIndicator {\n private static _template =\n '<div class=\"lm_dropTargetIndicator\"><div class=\"lm_inner\"></div></div>';\n\n element = $(DropTargetIndicator._template);\n\n constructor() {\n $(document.body).append(this.element);\n }\n\n destroy() {\n this.element.remove();\n }\n\n highlightArea(area: { x1: number; x2: number; y1: number; y2: number }) {\n this.element\n .css({\n left: area.x1,\n top: area.y1,\n // marching ants were causing rendering artifacts with fractional pixels\n width: Math.floor(area.x2 - area.x1),\n height: Math.floor(area.y2 - area.y1),\n })\n .show();\n }\n\n hide() {\n this.element.hide();\n }\n}\n"],"mappings":";;AAAA,OAAOA,CAAP,MAAc,QAAd;AAEA,eAAe,MAAMC,mBAAN,CAA0B;EAMvCC,WAAW,GAAG;IAAA,iCAFJF,CAAC,CAACC,mBAAmB,CAACE,SAArB,CAEG;;IACZH,CAAC,CAACI,QAAQ,CAACC,IAAV,CAAD,CAAiBC,MAAjB,CAAwB,KAAKC,OAA7B;EACD;;EAEDC,OAAO,GAAG;IACR,KAAKD,OAAL,CAAaE,MAAb;EACD;;EAEDC,aAAa,CAACC,IAAD,EAA2D;IACtE,KAAKJ,OAAL,CACGK,GADH,CACO;MACHC,IAAI,EAAEF,IAAI,CAACG,EADR;MAEHC,GAAG,EAAEJ,IAAI,CAACK,EAFP;MAGH;MACAC,KAAK,EAAEC,IAAI,CAACC,KAAL,CAAWR,IAAI,CAACS,EAAL,GAAUT,IAAI,CAACG,EAA1B,CAJJ;MAKHO,MAAM,EAAEH,IAAI,CAACC,KAAL,CAAWR,IAAI,CAACW,EAAL,GAAUX,IAAI,CAACK,EAA1B;IALL,CADP,EAQGO,IARH;EASD;;EAEDC,IAAI,GAAG;IACL,KAAKjB,OAAL,CAAaiB,IAAb;EACD;;AA5BsC;;gBAApBvB,mB,eAEjB,wE"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { AbstractContentItem, Stack } from '../items';
|
|
2
|
+
import type { StackHeaderConfig } from '../items/Stack';
|
|
3
|
+
import type LayoutManager from '../LayoutManager';
|
|
4
|
+
import { EventEmitter } from '../utils';
|
|
5
|
+
import HeaderButton from './HeaderButton';
|
|
6
|
+
import Tab from './Tab';
|
|
7
|
+
/**
|
|
8
|
+
* This class represents a header above a Stack ContentItem.
|
|
9
|
+
*
|
|
10
|
+
* @param layoutManager
|
|
11
|
+
* @param parent
|
|
12
|
+
*/
|
|
13
|
+
export default class Header extends EventEmitter {
|
|
14
|
+
private static _template;
|
|
15
|
+
private static _previousButtonTemplate;
|
|
16
|
+
private static _nextButtonTemplate;
|
|
17
|
+
layoutManager: LayoutManager;
|
|
18
|
+
element: JQuery<HTMLElement>;
|
|
19
|
+
tabsContainer: JQuery<HTMLElement>;
|
|
20
|
+
tabDropdownContainer: JQuery<HTMLElement>;
|
|
21
|
+
tabDropdownSearch: JQuery<HTMLElement>;
|
|
22
|
+
tabDropdownList: JQuery<HTMLElement> | null;
|
|
23
|
+
controlsContainer: JQuery<HTMLElement>;
|
|
24
|
+
parent: Stack;
|
|
25
|
+
tabs: Tab[];
|
|
26
|
+
activeContentItem: AbstractContentItem | null;
|
|
27
|
+
closeButton: HeaderButton | null;
|
|
28
|
+
tabDropdownButton: HeaderButton | null;
|
|
29
|
+
tabNextButton: JQuery<HTMLElement>;
|
|
30
|
+
tabPreviousButton: JQuery<HTMLElement>;
|
|
31
|
+
holdTimer: number | null;
|
|
32
|
+
rAF: number | null;
|
|
33
|
+
CLICK_TIMEOUT: number;
|
|
34
|
+
START_SPEED: number;
|
|
35
|
+
ACCELERATION: number;
|
|
36
|
+
SCROLL_LEFT: "left";
|
|
37
|
+
SCROLL_RIGHT: "right";
|
|
38
|
+
isDraggingTab: boolean;
|
|
39
|
+
isOverflowing: boolean;
|
|
40
|
+
isDropdownShown: boolean;
|
|
41
|
+
dropdownKeyIndex: number;
|
|
42
|
+
private _lastVisibleTabIndex;
|
|
43
|
+
private _tabControlOffset?;
|
|
44
|
+
constructor(layoutManager: LayoutManager, parent: Stack);
|
|
45
|
+
/**
|
|
46
|
+
* Creates a new tab and associates it with a contentItem
|
|
47
|
+
*
|
|
48
|
+
* @param contentItem
|
|
49
|
+
* @param index The position of the tab
|
|
50
|
+
*/
|
|
51
|
+
createTab(contentItem: AbstractContentItem, index?: number): void;
|
|
52
|
+
/**
|
|
53
|
+
* Finds a tab based on the contentItem its associated with and removes it.
|
|
54
|
+
*
|
|
55
|
+
* @param contentItem
|
|
56
|
+
*/
|
|
57
|
+
removeTab(contentItem: AbstractContentItem): void;
|
|
58
|
+
/**
|
|
59
|
+
* The programmatical equivalent of clicking a Tab.
|
|
60
|
+
*
|
|
61
|
+
* @param contentItem
|
|
62
|
+
*/
|
|
63
|
+
setActiveContentItem(contentItem: AbstractContentItem): void;
|
|
64
|
+
/**
|
|
65
|
+
* Programmatically operate with header position.
|
|
66
|
+
*
|
|
67
|
+
* @param position one of ('top','left','right','bottom') to set or empty to get it.
|
|
68
|
+
*
|
|
69
|
+
* @returns previous header position
|
|
70
|
+
*/
|
|
71
|
+
position(position?: 'top' | 'left' | 'right' | 'bottom'): boolean | "left" | "top" | "right" | "bottom" | undefined;
|
|
72
|
+
_attachWheelListener(): void;
|
|
73
|
+
_detachWheelListener(): void;
|
|
74
|
+
_handleWheelEvent(event: WheelEvent): void;
|
|
75
|
+
_handleScrollEvent(): void;
|
|
76
|
+
_handleItemPickedUp(): void;
|
|
77
|
+
_handleItemDropped(): void;
|
|
78
|
+
_handleNextMouseEnter(): void;
|
|
79
|
+
_handlePreviousMouseEnter(): void;
|
|
80
|
+
_handleNextMouseLeave(): void;
|
|
81
|
+
_handlePreviousMouseLeave(): void;
|
|
82
|
+
_handleNextButtonMouseDown(): void;
|
|
83
|
+
_handlePreviousButtonMouseDown(): void;
|
|
84
|
+
_handleScrollButtonMouseDown(direction: 'right' | 'left'): void;
|
|
85
|
+
_handleScrollButtonMouseUp(): void;
|
|
86
|
+
_checkScrollArrows(): void;
|
|
87
|
+
_handleScrollRepeat(direction: 'left' | 'right', startX: number, deltaX?: number, prevTimestamp?: number): void;
|
|
88
|
+
/**
|
|
89
|
+
* Programmatically set closability.
|
|
90
|
+
* @param isClosable Whether to enable/disable closability.
|
|
91
|
+
* @returns Whether the action was successful
|
|
92
|
+
*/
|
|
93
|
+
_$setClosable(isClosable: boolean): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Destroys the entire header
|
|
96
|
+
*/
|
|
97
|
+
_$destroy(): void;
|
|
98
|
+
/**
|
|
99
|
+
* get settings from header
|
|
100
|
+
*
|
|
101
|
+
* @returns when exists
|
|
102
|
+
*/
|
|
103
|
+
_getHeaderSetting<N extends 'show' | 'popout' | 'maximise' | 'close' | 'minimise'>(name: N): StackHeaderConfig[N];
|
|
104
|
+
/**
|
|
105
|
+
* Creates the popout, maximise and close buttons in the header's top right corner
|
|
106
|
+
*/
|
|
107
|
+
_createControls(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Shows drop down for additional tabs when there are too many to display.
|
|
110
|
+
*
|
|
111
|
+
* @returns {void}
|
|
112
|
+
*/
|
|
113
|
+
_showAdditionalTabsDropdown(): void;
|
|
114
|
+
_handleFilterKeydown(e: JQuery.TriggeredEvent): void;
|
|
115
|
+
_handleFilterInput(event: JQuery.TriggeredEvent): void;
|
|
116
|
+
/**
|
|
117
|
+
* Hides drop down for additional tabs when needed. It is called via mousedown
|
|
118
|
+
* event on document when list is open, or programmatically when drag starts,
|
|
119
|
+
* or active tab changes etc.
|
|
120
|
+
*/
|
|
121
|
+
_hideAdditionalTabsDropdown(event?: JQuery.UIEventBase): void;
|
|
122
|
+
/**
|
|
123
|
+
* Ensures additional tab drop down doesn't overflow screen, and instead becomes scrollable.
|
|
124
|
+
*/
|
|
125
|
+
_updateAdditionalTabsDropdown(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Checks whether the header is closable based on the parent config and
|
|
128
|
+
* the global config.
|
|
129
|
+
*
|
|
130
|
+
* @returns Whether the header is closable.
|
|
131
|
+
*/
|
|
132
|
+
_isClosable(): boolean;
|
|
133
|
+
_onPopoutClick(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Invoked when the header's background is clicked (not it's tabs or controls)
|
|
136
|
+
*
|
|
137
|
+
* @param event
|
|
138
|
+
*/
|
|
139
|
+
_onHeaderClick(event: JQuery.UIEventBase): void;
|
|
140
|
+
/**
|
|
141
|
+
* Pushes the tabs to the tab dropdown if the available space is not sufficient
|
|
142
|
+
*/
|
|
143
|
+
_updateTabSizes(): void;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/controls/Header.ts"],"names":[],"mappings":"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"}
|