@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.
Files changed (144) hide show
  1. package/dist/LayoutManager.d.ts +313 -0
  2. package/dist/LayoutManager.d.ts.map +1 -0
  3. package/dist/LayoutManager.js +468 -450
  4. package/dist/LayoutManager.js.map +1 -1
  5. package/dist/base.d.ts +16 -0
  6. package/dist/base.d.ts.map +1 -0
  7. package/dist/base.js +6 -6
  8. package/dist/base.js.map +1 -1
  9. package/dist/config/Config.d.ts +146 -0
  10. package/dist/config/Config.d.ts.map +1 -0
  11. package/dist/config/{defaultConfig.js → Config.js} +6 -6
  12. package/dist/config/Config.js.map +1 -0
  13. package/dist/config/ItemConfig.d.ts +66 -0
  14. package/dist/config/ItemConfig.d.ts.map +1 -0
  15. package/dist/config/ItemConfig.js +14 -0
  16. package/dist/config/ItemConfig.js.map +1 -0
  17. package/dist/config/index.d.ts +3 -0
  18. package/dist/config/index.d.ts.map +1 -0
  19. package/dist/config/index.js +2 -6
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/container/ItemContainer.d.ts +91 -0
  22. package/dist/container/ItemContainer.d.ts.map +1 -0
  23. package/dist/container/ItemContainer.js +110 -85
  24. package/dist/container/ItemContainer.js.map +1 -1
  25. package/dist/container/index.d.ts +3 -0
  26. package/dist/container/index.d.ts.map +1 -0
  27. package/dist/container/index.js +2 -4
  28. package/dist/container/index.js.map +1 -1
  29. package/dist/controls/BrowserPopout.d.ts +83 -0
  30. package/dist/controls/BrowserPopout.d.ts.map +1 -0
  31. package/dist/controls/BrowserPopout.js +135 -101
  32. package/dist/controls/BrowserPopout.js.map +1 -1
  33. package/dist/controls/DragProxy.d.ts +67 -0
  34. package/dist/controls/DragProxy.d.ts.map +1 -0
  35. package/dist/controls/DragProxy.js +135 -110
  36. package/dist/controls/DragProxy.js.map +1 -1
  37. package/dist/controls/DragSource.d.ts +30 -0
  38. package/dist/controls/DragSource.d.ts.map +1 -0
  39. package/dist/controls/DragSource.js +37 -29
  40. package/dist/controls/DragSource.js.map +1 -1
  41. package/dist/controls/DragSourceFromEvent.d.ts +30 -0
  42. package/dist/controls/DragSourceFromEvent.d.ts.map +1 -0
  43. package/dist/controls/DragSourceFromEvent.js +49 -36
  44. package/dist/controls/DragSourceFromEvent.js.map +1 -1
  45. package/dist/controls/DropTargetIndicator.d.ts +14 -0
  46. package/dist/controls/DropTargetIndicator.d.ts.map +1 -0
  47. package/dist/controls/DropTargetIndicator.js +18 -14
  48. package/dist/controls/DropTargetIndicator.js.map +1 -1
  49. package/dist/controls/Header.d.ts +145 -0
  50. package/dist/controls/Header.d.ts.map +1 -0
  51. package/dist/controls/Header.js +414 -271
  52. package/dist/controls/Header.js.map +1 -1
  53. package/dist/controls/HeaderButton.d.ts +9 -0
  54. package/dist/controls/HeaderButton.d.ts.map +1 -0
  55. package/dist/controls/HeaderButton.js +19 -13
  56. package/dist/controls/HeaderButton.js.map +1 -1
  57. package/dist/controls/Splitter.d.ts +12 -0
  58. package/dist/controls/Splitter.d.ts.map +1 -0
  59. package/dist/controls/Splitter.js +36 -20
  60. package/dist/controls/Splitter.js.map +1 -1
  61. package/dist/controls/Tab.d.ts +91 -0
  62. package/dist/controls/Tab.d.ts.map +1 -0
  63. package/dist/controls/Tab.js +131 -119
  64. package/dist/controls/Tab.js.map +1 -1
  65. package/dist/controls/TransitionIndicator.d.ts +25 -0
  66. package/dist/controls/TransitionIndicator.d.ts.map +1 -0
  67. package/dist/controls/TransitionIndicator.js +53 -39
  68. package/dist/controls/TransitionIndicator.js.map +1 -1
  69. package/dist/controls/index.d.ts +11 -0
  70. package/dist/controls/index.d.ts.map +1 -0
  71. package/dist/controls/index.js +10 -22
  72. package/dist/controls/index.js.map +1 -1
  73. package/dist/errors/ConfigurationError.d.ts +6 -0
  74. package/dist/errors/ConfigurationError.d.ts.map +1 -0
  75. package/dist/errors/ConfigurationError.js +15 -8
  76. package/dist/errors/ConfigurationError.js.map +1 -1
  77. package/dist/errors/index.d.ts +2 -0
  78. package/dist/errors/index.d.ts.map +1 -0
  79. package/dist/errors/index.js +1 -4
  80. package/dist/errors/index.js.map +1 -1
  81. package/dist/index.d.ts +9 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +7 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/items/AbstractContentItem.d.ts +233 -0
  86. package/dist/items/AbstractContentItem.d.ts.map +1 -0
  87. package/dist/items/AbstractContentItem.js +284 -242
  88. package/dist/items/AbstractContentItem.js.map +1 -1
  89. package/dist/items/Component.d.ts +30 -0
  90. package/dist/items/Component.d.ts.map +1 -0
  91. package/dist/items/Component.js +61 -42
  92. package/dist/items/Component.js.map +1 -1
  93. package/dist/items/Root.d.ts +18 -0
  94. package/dist/items/Root.d.ts.map +1 -0
  95. package/dist/items/Root.js +68 -38
  96. package/dist/items/Root.js.map +1 -1
  97. package/dist/items/RowOrColumn.d.ts +157 -0
  98. package/dist/items/RowOrColumn.d.ts.map +1 -0
  99. package/dist/items/RowOrColumn.js +219 -187
  100. package/dist/items/RowOrColumn.js.map +1 -1
  101. package/dist/items/Stack.d.ts +108 -0
  102. package/dist/items/Stack.d.ts.map +1 -0
  103. package/dist/items/Stack.js +218 -151
  104. package/dist/items/Stack.js.map +1 -1
  105. package/dist/items/index.d.ts +8 -0
  106. package/dist/items/index.d.ts.map +1 -0
  107. package/dist/items/index.js +7 -12
  108. package/dist/items/index.js.map +1 -1
  109. package/dist/utils/BubblingEvent.d.ts +8 -0
  110. package/dist/utils/BubblingEvent.d.ts.map +1 -0
  111. package/dist/utils/BubblingEvent.js +18 -9
  112. package/dist/utils/BubblingEvent.js.map +1 -1
  113. package/dist/utils/ConfigMinifier.d.ts +21 -0
  114. package/dist/utils/ConfigMinifier.d.ts.map +1 -0
  115. package/dist/utils/ConfigMinifier.js +121 -121
  116. package/dist/utils/ConfigMinifier.js.map +1 -1
  117. package/dist/utils/DragListener.d.ts +34 -0
  118. package/dist/utils/DragListener.d.ts.map +1 -0
  119. package/dist/utils/DragListener.js +103 -70
  120. package/dist/utils/DragListener.js.map +1 -1
  121. package/dist/utils/EventEmitter.d.ts +59 -0
  122. package/dist/utils/EventEmitter.d.ts.map +1 -0
  123. package/dist/utils/EventEmitter.js +64 -70
  124. package/dist/utils/EventEmitter.js.map +1 -1
  125. package/dist/utils/EventHub.d.ts +55 -0
  126. package/dist/utils/EventHub.d.ts.map +1 -0
  127. package/dist/utils/EventHub.js +83 -105
  128. package/dist/utils/EventHub.js.map +1 -1
  129. package/dist/utils/ReactComponentHandler.d.ts +54 -0
  130. package/dist/utils/ReactComponentHandler.d.ts.map +1 -0
  131. package/dist/utils/ReactComponentHandler.js +58 -56
  132. package/dist/utils/ReactComponentHandler.js.map +1 -1
  133. package/dist/utils/index.d.ts +8 -0
  134. package/dist/utils/index.d.ts.map +1 -0
  135. package/dist/utils/index.js +7 -21
  136. package/dist/utils/index.js.map +1 -1
  137. package/dist/utils/utils.d.ts +25 -0
  138. package/dist/utils/utils.d.ts.map +1 -0
  139. package/dist/utils/utils.js +21 -145
  140. package/dist/utils/utils.js.map +1 -1
  141. package/package.json +9 -5
  142. package/dist/config/ItemDefaultConfig.js +0 -8
  143. package/dist/config/ItemDefaultConfig.js.map +0 -1
  144. 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 utils from '../utils/index.js';
