@deephaven/golden-layout 0.95.1-beta.5 → 0.95.1-beta.7

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.
@@ -4,7 +4,7 @@ export type EventHandlerFunction<P = []> = (...parameters: AsArray<P>) => void;
4
4
  export type EventListenerRemover = () => void;
5
5
  export type EventListenFunction<TParameters = []> = (eventEmitter: EventEmitter, handler: EventHandlerFunction<TParameters>) => EventListenerRemover;
6
6
  export type EventEmitFunction<TParameters = []> = (eventEmitter: EventEmitter, ...parameters: AsArray<TParameters>) => void;
7
- export type EventListenerHook<TParameters = []> = (eventEmitter: EventEmitter, handler: EventHandlerFunction<TParameters>) => void;
7
+ export type EventListenerHook<TParameters = []> = (eventEmitter: EventEmitter | null | undefined, handler: EventHandlerFunction<TParameters>) => void;
8
8
  /**
9
9
  * Listen for an event
10
10
  * @param eventEmitter The event emitter to listen to
@@ -1 +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,EAC1B,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,CAOhC;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"}
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,CAgBhC;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"}
@@ -1,4 +1,4 @@
1
- import { useEffect } from 'react';
1
+ import { useRef } from 'react';
2
2
  /**
3
3
  * Listen for an event
4
4
  * @param eventEmitter The event emitter to listen to
@@ -25,7 +25,15 @@ export function makeEmitFunction(event) {
25
25
  }
26
26
  export function makeUseListenerFunction(event) {
27
27
  return (eventEmitter, handler) => {
28
- useEffect(() => listenForEvent(eventEmitter, event, handler), [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;
29
37
  };
30
38
  }
31
39
 
@@ -1 +1 @@
1
- {"version":3,"file":"EventUtils.js","names":["useEffect","listenForEvent","eventEmitter","event","handler","on","off","makeListenFunction","makeEmitFunction","_len","arguments","length","parameters","Array","_key","emit","makeUseListenerFunction","makeEventFunctions","listen","useListener"],"sources":["../../src/utils/EventUtils.ts"],"sourcesContent":["import { useEffect } 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,\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 useEffect(\n () => listenForEvent(eventEmitter, event, handler),\n [eventEmitter, handler]\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,QAAQ,OAAO;AAsBjC;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;IAChCJ,SAAS,CACP,MAAMC,cAAc,CAACC,YAAY,EAAEC,KAAK,EAAEC,OAAO,CAAC,EAClD,CAACF,YAAY,EAAEE,OAAO,CACxB,CAAC;EACH,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,kBAAkBA,CAChCd,KAAa,EAKb;EACA,OAAO;IACLe,MAAM,EAAEX,kBAAkB,CAAcJ,KAAK,CAAC;IAC9CY,IAAI,EAAEP,gBAAgB,CAAcL,KAAK,CAAC;IAC1CgB,WAAW,EAAEH,uBAAuB,CAAcb,KAAK;EACzD,CAAC;AACH"}
1
+ {"version":3,"file":"EventUtils.js","names":["useRef","listenForEvent","eventEmitter","event","handler","on","off","makeListenFunction","makeEmitFunction","_len","arguments","length","parameters","Array","_key","emit","makeUseListenerFunction","eventEmitterRef","handlerRef","current","_eventEmitterRef$curr","makeEventFunctions","listen","useListener"],"sources":["../../src/utils/EventUtils.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, 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}\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,SAAqCA,MAAM,QAAQ,OAAO;AAsB1D;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;EAC9B,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASiB,kBAAkBA,CAChClB,KAAa,EAKb;EACA,OAAO;IACLmB,MAAM,EAAEf,kBAAkB,CAAcJ,KAAK,CAAC;IAC9CY,IAAI,EAAEP,gBAAgB,CAAcL,KAAK,CAAC;IAC1CoB,WAAW,EAAEP,uBAAuB,CAAcb,KAAK;EACzD,CAAC;AACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/golden-layout",
3
- "version": "0.95.1-beta.5+91bd8fe1",
3
+ "version": "0.95.1-beta.7+92b133bf",
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.95.1-beta.5+91bd8fe1",
13
+ "@deephaven/components": "^0.95.1-beta.7+92b133bf",
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": "91bd8fe18fc0ae8cdc40775a71f63e2d7b6e8355"
59
+ "gitHead": "92b133bf94737776a5e4ab413d415128a50692d8"
60
60
  }