@deephaven/golden-layout 0.22.3-deep-bot-test.14 → 0.23.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 (76) hide show
  1. package/dist/LayoutManager.d.ts +1 -1
  2. package/dist/LayoutManager.d.ts.map +1 -1
  3. package/dist/LayoutManager.js +60 -260
  4. package/dist/LayoutManager.js.map +1 -1
  5. package/dist/base.js.map +1 -1
  6. package/dist/config/Config.d.ts +2 -2
  7. package/dist/config/Config.d.ts.map +1 -1
  8. package/dist/config/Config.js.map +1 -1
  9. package/dist/config/ItemConfig.d.ts +1 -1
  10. package/dist/config/ItemConfig.d.ts.map +1 -1
  11. package/dist/config/ItemConfig.js.map +1 -1
  12. package/dist/container/ItemContainer.js +14 -50
  13. package/dist/container/ItemContainer.js.map +1 -1
  14. package/dist/container/index.js.map +1 -1
  15. package/dist/controls/BrowserPopout.d.ts +1 -1
  16. package/dist/controls/BrowserPopout.d.ts.map +1 -1
  17. package/dist/controls/BrowserPopout.js +17 -63
  18. package/dist/controls/BrowserPopout.js.map +1 -1
  19. package/dist/controls/DragProxy.js +13 -73
  20. package/dist/controls/DragProxy.js.map +1 -1
  21. package/dist/controls/DragSource.js +3 -19
  22. package/dist/controls/DragSource.js.map +1 -1
  23. package/dist/controls/DragSourceFromEvent.js +5 -24
  24. package/dist/controls/DragSourceFromEvent.js.map +1 -1
  25. package/dist/controls/DropTargetIndicator.js +0 -7
  26. package/dist/controls/DropTargetIndicator.js.map +1 -1
  27. package/dist/controls/Header.js +89 -233
  28. package/dist/controls/Header.js.map +1 -1
  29. package/dist/controls/HeaderButton.js +0 -9
  30. package/dist/controls/HeaderButton.js.map +1 -1
  31. package/dist/controls/Splitter.js +0 -14
  32. package/dist/controls/Splitter.js.map +1 -1
  33. package/dist/controls/Tab.js +21 -62
  34. package/dist/controls/Tab.js.map +1 -1
  35. package/dist/controls/TransitionIndicator.d.ts +1 -1
  36. package/dist/controls/TransitionIndicator.d.ts.map +1 -1
  37. package/dist/controls/TransitionIndicator.js +2 -21
  38. package/dist/controls/TransitionIndicator.js.map +1 -1
  39. package/dist/controls/index.js.map +1 -1
  40. package/dist/errors/ConfigurationError.js +0 -5
  41. package/dist/errors/ConfigurationError.js.map +1 -1
  42. package/dist/errors/index.js.map +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/items/AbstractContentItem.d.ts +2 -2
  45. package/dist/items/AbstractContentItem.d.ts.map +1 -1
  46. package/dist/items/AbstractContentItem.js +37 -133
  47. package/dist/items/AbstractContentItem.js.map +1 -1
  48. package/dist/items/Component.js +2 -27
  49. package/dist/items/Component.js.map +1 -1
  50. package/dist/items/Root.js +1 -26
  51. package/dist/items/Root.js.map +1 -1
  52. package/dist/items/RowOrColumn.js +32 -128
  53. package/dist/items/RowOrColumn.js.map +1 -1
  54. package/dist/items/Stack.d.ts +2 -2
  55. package/dist/items/Stack.d.ts.map +1 -1
  56. package/dist/items/Stack.js +27 -115
  57. package/dist/items/Stack.js.map +1 -1
  58. package/dist/items/index.js.map +1 -1
  59. package/dist/utils/BubblingEvent.js +0 -6
  60. package/dist/utils/BubblingEvent.js.map +1 -1
  61. package/dist/utils/ConfigMinifier.js +13 -26
  62. package/dist/utils/ConfigMinifier.js.map +1 -1
  63. package/dist/utils/DragListener.js +8 -47
  64. package/dist/utils/DragListener.js.map +1 -1
  65. package/dist/utils/EventEmitter.d.ts +1 -1
  66. package/dist/utils/EventEmitter.d.ts.map +1 -1
  67. package/dist/utils/EventEmitter.js +5 -25
  68. package/dist/utils/EventEmitter.js.map +1 -1
  69. package/dist/utils/EventHub.js +8 -27
  70. package/dist/utils/EventHub.js.map +1 -1
  71. package/dist/utils/ReactComponentHandler.js +6 -35
  72. package/dist/utils/ReactComponentHandler.js.map +1 -1
  73. package/dist/utils/index.js.map +1 -1
  74. package/dist/utils/utils.js +5 -11
  75. package/dist/utils/utils.js.map +1 -1
  76. package/package.json +2 -2