3
- import DragProxy from './DragProxy.js';
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 {Object} itemConfig the configuration for the contentItem that will be created
9
- * @param {LayoutManager} layoutManager
10
- * @param {MouseEvent} event used to get the starting position
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
- var DragSourceFromEvent = function DragSourceFromEvent(itemConfig, layoutManager, event) {
16
- this._element = $(window); // we need something to listen for mousemoves against
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
- this._itemConfig = itemConfig;
19
- this._layoutManager = layoutManager;
20
- this._dragListener = null;
22
+ _defineProperty(this, "_layoutManager", void 0);
21
23
 
22
- this._createDragListener(event);
23
- };
24
+ _defineProperty(this, "_dragListener", void 0);
24
25
 
25
- utils.copy(DragSourceFromEvent.prototype, {
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
- _createDragListener: function _createDragListener(event) {
32
- if (this._dragListener !== null) {
34
+
35
+
36
+ _createDragListener(event) {
37
+ if (this._dragListener) {
33
38
  this._dragListener.destroy();
34
39
  }
35
40
 
36
- this._dragListener = new utils.DragListener(this._element, true);
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._fDown(event);
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 {int} x the x position of the mouse on dragStart
58
- * @param {int} y the x position of the mouse on dragStart
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
- _onDragStart: function _onDragStart(x, y) {
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 (utils.isFunction(itemConfig)) {
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
- export default DragSourceFromEvent;
86
+
87
+ }
75
88
  //# sourceMappingURL=DragSourceFromEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragSourceFromEvent.js","names":["$","utils","DragProxy","DragSourceFromEvent","itemConfig","layoutManager","event","_element","window","_itemConfig","_layoutManager","_dragListener","_createDragListener","copy","prototype","destroy","DragListener","on","_onDragStart","_destroy","_fDown","_startDrag","x","y","isFunction","contentItem","_$normalizeContentItem","extend"],"sources":["../../src/controls/DragSourceFromEvent.js"],"sourcesContent":["import $ from 'jquery';\nimport utils from '../utils/index.js';\nimport DragProxy from './DragProxy.js';\n\n/**\n * Creates a drag item given a starting mouseevent\n * that can then be dragged into the Layout\n *\n * @param {Object} itemConfig the configuration for the contentItem that will be created\n * @param {LayoutManager} layoutManager\n * @param {MouseEvent} event used to get the starting position\n *\n * @constructor\n */\nconst DragSourceFromEvent = function (itemConfig, layoutManager, event) {\n this._element = $(window); // we need something to listen for mousemoves against\n this._itemConfig = itemConfig;\n this._layoutManager = layoutManager;\n this._dragListener = null;\n\n this._createDragListener(event);\n};\n\nutils.copy(DragSourceFromEvent.prototype, {\n /**\n * Called initially and after every drag\n *\n * @returns {void}\n */\n _createDragListener: function (event) {\n if (this._dragListener !== null) {\n this._dragListener.destroy();\n }\n\n this._dragListener = new utils.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._fDown(event);\n this._dragListener._startDrag();\n },\n\n _destroy: function () {\n this._dragListener = null;\n this._element = null;\n this._itemConfig = null;\n this._layoutManager = null;\n },\n\n /**\n * Callback for the DragListener's dragStart event\n *\n * @param {int} x the x position of the mouse on dragStart\n * @param {int} y the x position of the mouse on dragStart\n *\n * @returns {void}\n */\n _onDragStart: function (x, y) {\n var itemConfig = this._itemConfig;\n if (utils.isFunction(itemConfig)) {\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\nexport default DragSourceFromEvent;\n"],"mappings":"AAAA,OAAOA,CAAP,MAAc,QAAd;AACA,OAAOC,KAAP,MAAkB,mBAAlB;AACA,OAAOC,SAAP,MAAsB,gBAAtB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAUC,UAAV,EAAsBC,aAAtB,EAAqCC,KAArC,EAA4C;EACtE,KAAKC,QAAL,GAAgBP,CAAC,CAACQ,MAAD,CAAjB,CADsE,CAC3C;;EAC3B,KAAKC,WAAL,GAAmBL,UAAnB;EACA,KAAKM,cAAL,GAAsBL,aAAtB;EACA,KAAKM,aAAL,GAAqB,IAArB;;EAEA,KAAKC,mBAAL,CAAyBN,KAAzB;AACD,CAPD;;AASAL,KAAK,CAACY,IAAN,CAAWV,mBAAmB,CAACW,SAA/B,EAA0C;EACxC;AACF;AACA;AACA;AACA;EACEF,mBAAmB,EAAE,6BAAUN,KAAV,EAAiB;IACpC,IAAI,KAAKK,aAAL,KAAuB,IAA3B,EAAiC;MAC/B,KAAKA,aAAL,CAAmBI,OAAnB;IACD;;IAED,KAAKJ,aAAL,GAAqB,IAAIV,KAAK,CAACe,YAAV,CAAuB,KAAKT,QAA5B,EAAsC,IAAtC,CAArB;;IACA,KAAKI,aAAL,CAAmBM,EAAnB,CAAsB,WAAtB,EAAmC,KAAKC,YAAxC,EAAsD,IAAtD;;IACA,KAAKP,aAAL,CAAmBM,EAAnB,CAAsB,UAAtB,EAAkC,KAAKE,QAAvC,EAAiD,IAAjD,EAPoC,CASpC;;;IACA,KAAKR,aAAL,CAAmBS,MAAnB,CAA0Bd,KAA1B;;IACA,KAAKK,aAAL,CAAmBU,UAAnB;EACD,CAlBuC;EAoBxCF,QAAQ,EAAE,oBAAY;IACpB,KAAKR,aAAL,GAAqB,IAArB;IACA,KAAKJ,QAAL,GAAgB,IAAhB;IACA,KAAKE,WAAL,GAAmB,IAAnB;IACA,KAAKC,cAAL,GAAsB,IAAtB;EACD,CAzBuC;;EA2BxC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEQ,YAAY,EAAE,sBAAUI,CAAV,EAAaC,CAAb,EAAgB;IAC5B,IAAInB,UAAU,GAAG,KAAKK,WAAtB;;IACA,IAAIR,KAAK,CAACuB,UAAN,CAAiBpB,UAAjB,CAAJ,EAAkC;MAChCA,UAAU,GAAGA,UAAU,EAAvB;IACD;;IACD,IAAIqB,WAAW,GAAG,KAAKf,cAAL,CAAoBgB,sBAApB,CAChB1B,CAAC,CAAC2B,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmBvB,UAAnB,CADgB,CAAlB;;IAGA,IAAIF,SAAJ,CACEoB,CADF,EAEEC,CAFF,EAGE,KAAKZ,aAHP,EAIE,KAAKD,cAJP,EAKEe,WALF,EAME,IANF;EAQD;AAnDuC,CAA1C;AAsDA,eAAetB,mBAAf"}
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
- import utils from '../utils/index.js';
4
+ export default class DropTargetIndicator {
5
+ constructor() {
6
+ _defineProperty(this, "element", $(DropTargetIndicator._template));
3
7
 
4
- var DropTargetIndicator = function DropTargetIndicator() {
5
- this.element = $(DropTargetIndicator._template);
6
- $(document.body).append(this.element);
7
- };
8
+ $(document.body).append(this.element);
9
+ }
8
10
 
9
- DropTargetIndicator._template = '<div class="lm_dropTargetIndicator"><div class="lm_inner"></div></div>';
10
- utils.copy(DropTargetIndicator.prototype, {
11
- destroy: function destroy() {
11
+ destroy() {
12
12
  this.element.remove();
13
- },
14
- highlightArea: function highlightArea(area) {
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
- hide: function hide() {
23
+ }
24
+
25
+ hide() {
24
26
  this.element.hide();
25
27
  }
26
- });
27
- export default DropTargetIndicator;
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":["$","utils","DropTargetIndicator","element","_template","document","body","append","copy","prototype","destroy","remove","highlightArea","area","css","left","x1","top","y1","width","Math","floor","x2","height","y2","show","hide"],"sources":["../../src/controls/DropTargetIndicator.js"],"sourcesContent":["import $ from 'jquery';\nimport utils from '../utils/index.js';\n\nconst DropTargetIndicator = function () {\n this.element = $(DropTargetIndicator._template);\n $(document.body).append(this.element);\n};\n\nDropTargetIndicator._template =\n '<div class=\"lm_dropTargetIndicator\"><div class=\"lm_inner\"></div></div>';\n\nutils.copy(DropTargetIndicator.prototype, {\n destroy: function () {\n this.element.remove();\n },\n\n highlightArea: function (area) {\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: function () {\n this.element.hide();\n },\n});\n\nexport default DropTargetIndicator;\n"],"mappings":"AAAA,OAAOA,CAAP,MAAc,QAAd;AACA,OAAOC,KAAP,MAAkB,mBAAlB;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAY;EACtC,KAAKC,OAAL,GAAeH,CAAC,CAACE,mBAAmB,CAACE,SAArB,CAAhB;EACAJ,CAAC,CAACK,QAAQ,CAACC,IAAV,CAAD,CAAiBC,MAAjB,CAAwB,KAAKJ,OAA7B;AACD,CAHD;;AAKAD,mBAAmB,CAACE,SAApB,GACE,wEADF;AAGAH,KAAK,CAACO,IAAN,CAAWN,mBAAmB,CAACO,SAA/B,EAA0C;EACxCC,OAAO,EAAE,mBAAY;IACnB,KAAKP,OAAL,CAAaQ,MAAb;EACD,CAHuC;EAKxCC,aAAa,EAAE,uBAAUC,IAAV,EAAgB;IAC7B,KAAKV,OAAL,CACGW,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,CAfuC;EAiBxCC,IAAI,EAAE,gBAAY;IAChB,KAAKvB,OAAL,CAAauB,IAAb;EACD;AAnBuC,CAA1C;AAsBA,eAAexB,mBAAf"}
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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"}