@deephaven/golden-layout 0.85.28-alpha.0 → 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.
@@ -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"}
@@ -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"}
@@ -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
@@ -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.28-alpha.0+0bf001f6",
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.28-alpha.0+0bf001f6",
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": "0bf001f6458c0d4c8c3ce461dcc53870091fdcf2"
59
+ "gitHead": "21a2dce09c51a5b2f68c5a8c1f7650b838c193b2"
60
60
  }