@@ -1,44 +1,26 @@
1
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
2
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
3
  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; }
6
-
7
4
  import $ from 'jquery';
8
5
  import AbstractContentItem, { isComponent } from "./AbstractContentItem.js";
9
6
  import { Header } from "../controls/index.js";
10
7
  export default class Stack extends AbstractContentItem {
11
8
  constructor(layoutManager, config, parent) {
12
9
  var _cfg$settings, _cfg$settings2, _cfg$labels, _cfg$settings3, _cfg$labels2, _cfg$settings4, _cfg$labels3, _cfg$labels$minimise, _cfg$labels4;
13
-
14
10
  super(layoutManager, config, parent, $('<div class="lm_item lm_stack"></div>'));
15
-
16
11
  _defineProperty(this, "_activeContentItem", null);
17
-
18
12
  _defineProperty(this, "_header", void 0);
19
-
20
13
  _defineProperty(this, "childElementContainer", $('<div class="lm_items"></div>'));
21
-
22
14
  _defineProperty(this, "header", void 0);
23
-
24
15
  _defineProperty(this, "parent", void 0);
25
-
26
16
  _defineProperty(this, "isStack", true);
27
-
28
17
  _defineProperty(this, "_dropZones", {});
29
-
30
18
  _defineProperty(this, "_dropSegment", null);
31
-
32
19
  _defineProperty(this, "_contentAreaDimensions", null);
33
-
34
20
  _defineProperty(this, "_dropIndex", void 0);
35
-
36
21
  _defineProperty(this, "_side", void 0);
37
-
38
22
  _defineProperty(this, "_sided", false);
39
-
40
23
  _defineProperty(this, "config", void 0);
41
-
42
24
  this.parent = parent;
43
25
  this.config = config;
44
26
  var cfg = layoutManager.config;
@@ -50,87 +32,69 @@ export default class Stack extends AbstractContentItem {
50
32
  maximise: (_cfg$settings3 = cfg.settings) !== null && _cfg$settings3 !== void 0 && _cfg$settings3.showMaximiseIcon ? (_cfg$labels2 = cfg.labels) === null || _cfg$labels2 === void 0 ? void 0 : _cfg$labels2.maximise : undefined,
51
33
  close: (_cfg$settings4 = cfg.settings) !== null && _cfg$settings4 !== void 0 && _cfg$settings4.showCloseIcon ? (_cfg$labels3 = cfg.labels) === null || _cfg$labels3 === void 0 ? void 0 : _cfg$labels3.close : undefined,
52
34
  minimise: (_cfg$labels$minimise = (_cfg$labels4 = cfg.labels) === null || _cfg$labels4 === void 0 ? void 0 : _cfg$labels4.minimise) !== null && _cfg$labels$minimise !== void 0 ? _cfg$labels$minimise : undefined
53
- }; // load simplified version of header configuration (https://github.com/deepstreamIO/golden-layout/pull/245)
35
+ };
54
36
 
37
+ // load simplified version of header configuration (https://github.com/deepstreamIO/golden-layout/pull/245)
55
38
  if (cfg.header) this._header = _objectSpread(_objectSpread({}, this._header), cfg.header);
56
- if (config.header) // load from stack
39
+ if (config.header)
40
+ // load from stack
57
41
  this._header = _objectSpread(_objectSpread({}, this._header), config.header);
58
- if (config.content && config.content[0] && config.content[0].header) // load from component if stack omitted
42
+ if (config.content && config.content[0] && config.content[0].header)
43
+ // load from component if stack omitted
59
44
  this._header = _objectSpread(_objectSpread({}, this._header), config.content[0].header);
60
45
  this.header = new Header(layoutManager, this);
61
46
  this.element.append(this.header.element);
62
47
  this.element.append(this.childElementContainer);
63
-
64
48
  this._setupHeaderPosition();
65
-
66
49
  this._$validateClosability();
67
50
  }
