@deephaven/golden-layout 0.85.30 → 0.85.31
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/utils/EventUtils.d.ts +30 -0
- package/dist/utils/EventUtils.d.ts.map +1 -0
- package/dist/utils/EventUtils.js +60 -0
- package/dist/utils/EventUtils.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import EventEmitter from './EventEmitter';
|
|
2
|
+
type AsArray<P> = P extends unknown[] ? P : [P];
|
|
3
|
+
export type EventHandlerFunction<P = []> = (...parameters: AsArray<P>) => void;
|
|
4
|
+
export type EventListenerRemover = () => void;
|
|
5
|
+
export type EventListenFunction<TParameters = []> = (eventEmitter: EventEmitter, handler: EventHandlerFunction<TParameters>) => EventListenerRemover;
|
|
6
|
+
export type EventEmitFunction<TParameters = []> = (eventEmitter: EventEmitter, ...parameters: AsArray<TParameters>) => void;
|
|
7
|
+
export type EventListenerHook<TParameters = []> = (eventEmitter: EventEmitter | null | undefined, handler: EventHandlerFunction<TParameters>) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Listen for an event
|
|
10
|
+
* @param eventEmitter The event emitter to listen to
|
|
11
|
+
* @param event The event to listen for
|
|
12
|
+
* @param handler The handler to call when the event is emitted
|
|
13
|
+
* @returns A function to stop listening for the event
|
|
14
|
+
*/
|
|
15
|
+
export declare function listenForEvent<TParameters = []>(eventEmitter: EventEmitter, event: string, handler: EventHandlerFunction<TParameters>): EventListenerRemover;
|
|
16
|
+
export declare function makeListenFunction<TParameters = []>(event: string): EventListenFunction<TParameters>;
|
|
17
|
+
export declare function makeEmitFunction<TParameters = []>(event: string): EventEmitFunction<TParameters>;
|
|
18
|
+
export declare function makeUseListenerFunction<TParameters = []>(event: string): EventListenerHook<TParameters>;
|
|
19
|
+
/**
|
|
20
|
+
* Create listener, emitter, and hook functions for an event
|
|
21
|
+
* @param event Name of the event to create functions for
|
|
22
|
+
* @returns Listener, Emitter, and Hook functions for the event
|
|
23
|
+
*/
|
|
24
|
+
export declare function makeEventFunctions<TParameters = []>(event: string): {
|
|
25
|
+
listen: EventListenFunction<TParameters>;
|
|
26
|
+
emit: EventEmitFunction<TParameters>;
|
|
27
|
+
useListener: EventListenerHook<TParameters>;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=EventUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventUtils.d.ts","sourceRoot":"","sources":["../../src/utils/EventUtils.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC/E,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAC9C,MAAM,MAAM,mBAAmB,CAAC,WAAW,GAAG,EAAE,IAAI,CAClD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,KACvC,oBAAoB,CAAC;AAE1B,MAAM,MAAM,iBAAiB,CAAC,WAAW,GAAG,EAAE,IAAI,CAChD,YAAY,EAAE,YAAY,EAC1B,GAAG,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,KAChC,IAAI,CAAC;AAEV,MAAM,MAAM,iBAAiB,CAAC,WAAW,GAAG,EAAE,IAAI,CAChD,YAAY,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EAC7C,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,KACvC,IAAI,CAAC;AAEV;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,WAAW,GAAG,EAAE,EAC7C,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,GACzC,oBAAoB,CAKtB;AAED,wBAAgB,kBAAkB,CAAC,WAAW,GAAG,EAAE,EACjD,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAAC,WAAW,CAAC,CAGlC;AAED,wBAAgB,gBAAgB,CAAC,WAAW,GAAG,EAAE,EAC/C,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,WAAW,CAAC,CAIhC;AAED,wBAAgB,uBAAuB,CAAC,WAAW,GAAG,EAAE,EACtD,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,WAAW,CAAC,CAwBhC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,GAAG,EAAE,EACjD,KAAK,EAAE,MAAM,GACZ;IACD,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACrC,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAC7C,CAMA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Listen for an event
|
|
4
|
+
* @param eventEmitter The event emitter to listen to
|
|
5
|
+
* @param event The event to listen for
|
|
6
|
+
* @param handler The handler to call when the event is emitted
|
|
7
|
+
* @returns A function to stop listening for the event
|
|
8
|
+
*/
|
|
9
|
+
export function listenForEvent(eventEmitter, event, handler) {
|
|
10
|
+
eventEmitter.on(event, handler);
|
|
11
|
+
return () => {
|
|
12
|
+
eventEmitter.off(event, handler);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function makeListenFunction(event) {
|
|
16
|
+
return (eventEmitter, handler) => listenForEvent(eventEmitter, event, handler);
|
|
17
|
+
}
|
|
18
|
+
export function makeEmitFunction(event) {
|
|
19
|
+
return function (eventEmitter) {
|
|
20
|
+
for (var _len = arguments.length, parameters = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
21
|
+
parameters[_key - 1] = arguments[_key];
|
|
22
|
+
}
|
|
23
|
+
eventEmitter.emit(event, ...parameters);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function makeUseListenerFunction(event) {
|
|
27
|
+
return (eventEmitter, handler) => {
|
|
28
|
+
var eventEmitterRef = useRef(null);
|
|
29
|
+
var handlerRef = useRef(() => false);
|
|
30
|
+
if (eventEmitterRef.current != eventEmitter || handlerRef.current != handler) {
|
|
31
|
+
var _eventEmitterRef$curr;
|
|
32
|
+
(_eventEmitterRef$curr = eventEmitterRef.current) === null || _eventEmitterRef$curr === void 0 ? void 0 : _eventEmitterRef$curr.off(event, handlerRef.current);
|
|
33
|
+
eventEmitter === null || eventEmitter === void 0 ? void 0 : eventEmitter.on(event, handler);
|
|
34
|
+
}
|
|
35
|
+
eventEmitterRef.current = eventEmitter;
|
|
36
|
+
handlerRef.current = handler;
|
|
37
|
+
|
|
38
|
+
// Cleanup on unmount
|
|
39
|
+
// Mounting the listener in useEffect causes a race condition with embed-widget
|
|
40
|
+
// where the event is emitted during render before the useEffect runs after render.
|
|
41
|
+
useEffect(() => () => {
|
|
42
|
+
var _eventEmitterRef$curr2;
|
|
43
|
+
return (_eventEmitterRef$curr2 = eventEmitterRef.current) === null || _eventEmitterRef$curr2 === void 0 ? void 0 : _eventEmitterRef$curr2.off(event, handlerRef.current);
|
|
44
|
+
}, []);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Create listener, emitter, and hook functions for an event
|
|
50
|
+
* @param event Name of the event to create functions for
|
|
51
|
+
* @returns Listener, Emitter, and Hook functions for the event
|
|
52
|
+
*/
|
|
53
|
+
export function makeEventFunctions(event) {
|
|
54
|
+
return {
|
|
55
|
+
listen: makeListenFunction(event),
|
|
56
|
+
emit: makeEmitFunction(event),
|
|
57
|
+
useListener: makeUseListenerFunction(event)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=EventUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventUtils.js","names":["useEffect","useRef","listenForEvent","eventEmitter","event","handler","on","off","makeListenFunction","makeEmitFunction","_len","arguments","length","parameters","Array","_key","emit","makeUseListenerFunction","eventEmitterRef","handlerRef","current","_eventEmitterRef$curr","_eventEmitterRef$curr2","makeEventFunctions","listen","useListener"],"sources":["../../src/utils/EventUtils.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport EventEmitter from './EventEmitter';\n\ntype AsArray<P> = P extends unknown[] ? P : [P];\n\nexport type EventHandlerFunction<P = []> = (...parameters: AsArray<P>) => void;\nexport type EventListenerRemover = () => void;\nexport type EventListenFunction<TParameters = []> = (\n eventEmitter: EventEmitter,\n handler: EventHandlerFunction<TParameters>\n) => EventListenerRemover;\n\nexport type EventEmitFunction<TParameters = []> = (\n eventEmitter: EventEmitter,\n ...parameters: AsArray<TParameters>\n) => void;\n\nexport type EventListenerHook<TParameters = []> = (\n eventEmitter: EventEmitter | null | undefined,\n handler: EventHandlerFunction<TParameters>\n) => void;\n\n/**\n * Listen for an event\n * @param eventEmitter The event emitter to listen to\n * @param event The event to listen for\n * @param handler The handler to call when the event is emitted\n * @returns A function to stop listening for the event\n */\nexport function listenForEvent<TParameters = []>(\n eventEmitter: EventEmitter,\n event: string,\n handler: EventHandlerFunction<TParameters>\n): EventListenerRemover {\n eventEmitter.on(event, handler);\n return () => {\n eventEmitter.off(event, handler);\n };\n}\n\nexport function makeListenFunction<TParameters = []>(\n event: string\n): EventListenFunction<TParameters> {\n return (eventEmitter, handler) =>\n listenForEvent(eventEmitter, event, handler);\n}\n\nexport function makeEmitFunction<TParameters = []>(\n event: string\n): EventEmitFunction<TParameters> {\n return (eventEmitter, ...parameters) => {\n eventEmitter.emit(event, ...parameters);\n };\n}\n\nexport function makeUseListenerFunction<TParameters = []>(\n event: string\n): EventListenerHook<TParameters> {\n return (eventEmitter, handler) => {\n const eventEmitterRef = useRef<typeof eventEmitter>(null);\n const handlerRef = useRef<typeof handler>(() => false);\n\n if (\n eventEmitterRef.current != eventEmitter ||\n handlerRef.current != handler\n ) {\n eventEmitterRef.current?.off(event, handlerRef.current);\n eventEmitter?.on(event, handler);\n }\n\n eventEmitterRef.current = eventEmitter;\n handlerRef.current = handler;\n\n // Cleanup on unmount\n // Mounting the listener in useEffect causes a race condition with embed-widget\n // where the event is emitted during render before the useEffect runs after render.\n useEffect(\n () => () => eventEmitterRef.current?.off(event, handlerRef.current),\n []\n );\n };\n}\n\n/**\n * Create listener, emitter, and hook functions for an event\n * @param event Name of the event to create functions for\n * @returns Listener, Emitter, and Hook functions for the event\n */\nexport function makeEventFunctions<TParameters = []>(\n event: string\n): {\n listen: EventListenFunction<TParameters>;\n emit: EventEmitFunction<TParameters>;\n useListener: EventListenerHook<TParameters>;\n} {\n return {\n listen: makeListenFunction<TParameters>(event),\n emit: makeEmitFunction<TParameters>(event),\n useListener: makeUseListenerFunction<TParameters>(event),\n };\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAsBzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAC5BC,YAA0B,EAC1BC,KAAa,EACbC,OAA0C,EACpB;EACtBF,YAAY,CAACG,EAAE,CAACF,KAAK,EAAEC,OAAO,CAAC;EAC/B,OAAO,MAAM;IACXF,YAAY,CAACI,GAAG,CAACH,KAAK,EAAEC,OAAO,CAAC;EAClC,CAAC;AACH;AAEA,OAAO,SAASG,kBAAkBA,CAChCJ,KAAa,EACqB;EAClC,OAAO,CAACD,YAAY,EAAEE,OAAO,KAC3BH,cAAc,CAACC,YAAY,EAAEC,KAAK,EAAEC,OAAO,CAAC;AAChD;AAEA,OAAO,SAASI,gBAAgBA,CAC9BL,KAAa,EACmB;EAChC,OAAO,UAACD,YAAY,EAAoB;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAfC,UAAU,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAVF,UAAU,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IACjCZ,YAAY,CAACa,IAAI,CAACZ,KAAK,EAAE,GAAGS,UAAU,CAAC;EACzC,CAAC;AACH;AAEA,OAAO,SAASI,uBAAuBA,CACrCb,KAAa,EACmB;EAChC,OAAO,CAACD,YAAY,EAAEE,OAAO,KAAK;IAChC,IAAMa,eAAe,GAAGjB,MAAM,CAAsB,IAAI,CAAC;IACzD,IAAMkB,UAAU,GAAGlB,MAAM,CAAiB,MAAM,KAAK,CAAC;IAEtD,IACEiB,eAAe,CAACE,OAAO,IAAIjB,YAAY,IACvCgB,UAAU,CAACC,OAAO,IAAIf,OAAO,EAC7B;MAAA,IAAAgB,qBAAA;MACA,CAAAA,qBAAA,GAAAH,eAAe,CAACE,OAAO,cAAAC,qBAAA,uBAAvBA,qBAAA,CAAyBd,GAAG,CAACH,KAAK,EAAEe,UAAU,CAACC,OAAO,CAAC;MACvDjB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,EAAE,CAACF,KAAK,EAAEC,OAAO,CAAC;IAClC;IAEAa,eAAe,CAACE,OAAO,GAAGjB,YAAY;IACtCgB,UAAU,CAACC,OAAO,GAAGf,OAAO;;IAE5B;IACA;IACA;IACAL,SAAS,CACP,MAAM;MAAA,IAAAsB,sBAAA;MAAA,QAAAA,sBAAA,GAAMJ,eAAe,CAACE,OAAO,cAAAE,sBAAA,uBAAvBA,sBAAA,CAAyBf,GAAG,CAACH,KAAK,EAAEe,UAAU,CAACC,OAAO,CAAC;IAAA,GACnE,EACF,CAAC;EACH,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,kBAAkBA,CAChCnB,KAAa,EAKb;EACA,OAAO;IACLoB,MAAM,EAAEhB,kBAAkB,CAAcJ,KAAK,CAAC;IAC9CY,IAAI,EAAEP,gBAAgB,CAAcL,KAAK,CAAC;IAC1CqB,WAAW,EAAER,uBAAuB,CAAcb,KAAK;EACzD,CAAC;AACH"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -6,4 +6,5 @@ export { default as ReactComponentHandler } from './ReactComponentHandler';
|
|
|
6
6
|
export * from './ConfigMinifier';
|
|
7
7
|
export { default as BubblingEvent } from './BubblingEvent';
|
|
8
8
|
export { default as EventHub } from './EventHub';
|
|
9
|
+
export * from './EventUtils';
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,cAAc,cAAc,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -6,4 +6,5 @@ export { default as ReactComponentHandler } from "./ReactComponentHandler.js";
|
|
|
6
6
|
export * from "./ConfigMinifier.js";
|
|
7
7
|
export { default as BubblingEvent } from "./BubblingEvent.js";
|
|
8
8
|
export { default as EventHub } from "./EventHub.js";
|
|
9
|
+
export * from "./EventUtils.js";
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","EventEmitter","DragListener","ReactComponentHandler","BubblingEvent","EventHub"],"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './utils';\nexport { default as EventEmitter } from './EventEmitter';\nexport { default as DragListener } from './DragListener';\nexport * from './ReactComponentHandler';\nexport { default as ReactComponentHandler } from './ReactComponentHandler';\nexport * from './ConfigMinifier';\nexport { default as BubblingEvent } from './BubblingEvent';\nexport { default as EventHub } from './EventHub';\n"],"mappings":";SACSA,OAAO,IAAIC,YAAY;AAAA,SACvBD,OAAO,IAAIE,YAAY;AAAA;AAAA,SAEvBF,OAAO,IAAIG,qBAAqB;AAAA;AAAA,SAEhCH,OAAO,IAAII,aAAa;AAAA,SACxBJ,OAAO,IAAIK,QAAQ"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","EventEmitter","DragListener","ReactComponentHandler","BubblingEvent","EventHub"],"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './utils';\nexport { default as EventEmitter } from './EventEmitter';\nexport { default as DragListener } from './DragListener';\nexport * from './ReactComponentHandler';\nexport { default as ReactComponentHandler } from './ReactComponentHandler';\nexport * from './ConfigMinifier';\nexport { default as BubblingEvent } from './BubblingEvent';\nexport { default as EventHub } from './EventHub';\nexport * from './EventUtils';\n"],"mappings":";SACSA,OAAO,IAAIC,YAAY;AAAA,SACvBD,OAAO,IAAIE,YAAY;AAAA;AAAA,SAEvBF,OAAO,IAAIG,qBAAqB;AAAA;AAAA,SAEhCH,OAAO,IAAII,aAAa;AAAA,SACxBJ,OAAO,IAAIK,QAAQ;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/golden-layout",
|
|
3
|
-
"version": "0.85.
|
|
3
|
+
"version": "0.85.31",
|
|
4
4
|
"author": "Deephaven Data Labs LLC",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"description": "A multi-screen javascript Layout manager",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"source": "src/index.ts",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@deephaven/components": "^0.85.
|
|
13
|
+
"@deephaven/components": "^0.85.31",
|
|
14
14
|
"jquery": "^3.6.0",
|
|
15
15
|
"nanoid": "^5.0.7"
|
|
16
16
|
},
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"karma-browserify": "^8.1.0",
|
|
57
57
|
"watchify": "^4.0.0"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "21a2dce09c51a5b2f68c5a8c1f7650b838c193b2"
|
|
60
60
|
}
|