@genesis-community/golden-layout 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +24 -0
- package/dist/cjs/index.js +40 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/ts/config/config.js +870 -0
- package/dist/cjs/ts/config/config.js.map +1 -0
- package/dist/cjs/ts/config/resolved-config.js +477 -0
- package/dist/cjs/ts/config/resolved-config.js.map +1 -0
- package/dist/cjs/ts/container/component-container.js +412 -0
- package/dist/cjs/ts/container/component-container.js.map +1 -0
- package/dist/cjs/ts/controls/browser-popout.js +298 -0
- package/dist/cjs/ts/controls/browser-popout.js.map +1 -0
- package/dist/cjs/ts/controls/drag-proxy.js +221 -0
- package/dist/cjs/ts/controls/drag-proxy.js.map +1 -0
- package/dist/cjs/ts/controls/drag-source.js +149 -0
- package/dist/cjs/ts/controls/drag-source.js.map +1 -0
- package/dist/cjs/ts/controls/drop-target-indicator.js +31 -0
- package/dist/cjs/ts/controls/drop-target-indicator.js.map +1 -0
- package/dist/cjs/ts/controls/header-button.js +34 -0
- package/dist/cjs/ts/controls/header-button.js.map +1 -0
- package/dist/cjs/ts/controls/header.js +366 -0
- package/dist/cjs/ts/controls/header.js.map +1 -0
- package/dist/cjs/ts/controls/splitter.js +42 -0
- package/dist/cjs/ts/controls/splitter.js.map +1 -0
- package/dist/cjs/ts/controls/tab.js +262 -0
- package/dist/cjs/ts/controls/tab.js.map +1 -0
- package/dist/cjs/ts/controls/tabs-container.js +236 -0
- package/dist/cjs/ts/controls/tabs-container.js.map +1 -0
- package/dist/cjs/ts/controls/transition-indicator.js +64 -0
- package/dist/cjs/ts/controls/transition-indicator.js.map +1 -0
- package/dist/cjs/ts/errors/external-error.js +46 -0
- package/dist/cjs/ts/errors/external-error.js.map +1 -0
- package/dist/cjs/ts/errors/internal-error.js +38 -0
- package/dist/cjs/ts/errors/internal-error.js.map +1 -0
- package/dist/cjs/ts/golden-layout.js +299 -0
- package/dist/cjs/ts/golden-layout.js.map +1 -0
- package/dist/cjs/ts/items/component-item.js +190 -0
- package/dist/cjs/ts/items/component-item.js.map +1 -0
- package/dist/cjs/ts/items/component-parentable-item.js +18 -0
- package/dist/cjs/ts/items/component-parentable-item.js.map +1 -0
- package/dist/cjs/ts/items/content-item.js +414 -0
- package/dist/cjs/ts/items/content-item.js.map +1 -0
- package/dist/cjs/ts/items/ground-item.js +352 -0
- package/dist/cjs/ts/items/ground-item.js.map +1 -0
- package/dist/cjs/ts/items/row-or-column.js +609 -0
- package/dist/cjs/ts/items/row-or-column.js.map +1 -0
- package/dist/cjs/ts/items/stack.js +841 -0
- package/dist/cjs/ts/items/stack.js.map +1 -0
- package/dist/cjs/ts/layout-manager.js +1618 -0
- package/dist/cjs/ts/layout-manager.js.map +1 -0
- package/dist/cjs/ts/utils/config-minifier.js +218 -0
- package/dist/cjs/ts/utils/config-minifier.js.map +1 -0
- package/dist/cjs/ts/utils/dom-constants.js +3 -0
- package/dist/cjs/ts/utils/dom-constants.js.map +1 -0
- package/dist/cjs/ts/utils/drag-listener.js +132 -0
- package/dist/cjs/ts/utils/drag-listener.js.map +1 -0
- package/dist/cjs/ts/utils/event-emitter.js +201 -0
- package/dist/cjs/ts/utils/event-emitter.js.map +1 -0
- package/dist/cjs/ts/utils/event-hub.js +135 -0
- package/dist/cjs/ts/utils/event-hub.js.map +1 -0
- package/dist/cjs/ts/utils/i18n-strings.js +74 -0
- package/dist/cjs/ts/utils/i18n-strings.js.map +1 -0
- package/dist/cjs/ts/utils/jquery-legacy.js +15 -0
- package/dist/cjs/ts/utils/jquery-legacy.js.map +1 -0
- package/dist/cjs/ts/utils/style-constants.js +11 -0
- package/dist/cjs/ts/utils/style-constants.js.map +1 -0
- package/dist/cjs/ts/utils/types.js +94 -0
- package/dist/cjs/ts/utils/types.js.map +1 -0
- package/dist/cjs/ts/utils/utils.js +211 -0
- package/dist/cjs/ts/utils/utils.js.map +1 -0
- package/dist/cjs/ts/virtual-layout.js +247 -0
- package/dist/cjs/ts/virtual-layout.js.map +1 -0
- package/dist/css/goldenlayout-base.css +319 -0
- package/dist/css/themes/goldenlayout-borderless-dark-theme.css +136 -0
- package/dist/css/themes/goldenlayout-dark-theme.css +139 -0
- package/dist/css/themes/goldenlayout-light-theme.css +129 -0
- package/dist/css/themes/goldenlayout-soda-theme.css +126 -0
- package/dist/css/themes/goldenlayout-translucent-theme.css +152 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/ts/config/config.js +864 -0
- package/dist/esm/ts/config/config.js.map +1 -0
- package/dist/esm/ts/config/resolved-config.js +474 -0
- package/dist/esm/ts/config/resolved-config.js.map +1 -0
- package/dist/esm/ts/container/component-container.js +408 -0
- package/dist/esm/ts/container/component-container.js.map +1 -0
- package/dist/esm/ts/controls/browser-popout.js +294 -0
- package/dist/esm/ts/controls/browser-popout.js.map +1 -0
- package/dist/esm/ts/controls/drag-proxy.js +217 -0
- package/dist/esm/ts/controls/drag-proxy.js.map +1 -0
- package/dist/esm/ts/controls/drag-source.js +145 -0
- package/dist/esm/ts/controls/drag-source.js.map +1 -0
- package/dist/esm/ts/controls/drop-target-indicator.js +27 -0
- package/dist/esm/ts/controls/drop-target-indicator.js.map +1 -0
- package/dist/esm/ts/controls/header-button.js +30 -0
- package/dist/esm/ts/controls/header-button.js.map +1 -0
- package/dist/esm/ts/controls/header.js +362 -0
- package/dist/esm/ts/controls/header.js.map +1 -0
- package/dist/esm/ts/controls/splitter.js +38 -0
- package/dist/esm/ts/controls/splitter.js.map +1 -0
- package/dist/esm/ts/controls/tab.js +258 -0
- package/dist/esm/ts/controls/tab.js.map +1 -0
- package/dist/esm/ts/controls/tabs-container.js +232 -0
- package/dist/esm/ts/controls/tabs-container.js.map +1 -0
- package/dist/esm/ts/controls/transition-indicator.js +60 -0
- package/dist/esm/ts/controls/transition-indicator.js.map +1 -0
- package/dist/esm/ts/errors/external-error.js +38 -0
- package/dist/esm/ts/errors/external-error.js.map +1 -0
- package/dist/esm/ts/errors/internal-error.js +31 -0
- package/dist/esm/ts/errors/internal-error.js.map +1 -0
- package/dist/esm/ts/golden-layout.js +295 -0
- package/dist/esm/ts/golden-layout.js.map +1 -0
- package/dist/esm/ts/items/component-item.js +186 -0
- package/dist/esm/ts/items/component-item.js.map +1 -0
- package/dist/esm/ts/items/component-parentable-item.js +14 -0
- package/dist/esm/ts/items/component-parentable-item.js.map +1 -0
- package/dist/esm/ts/items/content-item.js +410 -0
- package/dist/esm/ts/items/content-item.js.map +1 -0
- package/dist/esm/ts/items/ground-item.js +348 -0
- package/dist/esm/ts/items/ground-item.js.map +1 -0
- package/dist/esm/ts/items/row-or-column.js +605 -0
- package/dist/esm/ts/items/row-or-column.js.map +1 -0
- package/dist/esm/ts/items/stack.js +837 -0
- package/dist/esm/ts/items/stack.js.map +1 -0
- package/dist/esm/ts/layout-manager.js +1614 -0
- package/dist/esm/ts/layout-manager.js.map +1 -0
- package/dist/esm/ts/utils/config-minifier.js +215 -0
- package/dist/esm/ts/utils/config-minifier.js.map +1 -0
- package/dist/esm/ts/utils/dom-constants.js +2 -0
- package/dist/esm/ts/utils/dom-constants.js.map +1 -0
- package/dist/esm/ts/utils/drag-listener.js +128 -0
- package/dist/esm/ts/utils/drag-listener.js.map +1 -0
- package/dist/esm/ts/utils/event-emitter.js +197 -0
- package/dist/esm/ts/utils/event-emitter.js.map +1 -0
- package/dist/esm/ts/utils/event-hub.js +131 -0
- package/dist/esm/ts/utils/event-hub.js.map +1 -0
- package/dist/esm/ts/utils/i18n-strings.js +71 -0
- package/dist/esm/ts/utils/i18n-strings.js.map +1 -0
- package/dist/esm/ts/utils/jquery-legacy.js +11 -0
- package/dist/esm/ts/utils/jquery-legacy.js.map +1 -0
- package/dist/esm/ts/utils/style-constants.js +8 -0
- package/dist/esm/ts/utils/style-constants.js.map +1 -0
- package/dist/esm/ts/utils/types.js +91 -0
- package/dist/esm/ts/utils/types.js.map +1 -0
- package/dist/esm/ts/utils/utils.js +191 -0
- package/dist/esm/ts/utils/utils.js.map +1 -0
- package/dist/esm/ts/virtual-layout.js +243 -0
- package/dist/esm/ts/virtual-layout.js.map +1 -0
- package/dist/img/lm_close_black.png +0 -0
- package/dist/img/lm_close_tab_white.png +0 -0
- package/dist/img/lm_close_white.png +0 -0
- package/dist/img/lm_maximise_black.png +0 -0
- package/dist/img/lm_maximise_white.png +0 -0
- package/dist/img/lm_minimize_black.png +0 -0
- package/dist/img/lm_minimize_white.png +0 -0
- package/dist/img/lm_popin_black.png +0 -0
- package/dist/img/lm_popin_white.png +0 -0
- package/dist/img/lm_popout_black.png +0 -0
- package/dist/img/lm_popout_white.png +0 -0
- package/dist/less/goldenlayout-base.less +422 -0
- package/dist/less/themes/goldenlayout-borderless-dark-theme.less +230 -0
- package/dist/less/themes/goldenlayout-dark-theme.less +233 -0
- package/dist/less/themes/goldenlayout-light-theme.less +223 -0
- package/dist/less/themes/goldenlayout-soda-theme.less +211 -0
- package/dist/less/themes/goldenlayout-translucent-theme.less +237 -0
- package/dist/scss/goldenlayout-base.scss +422 -0
- package/dist/scss/themes/_goldenlayout-var-theme.scss +232 -0
- package/dist/types/golden-layout-untrimmed.d.ts +3428 -0
- package/dist/types/index.d.ts +2246 -0
- package/dist/types/tsdoc-metadata.json +11 -0
- package/package.json +107 -0
- package/src/TOOLCHAIN.md +54 -0
- package/src/img/lm_close_black.png +0 -0
- package/src/img/lm_close_tab_white.png +0 -0
- package/src/img/lm_close_white.png +0 -0
- package/src/img/lm_maximise_black.png +0 -0
- package/src/img/lm_maximise_white.png +0 -0
- package/src/img/lm_minimize_black.png +0 -0
- package/src/img/lm_minimize_white.png +0 -0
- package/src/img/lm_popin_black.png +0 -0
- package/src/img/lm_popin_white.png +0 -0
- package/src/img/lm_popout_black.png +0 -0
- package/src/img/lm_popout_white.png +0 -0
- package/src/index.ts +21 -0
- package/src/less/goldenlayout-base.less +422 -0
- package/src/less/themes/goldenlayout-borderless-dark-theme.less +230 -0
- package/src/less/themes/goldenlayout-dark-theme.less +233 -0
- package/src/less/themes/goldenlayout-light-theme.less +223 -0
- package/src/less/themes/goldenlayout-soda-theme.less +211 -0
- package/src/less/themes/goldenlayout-translucent-theme.less +237 -0
- package/src/scss/goldenlayout-base.scss +422 -0
- package/src/scss/themes/_goldenlayout-var-theme.scss +232 -0
- package/src/ts/config/config.ts +1283 -0
- package/src/ts/config/resolved-config.ts +621 -0
- package/src/ts/container/component-container.ts +500 -0
- package/src/ts/controls/browser-popout.ts +325 -0
- package/src/ts/controls/drag-proxy.ts +259 -0
- package/src/ts/controls/drag-source.ts +167 -0
- package/src/ts/controls/drop-target-indicator.ts +35 -0
- package/src/ts/controls/header-button.ts +39 -0
- package/src/ts/controls/header.ts +483 -0
- package/src/ts/controls/splitter.ts +50 -0
- package/src/ts/controls/tab.ts +293 -0
- package/src/ts/controls/tabs-container.ts +281 -0
- package/src/ts/controls/transition-indicator.ts +78 -0
- package/src/ts/errors/external-error.ts +39 -0
- package/src/ts/errors/internal-error.ts +34 -0
- package/src/ts/golden-layout.ts +365 -0
- package/src/ts/items/component-item.ts +252 -0
- package/src/ts/items/component-parentable-item.ts +16 -0
- package/src/ts/items/content-item.ts +513 -0
- package/src/ts/items/ground-item.ts +404 -0
- package/src/ts/items/row-or-column.ts +707 -0
- package/src/ts/items/stack.ts +975 -0
- package/src/ts/layout-manager.ts +1862 -0
- package/src/ts/utils/config-minifier.ts +235 -0
- package/src/ts/utils/dom-constants.ts +44 -0
- package/src/ts/utils/drag-listener.ts +178 -0
- package/src/ts/utils/event-emitter.ts +275 -0
- package/src/ts/utils/event-hub.ts +163 -0
- package/src/ts/utils/i18n-strings.ts +96 -0
- package/src/ts/utils/jquery-legacy.ts +12 -0
- package/src/ts/utils/style-constants.ts +6 -0
- package/src/ts/utils/types.ts +145 -0
- package/src/ts/utils/utils.ts +206 -0
- package/src/ts/virtual-layout.ts +328 -0
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContentItem = void 0;
|
|
4
|
+
const internal_error_1 = require("../errors/internal-error");
|
|
5
|
+
const event_emitter_1 = require("../utils/event-emitter");
|
|
6
|
+
const utils_1 = require("../utils/utils");
|
|
7
|
+
/**
|
|
8
|
+
* This is the baseclass that all content items inherit from.
|
|
9
|
+
* Most methods provide a subset of what the sub-classes do.
|
|
10
|
+
*
|
|
11
|
+
* It also provides a number of functions for tree traversal
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
class ContentItem extends event_emitter_1.EventEmitter {
|
|
15
|
+
/** @internal */
|
|
16
|
+
constructor(layoutManager, config,
|
|
17
|
+
/** @internal */
|
|
18
|
+
_parent,
|
|
19
|
+
/** @internal */
|
|
20
|
+
_element) {
|
|
21
|
+
super();
|
|
22
|
+
this.layoutManager = layoutManager;
|
|
23
|
+
this._parent = _parent;
|
|
24
|
+
this._element = _element;
|
|
25
|
+
/** @internal */
|
|
26
|
+
this._popInParentIds = [];
|
|
27
|
+
this._type = config.type;
|
|
28
|
+
this._id = config.id;
|
|
29
|
+
this._isInitialised = false;
|
|
30
|
+
this.isGround = false;
|
|
31
|
+
this.isRow = false;
|
|
32
|
+
this.isColumn = false;
|
|
33
|
+
this.isStack = false;
|
|
34
|
+
this.isComponent = false;
|
|
35
|
+
this.size = config.size;
|
|
36
|
+
this.sizeUnit = config.sizeUnit;
|
|
37
|
+
this.minSize = config.minSize;
|
|
38
|
+
this.minSizeUnit = config.minSizeUnit;
|
|
39
|
+
this._isClosable = config.isClosable;
|
|
40
|
+
this._pendingEventPropagations = {};
|
|
41
|
+
this._throttledEvents = ['stateChanged'];
|
|
42
|
+
this._contentItems = this.createContentItems(config.content);
|
|
43
|
+
}
|
|
44
|
+
get type() { return this._type; }
|
|
45
|
+
get id() { return this._id; }
|
|
46
|
+
set id(value) { this._id = value; }
|
|
47
|
+
/** @internal */
|
|
48
|
+
get popInParentIds() { return this._popInParentIds; }
|
|
49
|
+
get parent() { return this._parent; }
|
|
50
|
+
get contentItems() { return this._contentItems; }
|
|
51
|
+
get isClosable() { return this._isClosable; }
|
|
52
|
+
get element() { return this._element; }
|
|
53
|
+
get isInitialised() { return this._isInitialised; }
|
|
54
|
+
static isStack(item) {
|
|
55
|
+
return item.isStack;
|
|
56
|
+
}
|
|
57
|
+
static isComponentItem(item) {
|
|
58
|
+
return item.isComponent;
|
|
59
|
+
}
|
|
60
|
+
static isComponentParentableItem(item) {
|
|
61
|
+
return item.isStack || item.isGround;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Removes a child node (and its children) from the tree
|
|
65
|
+
* @param contentItem - The child item to remove
|
|
66
|
+
* @param keepChild - Whether to destroy the removed item
|
|
67
|
+
*/
|
|
68
|
+
removeChild(contentItem, keepChild = false) {
|
|
69
|
+
/*
|
|
70
|
+
* Get the position of the item that's to be removed within all content items this node contains
|
|
71
|
+
*/
|
|
72
|
+
const index = this._contentItems.indexOf(contentItem);
|
|
73
|
+
/*
|
|
74
|
+
* Make sure the content item to be removed is actually a child of this item
|
|
75
|
+
*/
|
|
76
|
+
if (index === -1) {
|
|
77
|
+
throw new Error('Can\'t remove child item. Unknown content item');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Call destroy on the content item.
|
|
81
|
+
* All children are destroyed as well
|
|
82
|
+
*/
|
|
83
|
+
if (!keepChild) {
|
|
84
|
+
this._contentItems[index].destroy();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Remove the content item from this nodes array of children
|
|
88
|
+
*/
|
|
89
|
+
this._contentItems.splice(index, 1);
|
|
90
|
+
/**
|
|
91
|
+
* If this node still contains other content items, adjust their size
|
|
92
|
+
*/
|
|
93
|
+
if (this._contentItems.length > 0) {
|
|
94
|
+
this.updateSize(false);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
/**
|
|
98
|
+
* If this was the last content item, remove this node as well
|
|
99
|
+
*/
|
|
100
|
+
if (!this.isGround && this._isClosable === true) {
|
|
101
|
+
if (this._parent === null) {
|
|
102
|
+
throw new internal_error_1.UnexpectedNullError('CIUC00874');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this._parent.removeChild(this);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Sets up the tree structure for the newly added child
|
|
112
|
+
* The responsibility for the actual DOM manipulations lies
|
|
113
|
+
* with the concrete item
|
|
114
|
+
*
|
|
115
|
+
* @param contentItem -
|
|
116
|
+
* @param index - If omitted item will be appended
|
|
117
|
+
* @param suspendResize - Used by descendent implementations
|
|
118
|
+
*/
|
|
119
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
120
|
+
addChild(contentItem, index, suspendResize) {
|
|
121
|
+
index !== null && index !== void 0 ? index : (index = this._contentItems.length);
|
|
122
|
+
this._contentItems.splice(index, 0, contentItem);
|
|
123
|
+
contentItem.setParent(this);
|
|
124
|
+
if (this._isInitialised === true && contentItem._isInitialised === false) {
|
|
125
|
+
contentItem.init();
|
|
126
|
+
}
|
|
127
|
+
return index;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Replaces oldChild with newChild
|
|
131
|
+
* @param oldChild -
|
|
132
|
+
* @param newChild -
|
|
133
|
+
* @internal
|
|
134
|
+
*/
|
|
135
|
+
replaceChild(oldChild, newChild, destroyOldChild = false) {
|
|
136
|
+
// Do not try to replace ComponentItem - will not work
|
|
137
|
+
const index = this._contentItems.indexOf(oldChild);
|
|
138
|
+
const parentNode = oldChild._element.parentNode;
|
|
139
|
+
if (index === -1) {
|
|
140
|
+
throw new internal_error_1.AssertError('CIRCI23232', 'Can\'t replace child. oldChild is not child of this');
|
|
141
|
+
}
|
|
142
|
+
if (parentNode === null) {
|
|
143
|
+
throw new internal_error_1.UnexpectedNullError('CIRCP23232');
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
parentNode.replaceChild(newChild._element, oldChild._element);
|
|
147
|
+
/*
|
|
148
|
+
* Optionally destroy the old content item
|
|
149
|
+
*/
|
|
150
|
+
if (destroyOldChild === true) {
|
|
151
|
+
oldChild._parent = null;
|
|
152
|
+
oldChild.destroy(); // will now also destroy all children of oldChild
|
|
153
|
+
}
|
|
154
|
+
/*
|
|
155
|
+
* Wire the new contentItem into the tree
|
|
156
|
+
*/
|
|
157
|
+
this._contentItems[index] = newChild;
|
|
158
|
+
newChild.setParent(this);
|
|
159
|
+
// newChild inherits the sizes from the old child:
|
|
160
|
+
newChild.size = oldChild.size;
|
|
161
|
+
newChild.sizeUnit = oldChild.sizeUnit;
|
|
162
|
+
newChild.minSize = oldChild.minSize;
|
|
163
|
+
newChild.minSizeUnit = oldChild.minSizeUnit;
|
|
164
|
+
//TODO This doesn't update the config... refactor to leave item nodes untouched after creation
|
|
165
|
+
if (newChild._parent === null) {
|
|
166
|
+
throw new internal_error_1.UnexpectedNullError('CIRCNC45699');
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
if (newChild._parent._isInitialised === true && newChild._isInitialised === false) {
|
|
170
|
+
newChild.init();
|
|
171
|
+
}
|
|
172
|
+
this.updateSize(false);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Convenience method.
|
|
178
|
+
* Shorthand for this.parent.removeChild( this )
|
|
179
|
+
*/
|
|
180
|
+
remove() {
|
|
181
|
+
if (this._parent === null) {
|
|
182
|
+
throw new internal_error_1.UnexpectedNullError('CIR11110');
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
this._parent.removeChild(this);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Removes the component from the layout and creates a new
|
|
190
|
+
* browser window with the component and its children inside
|
|
191
|
+
*/
|
|
192
|
+
popout() {
|
|
193
|
+
const parentId = (0, utils_1.getUniqueId)();
|
|
194
|
+
const browserPopout = this.layoutManager.createPopoutFromContentItem(this, undefined, parentId, undefined);
|
|
195
|
+
this.emitBaseBubblingEvent('stateChanged');
|
|
196
|
+
return browserPopout;
|
|
197
|
+
}
|
|
198
|
+
/** @internal */
|
|
199
|
+
calculateConfigContent() {
|
|
200
|
+
const contentItems = this._contentItems;
|
|
201
|
+
const count = contentItems.length;
|
|
202
|
+
const result = new Array(count);
|
|
203
|
+
for (let i = 0; i < count; i++) {
|
|
204
|
+
const item = contentItems[i];
|
|
205
|
+
result[i] = item.toConfig();
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
209
|
+
/** @internal */
|
|
210
|
+
highlightDropZone(x, y, area) {
|
|
211
|
+
const dropTargetIndicator = this.layoutManager.dropTargetIndicator;
|
|
212
|
+
if (dropTargetIndicator === null) {
|
|
213
|
+
throw new internal_error_1.UnexpectedNullError('ACIHDZ5593');
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
dropTargetIndicator.highlightArea(area, 1);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/** @internal */
|
|
220
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
221
|
+
onDrop(contentItem, area) {
|
|
222
|
+
this.addChild(contentItem);
|
|
223
|
+
}
|
|
224
|
+
/** @internal */
|
|
225
|
+
show() {
|
|
226
|
+
this.layoutManager.beginSizeInvalidation();
|
|
227
|
+
try {
|
|
228
|
+
// Not sure why showAllActiveContentItems() was called. GoldenLayout seems to work fine without it. Left commented code
|
|
229
|
+
// in source in case a reason for it becomes apparent.
|
|
230
|
+
// this.layoutManager.showAllActiveContentItems();
|
|
231
|
+
(0, utils_1.setElementDisplayVisibility)(this._element, true);
|
|
232
|
+
// this.layoutManager.updateSizeFromContainer();
|
|
233
|
+
for (let i = 0; i < this._contentItems.length; i++) {
|
|
234
|
+
this._contentItems[i].show();
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
finally {
|
|
238
|
+
this.layoutManager.endSizeInvalidation();
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Destroys this item ands its children
|
|
243
|
+
* @internal
|
|
244
|
+
*/
|
|
245
|
+
destroy() {
|
|
246
|
+
for (let i = 0; i < this._contentItems.length; i++) {
|
|
247
|
+
this._contentItems[i].destroy();
|
|
248
|
+
}
|
|
249
|
+
this._contentItems = [];
|
|
250
|
+
this.emitBaseBubblingEvent('beforeItemDestroyed');
|
|
251
|
+
this._element.remove();
|
|
252
|
+
this.emitBaseBubblingEvent('itemDestroyed');
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Returns the area the component currently occupies
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
258
|
+
getElementArea(element) {
|
|
259
|
+
element = element !== null && element !== void 0 ? element : this._element;
|
|
260
|
+
const rect = element.getBoundingClientRect();
|
|
261
|
+
const top = rect.top + document.body.scrollTop;
|
|
262
|
+
const left = rect.left + document.body.scrollLeft;
|
|
263
|
+
const width = rect.width;
|
|
264
|
+
const height = rect.height;
|
|
265
|
+
return {
|
|
266
|
+
x1: left,
|
|
267
|
+
y1: top,
|
|
268
|
+
x2: left + width,
|
|
269
|
+
y2: top + height,
|
|
270
|
+
surface: width * height,
|
|
271
|
+
contentItem: this
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* The tree of content items is created in two steps: First all content items are instantiated,
|
|
276
|
+
* then init is called recursively from top to bottem. This is the basic init function,
|
|
277
|
+
* it can be used, extended or overwritten by the content items
|
|
278
|
+
*
|
|
279
|
+
* Its behaviour depends on the content item
|
|
280
|
+
* @internal
|
|
281
|
+
*/
|
|
282
|
+
init() {
|
|
283
|
+
this._isInitialised = true;
|
|
284
|
+
this.emitBaseBubblingEvent('itemCreated');
|
|
285
|
+
this.emitUnknownBubblingEvent(this.type + 'Created');
|
|
286
|
+
}
|
|
287
|
+
/** @internal */
|
|
288
|
+
setParent(parent) {
|
|
289
|
+
this._parent = parent;
|
|
290
|
+
}
|
|
291
|
+
/** @internal */
|
|
292
|
+
addPopInParentId(id) {
|
|
293
|
+
if (!this.popInParentIds.includes(id)) {
|
|
294
|
+
this.popInParentIds.push(id);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/** @internal */
|
|
298
|
+
initContentItems() {
|
|
299
|
+
for (let i = 0; i < this._contentItems.length; i++) {
|
|
300
|
+
this._contentItems[i].init();
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/** @internal */
|
|
304
|
+
hide() {
|
|
305
|
+
this.layoutManager.beginSizeInvalidation();
|
|
306
|
+
try {
|
|
307
|
+
(0, utils_1.setElementDisplayVisibility)(this._element, false);
|
|
308
|
+
// this.layoutManager.updateSizeFromContainer();
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
this.layoutManager.endSizeInvalidation();
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/** @internal */
|
|
315
|
+
updateContentItemsSize(force) {
|
|
316
|
+
for (let i = 0; i < this._contentItems.length; i++) {
|
|
317
|
+
this._contentItems[i].updateSize(force);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* creates all content items for this node at initialisation time
|
|
322
|
+
* PLEASE NOTE, please see addChild for adding contentItems at runtime
|
|
323
|
+
* @internal
|
|
324
|
+
*/
|
|
325
|
+
createContentItems(content) {
|
|
326
|
+
const count = content.length;
|
|
327
|
+
const result = new Array(count);
|
|
328
|
+
for (let i = 0; i < content.length; i++) {
|
|
329
|
+
result[i] = this.layoutManager.createContentItem(content[i], this);
|
|
330
|
+
}
|
|
331
|
+
return result;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Called for every event on the item tree. Decides whether the event is a bubbling
|
|
335
|
+
* event and propagates it to its parent
|
|
336
|
+
*
|
|
337
|
+
* @param name - The name of the event
|
|
338
|
+
* @param event -
|
|
339
|
+
* @internal
|
|
340
|
+
*/
|
|
341
|
+
propagateEvent(name, args) {
|
|
342
|
+
if (args.length === 1) {
|
|
343
|
+
const event = args[0];
|
|
344
|
+
if (event instanceof event_emitter_1.EventEmitter.BubblingEvent &&
|
|
345
|
+
event.isPropagationStopped === false &&
|
|
346
|
+
this._isInitialised === true) {
|
|
347
|
+
/**
|
|
348
|
+
* In some cases (e.g. if an element is created from a DragSource) it
|
|
349
|
+
* doesn't have a parent and is not a child of GroundItem. If that's the case
|
|
350
|
+
* propagate the bubbling event from the top level of the substree directly
|
|
351
|
+
* to the layoutManager
|
|
352
|
+
*/
|
|
353
|
+
if (this.isGround === false && this._parent) {
|
|
354
|
+
this._parent.emitUnknown(name, event);
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
this.scheduleEventPropagationToLayoutManager(name, event);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
tryBubbleEvent(name, args) {
|
|
363
|
+
if (args.length === 1) {
|
|
364
|
+
const event = args[0];
|
|
365
|
+
if (event instanceof event_emitter_1.EventEmitter.BubblingEvent &&
|
|
366
|
+
event.isPropagationStopped === false &&
|
|
367
|
+
this._isInitialised === true) {
|
|
368
|
+
/**
|
|
369
|
+
* In some cases (e.g. if an element is created from a DragSource) it
|
|
370
|
+
* doesn't have a parent and is not a child of GroundItem. If that's the case
|
|
371
|
+
* propagate the bubbling event from the top level of the substree directly
|
|
372
|
+
* to the layoutManager
|
|
373
|
+
*/
|
|
374
|
+
if (this.isGround === false && this._parent) {
|
|
375
|
+
this._parent.emitUnknown(name, event);
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
this.scheduleEventPropagationToLayoutManager(name, event);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* All raw events bubble up to the Ground element. Some events that
|
|
385
|
+
* are propagated to - and emitted by - the layoutManager however are
|
|
386
|
+
* only string-based, batched and sanitized to make them more usable
|
|
387
|
+
*
|
|
388
|
+
* @param name - The name of the event
|
|
389
|
+
* @internal
|
|
390
|
+
*/
|
|
391
|
+
scheduleEventPropagationToLayoutManager(name, event) {
|
|
392
|
+
if (this._throttledEvents.indexOf(name) === -1) {
|
|
393
|
+
this.layoutManager.emitUnknown(name, event);
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
if (this._pendingEventPropagations[name] !== true) {
|
|
397
|
+
this._pendingEventPropagations[name] = true;
|
|
398
|
+
globalThis.requestAnimationFrame(() => this.propagateEventToLayoutManager(name, event));
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Callback for events scheduled by _scheduleEventPropagationToLayoutManager
|
|
404
|
+
*
|
|
405
|
+
* @param name - The name of the event
|
|
406
|
+
* @internal
|
|
407
|
+
*/
|
|
408
|
+
propagateEventToLayoutManager(name, event) {
|
|
409
|
+
this._pendingEventPropagations[name] = false;
|
|
410
|
+
this.layoutManager.emitUnknown(name, event);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
exports.ContentItem = ContentItem;
|
|
414
|
+
//# sourceMappingURL=content-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-item.js","sourceRoot":"","sources":["../../../../src/ts/items/content-item.ts"],"names":[],"mappings":"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"}
|