68
-
69
51
  setSize() {
70
52
  var _this$layoutManager$c, _this$layoutManager$c2, _this$element$width, _this$element$height;
71
-
72
53
  var i,
73
- headerSize = this._header.show ? (_this$layoutManager$c = (_this$layoutManager$c2 = this.layoutManager.config.dimensions) === null || _this$layoutManager$c2 === void 0 ? void 0 : _this$layoutManager$c2.headerHeight) !== null && _this$layoutManager$c !== void 0 ? _this$layoutManager$c : 0 : 0,
74
- contentWidth = ((_this$element$width = this.element.width()) !== null && _this$element$width !== void 0 ? _this$element$width : 0) - (this._sided ? headerSize : 0),
75
- contentHeight = ((_this$element$height = this.element.height()) !== null && _this$element$height !== void 0 ? _this$element$height : 0) - (!this._sided ? headerSize : 0);
54
+ headerSize = this._header.show ? (_this$layoutManager$c = (_this$layoutManager$c2 = this.layoutManager.config.dimensions) === null || _this$layoutManager$c2 === void 0 ? void 0 : _this$layoutManager$c2.headerHeight) !== null && _this$layoutManager$c !== void 0 ? _this$layoutManager$c : 0 : 0,
55
+ contentWidth = ((_this$element$width = this.element.width()) !== null && _this$element$width !== void 0 ? _this$element$width : 0) - (this._sided ? headerSize : 0),
56
+ contentHeight = ((_this$element$height = this.element.height()) !== null && _this$element$height !== void 0 ? _this$element$height : 0) - (!this._sided ? headerSize : 0);
76
57
  this.childElementContainer.width(contentWidth);
77
58
  this.childElementContainer.height(contentHeight);
78
-
79
59
  for (i = 0; i < this.contentItems.length; i++) {
80
60
  this.contentItems[i].element.width(contentWidth).height(contentHeight);
81
61
  }
82
-
83
62
  this.emit('resize');
84
63
  this.emitBubblingEvent('stateChanged');
85
64
  }
86
-
87
65
  _$init() {
88
66
  if (this.isInitialised === true) return;
89
-
90
67
  this.header._attachWheelListener();
91
-
92
68
  super._$init();
93
-
94
69
  for (var i = 0; i < this.contentItems.length; i++) {
95
70
  this.header.createTab(this.contentItems[i]);
96
-
97
71
  this.contentItems[i]._$hide();
98
72
  }
99
-
100
73
  if (this.contentItems.length > 0) {
101
74
  var initialItem = this.contentItems[this.config.activeItemIndex || 0];
102
-
103
75
  if (!initialItem) {
104
76
  throw new Error('Configured activeItemIndex out of bounds');
105
77
  }
106
-
107
78
  this.setActiveContentItem(initialItem);
108
79
  }
109
80
  }
110
-
111
81
  setActiveContentItem(contentItem) {
112
82
  if (this.contentItems.indexOf(contentItem) === -1) {
113
83
  throw new Error('contentItem is not a child of this stack');
114
84
  }
115
-
116
85
  if (this._activeContentItem !== null) {
117
86
  this._activeContentItem._$hide();
118
87
  }
119
-
120
88
  this._activeContentItem = contentItem;
121
89
  this.header.setActiveContentItem(contentItem);
122
-
123
90
  contentItem._$show();
124
-
125
91
  this.emit('activeContentItemChanged', contentItem);
126
92
  this.layoutManager.emit('activeContentItemChanged', contentItem);
127
93
  this.emitBubblingEvent('stateChanged');
128
94
  }
129
-
130
95
  getActiveContentItem() {
131
96
  return this.header.activeContentItem;
132
97
  }
