@deephaven/golden-layout 0.19.2-beta.4 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LayoutManager.d.ts +313 -0
- package/dist/LayoutManager.d.ts.map +1 -0
- package/dist/LayoutManager.js +468 -450
- package/dist/LayoutManager.js.map +1 -1
- package/dist/base.d.ts +16 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +6 -6
- package/dist/base.js.map +1 -1
- package/dist/config/Config.d.ts +146 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/dist/config/{defaultConfig.js → Config.js} +6 -6
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ItemConfig.d.ts +66 -0
- package/dist/config/ItemConfig.d.ts.map +1 -0
- package/dist/config/ItemConfig.js +14 -0
- package/dist/config/ItemConfig.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -6
- package/dist/config/index.js.map +1 -1
- package/dist/container/ItemContainer.d.ts +91 -0
- package/dist/container/ItemContainer.d.ts.map +1 -0
- package/dist/container/ItemContainer.js +110 -85
- package/dist/container/ItemContainer.js.map +1 -1
- package/dist/container/index.d.ts +3 -0
- package/dist/container/index.d.ts.map +1 -0
- package/dist/container/index.js +2 -4
- package/dist/container/index.js.map +1 -1
- package/dist/controls/BrowserPopout.d.ts +83 -0
- package/dist/controls/BrowserPopout.d.ts.map +1 -0
- package/dist/controls/BrowserPopout.js +135 -101
- package/dist/controls/BrowserPopout.js.map +1 -1
- package/dist/controls/DragProxy.d.ts +67 -0
- package/dist/controls/DragProxy.d.ts.map +1 -0
- package/dist/controls/DragProxy.js +135 -110
- package/dist/controls/DragProxy.js.map +1 -1
- package/dist/controls/DragSource.d.ts +30 -0
- package/dist/controls/DragSource.d.ts.map +1 -0
- package/dist/controls/DragSource.js +37 -29
- package/dist/controls/DragSource.js.map +1 -1
- package/dist/controls/DragSourceFromEvent.d.ts +30 -0
- package/dist/controls/DragSourceFromEvent.d.ts.map +1 -0
- package/dist/controls/DragSourceFromEvent.js +49 -36
- package/dist/controls/DragSourceFromEvent.js.map +1 -1
- package/dist/controls/DropTargetIndicator.d.ts +14 -0
- package/dist/controls/DropTargetIndicator.d.ts.map +1 -0
- package/dist/controls/DropTargetIndicator.js +18 -14
- package/dist/controls/DropTargetIndicator.js.map +1 -1
- package/dist/controls/Header.d.ts +145 -0
- package/dist/controls/Header.d.ts.map +1 -0
- package/dist/controls/Header.js +414 -271
- package/dist/controls/Header.js.map +1 -1
- package/dist/controls/HeaderButton.d.ts +9 -0
- package/dist/controls/HeaderButton.d.ts.map +1 -0
- package/dist/controls/HeaderButton.js +19 -13
- package/dist/controls/HeaderButton.js.map +1 -1
- package/dist/controls/Splitter.d.ts +12 -0
- package/dist/controls/Splitter.d.ts.map +1 -0
- package/dist/controls/Splitter.js +36 -20
- package/dist/controls/Splitter.js.map +1 -1
- package/dist/controls/Tab.d.ts +91 -0
- package/dist/controls/Tab.d.ts.map +1 -0
- package/dist/controls/Tab.js +131 -119
- package/dist/controls/Tab.js.map +1 -1
- package/dist/controls/TransitionIndicator.d.ts +25 -0
- package/dist/controls/TransitionIndicator.d.ts.map +1 -0
- package/dist/controls/TransitionIndicator.js +53 -39
- package/dist/controls/TransitionIndicator.js.map +1 -1
- package/dist/controls/index.d.ts +11 -0
- package/dist/controls/index.d.ts.map +1 -0
- package/dist/controls/index.js +10 -22
- package/dist/controls/index.js.map +1 -1
- package/dist/errors/ConfigurationError.d.ts +6 -0
- package/dist/errors/ConfigurationError.d.ts.map +1 -0
- package/dist/errors/ConfigurationError.js +15 -8
- package/dist/errors/ConfigurationError.js.map +1 -1
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/items/AbstractContentItem.d.ts +233 -0
- package/dist/items/AbstractContentItem.d.ts.map +1 -0
- package/dist/items/AbstractContentItem.js +284 -242
- package/dist/items/AbstractContentItem.js.map +1 -1
- package/dist/items/Component.d.ts +30 -0
- package/dist/items/Component.d.ts.map +1 -0
- package/dist/items/Component.js +61 -42
- package/dist/items/Component.js.map +1 -1
- package/dist/items/Root.d.ts +18 -0
- package/dist/items/Root.d.ts.map +1 -0
- package/dist/items/Root.js +68 -38
- package/dist/items/Root.js.map +1 -1
- package/dist/items/RowOrColumn.d.ts +157 -0
- package/dist/items/RowOrColumn.d.ts.map +1 -0
- package/dist/items/RowOrColumn.js +219 -187
- package/dist/items/RowOrColumn.js.map +1 -1
- package/dist/items/Stack.d.ts +108 -0
- package/dist/items/Stack.d.ts.map +1 -0
- package/dist/items/Stack.js +218 -151
- package/dist/items/Stack.js.map +1 -1
- package/dist/items/index.d.ts +8 -0
- package/dist/items/index.d.ts.map +1 -0
- package/dist/items/index.js +7 -12
- package/dist/items/index.js.map +1 -1
- package/dist/utils/BubblingEvent.d.ts +8 -0
- package/dist/utils/BubblingEvent.d.ts.map +1 -0
- package/dist/utils/BubblingEvent.js +18 -9
- package/dist/utils/BubblingEvent.js.map +1 -1
- package/dist/utils/ConfigMinifier.d.ts +21 -0
- package/dist/utils/ConfigMinifier.d.ts.map +1 -0
- package/dist/utils/ConfigMinifier.js +121 -121
- package/dist/utils/ConfigMinifier.js.map +1 -1
- package/dist/utils/DragListener.d.ts +34 -0
- package/dist/utils/DragListener.d.ts.map +1 -0
- package/dist/utils/DragListener.js +103 -70
- package/dist/utils/DragListener.js.map +1 -1
- package/dist/utils/EventEmitter.d.ts +59 -0
- package/dist/utils/EventEmitter.d.ts.map +1 -0
- package/dist/utils/EventEmitter.js +64 -70
- package/dist/utils/EventEmitter.js.map +1 -1
- package/dist/utils/EventHub.d.ts +55 -0
- package/dist/utils/EventHub.d.ts.map +1 -0
- package/dist/utils/EventHub.js +83 -105
- package/dist/utils/EventHub.js.map +1 -1
- package/dist/utils/ReactComponentHandler.d.ts +54 -0
- package/dist/utils/ReactComponentHandler.d.ts.map +1 -0
- package/dist/utils/ReactComponentHandler.js +58 -56
- package/dist/utils/ReactComponentHandler.js.map +1 -1
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -21
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/utils.d.ts +25 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +21 -145
- package/dist/utils/utils.js.map +1 -1
- package/package.json +9 -5
- package/dist/config/ItemDefaultConfig.js +0 -8
- package/dist/config/ItemDefaultConfig.js.map +0 -1
- package/dist/config/defaultConfig.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
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
|
+
|
|
2
3
|
/**
|
|
3
4
|
* A generic and very fast EventEmitter
|
|
4
5
|
* implementation. On top of emitting the
|
|
@@ -11,123 +12,116 @@ import utils from './utils.js';
|
|
|
11
12
|
*
|
|
12
13
|
* @constructor
|
|
13
14
|
*/
|
|
15
|
+
class EventEmitter {
|
|
16
|
+
/**
|
|
17
|
+
* The name of the event that's triggered for every other event
|
|
18
|
+
*
|
|
19
|
+
* usage
|
|
20
|
+
*
|
|
21
|
+
* myEmitter.on( EventEmitter.ALL_EVENT, function( eventName, argsArray ){
|
|
22
|
+
* //do stuff
|
|
23
|
+
* });
|
|
24
|
+
*/
|
|
25
|
+
constructor() {
|
|
26
|
+
_defineProperty(this, "_mSubscriptions", void 0);
|
|
27
|
+
|
|
28
|
+
_defineProperty(this, "off", this.unbind);
|
|
14
29
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
30
|
+
_defineProperty(this, "trigger", this.emit);
|
|
31
|
+
|
|
32
|
+
this._mSubscriptions = {};
|
|
33
|
+
this._mSubscriptions[EventEmitter.ALL_EVENT] = [];
|
|
34
|
+
}
|
|
18
35
|
/**
|
|
19
36
|
* Listen for events
|
|
20
37
|
*
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
24
|
-
*
|
|
25
|
-
* @returns {void}
|
|
38
|
+
* @param eventName The name of the event to listen to
|
|
39
|
+
* @param callback The callback to execute when the event occurs
|
|
40
|
+
* @param context The value of the this pointer within the callback function
|
|
26
41
|
*/
|
|
27
42
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
43
|
+
|
|
44
|
+
on(eventName, callback, context) {
|
|
45
|
+
if (typeof callback !== 'function') {
|
|
46
|
+
throw new Error('Tried to listen to event ' + eventName + ' with non-function callback ' + callback);
|
|
31
47
|
}
|
|
32
48
|
|
|
33
|
-
if (!this._mSubscriptions[
|
|
34
|
-
this._mSubscriptions[
|
|
49
|
+
if (!this._mSubscriptions[eventName]) {
|
|
50
|
+
this._mSubscriptions[eventName] = [];
|
|
35
51
|
}
|
|
36
52
|
|
|
37
|
-
this._mSubscriptions[
|
|
38
|
-
fn:
|
|
39
|
-
ctx:
|
|
53
|
+
this._mSubscriptions[eventName].push({
|
|
54
|
+
fn: callback,
|
|
55
|
+
ctx: context
|
|
40
56
|
});
|
|
41
|
-
}
|
|
57
|
+
}
|
|
42
58
|
/**
|
|
43
59
|
* Emit an event and notify listeners
|
|
44
60
|
*
|
|
45
|
-
* @param
|
|
46
|
-
* @param
|
|
47
|
-
*
|
|
48
|
-
* @returns {void}
|
|
61
|
+
* @param eventName The name of the event
|
|
62
|
+
* @param args additional arguments that will be passed to the listener
|
|
49
63
|
*/
|
|
50
64
|
|
|
51
65
|
|
|
52
|
-
|
|
53
|
-
var
|
|
54
|
-
args = Array.prototype.slice.call(arguments, 1);
|
|
55
|
-
var subs = this._mSubscriptions[sEvent];
|
|
66
|
+
emit(eventName) {
|
|
67
|
+
var subs = this._mSubscriptions[eventName];
|
|
56
68
|
|
|
57
|
-
|
|
58
|
-
|
|
69
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
70
|
+
args[_key - 1] = arguments[_key];
|
|
71
|
+
}
|
|
59
72
|
|
|
60
|
-
|
|
61
|
-
|
|
73
|
+
if (subs) {
|
|
74
|
+
for (var i = 0; i < subs.length; i++) {
|
|
75
|
+
var ctx = subs[i].ctx || {};
|
|
62
76
|
subs[i].fn.apply(ctx, args);
|
|
63
77
|
}
|
|
64
78
|
}
|
|
65
79
|
|
|
66
|
-
args.unshift(
|
|
80
|
+
args.unshift(eventName);
|
|
81
|
+
var allEventSubs = this._mSubscriptions[EventEmitter.ALL_EVENT];
|
|
67
82
|
|
|
68
|
-
var
|
|
83
|
+
for (var _i = 0; _i < allEventSubs.length; _i++) {
|
|
84
|
+
var _ctx = allEventSubs[_i].ctx || {};
|
|
69
85
|
|
|
70
|
-
|
|
71
|
-
ctx = allEventSubs[i].ctx || {};
|
|
72
|
-
allEventSubs[i].fn.apply(ctx, args);
|
|
86
|
+
allEventSubs[_i].fn.apply(_ctx, args);
|
|
73
87
|
}
|
|
74
|
-
}
|
|
88
|
+
}
|
|
75
89
|
/**
|
|
76
90
|
* Removes a listener for an event, or all listeners if no callback and context is provided.
|
|
77
91
|
*
|
|
78
|
-
* @param
|
|
79
|
-
* @param
|
|
80
|
-
* @param
|
|
81
|
-
*
|
|
82
|
-
* @returns {void}
|
|
92
|
+
* @param eventName The name of the event
|
|
93
|
+
* @param callback The previously registered callback method (optional)
|
|
94
|
+
* @param context The previously registered context (optional)
|
|
83
95
|
*/
|
|
84
96
|
|
|
85
97
|
|
|
86
|
-
|
|
87
|
-
if (!this._mSubscriptions[
|
|
88
|
-
throw new Error('No subscribtions to unsubscribe for event ' +
|
|
98
|
+
unbind(eventName, callback, context) {
|
|
99
|
+
if (!this._mSubscriptions[eventName]) {
|
|
100
|
+
throw new Error('No subscribtions to unsubscribe for event ' + eventName);
|
|
89
101
|
}
|
|
90
102
|
|
|
91
|
-
var
|
|
92
|
-
bUnbound = false;
|
|
103
|
+
var bUnbound = false;
|
|
93
104
|
|
|
94
|
-
for (i = 0; i < this._mSubscriptions[
|
|
95
|
-
if ((!
|
|
96
|
-
this._mSubscriptions[
|
|
105
|
+
for (var i = 0; i < this._mSubscriptions[eventName].length; i++) {
|
|
106
|
+
if ((!callback || this._mSubscriptions[eventName][i].fn === callback) && (!context || context === this._mSubscriptions[eventName][i].ctx)) {
|
|
107
|
+
this._mSubscriptions[eventName].splice(i, 1);
|
|
97
108
|
|
|
98
109
|
bUnbound = true;
|
|
99
110
|
}
|
|
100
111
|
}
|
|
101
112
|
|
|
102
113
|
if (bUnbound === false) {
|
|
103
|
-
throw new Error('Nothing to unbind for ' +
|
|
114
|
+
throw new Error('Nothing to unbind for ' + eventName);
|
|
104
115
|
}
|
|
105
|
-
}
|
|
116
|
+
}
|
|
106
117
|
/**
|
|
107
118
|
* Alias for unbind
|
|
108
119
|
*/
|
|
109
120
|
|
|
110
121
|
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Alias for emit
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
|
-
this.trigger = this.emit;
|
|
117
|
-
};
|
|
118
|
-
/**
|
|
119
|
-
* The name of the event that's triggered for every other event
|
|
120
|
-
*
|
|
121
|
-
* usage
|
|
122
|
-
*
|
|
123
|
-
* myEmitter.on( EventEmitter.ALL_EVENT, function( eventName, argsArray ){
|
|
124
|
-
* //do stuff
|
|
125
|
-
* });
|
|
126
|
-
*
|
|
127
|
-
* @type {String}
|
|
128
|
-
*/
|
|
122
|
+
}
|
|
129
123
|
|
|
124
|
+
_defineProperty(EventEmitter, "ALL_EVENT", '__all');
|
|
130
125
|
|
|
131
|
-
EventEmitter.ALL_EVENT = '__all';
|
|
132
126
|
export default EventEmitter;
|
|
133
127
|
//# sourceMappingURL=EventEmitter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitter.js","names":["
|
|
1
|
+
{"version":3,"file":"EventEmitter.js","names":["EventEmitter","constructor","unbind","emit","_mSubscriptions","ALL_EVENT","on","eventName","callback","context","Error","push","fn","ctx","subs","args","i","length","apply","unshift","allEventSubs","bUnbound","splice"],"sources":["../../src/utils/EventEmitter.ts"],"sourcesContent":["/**\n * A generic and very fast EventEmitter\n * implementation. On top of emitting the\n * actual event it emits an\n *\n * EventEmitter.ALL_EVENT\n *\n * event for every event triggered. This allows\n * to hook into it and proxy events forwards\n *\n * @constructor\n */\nclass EventEmitter {\n /**\n * The name of the event that's triggered for every other event\n *\n * usage\n *\n * myEmitter.on( EventEmitter.ALL_EVENT, function( eventName, argsArray ){\n * \t//do stuff\n * });\n */\n static ALL_EVENT = '__all';\n\n private _mSubscriptions: Record<string, { fn: Function; ctx?: unknown }[]>;\n\n constructor() {\n this._mSubscriptions = {};\n this._mSubscriptions[EventEmitter.ALL_EVENT] = [];\n }\n\n /**\n * Listen for events\n *\n * @param eventName The name of the event to listen to\n * @param callback The callback to execute when the event occurs\n * @param context The value of the this pointer within the callback function\n */\n on(eventName: string, callback: Function, context?: unknown): void {\n if (typeof callback !== 'function') {\n throw new Error(\n 'Tried to listen to event ' +\n eventName +\n ' with non-function callback ' +\n callback\n );\n }\n\n if (!this._mSubscriptions[eventName]) {\n this._mSubscriptions[eventName] = [];\n }\n\n this._mSubscriptions[eventName].push({ fn: callback, ctx: context });\n }\n\n /**\n * Emit an event and notify listeners\n *\n * @param eventName The name of the event\n * @param args additional arguments that will be passed to the listener\n */\n emit(eventName: string, ...args: unknown[]) {\n const subs = this._mSubscriptions[eventName];\n\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n const ctx = subs[i].ctx || {};\n subs[i].fn.apply(ctx, args);\n }\n }\n\n args.unshift(eventName);\n\n const allEventSubs = this._mSubscriptions[EventEmitter.ALL_EVENT];\n\n for (let i = 0; i < allEventSubs.length; i++) {\n const ctx = allEventSubs[i].ctx || {};\n allEventSubs[i].fn.apply(ctx, args);\n }\n }\n\n /**\n * Removes a listener for an event, or all listeners if no callback and context is provided.\n *\n * @param eventName The name of the event\n * @param callback The previously registered callback method (optional)\n * @param context The previously registered context (optional)\n */\n unbind(eventName: string, callback?: Function, context?: unknown) {\n if (!this._mSubscriptions[eventName]) {\n throw new Error('No subscribtions to unsubscribe for event ' + eventName);\n }\n\n let bUnbound = false;\n\n for (let i = 0; i < this._mSubscriptions[eventName].length; i++) {\n if (\n (!callback || this._mSubscriptions[eventName][i].fn === callback) &&\n (!context || context === this._mSubscriptions[eventName][i].ctx)\n ) {\n this._mSubscriptions[eventName].splice(i, 1);\n bUnbound = true;\n }\n }\n\n if (bUnbound === false) {\n throw new Error('Nothing to unbind for ' + eventName);\n }\n }\n\n /**\n * Alias for unbind\n */\n off = this.unbind;\n\n /**\n * Alias for emit\n */\n trigger = this.emit;\n}\n\nexport default EventEmitter;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type LayoutManager from '../LayoutManager';
|
|
2
|
+
import EventEmitter from './EventEmitter';
|
|
3
|
+
/**
|
|
4
|
+
* An EventEmitter singleton that propagates events
|
|
5
|
+
* across multiple windows. This is a little bit trickier since
|
|
6
|
+
* windows are allowed to open childWindows in their own right
|
|
7
|
+
*
|
|
8
|
+
* This means that we deal with a tree of windows. Hence the rules for event propagation are:
|
|
9
|
+
*
|
|
10
|
+
* - Propagate events from this layout to both parents and children
|
|
11
|
+
* - Propagate events from parent to this and children
|
|
12
|
+
* - Propagate events from children to the other children (but not the emitting one) and the parent
|
|
13
|
+
*/
|
|
14
|
+
declare class EventHub extends EventEmitter {
|
|
15
|
+
private _layoutManager;
|
|
16
|
+
private _dontPropagateToParent;
|
|
17
|
+
private _childEventSource;
|
|
18
|
+
private _boundOnEventFromChild;
|
|
19
|
+
constructor(layoutManager: LayoutManager);
|
|
20
|
+
/**
|
|
21
|
+
* Called on every event emitted on this eventHub, regardles of origin.
|
|
22
|
+
*/
|
|
23
|
+
private _onEventFromThis;
|
|
24
|
+
/**
|
|
25
|
+
* Called by the parent layout.
|
|
26
|
+
*
|
|
27
|
+
* @param args Event name + arguments
|
|
28
|
+
*/
|
|
29
|
+
private _$onEventFromParent;
|
|
30
|
+
/**
|
|
31
|
+
* Callback for child events raised on the window
|
|
32
|
+
*
|
|
33
|
+
* @param event
|
|
34
|
+
*/
|
|
35
|
+
private _onEventFromChild;
|
|
36
|
+
/**
|
|
37
|
+
* Propagates the event to the parent by emitting
|
|
38
|
+
* it on the parent's DOM window
|
|
39
|
+
*
|
|
40
|
+
* @param args Event name + arguments
|
|
41
|
+
*/
|
|
42
|
+
private _propagateToParent;
|
|
43
|
+
/**
|
|
44
|
+
* Propagate events to children
|
|
45
|
+
*
|
|
46
|
+
* @param args Event name + arguments
|
|
47
|
+
*/
|
|
48
|
+
private _propagateToChildren;
|
|
49
|
+
/**
|
|
50
|
+
* Destroys the EventHub
|
|
51
|
+
*/
|
|
52
|
+
destroy(): void;
|
|
53
|
+
}
|
|
54
|
+
export default EventHub;
|
|
55
|
+
//# sourceMappingURL=EventHub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventHub.d.ts","sourceRoot":"","sources":["../../src/utils/EventHub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAO1C;;;;;;;;;;GAUG;AACH,cAAM,QAAS,SAAQ,YAAY;IACjC,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,sBAAsB,CAAgB;IAE9C,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO,CAAC,sBAAsB,CAAyC;gBAE3D,aAAa,EAAE,aAAa;IAUxC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO;CAGR;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/utils/EventHub.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
1
3
|
import $ from 'jquery';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
+
import EventEmitter from "./EventEmitter.js";
|
|
5
|
+
|
|
4
6
|
/**
|
|
5
7
|
* An EventEmitter singleton that propagates events
|
|
6
8
|
* across multiple windows. This is a little bit trickier since
|
|
@@ -11,137 +13,113 @@ import EventEmitter from './EventEmitter.js';
|
|
|
11
13
|
* - Propagate events from this layout to both parents and children
|
|
12
14
|
* - Propagate events from parent to this and children
|
|
13
15
|
* - Propagate events from children to the other children (but not the emitting one) and the parent
|
|
14
|
-
*
|
|
15
|
-
* @constructor
|
|
16
|
-
*
|
|
17
|
-
* @param {lm.LayoutManager} layoutManager
|
|
18
16
|
*/
|
|
17
|
+
class EventHub extends EventEmitter {
|
|
18
|
+
constructor(layoutManager) {
|
|
19
|
+
super();
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this._dontPropagateToParent = null;
|
|
24
|
-
this._childEventSource = null;
|
|
25
|
-
this.on(EventEmitter.ALL_EVENT, utils.fnBind(this._onEventFromThis, this));
|
|
26
|
-
this._boundOnEventFromChild = utils.fnBind(this._onEventFromChild, this);
|
|
27
|
-
$(window).on('gl_child_event', this._boundOnEventFromChild);
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Called on every event emitted on this eventHub, regardles of origin.
|
|
31
|
-
*
|
|
32
|
-
* @private
|
|
33
|
-
*
|
|
34
|
-
* @param {Mixed}
|
|
35
|
-
*
|
|
36
|
-
* @returns {void}
|
|
37
|
-
*/
|
|
21
|
+
_defineProperty(this, "_layoutManager", void 0);
|
|
22
|
+
|
|
23
|
+
_defineProperty(this, "_dontPropagateToParent", void 0);
|
|
38
24
|
|
|
25
|
+
_defineProperty(this, "_childEventSource", void 0);
|
|
39
26
|
|
|
40
|
-
|
|
41
|
-
var args = Array.prototype.slice.call(arguments);
|
|
27
|
+
_defineProperty(this, "_boundOnEventFromChild", void 0);
|
|
42
28
|
|
|
43
|
-
|
|
44
|
-
this.
|
|
29
|
+
this._layoutManager = layoutManager;
|
|
30
|
+
this._dontPropagateToParent = null;
|
|
31
|
+
this._childEventSource = null;
|
|
32
|
+
this.on(EventEmitter.ALL_EVENT, this._onEventFromThis.bind(this));
|
|
33
|
+
this._boundOnEventFromChild = this._onEventFromChild.bind(this);
|
|
34
|
+
$(window).on('gl_child_event', this._boundOnEventFromChild);
|
|
45
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Called on every event emitted on this eventHub, regardles of origin.
|
|
38
|
+
*/
|
|
46
39
|
|
|
47
|
-
this._propagateToChildren(args); //Reset
|
|
48
40
|
|
|
41
|
+
_onEventFromThis() {
|
|
42
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
43
|
+
args[_key] = arguments[_key];
|
|
44
|
+
}
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Called by the parent layout.
|
|
55
|
-
*
|
|
56
|
-
* @param {Array} args Event name + arguments
|
|
57
|
-
*
|
|
58
|
-
* @returns {void}
|
|
59
|
-
*/
|
|
46
|
+
if (this._layoutManager.isSubWindow && args[0] !== this._dontPropagateToParent) {
|
|
47
|
+
this._propagateToParent(args);
|
|
48
|
+
}
|
|
60
49
|
|
|
50
|
+
this._propagateToChildren(args); //Reset
|
|
61
51
|
|
|
62
|
-
EventHub.prototype._$onEventFromParent = function (args) {
|
|
63
|
-
this._dontPropagateToParent = args[0];
|
|
64
|
-
this.emit.apply(this, args);
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Callback for child events raised on the window
|
|
68
|
-
*
|
|
69
|
-
* @param {DOMEvent} event
|
|
70
|
-
* @private
|
|
71
|
-
*
|
|
72
|
-
* @returns {void}
|
|
73
|
-
*/
|
|
74
52
|
|
|
53
|
+
this._dontPropagateToParent = null;
|
|
54
|
+
this._childEventSource = null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Called by the parent layout.
|
|
58
|
+
*
|
|
59
|
+
* @param args Event name + arguments
|
|
60
|
+
*/
|
|
75
61
|
|
|
76
|
-
EventHub.prototype._onEventFromChild = function (event) {
|
|
77
|
-
this._childEventSource = event.originalEvent.__gl;
|
|
78
|
-
this.emit.apply(this, event.originalEvent.__glArgs);
|
|
79
|
-
};
|
|
80
|
-
/**
|
|
81
|
-
* Propagates the event to the parent by emitting
|
|
82
|
-
* it on the parent's DOM window
|
|
83
|
-
*
|
|
84
|
-
* @param {Array} args Event name + arguments
|
|
85
|
-
* @private
|
|
86
|
-
*
|
|
87
|
-
* @returns {void}
|
|
88
|
-
*/
|
|
89
62
|
|
|
63
|
+
_$onEventFromParent(args) {
|
|
64
|
+
this._dontPropagateToParent = args[0];
|
|
65
|
+
this.emit.apply(this, args);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Callback for child events raised on the window
|
|
69
|
+
*
|
|
70
|
+
* @param event
|
|
71
|
+
*/
|
|
90
72
|
|
|
91
|
-
EventHub.prototype._propagateToParent = function (args) {
|
|
92
|
-
var event,
|
|
93
|
-
eventName = 'gl_child_event';
|
|
94
73
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
} else {
|
|
99
|
-
event = window.opener.document.createEventObject();
|
|
100
|
-
event.eventType = eventName;
|
|
74
|
+
_onEventFromChild(event) {
|
|
75
|
+
this._childEventSource = event.originalEvent.__gl;
|
|
76
|
+
this.emit.apply(this, event.originalEvent.__glArgs);
|
|
101
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Propagates the event to the parent by emitting
|
|
80
|
+
* it on the parent's DOM window
|
|
81
|
+
*
|
|
82
|
+
* @param args Event name + arguments
|
|
83
|
+
*/
|
|
84
|
+
|
|
102
85
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
event.__gl = this._layoutManager;
|
|
86
|
+
_propagateToParent(args) {
|
|
87
|
+
var _window$opener;
|
|
106
88
|
|
|
107
|
-
|
|
89
|
+
var eventName = 'gl_child_event';
|
|
90
|
+
var event = (_window$opener = window.opener) === null || _window$opener === void 0 ? void 0 : _window$opener.document.createEvent('HTMLEvents');
|
|
91
|
+
event.initEvent(eventName, true, true);
|
|
92
|
+
event.eventName = eventName;
|
|
93
|
+
event.__glArgs = args;
|
|
94
|
+
event.__gl = this._layoutManager;
|
|
108
95
|
window.opener.dispatchEvent(event);
|
|
109
|
-
} else {
|
|
110
|
-
window.opener.fireEvent('on' + event.eventType, event);
|
|
111
96
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
* @private
|
|
118
|
-
*
|
|
119
|
-
* @returns {void}
|
|
120
|
-
*/
|
|
97
|
+
/**
|
|
98
|
+
* Propagate events to children
|
|
99
|
+
*
|
|
100
|
+
* @param args Event name + arguments
|
|
101
|
+
*/
|
|
121
102
|
|
|
122
103
|
|
|
123
|
-
|
|
124
|
-
|
|
104
|
+
_propagateToChildren(args) {
|
|
105
|
+
for (var i = 0; i < this._layoutManager.openPopouts.length; i++) {
|
|
106
|
+
var childGl = this._layoutManager.openPopouts[i].getGlInstance();
|
|
125
107
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (childGl && childGl !== this._childEventSource) {
|
|
130
|
-
childGl.eventHub._$onEventFromParent(args);
|
|
108
|
+
if (childGl && childGl !== this._childEventSource) {
|
|
109
|
+
childGl.eventHub._$onEventFromParent(args);
|
|
110
|
+
}
|
|
131
111
|
}
|
|
132
112
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
*
|
|
137
|
-
* @public
|
|
138
|
-
* @returns {void}
|
|
139
|
-
*/
|
|
113
|
+
/**
|
|
114
|
+
* Destroys the EventHub
|
|
115
|
+
*/
|
|
140
116
|
|
|
141
117
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
118
|
+
destroy() {
|
|
119
|
+
$(window).off('gl_child_event', this._boundOnEventFromChild);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
}
|
|
145
123
|
|
|
146
124
|
export default EventHub;
|
|
147
125
|
//# sourceMappingURL=EventHub.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventHub.js","names":["$","
|
|
1
|
+
{"version":3,"file":"EventHub.js","names":["$","EventEmitter","EventHub","constructor","layoutManager","_layoutManager","_dontPropagateToParent","_childEventSource","on","ALL_EVENT","_onEventFromThis","bind","_boundOnEventFromChild","_onEventFromChild","window","args","isSubWindow","_propagateToParent","_propagateToChildren","_$onEventFromParent","emit","apply","event","originalEvent","__gl","__glArgs","eventName","opener","document","createEvent","initEvent","dispatchEvent","i","openPopouts","length","childGl","getGlInstance","eventHub","destroy","off"],"sources":["../../src/utils/EventHub.ts"],"sourcesContent":["import $ from 'jquery';\nimport type LayoutManager from '../LayoutManager';\nimport EventEmitter from './EventEmitter';\n\ninterface GoldenLayoutEvent extends Event {\n __glArgs: [string, ...unknown[]];\n __gl: LayoutManager;\n}\n\n/**\n * An EventEmitter singleton that propagates events\n * across multiple windows. This is a little bit trickier since\n * windows are allowed to open childWindows in their own right\n *\n * This means that we deal with a tree of windows. Hence the rules for event propagation are:\n *\n * - Propagate events from this layout to both parents and children\n * - Propagate events from parent to this and children\n * - Propagate events from children to the other children (but not the emitting one) and the parent\n */\nclass EventHub extends EventEmitter {\n private _layoutManager: LayoutManager;\n\n private _dontPropagateToParent: string | null;\n\n private _childEventSource: LayoutManager | null;\n\n private _boundOnEventFromChild: (event: JQuery.TriggeredEvent) => void;\n\n constructor(layoutManager: LayoutManager) {\n super();\n this._layoutManager = layoutManager;\n this._dontPropagateToParent = null;\n this._childEventSource = null;\n this.on(EventEmitter.ALL_EVENT, this._onEventFromThis.bind(this));\n this._boundOnEventFromChild = this._onEventFromChild.bind(this);\n $(window).on('gl_child_event', this._boundOnEventFromChild);\n }\n\n /**\n * Called on every event emitted on this eventHub, regardles of origin.\n */\n private _onEventFromThis(...args: [string, ...unknown[]]) {\n if (\n this._layoutManager.isSubWindow &&\n args[0] !== this._dontPropagateToParent\n ) {\n this._propagateToParent(args);\n }\n this._propagateToChildren(args);\n\n //Reset\n this._dontPropagateToParent = null;\n this._childEventSource = null;\n }\n\n /**\n * Called by the parent layout.\n *\n * @param args Event name + arguments\n */\n private _$onEventFromParent(args: [string, ...unknown[]]) {\n this._dontPropagateToParent = args[0];\n this.emit.apply(this, args);\n }\n\n /**\n * Callback for child events raised on the window\n *\n * @param event\n */\n private _onEventFromChild(event: JQuery.TriggeredEvent) {\n this._childEventSource = (event.originalEvent as GoldenLayoutEvent).__gl;\n this.emit.apply(this, (event.originalEvent as GoldenLayoutEvent).__glArgs);\n }\n\n /**\n * Propagates the event to the parent by emitting\n * it on the parent's DOM window\n *\n * @param args Event name + arguments\n */\n private _propagateToParent(args: [string, ...unknown[]]) {\n const eventName = 'gl_child_event';\n\n const event = window.opener?.document.createEvent('HTMLEvents');\n event.initEvent(eventName, true, true);\n\n event.eventName = eventName;\n event.__glArgs = args;\n event.__gl = this._layoutManager;\n\n window.opener.dispatchEvent(event);\n }\n\n /**\n * Propagate events to children\n *\n * @param args Event name + arguments\n */\n private _propagateToChildren(args: [string, ...unknown[]]) {\n for (let i = 0; i < this._layoutManager.openPopouts.length; i++) {\n const childGl = this._layoutManager.openPopouts[i].getGlInstance();\n\n if (childGl && childGl !== this._childEventSource) {\n childGl.eventHub._$onEventFromParent(args);\n }\n }\n }\n\n /**\n * Destroys the EventHub\n */\n destroy() {\n $(window).off('gl_child_event', this._boundOnEventFromChild);\n }\n}\n\nexport default EventHub;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type ItemContainer from '../container/ItemContainer';
|
|
3
|
+
import type { ReactComponentConfig } from '../config/ItemConfig';
|
|
4
|
+
/**
|
|
5
|
+
* A specialised GoldenLayout component that binds GoldenLayout container
|
|
6
|
+
* lifecycle events to react components
|
|
7
|
+
*
|
|
8
|
+
* @param container
|
|
9
|
+
* @param state state is not required for react components
|
|
10
|
+
*/
|
|
11
|
+
export default class ReactComponentHandler {
|
|
12
|
+
private _container;
|
|
13
|
+
private _reactComponent;
|
|
14
|
+
private _originalComponentWillUpdate;
|
|
15
|
+
private _initialState;
|
|
16
|
+
private _reactClass;
|
|
17
|
+
constructor(container: ItemContainer<ReactComponentConfig>, state?: unknown);
|
|
18
|
+
/**
|
|
19
|
+
* Creates the react class and component and hydrates it with
|
|
20
|
+
* the initial state - if one is present
|
|
21
|
+
*
|
|
22
|
+
* By default, react's getInitialState will be used
|
|
23
|
+
*/
|
|
24
|
+
_render(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Fired by react when the component is created.
|
|
27
|
+
* <p>
|
|
28
|
+
* Note: This callback is used instead of the return from `ReactDOM.render` because
|
|
29
|
+
* of https://github.com/facebook/react/issues/10309.
|
|
30
|
+
* </p>
|
|
31
|
+
*
|
|
32
|
+
* @param component The component instance created by the `ReactDOM.render` call in the `_render` method.
|
|
33
|
+
*/
|
|
34
|
+
_gotReactComponent(component: React.Component): void;
|
|
35
|
+
/**
|
|
36
|
+
* Removes the component from the DOM and thus invokes React's unmount lifecycle
|
|
37
|
+
*/
|
|
38
|
+
_destroy(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Hooks into React's state management and applies the componentstate
|
|
41
|
+
* to GoldenLayout
|
|
42
|
+
*/
|
|
43
|
+
_onUpdate(nextProps: unknown, nextState: Record<string, unknown>): void;
|
|
44
|
+
/**
|
|
45
|
+
* Retrieves the react class from GoldenLayout's registry
|
|
46
|
+
* @returns react class
|
|
47
|
+
*/
|
|
48
|
+
_getReactClass(): React.ComponentClass<{}, any>;
|
|
49
|
+
/**
|
|
50
|
+
* Copies and extends the properties array and returns the React element
|
|
51
|
+
*/
|
|
52
|
+
_getReactComponent(): React.CElement<{}, React.Component<{}, any, any>>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ReactComponentHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactComponentHandler.d.ts","sourceRoot":"","sources":["../../src/utils/ReactComponentHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,OAAO,CAAC,UAAU,CAAsC;IAExD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,4BAA4B,CAAyB;IAC7D,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,WAAW,CAAuB;gBAE9B,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO;IAU3E;;;;;OAKG;IACH,OAAO;IAIP;;;;;;;;OAQG;IACH,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS;IAe7C;;OAEG;IACH,QAAQ;IAMR;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAShE;;;OAGG;IACH,cAAc;IA0Bd;;OAEG;IACH,kBAAkB;CASnB"}
|