@deephaven/golden-layout 0.19.2-beta.10 → 0.19.2-beta.11
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
package/dist/items/Stack.js
CHANGED
|
@@ -1,49 +1,78 @@
|
|
|
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
|
+
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
|
+
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
|
+
|
|
1
7
|
import $ from 'jquery';
|
|
2
|
-
import AbstractContentItem from
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
8
|
+
import AbstractContentItem, { isComponent } from "./AbstractContentItem.js";
|
|
9
|
+
import { Header } from "../controls/index.js";
|
|
10
|
+
export default class Stack extends AbstractContentItem {
|
|
11
|
+
constructor(layoutManager, config, parent) {
|
|
12
|
+
var _cfg$settings, _cfg$settings2, _cfg$labels, _cfg$settings3, _cfg$labels2, _cfg$settings4, _cfg$labels3, _cfg$labels$minimise, _cfg$labels4;
|
|
13
|
+
|
|
14
|
+
super(layoutManager, config, parent, $('<div class="lm_item lm_stack"></div>'));
|
|
15
|
+
|
|
16
|
+
_defineProperty(this, "_activeContentItem", null);
|
|
17
|
+
|
|
18
|
+
_defineProperty(this, "_header", void 0);
|
|
19
|
+
|
|
20
|
+
_defineProperty(this, "childElementContainer", $('<div class="lm_items"></div>'));
|
|
21
|
+
|
|
22
|
+
_defineProperty(this, "header", void 0);
|
|
23
|
+
|
|
24
|
+
_defineProperty(this, "parent", void 0);
|
|
25
|
+
|
|
26
|
+
_defineProperty(this, "isStack", true);
|
|
27
|
+
|
|
28
|
+
_defineProperty(this, "_dropZones", {});
|
|
29
|
+
|
|
30
|
+
_defineProperty(this, "_dropSegment", null);
|
|
31
|
+
|
|
32
|
+
_defineProperty(this, "_contentAreaDimensions", null);
|
|
33
|
+
|
|
34
|
+
_defineProperty(this, "_dropIndex", void 0);
|
|
35
|
+
|
|
36
|
+
_defineProperty(this, "_side", void 0);
|
|
37
|
+
|
|
38
|
+
_defineProperty(this, "_sided", false);
|
|
39
|
+
|
|
40
|
+
_defineProperty(this, "config", void 0);
|
|
41
|
+
|
|
42
|
+
this.parent = parent;
|
|
43
|
+
this.config = config;
|
|
44
|
+
var cfg = layoutManager.config;
|
|
45
|
+
this._side = false;
|
|
46
|
+
this._header = {
|
|
47
|
+
// defaults' reconstruction from old configuration style
|
|
48
|
+
show: ((_cfg$settings = cfg.settings) === null || _cfg$settings === void 0 ? void 0 : _cfg$settings.hasHeaders) && config.hasHeaders !== false,
|
|
49
|
+
popout: (_cfg$settings2 = cfg.settings) !== null && _cfg$settings2 !== void 0 && _cfg$settings2.showPopoutIcon ? (_cfg$labels = cfg.labels) === null || _cfg$labels === void 0 ? void 0 : _cfg$labels.popout : undefined,
|
|
50
|
+
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
|
+
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
|
+
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)
|
|
54
|
+
|
|
55
|
+
if (cfg.header) this._header = _objectSpread(_objectSpread({}, this._header), cfg.header);
|
|
56
|
+
if (config.header) // load from stack
|
|
57
|
+
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
|
|
59
|
+
this._header = _objectSpread(_objectSpread({}, this._header), config.content[0].header);
|
|
60
|
+
this.header = new Header(layoutManager, this);
|
|
61
|
+
this.element.append(this.header.element);
|
|
62
|
+
this.element.append(this.childElementContainer);
|
|
63
|
+
|
|
64
|
+
this._setupHeaderPosition();
|
|
65
|
+
|
|
66
|
+
this._$validateClosability();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
setSize() {
|
|
70
|
+
var _this$layoutManager$c, _this$layoutManager$c2, _this$element$width, _this$element$height;
|
|
71
|
+
|
|
43
72
|
var i,
|
|
44
|
-
headerSize = this._header.show ? this.layoutManager.config.dimensions.headerHeight : 0,
|
|
45
|
-
contentWidth = this.element.width() - (this._sided ? headerSize : 0),
|
|
46
|
-
contentHeight = this.element.height() - (!this._sided ? headerSize : 0);
|
|
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);
|
|
47
76
|
this.childElementContainer.width(contentWidth);
|
|
48
77
|
this.childElementContainer.height(contentHeight);
|
|
49
78
|
|
|
@@ -53,23 +82,23 @@ utils.copy(Stack.prototype, {
|
|
|
53
82
|
|
|
54
83
|
this.emit('resize');
|
|
55
84
|
this.emitBubblingEvent('stateChanged');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
_$init() {
|
|
59
88
|
if (this.isInitialised === true) return;
|
|
60
89
|
|
|
61
90
|
this.header._attachWheelListener();
|
|
62
91
|
|
|
63
|
-
|
|
92
|
+
super._$init();
|
|
64
93
|
|
|
65
|
-
for (i = 0; i < this.contentItems.length; i++) {
|
|
94
|
+
for (var i = 0; i < this.contentItems.length; i++) {
|
|
66
95
|
this.header.createTab(this.contentItems[i]);
|
|
67
96
|
|
|
68
97
|
this.contentItems[i]._$hide();
|
|
69
98
|
}
|
|
70
99
|
|
|
71
100
|
if (this.contentItems.length > 0) {
|
|
72
|
-
initialItem = this.contentItems[this.config.activeItemIndex || 0];
|
|
101
|
+
var initialItem = this.contentItems[this.config.activeItemIndex || 0];
|
|
73
102
|
|
|
74
103
|
if (!initialItem) {
|
|
75
104
|
throw new Error('Configured activeItemIndex out of bounds');
|
|
@@ -77,9 +106,10 @@ utils.copy(Stack.prototype, {
|
|
|
77
106
|
|
|
78
107
|
this.setActiveContentItem(initialItem);
|
|
79
108
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
setActiveContentItem(contentItem) {
|
|
112
|
+
if (this.contentItems.indexOf(contentItem) === -1) {
|
|
83
113
|
throw new Error('contentItem is not a child of this stack');
|
|
84
114
|
}
|
|
85
115
|
|
|
@@ -95,13 +125,15 @@ utils.copy(Stack.prototype, {
|
|
|
95
125
|
this.emit('activeContentItemChanged', contentItem);
|
|
96
126
|
this.layoutManager.emit('activeContentItemChanged', contentItem);
|
|
97
127
|
this.emitBubblingEvent('stateChanged');
|
|
98
|
-
}
|
|
99
|
-
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
getActiveContentItem() {
|
|
100
131
|
return this.header.activeContentItem;
|
|
101
|
-
}
|
|
102
|
-
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
addChild(contentItem, index) {
|
|
103
135
|
contentItem = this.layoutManager._$normalizeContentItem(contentItem, this);
|
|
104
|
-
|
|
136
|
+
super.addChild(contentItem, index);
|
|
105
137
|
this.childElementContainer.append(contentItem.element);
|
|
106
138
|
this.header.createTab(contentItem, index);
|
|
107
139
|
this.setActiveContentItem(contentItem);
|
|
@@ -110,10 +142,12 @@ utils.copy(Stack.prototype, {
|
|
|
110
142
|
this._$validateClosability();
|
|
111
143
|
|
|
112
144
|
this.emitBubblingEvent('stateChanged');
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
removeChild(contentItem) {
|
|
148
|
+
var keepChild = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
149
|
+
var index = this.contentItems.indexOf(contentItem);
|
|
150
|
+
super.removeChild(contentItem, keepChild);
|
|
117
151
|
this.header.removeTab(contentItem);
|
|
118
152
|
|
|
119
153
|
if (this.header.activeContentItem === contentItem) {
|
|
@@ -127,35 +161,35 @@ utils.copy(Stack.prototype, {
|
|
|
127
161
|
this._$validateClosability();
|
|
128
162
|
|
|
129
163
|
this.emitBubblingEvent('stateChanged');
|
|
130
|
-
}
|
|
131
|
-
|
|
164
|
+
}
|
|
132
165
|
/**
|
|
133
166
|
* Validates that the stack is still closable or not. If a stack is able
|
|
134
167
|
* to close, but has a non closable component added to it, the stack is no
|
|
135
168
|
* longer closable until all components are closable.
|
|
136
|
-
*
|
|
137
|
-
* @returns {void}
|
|
138
169
|
*/
|
|
139
|
-
_$validateClosability: function _$validateClosability() {
|
|
140
|
-
var isClosable, len, i;
|
|
141
|
-
isClosable = this.header._isClosable();
|
|
142
170
|
|
|
143
|
-
|
|
171
|
+
|
|
172
|
+
_$validateClosability() {
|
|
173
|
+
var isClosable = this.header._isClosable();
|
|
174
|
+
|
|
175
|
+
for (var i = 0, len = this.contentItems.length; i < len; i++) {
|
|
176
|
+
var _this$contentItems$i$;
|
|
177
|
+
|
|
144
178
|
if (!isClosable) {
|
|
145
179
|
break;
|
|
146
180
|
}
|
|
147
181
|
|
|
148
|
-
isClosable = this.contentItems[i].config.isClosable;
|
|
182
|
+
isClosable = (_this$contentItems$i$ = this.contentItems[i].config.isClosable) !== null && _this$contentItems$i$ !== void 0 ? _this$contentItems$i$ : false;
|
|
149
183
|
}
|
|
150
184
|
|
|
151
185
|
this.header._$setClosable(isClosable);
|
|
152
|
-
}
|
|
153
|
-
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
_$destroy() {
|
|
154
189
|
AbstractContentItem.prototype._$destroy.call(this);
|
|
155
190
|
|
|
156
191
|
this.header._$destroy();
|
|
157
|
-
}
|
|
158
|
-
|
|
192
|
+
}
|
|
159
193
|
/**
|
|
160
194
|
* Ok, this one is going to be the tricky one: The user has dropped {contentItem} onto this stack.
|
|
161
195
|
*
|
|
@@ -173,11 +207,11 @@ utils.copy(Stack.prototype, {
|
|
|
173
207
|
* Same thing for rows and left / right drop segments... so in total there are 9 things that can potentially happen
|
|
174
208
|
* (left, top, right, bottom) * is child of the right parent (row, column) + header drop
|
|
175
209
|
*
|
|
176
|
-
* @param
|
|
177
|
-
*
|
|
178
|
-
* @returns {void}
|
|
210
|
+
* @param contentItem
|
|
179
211
|
*/
|
|
180
|
-
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
_$onDrop(contentItem) {
|
|
181
215
|
/*
|
|
182
216
|
* The item was dropped on the header area. Just add it as a child of this stack and
|
|
183
217
|
* get the hell out of this logic
|
|
@@ -203,21 +237,18 @@ utils.copy(Stack.prototype, {
|
|
|
203
237
|
*/
|
|
204
238
|
|
|
205
239
|
|
|
206
|
-
var isVertical = this._dropSegment === 'top' || this._dropSegment === 'bottom'
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
index,
|
|
213
|
-
stack,
|
|
214
|
-
rowOrColumn;
|
|
240
|
+
var isVertical = this._dropSegment === 'top' || this._dropSegment === 'bottom';
|
|
241
|
+
var isHorizontal = this._dropSegment === 'left' || this._dropSegment === 'right';
|
|
242
|
+
var insertBefore = this._dropSegment === 'top' || this._dropSegment === 'left';
|
|
243
|
+
var hasCorrectParent = isVertical && this.parent.isColumn || isHorizontal && this.parent.isRow;
|
|
244
|
+
var type = isVertical ? 'column' : 'row';
|
|
245
|
+
var dimension = isVertical ? 'height' : 'width';
|
|
215
246
|
/*
|
|
216
247
|
* The content item can be either a component or a stack. If it is a component, wrap it into a stack
|
|
217
248
|
*/
|
|
218
249
|
|
|
219
|
-
if (contentItem
|
|
220
|
-
stack = this.layoutManager.createContentItem({
|
|
250
|
+
if (isComponent(contentItem)) {
|
|
251
|
+
var stack = this.layoutManager.createContentItem({
|
|
221
252
|
type: 'stack',
|
|
222
253
|
header: contentItem.config.header || {}
|
|
223
254
|
}, this);
|
|
@@ -234,9 +265,11 @@ utils.copy(Stack.prototype, {
|
|
|
234
265
|
|
|
235
266
|
|
|
236
267
|
if (hasCorrectParent) {
|
|
237
|
-
|
|
268
|
+
var _this$config$dimensio;
|
|
269
|
+
|
|
270
|
+
var index = this.parent.contentItems.indexOf(this);
|
|
238
271
|
this.parent.addChild(contentItem, insertBefore ? index : index + 1, true);
|
|
239
|
-
this.config[dimension]
|
|
272
|
+
this.config[dimension] = ((_this$config$dimensio = this.config[dimension]) !== null && _this$config$dimensio !== void 0 ? _this$config$dimensio : 0) * 0.5;
|
|
240
273
|
contentItem.config[dimension] = this.config[dimension];
|
|
241
274
|
this.parent.callDownwards('setSize');
|
|
242
275
|
/*
|
|
@@ -244,8 +277,7 @@ utils.copy(Stack.prototype, {
|
|
|
244
277
|
* to create the appropriate contentItem for them to live in
|
|
245
278
|
*/
|
|
246
279
|
} else {
|
|
247
|
-
|
|
248
|
-
rowOrColumn = this.layoutManager.createContentItem({
|
|
280
|
+
var rowOrColumn = this.layoutManager.createContentItem({
|
|
249
281
|
type: type
|
|
250
282
|
}, this);
|
|
251
283
|
this.parent.replaceChild(this, rowOrColumn);
|
|
@@ -255,28 +287,29 @@ utils.copy(Stack.prototype, {
|
|
|
255
287
|
contentItem.config[dimension] = 50;
|
|
256
288
|
rowOrColumn.callDownwards('setSize');
|
|
257
289
|
}
|
|
258
|
-
}
|
|
259
|
-
|
|
290
|
+
}
|
|
260
291
|
/**
|
|
261
292
|
* If the user hovers above the header part of the stack, indicate drop positions for tabs.
|
|
262
293
|
* otherwise indicate which segment of the body the dragged item would be dropped on
|
|
263
294
|
*
|
|
264
|
-
* @param
|
|
265
|
-
* @param
|
|
266
|
-
*
|
|
267
|
-
* @returns {void}
|
|
295
|
+
* @param x Absolute Screen X
|
|
296
|
+
* @param y Absolute Screen Y
|
|
268
297
|
*/
|
|
269
|
-
_$highlightDropZone: function _$highlightDropZone(x, y) {
|
|
270
|
-
var segment, area;
|
|
271
298
|
|
|
272
|
-
|
|
273
|
-
|
|
299
|
+
|
|
300
|
+
_$highlightDropZone(x, y) {
|
|
301
|
+
if (!this._contentAreaDimensions) {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
for (var [segment, dimensions] of Object.entries(this._contentAreaDimensions)) {
|
|
306
|
+
var area = dimensions.hoverArea;
|
|
274
307
|
|
|
275
308
|
if (area.x1 < x && area.x2 > x && area.y1 < y && area.y2 > y) {
|
|
276
309
|
if (segment === 'header') {
|
|
277
310
|
this._dropSegment = 'header';
|
|
278
311
|
|
|
279
|
-
this._highlightHeaderDropZone(x
|
|
312
|
+
this._highlightHeaderDropZone(x);
|
|
280
313
|
} else {
|
|
281
314
|
this._resetHeaderDropZone();
|
|
282
315
|
|
|
@@ -286,17 +319,23 @@ utils.copy(Stack.prototype, {
|
|
|
286
319
|
return;
|
|
287
320
|
}
|
|
288
321
|
}
|
|
289
|
-
}
|
|
290
|
-
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
_$getArea() {
|
|
291
325
|
if (this.element.is(':visible') === false) {
|
|
292
326
|
return null;
|
|
293
327
|
}
|
|
294
328
|
|
|
295
|
-
var
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
329
|
+
var headerArea = super._$getArea(this.header.element);
|
|
330
|
+
|
|
331
|
+
var contentArea = super._$getArea(this.childElementContainer);
|
|
332
|
+
|
|
333
|
+
if (headerArea == null || contentArea == null) {
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
var contentWidth = contentArea.x2 - contentArea.x1;
|
|
338
|
+
var contentHeight = contentArea.y2 - contentArea.y1;
|
|
300
339
|
this._contentAreaDimensions = {
|
|
301
340
|
header: {
|
|
302
341
|
hoverArea: {
|
|
@@ -341,7 +380,7 @@ utils.copy(Stack.prototype, {
|
|
|
341
380
|
y2: contentArea.y2
|
|
342
381
|
}
|
|
343
382
|
};
|
|
344
|
-
return getArea
|
|
383
|
+
return super._$getArea(this.element);
|
|
345
384
|
}
|
|
346
385
|
|
|
347
386
|
this._contentAreaDimensions.left = {
|
|
@@ -400,30 +439,37 @@ utils.copy(Stack.prototype, {
|
|
|
400
439
|
y2: contentArea.y2
|
|
401
440
|
}
|
|
402
441
|
};
|
|
403
|
-
return getArea
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
var
|
|
408
|
-
|
|
442
|
+
return super._$getArea(this.element);
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
_highlightHeaderDropZone(x) {
|
|
446
|
+
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;
|
|
447
|
+
|
|
448
|
+
var tabsLength = this.header.tabs.length; // I've omitted code for side edge tabs here
|
|
409
449
|
// illumon doesn't need it, will slowly pull that code out elsewhere too
|
|
410
450
|
// Empty stack
|
|
411
451
|
|
|
412
452
|
if (tabsLength === 0) {
|
|
453
|
+
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;
|
|
454
|
+
|
|
413
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.
|
|
414
456
|
|
|
415
|
-
this.layoutManager.dropTargetIndicator.highlightArea({
|
|
416
|
-
x1: headerOffset.left,
|
|
417
|
-
x2: headerOffset.left + 100,
|
|
418
|
-
y1: this.header.element.offset().top,
|
|
419
|
-
y2: this.header.element.offset().top + this.header.element.innerHeight()
|
|
457
|
+
(_this$layoutManager$d = this.layoutManager.dropTargetIndicator) === null || _this$layoutManager$d === void 0 ? void 0 : _this$layoutManager$d.highlightArea({
|
|
458
|
+
x1: (_headerOffset$left = headerOffset === null || headerOffset === void 0 ? void 0 : headerOffset.left) !== null && _headerOffset$left !== void 0 ? _headerOffset$left : 0,
|
|
459
|
+
x2: ((_headerOffset$left2 = headerOffset === null || headerOffset === void 0 ? void 0 : headerOffset.left) !== null && _headerOffset$left2 !== void 0 ? _headerOffset$left2 : 0) + 100,
|
|
460
|
+
y1: (_this$header$element$ = (_this$header$element$2 = this.header.element.offset()) === null || _this$header$element$2 === void 0 ? void 0 : _this$header$element$2.top) !== null && _this$header$element$ !== void 0 ? _this$header$element$ : 0,
|
|
461
|
+
y2: ((_this$header$element$3 = (_this$header$element$4 = this.header.element.offset()) === null || _this$header$element$4 === void 0 ? void 0 : _this$header$element$4.top) !== null && _this$header$element$3 !== void 0 ? _this$header$element$3 : 0) + ((_this$header$element$5 = this.header.element.innerHeight()) !== null && _this$header$element$5 !== void 0 ? _this$header$element$5 : 0)
|
|
420
462
|
});
|
|
421
463
|
return;
|
|
422
464
|
}
|
|
423
465
|
|
|
424
466
|
var tabsContainer = this.header.tabsContainer;
|
|
425
|
-
var tabsContainerRect = tabsContainer.get(0).getBoundingClientRect();
|
|
426
|
-
var placeholderRect = this.layoutManager.tabDropPlaceholder.get(0).getBoundingClientRect();
|
|
467
|
+
var tabsContainerRect = (_tabsContainer$get = tabsContainer.get(0)) === null || _tabsContainer$get === void 0 ? void 0 : _tabsContainer$get.getBoundingClientRect();
|
|
468
|
+
var placeholderRect = (_this$layoutManager$t = this.layoutManager.tabDropPlaceholder.get(0)) === null || _this$layoutManager$t === void 0 ? void 0 : _this$layoutManager$t.getBoundingClientRect();
|
|
469
|
+
|
|
470
|
+
if (!tabsContainerRect || !placeholderRect) {
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
427
473
|
|
|
428
474
|
if (x < tabsContainerRect.left) {
|
|
429
475
|
// is over left tab controls button
|
|
@@ -433,66 +479,87 @@ utils.copy(Stack.prototype, {
|
|
|
433
479
|
// is over right tab controls button
|
|
434
480
|
// move x to a new point to inside right edge of container
|
|
435
481
|
x = tabsContainerRect.right - 1;
|
|
436
|
-
}
|
|
482
|
+
}
|
|
437
483
|
|
|
484
|
+
var tabElement;
|
|
485
|
+
var tabRect; // if its not inide a placeholder,
|
|
438
486
|
|
|
439
487
|
if (!(placeholderRect.left < x && x < placeholderRect.right)) {
|
|
440
488
|
// which tab is it over ...
|
|
441
489
|
for (var i = 0; i < tabsLength; i++) {
|
|
490
|
+
var _tabElement$get;
|
|
491
|
+
|
|
442
492
|
tabElement = this.header.tabs[i].element;
|
|
443
|
-
tabRect = tabElement.get(0).getBoundingClientRect();
|
|
493
|
+
tabRect = (_tabElement$get = tabElement.get(0)) === null || _tabElement$get === void 0 ? void 0 : _tabElement$get.getBoundingClientRect();
|
|
444
494
|
|
|
445
|
-
if (tabRect.left < x && x < tabRect.right) {
|
|
495
|
+
if (tabRect && tabRect.left < x && x < tabRect.right) {
|
|
446
496
|
this._dropIndex = i;
|
|
447
497
|
break;
|
|
448
498
|
}
|
|
449
499
|
} // we have tabRect at this x,y from the loop above
|
|
450
500
|
|
|
451
501
|
|
|
452
|
-
if (tabElement && x < tabRect.left + tabRect.width * 0.5) {
|
|
502
|
+
if (tabElement && tabRect && x < tabRect.left + tabRect.width * 0.5) {
|
|
453
503
|
// mostly before an element, insert placeholder before
|
|
454
504
|
tabElement.before(this.layoutManager.tabDropPlaceholder);
|
|
455
505
|
} else if (tabElement) {
|
|
506
|
+
var _this$_dropIndex;
|
|
507
|
+
|
|
456
508
|
// x is likely after the lhe last item, position after and increase drop index
|
|
457
|
-
this._dropIndex = Math.min(this._dropIndex + 1, tabsLength);
|
|
509
|
+
this._dropIndex = Math.min(((_this$_dropIndex = this._dropIndex) !== null && _this$_dropIndex !== void 0 ? _this$_dropIndex : 0) + 1, tabsLength);
|
|
458
510
|
tabElement.after(this.layoutManager.tabDropPlaceholder);
|
|
459
511
|
}
|
|
460
512
|
}
|
|
461
513
|
|
|
462
|
-
var placeHolderLeft = this.layoutManager.tabDropPlaceholder.offset().left;
|
|
463
|
-
placeHolderLeft = Math.max(placeHolderLeft, this.header.tabsContainer.offset().left);
|
|
464
|
-
var placeHolderRight = placeHolderLeft + this.layoutManager.tabDropPlaceholder.width();
|
|
465
|
-
placeHolderRight = Math.min(placeHolderRight, this.header.tabsContainer.offset().left + this.header.tabsContainer.innerWidth());
|
|
466
|
-
this.layoutManager.dropTargetIndicator.highlightArea({
|
|
514
|
+
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
|
+
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
|
+
var placeHolderRight = placeHolderLeft + ((_this$layoutManager$t4 = this.layoutManager.tabDropPlaceholder.width()) !== null && _this$layoutManager$t4 !== void 0 ? _this$layoutManager$t4 : 0);
|
|
517
|
+
placeHolderRight = Math.min(placeHolderRight, ((_this$header$tabsCont3 = (_this$header$tabsCont4 = this.header.tabsContainer.offset()) === null || _this$header$tabsCont4 === void 0 ? void 0 : _this$header$tabsCont4.left) !== null && _this$header$tabsCont3 !== void 0 ? _this$header$tabsCont3 : 0) + ((_this$header$tabsCont5 = this.header.tabsContainer.innerWidth()) !== null && _this$header$tabsCont5 !== void 0 ? _this$header$tabsCont5 : 0));
|
|
518
|
+
(_this$layoutManager$d2 = this.layoutManager.dropTargetIndicator) === null || _this$layoutManager$d2 === void 0 ? void 0 : _this$layoutManager$d2.highlightArea({
|
|
467
519
|
x1: placeHolderLeft,
|
|
468
520
|
x2: placeHolderRight,
|
|
469
|
-
y1: this.header.element.offset().top,
|
|
470
|
-
y2: this.header.element.offset().top + this.header.element.innerHeight()
|
|
521
|
+
y1: (_this$header$element$6 = (_this$header$element$7 = this.header.element.offset()) === null || _this$header$element$7 === void 0 ? void 0 : _this$header$element$7.top) !== null && _this$header$element$6 !== void 0 ? _this$header$element$6 : 0,
|
|
522
|
+
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)
|
|
471
523
|
});
|
|
472
|
-
}
|
|
473
|
-
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
_resetHeaderDropZone() {
|
|
474
527
|
this.layoutManager.tabDropPlaceholder.remove();
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
_setupHeaderPosition() {
|
|
531
|
+
var side = ['right', 'left', 'bottom'].some(elem => elem === this._header.show) ? this._header.show : undefined;
|
|
532
|
+
|
|
533
|
+
if (!side) {
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
478
536
|
|
|
479
537
|
this.header.element.toggle(!!this._header.show);
|
|
480
538
|
this._side = side;
|
|
481
|
-
this._sided = ['right', 'left'].indexOf(this._side) >= 0;
|
|
539
|
+
this._sided = ['right', 'left'].indexOf(this._side.toString()) >= 0;
|
|
482
540
|
this.element.removeClass('lm_left lm_right lm_bottom');
|
|
483
541
|
if (this._side) this.element.addClass('lm_' + this._side);
|
|
484
542
|
|
|
485
543
|
if (this.element.find('.lm_header').length && this.childElementContainer) {
|
|
486
|
-
var headerPosition = ['right', 'bottom'].indexOf(this._side) >= 0 ? 'before' : 'after';
|
|
544
|
+
var headerPosition = ['right', 'bottom'].indexOf(this._side.toString()) >= 0 ? 'before' : 'after';
|
|
487
545
|
this.header.element[headerPosition](this.childElementContainer);
|
|
488
546
|
this.callDownwards('setSize');
|
|
489
547
|
}
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
_highlightBodyDropZone(segment) {
|
|
551
|
+
var _this$_contentAreaDim, _this$_contentAreaDim2;
|
|
552
|
+
|
|
553
|
+
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
|
+
if (highlightArea) {
|
|
556
|
+
var _this$layoutManager$d3;
|
|
557
|
+
|
|
558
|
+
(_this$layoutManager$d3 = this.layoutManager.dropTargetIndicator) === null || _this$layoutManager$d3 === void 0 ? void 0 : _this$layoutManager$d3.highlightArea(highlightArea);
|
|
559
|
+
}
|
|
560
|
+
|
|
494
561
|
this._dropSegment = segment;
|
|
495
562
|
}
|
|
496
|
-
|
|
497
|
-
|
|
563
|
+
|
|
564
|
+
}
|
|
498
565
|
//# sourceMappingURL=Stack.js.map
|