133
-
134
98
  addChild(contentItem, index) {
135
99
  contentItem = this.layoutManager._$normalizeContentItem(contentItem, this);
136
100
  super.addChild(contentItem, index);
@@ -138,18 +102,14 @@ export default class Stack extends AbstractContentItem {
138
102
  this.header.createTab(contentItem, index);
139
103
  this.setActiveContentItem(contentItem);
140
104
  this.callDownwards('setSize');
141
-
142
105
  this._$validateClosability();
143
-
144
106
  this.emitBubblingEvent('stateChanged');
145
107
  }
146
-
147
108
  removeChild(contentItem) {
148
109
  var keepChild = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
149
110
  var index = this.contentItems.indexOf(contentItem);
150
111
  super.removeChild(contentItem, keepChild);
151
112
  this.header.removeTab(contentItem);
152
-
153
113
  if (this.header.activeContentItem === contentItem) {
154
114
  if (this.contentItems.length > 0) {
155
115
  this.setActiveContentItem(this.contentItems[Math.max(index - 1, 0)]);
@@ -157,39 +117,31 @@ export default class Stack extends AbstractContentItem {
157
117
  this._activeContentItem = null;
158
118
  }
159
119
  }
160
-
161
120
  this._$validateClosability();
162
-
163
121
  this.emitBubblingEvent('stateChanged');
164
122
  }
123
+
165
124
  /**
166
125
  * Validates that the stack is still closable or not. If a stack is able
167
126
  * to close, but has a non closable component added to it, the stack is no
168
127
  * longer closable until all components are closable.
169
128
  */
170
-
171
-
172
129
  _$validateClosability() {
173
130
  var isClosable = this.header._isClosable();
174
-
175
131
  for (var i = 0, len = this.contentItems.length; i < len; i++) {
176
132
  var _this$contentItems$i$;
177
-
178
133
  if (!isClosable) {
179
134
  break;
180
135
  }
181
-
182
136
  isClosable = (_this$contentItems$i$ = this.contentItems[i].config.isClosable) !== null && _this$contentItems$i$ !== void 0 ? _this$contentItems$i$ : false;
183
137
  }
184
-
185
138
  this.header._$setClosable(isClosable);
186
139
  }
187
-
188
140
  _$destroy() {
189
141
  AbstractContentItem.prototype._$destroy.call(this);
190
-
191
142
  this.header._$destroy();
192
143
  }
144
+
193
145
  /**
194
146
  * Ok, this one is going to be the tricky one: The user has dropped {contentItem} onto this stack.
195
147
  *
@@ -209,8 +161,6 @@ export default class Stack extends AbstractContentItem {
209
161
  *
210
162
  * @param contentItem
211
163
  */
212
-
213
-
214
164
  _$onDrop(contentItem) {
215
165
  /*
216
166
  * The item was dropped on the header area. Just add it as a child of this stack and
@@ -218,55 +168,48 @@ export default class Stack extends AbstractContentItem {
218
168
  */
219
169
  if (this._dropSegment === 'header') {
220
170
  this._resetHeaderDropZone();
221
-
222
171
  this.addChild(contentItem, this._dropIndex);
223
172
  return;
224
173
  }
174
+
225
175
  /*
226
176
  * The stack is empty. Let's just add the element.
227
177
  */
228
-
229
-
230
178
  if (this._dropSegment === 'body') {
231
179
  this.addChild(contentItem);
232
180
  return;
233
181
  }
182
+
234
183
  /*
235
184
  * The item was dropped on the top-, left-, bottom- or right- part of the content. Let's
236
185
  * aggregate some conditions to make the if statements later on more readable
237
186
  */
238
-
239
-
240
187
  var isVertical = this._dropSegment === 'top' || this._dropSegment === 'bottom';
241
188
  var isHorizontal = this._dropSegment === 'left' || this._dropSegment === 'right';
242
189
  var insertBefore = this._dropSegment === 'top' || this._dropSegment === 'left';
243
190
  var hasCorrectParent = isVertical && this.parent.isColumn || isHorizontal && this.parent.isRow;
244
191
  var type = isVertical ? 'column' : 'row';
245
192
  var dimension = isVertical ? 'height' : 'width';
193
+
246
194
  /*
247
195
  * The content item can be either a component or a stack. If it is a component, wrap it into a stack
248
196
  */
249
-
250
197
  if (isComponent(contentItem)) {
251
198
  var stack = this.layoutManager.createContentItem({
252
199
  type: 'stack',
253
200
  header: contentItem.config.header || {}
254
201
  }, this);
255
-
256
202
  stack._$init();
257
-
258
203
  stack.addChild(contentItem);
259
204
  contentItem = stack;
260
205
  }
206
+
261
207
  /*
262
208
  * If the item is dropped on top or bottom of a column or left and right of a row, it's already
263
209
  * layd out in the correct way. Just add it as a child
264
210
  */
265
-
266
-
267
211
  if (hasCorrectParent) {
268
212
  var _this$config$dimensio;
269
-
270
213
  var index = this.parent.contentItems.indexOf(this);
271
214
  this.parent.addChild(contentItem, insertBefore ? index : index + 1, true);
272
215
  this.config[dimension] = ((_this$config$dimensio = this.config[dimension]) !== null && _this$config$dimensio !== void 0 ? _this$config$dimensio : 0) * 0.5;
@@ -288,6 +231,7 @@ export default class Stack extends AbstractContentItem {
288
231
  rowOrColumn.callDownwards('setSize');
289
232
  }
290
233
  }
234
+
291
235
  /**
292
236
  * If the user hovers above the header part of the stack, indicate drop positions for tabs.
293
237
  * otherwise indicate which segment of the body the dragged item would be dropped on
@@ -295,45 +239,33 @@ export default class Stack extends AbstractContentItem {
295
239
  * @param x Absolute Screen X
296
240
  * @param y Absolute Screen Y
297
241
  */
298
-
299
-
300
242
  _$highlightDropZone(x, y) {
301
243
  if (!this._contentAreaDimensions) {
302
244
  return;
303
245
  }
304
-
305
246
  for (var [segment, dimensions] of Object.entries(this._contentAreaDimensions)) {
306
247
  var area = dimensions.hoverArea;
307
-
308
248
  if (area.x1 < x && area.x2 > x && area.y1 < y && area.y2 > y) {
309
249
  if (segment === 'header') {
310
250
  this._dropSegment = 'header';
311
-
312
251
  this._highlightHeaderDropZone(x);
313
252
  } else {
314
253
  this._resetHeaderDropZone();
315
-
316
254
  this._highlightBodyDropZone(segment);
317
255
  }
318
-
319
256
  return;
320
257
  }
321
258
  }
322
259
  }
323
-
324
260
  _$getArea() {
325
261
  if (this.element.is(':visible') === false) {
326
262
  return null;
327
263
  }
328
-
329
264
  var headerArea = super._$getArea(this.header.element);
330
-
331
265
  var contentArea = super._$getArea(this.childElementContainer);
332
-
333
266
  if (headerArea == null || contentArea == null) {
334
267
  return null;
335
268
  }
336
-
337
269
  var contentWidth = contentArea.x2 - contentArea.x1;
338
270
  var contentHeight = contentArea.y2 - contentArea.y1;
339
271
  this._contentAreaDimensions = {
@@ -352,19 +284,18 @@ export default class Stack extends AbstractContentItem {
352
284
  }
353
285
  }
354
286
  };
287
+
355
288
  /**
356
289
  * If this Stack is a parent to rows, columns or other stacks only its
357
290
  * header is a valid dropzone.
358
291
  */
359
-
360
292
  if (this._activeContentItem && this._activeContentItem.isComponent === false) {
361
293
  return headerArea;
362
294
  }
295
+
363
296
  /**
364
297
  * Highlight the entire body if the stack is empty
365
298
  */
366
-
367
-
368
299
  if (this.contentItems.length === 0) {
369
300
  this._contentAreaDimensions.body = {
370
301
  hoverArea: {
@@ -382,7 +313,6 @@ export default class Stack extends AbstractContentItem {
382
313
  };
383
314
  return super._$getArea(this.element);
384
315
  }
385
-
386
316
  this._contentAreaDimensions.left = {
387
317
  hoverArea: {
388
318
  x1: contentArea.x1,
@@ -441,19 +371,19 @@ export default class Stack extends AbstractContentItem {
441
371
  };
442
372
  return super._$getArea(this.element);
443
373
  }
444
-
445
374
  _highlightHeaderDropZone(x) {
446
375
  var _tabsContainer$get, _this$layoutManager$t, _this$layoutManager$t2, _this$layoutManager$t3, _this$header$tabsCont, _this$header$tabsCont2, _this$layoutManager$t4, _this$header$tabsCont3, _this$header$tabsCont4, _this$header$tabsCont5, _this$layoutManager$d2, _this$header$element$6, _this$header$element$7, _this$header$element$8, _this$header$element$9, _this$header$element$10;
376
+ var tabsLength = this.header.tabs.length;
447
377
 
448
- var tabsLength = this.header.tabs.length; // I've omitted code for side edge tabs here
378
+ // I've omitted code for side edge tabs here
449
379
  // illumon doesn't need it, will slowly pull that code out elsewhere too
450
- // Empty stack
451
380
 
381
+ // Empty stack
452
382
  if (tabsLength === 0) {
453
383
  var _this$layoutManager$d, _headerOffset$left, _headerOffset$left2, _this$header$element$, _this$header$element$2, _this$header$element$3, _this$header$element$4, _this$header$element$5;
384
+ var headerOffset = this.header.element.offset();
454
385
 
455
- var headerOffset = this.header.element.offset(); // we don't have a placeholder to measure in the dom, lets just cheat and make it 100px.
456
-
386
+ // we don't have a placeholder to measure in the dom, lets just cheat and make it 100px.
457
387
  (_this$layoutManager$d = this.layoutManager.dropTargetIndicator) === null || _this$layoutManager$d === void 0 ? void 0 : _this$layoutManager$d.highlightArea({
458
388
  x1: (_headerOffset$left = headerOffset === null || headerOffset === void 0 ? void 0 : headerOffset.left) !== null && _headerOffset$left !== void 0 ? _headerOffset$left : 0,
459
389
  x2: ((_headerOffset$left2 = headerOffset === null || headerOffset === void 0 ? void 0 : headerOffset.left) !== null && _headerOffset$left2 !== void 0 ? _headerOffset$left2 : 0) + 100,
@@ -462,15 +392,12 @@ export default class Stack extends AbstractContentItem {
462
392
  });
463
393
  return;
464
394
  }
465
-
466
395
  var tabsContainer = this.header.tabsContainer;
467
396
  var tabsContainerRect = (_tabsContainer$get = tabsContainer.get(0)) === null || _tabsContainer$get === void 0 ? void 0 : _tabsContainer$get.getBoundingClientRect();
468
397
  var placeholderRect = (_this$layoutManager$t = this.layoutManager.tabDropPlaceholder.get(0)) === null || _this$layoutManager$t === void 0 ? void 0 : _this$layoutManager$t.getBoundingClientRect();
469
-
470
398
  if (!tabsContainerRect || !placeholderRect) {
471
399
  return;
472
400
  }
473
-
474
401
  if (x < tabsContainerRect.left) {
475
402
  // is over left tab controls button
476
403
  // move x to a new point to inside left edge of container
@@ -480,37 +407,33 @@ export default class Stack extends AbstractContentItem {
480
407
  // move x to a new point to inside right edge of container
481
408
  x = tabsContainerRect.right - 1;
482
409
  }
483
-
484
410
  var tabElement;
485
- var tabRect; // if its not inide a placeholder,
411
+ var tabRect;
486
412
 
413
+ // if its not inide a placeholder,
487
414
  if (!(placeholderRect.left < x && x < placeholderRect.right)) {
488
415
  // which tab is it over ...
489
416
  for (var i = 0; i < tabsLength; i++) {
490
417
  var _tabElement$get;
491
-
492
418
  tabElement = this.header.tabs[i].element;
493
419
  tabRect = (_tabElement$get = tabElement.get(0)) === null || _tabElement$get === void 0 ? void 0 : _tabElement$get.getBoundingClientRect();
494
-
495
420
  if (tabRect && tabRect.left < x && x < tabRect.right) {
496
421
  this._dropIndex = i;
497
422
  break;
498
423
  }
499
- } // we have tabRect at this x,y from the loop above
500
-
424
+ }
501
425
 
426
+ // we have tabRect at this x,y from the loop above
502
427
  if (tabElement && tabRect && x < tabRect.left + tabRect.width * 0.5) {
503
428
  // mostly before an element, insert placeholder before
504
429
  tabElement.before(this.layoutManager.tabDropPlaceholder);
505
430
  } else if (tabElement) {
506
431
  var _this$_dropIndex;
507
-
508
432
  // x is likely after the lhe last item, position after and increase drop index
509
433
  this._dropIndex = Math.min(((_this$_dropIndex = this._dropIndex) !== null && _this$_dropIndex !== void 0 ? _this$_dropIndex : 0) + 1, tabsLength);
510
434
  tabElement.after(this.layoutManager.tabDropPlaceholder);
511
435
  }
512
436
  }
513
-
514
437
  var placeHolderLeft = (_this$layoutManager$t2 = (_this$layoutManager$t3 = this.layoutManager.tabDropPlaceholder.offset()) === null || _this$layoutManager$t3 === void 0 ? void 0 : _this$layoutManager$t3.left) !== null && _this$layoutManager$t2 !== void 0 ? _this$layoutManager$t2 : 0;
515
438
  placeHolderLeft = Math.max(placeHolderLeft, (_this$header$tabsCont = (_this$header$tabsCont2 = this.header.tabsContainer.offset()) === null || _this$header$tabsCont2 === void 0 ? void 0 : _this$header$tabsCont2.left) !== null && _this$header$tabsCont !== void 0 ? _this$header$tabsCont : 0);
516
439
  var placeHolderRight = placeHolderLeft + ((_this$layoutManager$t4 = this.layoutManager.tabDropPlaceholder.width()) !== null && _this$layoutManager$t4 !== void 0 ? _this$layoutManager$t4 : 0);
@@ -522,44 +445,33 @@ export default class Stack extends AbstractContentItem {
522
445
  y2: ((_this$header$element$8 = (_this$header$element$9 = this.header.element.offset()) === null || _this$header$element$9 === void 0 ? void 0 : _this$header$element$9.top) !== null && _this$header$element$8 !== void 0 ? _this$header$element$8 : 0) + ((_this$header$element$10 = this.header.element.innerHeight()) !== null && _this$header$element$10 !== void 0 ? _this$header$element$10 : 0)
523
446
  });
524
447
  }
525
-
526
448
  _resetHeaderDropZone() {
527
449
  this.layoutManager.tabDropPlaceholder.remove();
528
450
  }
529
-
530
451
  _setupHeaderPosition() {
531
452
  var side = ['right', 'left', 'bottom'].some(elem => elem === this._header.show) ? this._header.show : undefined;
532
-
533
453
  if (!side) {
534
454
  return;
535
455
  }
536
-
537
456
  this.header.element.toggle(!!this._header.show);
538
457
  this._side = side;
539
458
  this._sided = ['right', 'left'].indexOf(this._side.toString()) >= 0;
540
459
  this.element.removeClass('lm_left lm_right lm_bottom');
541
460
  if (this._side) this.element.addClass('lm_' + this._side);
542
-
543
461
  if (this.element.find('.lm_header').length && this.childElementContainer) {
544
462
  var headerPosition = ['right', 'bottom'].indexOf(this._side.toString()) >= 0 ? 'before' : 'after';
545
463
  this.header.element[headerPosition](this.childElementContainer);
546
464
  this.callDownwards('setSize');
547
465
  }
548
466
  }
549
-
550
467
  _highlightBodyDropZone(segment) {
551
468
  var _this$_contentAreaDim, _this$_contentAreaDim2;
552
-
553
469
  var highlightArea = (_this$_contentAreaDim = this._contentAreaDimensions) === null || _this$_contentAreaDim === void 0 ? void 0 : (_this$_contentAreaDim2 = _this$_contentAreaDim[segment]) === null || _this$_contentAreaDim2 === void 0 ? void 0 : _this$_contentAreaDim2.highlightArea;
554
-
555
470
  if (highlightArea) {
556
471
  var _this$layoutManager$d3;
557
-
558
472
  (_this$layoutManager$d3 = this.layoutManager.dropTargetIndicator) === null || _this$layoutManager$d3 === void 0 ? void 0 : _this$layoutManager$d3.highlightArea(highlightArea);
559
473
  }
560
-
561
474
  this._dropSegment = segment;
562
475
  }
563
-
564
476
  }
565
477
  //# sourceMappingURL=Stack.js.map