@deephaven/app-utils 0.86.2-beta.0 → 0.87.1-beta.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AppBootstrap.d.ts","sourceRoot":"","sources":["../../src/components/AppBootstrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,gDAAgD,CAAC;AAMxD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAWhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzC,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAmCjC;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"AppBootstrap.d.ts","sourceRoot":"","sources":["../../src/components/AppBootstrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,gDAAgD,CAAC;AAMxD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAWhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzC,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAwCjC;AAED,eAAe,YAAY,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import React, { useCallback, useMemo, useState } from 'react';
2
+ import { Provider } from 'react-redux';
3
+ import { store } from '@deephaven/redux';
2
4
  import '@deephaven/components/scss/BaseStyleSheet.scss';
3
5
  import { ClientBootstrap } from '@deephaven/jsapi-bootstrap';
4
6
  import { RefreshTokenBootstrap, useBroadcastLoginListener } from '@deephaven/jsapi-components';
@@ -33,29 +35,32 @@ export function AppBootstrap(_ref) {
33
35
  setLogoutCount(value => value + 1);
34
36
  }, []);
35
37
  useBroadcastLoginListener(onLogin, onLogout);
36
- return /*#__PURE__*/_jsx(FontBootstrap, {
37
- fontClassNames: fontClassNames,
38
- children: /*#__PURE__*/_jsx(PluginsBootstrap, {
39
- getCorePlugins: getCorePlugins,
40
- pluginsUrl: pluginsUrl,
41
- children: /*#__PURE__*/_jsx(ThemeBootstrap, {
42
- children: /*#__PURE__*/_jsx(ClientBootstrap, {
43
- serverUrl: serverUrl,
44
- options: clientOptions,
45
- children: /*#__PURE__*/_jsx(RefreshTokenBootstrap, {
46
- children: /*#__PURE__*/_jsx(AuthBootstrap, {
47
- children: /*#__PURE__*/_jsx(ServerConfigBootstrap, {
48
- children: /*#__PURE__*/_jsx(UserBootstrap, {
49
- children: /*#__PURE__*/_jsx(ConnectionBootstrap, {
50
- children: /*#__PURE__*/_jsx(FontsLoaded, {
51
- children: children
38
+ return /*#__PURE__*/_jsx(Provider, {
39
+ store: store,
40
+ children: /*#__PURE__*/_jsx(FontBootstrap, {
41
+ fontClassNames: fontClassNames,
42
+ children: /*#__PURE__*/_jsx(PluginsBootstrap, {
43
+ getCorePlugins: getCorePlugins,
44
+ pluginsUrl: pluginsUrl,
45
+ children: /*#__PURE__*/_jsx(ThemeBootstrap, {
46
+ children: /*#__PURE__*/_jsx(ClientBootstrap, {
47
+ serverUrl: serverUrl,
48
+ options: clientOptions,
49
+ children: /*#__PURE__*/_jsx(RefreshTokenBootstrap, {
50
+ children: /*#__PURE__*/_jsx(AuthBootstrap, {
51
+ children: /*#__PURE__*/_jsx(ServerConfigBootstrap, {
52
+ children: /*#__PURE__*/_jsx(UserBootstrap, {
53
+ children: /*#__PURE__*/_jsx(ConnectionBootstrap, {
54
+ children: /*#__PURE__*/_jsx(FontsLoaded, {
55
+ children: children
56
+ })
52
57
  })
53
58
  })
54
59
  })
55
60
  })
56
61
  })
57
- })
58
- }, logoutCount)
62
+ }, logoutCount)
63
+ })
59
64
  })
60
65
  })
61
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AppBootstrap.js","names":["React","useCallback","useMemo","useState","ClientBootstrap","RefreshTokenBootstrap","useBroadcastLoginListener","FontBootstrap","PluginsBootstrap","AuthBootstrap","ConnectionBootstrap","getConnectOptions","FontsLoaded","UserBootstrap","ServerConfigBootstrap","ThemeBootstrap","jsx","_jsx","AppBootstrap","_ref","fontClassNames","pluginsUrl","getCorePlugins","serverUrl","children","clientOptions","logoutCount","setLogoutCount","onLogin","undefined","onLogout","value","options"],"sources":["../../src/components/AppBootstrap.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport '@deephaven/components/scss/BaseStyleSheet.scss';\nimport { ClientBootstrap } from '@deephaven/jsapi-bootstrap';\nimport {\n RefreshTokenBootstrap,\n useBroadcastLoginListener,\n} from '@deephaven/jsapi-components';\nimport { type Plugin } from '@deephaven/plugin';\nimport FontBootstrap from './FontBootstrap';\nimport PluginsBootstrap from './PluginsBootstrap';\nimport AuthBootstrap from './AuthBootstrap';\nimport ConnectionBootstrap from './ConnectionBootstrap';\nimport { getConnectOptions } from '../utils';\nimport FontsLoaded from './FontsLoaded';\nimport UserBootstrap from './UserBootstrap';\nimport ServerConfigBootstrap from './ServerConfigBootstrap';\nimport ThemeBootstrap from './ThemeBootstrap';\n\nexport type AppBootstrapProps = {\n /** URL of the server. */\n serverUrl: string;\n\n /** URL of the plugins to load. */\n pluginsUrl: string;\n\n /** The core plugins to load. */\n getCorePlugins?: () => Promise<Plugin[]>;\n\n /** Font class names to load. */\n fontClassNames?: string[];\n\n /**\n * The children to render wrapped when everything is loaded and authenticated.\n */\n children: React.ReactNode;\n};\n\n/**\n * AppBootstrap component. Handles loading the fonts, client, and authentication.\n * Will display the children when everything is loaded and authenticated.\n */\nexport function AppBootstrap({\n fontClassNames,\n pluginsUrl,\n getCorePlugins,\n serverUrl,\n children,\n}: AppBootstrapProps): JSX.Element {\n const clientOptions = useMemo(() => getConnectOptions(), []);\n\n // On logout, we reset the client and have user login again\n const [logoutCount, setLogoutCount] = useState(0);\n const onLogin = useCallback(() => undefined, []);\n const onLogout = useCallback(() => {\n setLogoutCount(value => value + 1);\n }, []);\n useBroadcastLoginListener(onLogin, onLogout);\n return (\n <FontBootstrap fontClassNames={fontClassNames}>\n <PluginsBootstrap getCorePlugins={getCorePlugins} pluginsUrl={pluginsUrl}>\n <ThemeBootstrap>\n <ClientBootstrap\n serverUrl={serverUrl}\n options={clientOptions}\n key={logoutCount}\n >\n <RefreshTokenBootstrap>\n <AuthBootstrap>\n <ServerConfigBootstrap>\n <UserBootstrap>\n <ConnectionBootstrap>\n <FontsLoaded>{children}</FontsLoaded>\n </ConnectionBootstrap>\n </UserBootstrap>\n </ServerConfigBootstrap>\n </AuthBootstrap>\n </RefreshTokenBootstrap>\n </ClientBootstrap>\n </ThemeBootstrap>\n </PluginsBootstrap>\n </FontBootstrap>\n );\n}\n\nexport default AppBootstrap;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAC7D,OAAO,gDAAgD;AACvD,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SACEC,qBAAqB,EACrBC,yBAAyB,QACpB,6BAA6B;AAAC,OAE9BC,aAAa;AAAA,OACbC,gBAAgB;AAAA,OAChBC,aAAa;AAAA,OACbC,mBAAmB;AAAA,SACjBC,iBAAiB;AAAA,OACnBC,WAAW;AAAA,OACXC,aAAa;AAAA,OACbC,qBAAqB;AAAA,OACrBC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAqBrB;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAAC,IAAA,EAMO;EAAA,IANN;IAC3BC,cAAc;IACdC,UAAU;IACVC,cAAc;IACdC,SAAS;IACTC;EACiB,CAAC,GAAAL,IAAA;EAClB,IAAMM,aAAa,GAAGvB,OAAO,CAAC,MAAMS,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC;;EAE5D;EACA,IAAM,CAACe,WAAW,EAAEC,cAAc,CAAC,GAAGxB,QAAQ,CAAC,CAAC,CAAC;EACjD,IAAMyB,OAAO,GAAG3B,WAAW,CAAC,MAAM4B,SAAS,EAAE,EAAE,CAAC;EAChD,IAAMC,QAAQ,GAAG7B,WAAW,CAAC,MAAM;IACjC0B,cAAc,CAACI,KAAK,IAAIA,KAAK,GAAG,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EACNzB,yBAAyB,CAACsB,OAAO,EAAEE,QAAQ,CAAC;EAC5C,oBACEb,IAAA,CAACV,aAAa;IAACa,cAAc,EAAEA,cAAe;IAAAI,QAAA,eAC5CP,IAAA,CAACT,gBAAgB;MAACc,cAAc,EAAEA,cAAe;MAACD,UAAU,EAAEA,UAAW;MAAAG,QAAA,eACvEP,IAAA,CAACF,cAAc;QAAAS,QAAA,eACbP,IAAA,CAACb,eAAe;UACdmB,SAAS,EAAEA,SAAU;UACrBS,OAAO,EAAEP,aAAc;UAAAD,QAAA,eAGvBP,IAAA,CAACZ,qBAAqB;YAAAmB,QAAA,eACpBP,IAAA,CAACR,aAAa;cAAAe,QAAA,eACZP,IAAA,CAACH,qBAAqB;gBAAAU,QAAA,eACpBP,IAAA,CAACJ,aAAa;kBAAAW,QAAA,eACZP,IAAA,CAACP,mBAAmB;oBAAAc,QAAA,eAClBP,IAAA,CAACL,WAAW;sBAAAY,QAAA,EAAEA;oBAAQ,CAAc;kBAAC,CAClB;gBAAC,CACT;cAAC,CACK;YAAC,CACX;UAAC,CACK;QAAC,GAZnBE,WAaU;MAAC,CACJ;IAAC,CACD;EAAC,CACN,CAAC;AAEpB;AAEA,eAAeR,YAAY"}
1
+ {"version":3,"file":"AppBootstrap.js","names":["React","useCallback","useMemo","useState","Provider","store","ClientBootstrap","RefreshTokenBootstrap","useBroadcastLoginListener","FontBootstrap","PluginsBootstrap","AuthBootstrap","ConnectionBootstrap","getConnectOptions","FontsLoaded","UserBootstrap","ServerConfigBootstrap","ThemeBootstrap","jsx","_jsx","AppBootstrap","_ref","fontClassNames","pluginsUrl","getCorePlugins","serverUrl","children","clientOptions","logoutCount","setLogoutCount","onLogin","undefined","onLogout","value","options"],"sources":["../../src/components/AppBootstrap.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { Provider } from 'react-redux';\nimport { store } from '@deephaven/redux';\nimport '@deephaven/components/scss/BaseStyleSheet.scss';\nimport { ClientBootstrap } from '@deephaven/jsapi-bootstrap';\nimport {\n RefreshTokenBootstrap,\n useBroadcastLoginListener,\n} from '@deephaven/jsapi-components';\nimport { type Plugin } from '@deephaven/plugin';\nimport FontBootstrap from './FontBootstrap';\nimport PluginsBootstrap from './PluginsBootstrap';\nimport AuthBootstrap from './AuthBootstrap';\nimport ConnectionBootstrap from './ConnectionBootstrap';\nimport { getConnectOptions } from '../utils';\nimport FontsLoaded from './FontsLoaded';\nimport UserBootstrap from './UserBootstrap';\nimport ServerConfigBootstrap from './ServerConfigBootstrap';\nimport ThemeBootstrap from './ThemeBootstrap';\n\nexport type AppBootstrapProps = {\n /** URL of the server. */\n serverUrl: string;\n\n /** URL of the plugins to load. */\n pluginsUrl: string;\n\n /** The core plugins to load. */\n getCorePlugins?: () => Promise<Plugin[]>;\n\n /** Font class names to load. */\n fontClassNames?: string[];\n\n /**\n * The children to render wrapped when everything is loaded and authenticated.\n */\n children: React.ReactNode;\n};\n\n/**\n * AppBootstrap component. Handles loading the fonts, client, and authentication.\n * Will display the children when everything is loaded and authenticated.\n */\nexport function AppBootstrap({\n fontClassNames,\n pluginsUrl,\n getCorePlugins,\n serverUrl,\n children,\n}: AppBootstrapProps): JSX.Element {\n const clientOptions = useMemo(() => getConnectOptions(), []);\n\n // On logout, we reset the client and have user login again\n const [logoutCount, setLogoutCount] = useState(0);\n const onLogin = useCallback(() => undefined, []);\n const onLogout = useCallback(() => {\n setLogoutCount(value => value + 1);\n }, []);\n useBroadcastLoginListener(onLogin, onLogout);\n return (\n <Provider store={store}>\n <FontBootstrap fontClassNames={fontClassNames}>\n <PluginsBootstrap\n getCorePlugins={getCorePlugins}\n pluginsUrl={pluginsUrl}\n >\n <ThemeBootstrap>\n <ClientBootstrap\n serverUrl={serverUrl}\n options={clientOptions}\n key={logoutCount}\n >\n <RefreshTokenBootstrap>\n <AuthBootstrap>\n <ServerConfigBootstrap>\n <UserBootstrap>\n <ConnectionBootstrap>\n <FontsLoaded>{children}</FontsLoaded>\n </ConnectionBootstrap>\n </UserBootstrap>\n </ServerConfigBootstrap>\n </AuthBootstrap>\n </RefreshTokenBootstrap>\n </ClientBootstrap>\n </ThemeBootstrap>\n </PluginsBootstrap>\n </FontBootstrap>\n </Provider>\n );\n}\n\nexport default AppBootstrap;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAC7D,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,KAAK,QAAQ,kBAAkB;AACxC,OAAO,gDAAgD;AACvD,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SACEC,qBAAqB,EACrBC,yBAAyB,QACpB,6BAA6B;AAAC,OAE9BC,aAAa;AAAA,OACbC,gBAAgB;AAAA,OAChBC,aAAa;AAAA,OACbC,mBAAmB;AAAA,SACjBC,iBAAiB;AAAA,OACnBC,WAAW;AAAA,OACXC,aAAa;AAAA,OACbC,qBAAqB;AAAA,OACrBC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAqBrB;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAAC,IAAA,EAMO;EAAA,IANN;IAC3BC,cAAc;IACdC,UAAU;IACVC,cAAc;IACdC,SAAS;IACTC;EACiB,CAAC,GAAAL,IAAA;EAClB,IAAMM,aAAa,GAAGzB,OAAO,CAAC,MAAMW,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC;;EAE5D;EACA,IAAM,CAACe,WAAW,EAAEC,cAAc,CAAC,GAAG1B,QAAQ,CAAC,CAAC,CAAC;EACjD,IAAM2B,OAAO,GAAG7B,WAAW,CAAC,MAAM8B,SAAS,EAAE,EAAE,CAAC;EAChD,IAAMC,QAAQ,GAAG/B,WAAW,CAAC,MAAM;IACjC4B,cAAc,CAACI,KAAK,IAAIA,KAAK,GAAG,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EACNzB,yBAAyB,CAACsB,OAAO,EAAEE,QAAQ,CAAC;EAC5C,oBACEb,IAAA,CAACf,QAAQ;IAACC,KAAK,EAAEA,KAAM;IAAAqB,QAAA,eACrBP,IAAA,CAACV,aAAa;MAACa,cAAc,EAAEA,cAAe;MAAAI,QAAA,eAC5CP,IAAA,CAACT,gBAAgB;QACfc,cAAc,EAAEA,cAAe;QAC/BD,UAAU,EAAEA,UAAW;QAAAG,QAAA,eAEvBP,IAAA,CAACF,cAAc;UAAAS,QAAA,eACbP,IAAA,CAACb,eAAe;YACdmB,SAAS,EAAEA,SAAU;YACrBS,OAAO,EAAEP,aAAc;YAAAD,QAAA,eAGvBP,IAAA,CAACZ,qBAAqB;cAAAmB,QAAA,eACpBP,IAAA,CAACR,aAAa;gBAAAe,QAAA,eACZP,IAAA,CAACH,qBAAqB;kBAAAU,QAAA,eACpBP,IAAA,CAACJ,aAAa;oBAAAW,QAAA,eACZP,IAAA,CAACP,mBAAmB;sBAAAc,QAAA,eAClBP,IAAA,CAACL,WAAW;wBAAAY,QAAA,EAAEA;sBAAQ,CAAc;oBAAC,CAClB;kBAAC,CACT;gBAAC,CACK;cAAC,CACX;YAAC,CACK;UAAC,GAZnBE,WAaU;QAAC,CACJ;MAAC,CACD;IAAC,CACN;EAAC,CACR,CAAC;AAEf;AAEA,eAAeR,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeBootstrap.d.ts","sourceRoot":"","sources":["../../src/components/ThemeBootstrap.tsx"],"names":[],"mappings":";AAOA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAqB7E;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ThemeBootstrap.d.ts","sourceRoot":"","sources":["../../src/components/ThemeBootstrap.tsx"],"names":[],"mappings":";AASA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAyB7E;AAED,eAAe,cAAc,CAAC"}
@@ -4,6 +4,8 @@ import { MonacoThemeProvider } from '@deephaven/console';
4
4
  import { ThemeProvider } from '@deephaven/components';
5
5
  import { IrisGridThemeProvider } from '@deephaven/iris-grid';
6
6
  import { getThemeDataFromPlugins, PluginsContext } from '@deephaven/plugin';
7
+ import { getSettings } from '@deephaven/redux';
8
+ import { useAppSelector } from '@deephaven/dashboard';
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
8
10
  export function ThemeBootstrap(_ref) {
9
11
  var {
@@ -14,11 +16,13 @@ export function ThemeBootstrap(_ref) {
14
16
  // directly to avoid the exception.
15
17
  var pluginModules = useContext(PluginsContext);
16
18
  var themes = useMemo(() => pluginModules == null ? null : getThemeDataFromPlugins(pluginModules), [pluginModules]);
19
+ var settings = useAppSelector(getSettings);
17
20
  return /*#__PURE__*/_jsx(ThemeProvider, {
18
21
  themes: themes,
19
22
  children: /*#__PURE__*/_jsx(ChartThemeProvider, {
20
23
  children: /*#__PURE__*/_jsx(MonacoThemeProvider, {
21
24
  children: /*#__PURE__*/_jsx(IrisGridThemeProvider, {
25
+ density: settings.gridDensity,
22
26
  children: children
23
27
  })
24
28
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeBootstrap.js","names":["useContext","useMemo","ChartThemeProvider","MonacoThemeProvider","ThemeProvider","IrisGridThemeProvider","getThemeDataFromPlugins","PluginsContext","jsx","_jsx","ThemeBootstrap","_ref","children","pluginModules","themes"],"sources":["../../src/components/ThemeBootstrap.tsx"],"sourcesContent":["import { useContext, useMemo } from 'react';\nimport { ChartThemeProvider } from '@deephaven/chart';\nimport { MonacoThemeProvider } from '@deephaven/console';\nimport { ThemeProvider } from '@deephaven/components';\nimport { IrisGridThemeProvider } from '@deephaven/iris-grid';\nimport { getThemeDataFromPlugins, PluginsContext } from '@deephaven/plugin';\n\nexport interface ThemeBootstrapProps {\n children: React.ReactNode;\n}\n\nexport function ThemeBootstrap({ children }: ThemeBootstrapProps): JSX.Element {\n // The `usePlugins` hook throws if the context value is null. Since this is\n // the state while plugins load asynchronously, we are using `useContext`\n // directly to avoid the exception.\n const pluginModules = useContext(PluginsContext);\n\n const themes = useMemo(\n () =>\n pluginModules == null ? null : getThemeDataFromPlugins(pluginModules),\n [pluginModules]\n );\n\n return (\n <ThemeProvider themes={themes}>\n <ChartThemeProvider>\n <MonacoThemeProvider>\n <IrisGridThemeProvider>{children}</IrisGridThemeProvider>\n </MonacoThemeProvider>\n </ChartThemeProvider>\n </ThemeProvider>\n );\n}\n\nexport default ThemeBootstrap;\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC3C,SAASC,kBAAkB,QAAQ,kBAAkB;AACrD,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,qBAAqB,QAAQ,sBAAsB;AAC5D,SAASC,uBAAuB,EAAEC,cAAc,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM5E,OAAO,SAASC,cAAcA,CAAAC,IAAA,EAAiD;EAAA,IAAhD;IAAEC;EAA8B,CAAC,GAAAD,IAAA;EAC9D;EACA;EACA;EACA,IAAME,aAAa,GAAGb,UAAU,CAACO,cAAc,CAAC;EAEhD,IAAMO,MAAM,GAAGb,OAAO,CACpB,MACEY,aAAa,IAAI,IAAI,GAAG,IAAI,GAAGP,uBAAuB,CAACO,aAAa,CAAC,EACvE,CAACA,aAAa,CAChB,CAAC;EAED,oBACEJ,IAAA,CAACL,aAAa;IAACU,MAAM,EAAEA,MAAO;IAAAF,QAAA,eAC5BH,IAAA,CAACP,kBAAkB;MAAAU,QAAA,eACjBH,IAAA,CAACN,mBAAmB;QAAAS,QAAA,eAClBH,IAAA,CAACJ,qBAAqB;UAAAO,QAAA,EAAEA;QAAQ,CAAwB;MAAC,CACtC;IAAC,CACJ;EAAC,CACR,CAAC;AAEpB;AAEA,eAAeF,cAAc"}
1
+ {"version":3,"file":"ThemeBootstrap.js","names":["useContext","useMemo","ChartThemeProvider","MonacoThemeProvider","ThemeProvider","IrisGridThemeProvider","getThemeDataFromPlugins","PluginsContext","getSettings","useAppSelector","jsx","_jsx","ThemeBootstrap","_ref","children","pluginModules","themes","settings","density","gridDensity"],"sources":["../../src/components/ThemeBootstrap.tsx"],"sourcesContent":["import { useContext, useMemo } from 'react';\nimport { ChartThemeProvider } from '@deephaven/chart';\nimport { MonacoThemeProvider } from '@deephaven/console';\nimport { ThemeProvider } from '@deephaven/components';\nimport { IrisGridThemeProvider } from '@deephaven/iris-grid';\nimport { getThemeDataFromPlugins, PluginsContext } from '@deephaven/plugin';\nimport { getSettings } from '@deephaven/redux';\nimport { useAppSelector } from '@deephaven/dashboard';\n\nexport interface ThemeBootstrapProps {\n children: React.ReactNode;\n}\n\nexport function ThemeBootstrap({ children }: ThemeBootstrapProps): JSX.Element {\n // The `usePlugins` hook throws if the context value is null. Since this is\n // the state while plugins load asynchronously, we are using `useContext`\n // directly to avoid the exception.\n const pluginModules = useContext(PluginsContext);\n\n const themes = useMemo(\n () =>\n pluginModules == null ? null : getThemeDataFromPlugins(pluginModules),\n [pluginModules]\n );\n\n const settings = useAppSelector(getSettings);\n\n return (\n <ThemeProvider themes={themes}>\n <ChartThemeProvider>\n <MonacoThemeProvider>\n <IrisGridThemeProvider density={settings.gridDensity}>\n {children}\n </IrisGridThemeProvider>\n </MonacoThemeProvider>\n </ChartThemeProvider>\n </ThemeProvider>\n );\n}\n\nexport default ThemeBootstrap;\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC3C,SAASC,kBAAkB,QAAQ,kBAAkB;AACrD,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,qBAAqB,QAAQ,sBAAsB;AAC5D,SAASC,uBAAuB,EAAEC,cAAc,QAAQ,mBAAmB;AAC3E,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAASC,cAAc,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMtD,OAAO,SAASC,cAAcA,CAAAC,IAAA,EAAiD;EAAA,IAAhD;IAAEC;EAA8B,CAAC,GAAAD,IAAA;EAC9D;EACA;EACA;EACA,IAAME,aAAa,GAAGf,UAAU,CAACO,cAAc,CAAC;EAEhD,IAAMS,MAAM,GAAGf,OAAO,CACpB,MACEc,aAAa,IAAI,IAAI,GAAG,IAAI,GAAGT,uBAAuB,CAACS,aAAa,CAAC,EACvE,CAACA,aAAa,CAChB,CAAC;EAED,IAAME,QAAQ,GAAGR,cAAc,CAACD,WAAW,CAAC;EAE5C,oBACEG,IAAA,CAACP,aAAa;IAACY,MAAM,EAAEA,MAAO;IAAAF,QAAA,eAC5BH,IAAA,CAACT,kBAAkB;MAAAY,QAAA,eACjBH,IAAA,CAACR,mBAAmB;QAAAW,QAAA,eAClBH,IAAA,CAACN,qBAAqB;UAACa,OAAO,EAAED,QAAQ,CAACE,WAAY;UAAAL,QAAA,EAClDA;QAAQ,CACY;MAAC,CACL;IAAC,CACJ;EAAC,CACR,CAAC;AAEpB;AAEA,eAAeF,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalWorkspaceStorage.d.ts","sourceRoot":"","sources":["../../src/storage/LocalWorkspaceStorage.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAI5C;;GAEG;AACH,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,MAAM,CAAC,QAAQ,CAAC,WAAW,gCAAgC;IAE3D,MAAM,CAAC,sBAAsB,CAC3B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,GAAG,EAAE,MAAM,GACV,OAAO,GAAG,SAAS;IAUtB,MAAM,CAAC,4BAA4B,CACjC,kBAAkB,EAAE,kBAAkB,GACrC,iBAAiB;WA8FP,iBAAiB,CAC5B,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,yBAAyB,CAAC;WAoBxB,oBAAoB,CAC/B,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,qBAAqB,CAAC;IASjC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,aAAa,EAAE,aAAa;IAKlC,IAAI,CACR,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,qBAAqB,CAAC;IAiB3B,IAAI,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAO7E;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"LocalWorkspaceStorage.d.ts","sourceRoot":"","sources":["../../src/storage/LocalWorkspaceStorage.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAI5C;;GAEG;AACH,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,MAAM,CAAC,QAAQ,CAAC,WAAW,gCAAgC;IAE3D,MAAM,CAAC,sBAAsB,CAC3B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,GAAG,EAAE,MAAM,GACV,OAAO,GAAG,SAAS;IAUtB,MAAM,CAAC,4BAA4B,CACjC,kBAAkB,EAAE,kBAAkB,GACrC,iBAAiB;WAiGP,iBAAiB,CAC5B,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,yBAAyB,CAAC;WAoBxB,oBAAoB,CAC/B,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,qBAAqB,CAAC;IASjC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,aAAa,EAAE,aAAa;IAKlC,IAAI,CACR,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,qBAAqB,CAAC;IAiB3B,IAAI,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAO7E;AAED,eAAe,qBAAqB,CAAC"}
@@ -43,7 +43,8 @@ export class LocalWorkspaceStorage {
43
43
  isMinimapEnabled: false
44
44
  },
45
45
  webgl: true,
46
- webglEditable: true
46
+ webglEditable: true,
47
+ gridDensity: 'regular'
47
48
  };
48
49
  var serverSettings = {
49
50
  defaultDateTimeFormat: serverConfigValues === null || serverConfigValues === void 0 ? void 0 : serverConfigValues.get('dateTimeFormat'),
@@ -1 +1 @@
1
- {"version":3,"file":"LocalWorkspaceStorage.js","names":["Log","DateTimeColumnFormatter","DecimalColumnFormatter","IntegerColumnFormatter","UserLayoutUtils","log","module","LocalWorkspaceStorage","getBooleanServerConfig","serverConfigValues","key","_serverConfigValues$g","_serverConfigValues$g2","get","toLowerCase","undefined","makeDefaultWorkspaceSettings","settings","defaultDateTimeFormat","DEFAULT_DATETIME_FORMAT_STRING","formatter","timeZone","DEFAULT_TIME_ZONE_ID","showTimeZone","showTSeparator","disableMoveConfirmation","defaultDecimalFormatOptions","defaultFormatString","DEFAULT_FORMAT_STRING","defaultIntegerFormatOptions","truncateNumbersWithPound","showEmptyStrings","showNullStrings","defaultNotebookSettings","isMinimapEnabled","webgl","webglEditable","serverSettings","keys","Object","i","length","makeWorkspaceData","layoutStorage","options","_asyncToGenerator","filterSets","links","layoutConfig","pluginDataMap","getDefaultLayout","isConsoleAvailable","closed","makeDefaultWorkspace","data","constructor","_defineProperty","load","_this","_localStorage$getItem","workspace","JSON","parse","localStorage","getItem","STORAGE_KEY","e","info","save","setItem","stringify"],"sources":["../../src/storage/LocalWorkspaceStorage.ts"],"sourcesContent":["import Log from '@deephaven/log';\nimport {\n WorkspaceStorage,\n WorkspaceStorageLoadOptions,\n CustomizableWorkspaceData,\n CustomizableWorkspace,\n WorkspaceSettings,\n ServerConfigValues,\n} from '@deephaven/redux';\nimport {\n DateTimeColumnFormatter,\n DecimalColumnFormatter,\n IntegerColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport UserLayoutUtils from './UserLayoutUtils';\nimport LayoutStorage from './LayoutStorage';\n\nconst log = Log.module('LocalWorkspaceStorage');\n\n/**\n * Implementation of WorkspaceStorage that just stores the workspace data in localStorage\n */\nexport class LocalWorkspaceStorage implements WorkspaceStorage {\n static readonly STORAGE_KEY = 'deephaven.WorkspaceStorage';\n\n static getBooleanServerConfig(\n serverConfigValues: Map<string, string> | undefined,\n key: string\n ): boolean | undefined {\n if (serverConfigValues?.get(key)?.toLowerCase() === 'true') {\n return true;\n }\n if (serverConfigValues?.get(key)?.toLowerCase() === 'false') {\n return false;\n }\n return undefined;\n }\n\n static makeDefaultWorkspaceSettings(\n serverConfigValues: ServerConfigValues\n ): WorkspaceSettings {\n const settings = {\n defaultDateTimeFormat:\n DateTimeColumnFormatter.DEFAULT_DATETIME_FORMAT_STRING,\n formatter: [],\n timeZone: DateTimeColumnFormatter.DEFAULT_TIME_ZONE_ID,\n showTimeZone: false,\n showTSeparator: true,\n disableMoveConfirmation: false,\n defaultDecimalFormatOptions: {\n defaultFormatString: DecimalColumnFormatter.DEFAULT_FORMAT_STRING,\n },\n defaultIntegerFormatOptions: {\n defaultFormatString: IntegerColumnFormatter.DEFAULT_FORMAT_STRING,\n },\n truncateNumbersWithPound: false,\n showEmptyStrings: true,\n showNullStrings: true,\n defaultNotebookSettings: {\n isMinimapEnabled: false,\n },\n webgl: true,\n webglEditable: true,\n };\n const serverSettings = {\n defaultDateTimeFormat: serverConfigValues?.get('dateTimeFormat'),\n formatter: [],\n timeZone: serverConfigValues?.get('timeZone'),\n showTimeZone: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showTimeZone'\n ),\n showTSeparator: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showTSeparator'\n ),\n disableMoveConfirmation: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'disableMoveConfirmation'\n ),\n defaultDecimalFormatOptions:\n serverConfigValues?.get('decimalFormat') !== undefined\n ? {\n defaultFormatString: serverConfigValues?.get('decimalFormat'),\n }\n : undefined,\n defaultIntegerFormatOptions:\n serverConfigValues?.get('integerFormat') !== undefined\n ? {\n defaultFormatString: serverConfigValues?.get('integerFormat'),\n }\n : undefined,\n truncateNumbersWithPound: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'truncateNumbersWithPound'\n ),\n showEmptyStrings: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showEmptyStrings'\n ),\n showNullStrings: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showNullStrings'\n ),\n defaultNotebookSettings:\n serverConfigValues?.get('isMinimapEnabled') !== undefined\n ? {\n isMinimapEnabled: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'isMinimapEnabled'\n ) as boolean,\n }\n : undefined,\n webgl: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'web.webgl'\n ),\n webglEditable: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'web.webgl.editable'\n ),\n };\n\n const keys = Object.keys(serverSettings) as Array<keyof typeof settings>;\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n if (serverSettings[key] !== undefined) {\n // @ts-expect-error override default for defined server settings\n settings[key] = serverSettings[key];\n }\n }\n return settings;\n }\n\n static async makeWorkspaceData(\n layoutStorage: LayoutStorage,\n options?: WorkspaceStorageLoadOptions\n ): Promise<CustomizableWorkspaceData> {\n const {\n filterSets,\n links,\n layoutConfig,\n pluginDataMap = {},\n } = await UserLayoutUtils.getDefaultLayout(\n layoutStorage,\n options?.isConsoleAvailable\n );\n return {\n settings: {},\n layoutConfig,\n closed: [{}],\n links,\n filterSets,\n pluginDataMap,\n };\n }\n\n static async makeDefaultWorkspace(\n layoutStorage: LayoutStorage,\n options?: WorkspaceStorageLoadOptions\n ): Promise<CustomizableWorkspace> {\n return {\n data: await LocalWorkspaceStorage.makeWorkspaceData(\n layoutStorage,\n options\n ),\n };\n }\n\n private layoutStorage: LayoutStorage;\n\n constructor(layoutStorage: LayoutStorage) {\n this.layoutStorage = layoutStorage;\n }\n\n // eslint-disable-next-line class-methods-use-this\n async load(\n options?: WorkspaceStorageLoadOptions\n ): Promise<CustomizableWorkspace> {\n try {\n const workspace = JSON.parse(\n localStorage.getItem(LocalWorkspaceStorage.STORAGE_KEY) ?? ''\n );\n return workspace;\n } catch (e) {\n log.info('Unable to load workspace data, initializing to default data');\n\n return LocalWorkspaceStorage.makeDefaultWorkspace(\n this.layoutStorage,\n options\n );\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n async save(workspace: CustomizableWorkspace): Promise<CustomizableWorkspace> {\n localStorage.setItem(\n LocalWorkspaceStorage.STORAGE_KEY,\n JSON.stringify(workspace)\n );\n return workspace;\n }\n}\n\nexport default LocalWorkspaceStorage;\n"],"mappings":"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"}
1
+ {"version":3,"file":"LocalWorkspaceStorage.js","names":["Log","DateTimeColumnFormatter","DecimalColumnFormatter","IntegerColumnFormatter","UserLayoutUtils","log","module","LocalWorkspaceStorage","getBooleanServerConfig","serverConfigValues","key","_serverConfigValues$g","_serverConfigValues$g2","get","toLowerCase","undefined","makeDefaultWorkspaceSettings","settings","defaultDateTimeFormat","DEFAULT_DATETIME_FORMAT_STRING","formatter","timeZone","DEFAULT_TIME_ZONE_ID","showTimeZone","showTSeparator","disableMoveConfirmation","defaultDecimalFormatOptions","defaultFormatString","DEFAULT_FORMAT_STRING","defaultIntegerFormatOptions","truncateNumbersWithPound","showEmptyStrings","showNullStrings","defaultNotebookSettings","isMinimapEnabled","webgl","webglEditable","gridDensity","serverSettings","keys","Object","i","length","makeWorkspaceData","layoutStorage","options","_asyncToGenerator","filterSets","links","layoutConfig","pluginDataMap","getDefaultLayout","isConsoleAvailable","closed","makeDefaultWorkspace","data","constructor","_defineProperty","load","_this","_localStorage$getItem","workspace","JSON","parse","localStorage","getItem","STORAGE_KEY","e","info","save","setItem","stringify"],"sources":["../../src/storage/LocalWorkspaceStorage.ts"],"sourcesContent":["import Log from '@deephaven/log';\nimport {\n WorkspaceStorage,\n WorkspaceStorageLoadOptions,\n CustomizableWorkspaceData,\n CustomizableWorkspace,\n WorkspaceSettings,\n ServerConfigValues,\n} from '@deephaven/redux';\nimport {\n DateTimeColumnFormatter,\n DecimalColumnFormatter,\n IntegerColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport UserLayoutUtils from './UserLayoutUtils';\nimport LayoutStorage from './LayoutStorage';\n\nconst log = Log.module('LocalWorkspaceStorage');\n\n/**\n * Implementation of WorkspaceStorage that just stores the workspace data in localStorage\n */\nexport class LocalWorkspaceStorage implements WorkspaceStorage {\n static readonly STORAGE_KEY = 'deephaven.WorkspaceStorage';\n\n static getBooleanServerConfig(\n serverConfigValues: Map<string, string> | undefined,\n key: string\n ): boolean | undefined {\n if (serverConfigValues?.get(key)?.toLowerCase() === 'true') {\n return true;\n }\n if (serverConfigValues?.get(key)?.toLowerCase() === 'false') {\n return false;\n }\n return undefined;\n }\n\n static makeDefaultWorkspaceSettings(\n serverConfigValues: ServerConfigValues\n ): WorkspaceSettings {\n const settings = {\n defaultDateTimeFormat:\n DateTimeColumnFormatter.DEFAULT_DATETIME_FORMAT_STRING,\n formatter: [],\n timeZone: DateTimeColumnFormatter.DEFAULT_TIME_ZONE_ID,\n showTimeZone: false,\n showTSeparator: true,\n disableMoveConfirmation: false,\n defaultDecimalFormatOptions: {\n defaultFormatString: DecimalColumnFormatter.DEFAULT_FORMAT_STRING,\n },\n defaultIntegerFormatOptions: {\n defaultFormatString: IntegerColumnFormatter.DEFAULT_FORMAT_STRING,\n },\n truncateNumbersWithPound: false,\n showEmptyStrings: true,\n showNullStrings: true,\n defaultNotebookSettings: {\n isMinimapEnabled: false,\n },\n webgl: true,\n webglEditable: true,\n gridDensity: 'regular' as const,\n };\n const serverSettings = {\n defaultDateTimeFormat: serverConfigValues?.get('dateTimeFormat'),\n formatter: [],\n timeZone: serverConfigValues?.get('timeZone'),\n showTimeZone: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showTimeZone'\n ),\n showTSeparator: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showTSeparator'\n ),\n disableMoveConfirmation: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'disableMoveConfirmation'\n ),\n defaultDecimalFormatOptions:\n serverConfigValues?.get('decimalFormat') !== undefined\n ? {\n defaultFormatString: serverConfigValues?.get('decimalFormat'),\n }\n : undefined,\n defaultIntegerFormatOptions:\n serverConfigValues?.get('integerFormat') !== undefined\n ? {\n defaultFormatString: serverConfigValues?.get('integerFormat'),\n }\n : undefined,\n truncateNumbersWithPound: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'truncateNumbersWithPound'\n ),\n showEmptyStrings: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showEmptyStrings'\n ),\n showNullStrings: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'showNullStrings'\n ),\n defaultNotebookSettings:\n serverConfigValues?.get('isMinimapEnabled') !== undefined\n ? {\n isMinimapEnabled: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'isMinimapEnabled'\n ) as boolean,\n }\n : undefined,\n webgl: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'web.webgl'\n ),\n webglEditable: LocalWorkspaceStorage.getBooleanServerConfig(\n serverConfigValues,\n 'web.webgl.editable'\n ),\n };\n\n const keys = Object.keys(serverSettings) as Array<\n keyof typeof serverSettings\n >;\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n if (serverSettings[key] !== undefined) {\n // @ts-expect-error override default for defined server settings\n settings[key] = serverSettings[key];\n }\n }\n return settings;\n }\n\n static async makeWorkspaceData(\n layoutStorage: LayoutStorage,\n options?: WorkspaceStorageLoadOptions\n ): Promise<CustomizableWorkspaceData> {\n const {\n filterSets,\n links,\n layoutConfig,\n pluginDataMap = {},\n } = await UserLayoutUtils.getDefaultLayout(\n layoutStorage,\n options?.isConsoleAvailable\n );\n return {\n settings: {},\n layoutConfig,\n closed: [{}],\n links,\n filterSets,\n pluginDataMap,\n };\n }\n\n static async makeDefaultWorkspace(\n layoutStorage: LayoutStorage,\n options?: WorkspaceStorageLoadOptions\n ): Promise<CustomizableWorkspace> {\n return {\n data: await LocalWorkspaceStorage.makeWorkspaceData(\n layoutStorage,\n options\n ),\n };\n }\n\n private layoutStorage: LayoutStorage;\n\n constructor(layoutStorage: LayoutStorage) {\n this.layoutStorage = layoutStorage;\n }\n\n // eslint-disable-next-line class-methods-use-this\n async load(\n options?: WorkspaceStorageLoadOptions\n ): Promise<CustomizableWorkspace> {\n try {\n const workspace = JSON.parse(\n localStorage.getItem(LocalWorkspaceStorage.STORAGE_KEY) ?? ''\n );\n return workspace;\n } catch (e) {\n log.info('Unable to load workspace data, initializing to default data');\n\n return LocalWorkspaceStorage.makeDefaultWorkspace(\n this.layoutStorage,\n options\n );\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n async save(workspace: CustomizableWorkspace): Promise<CustomizableWorkspace> {\n localStorage.setItem(\n LocalWorkspaceStorage.STORAGE_KEY,\n JSON.stringify(workspace)\n );\n return workspace;\n }\n}\n\nexport default LocalWorkspaceStorage;\n"],"mappings":";;;;;AAAA,OAAOA,GAAG,MAAM,gBAAgB;AAShC,SACEC,uBAAuB,EACvBC,sBAAsB,EACtBC,sBAAsB,QACjB,wBAAwB;AAAC,OACzBC,eAAe;AAGtB,IAAMC,GAAG,GAAGL,GAAG,CAACM,MAAM,CAAC,uBAAuB,CAAC;;AAE/C;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,CAA6B;EAG7D,OAAOC,sBAAsBA,CAC3BC,kBAAmD,EACnDC,GAAW,EACU;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACrB,IAAI,CAAAH,kBAAkB,aAAlBA,kBAAkB,wBAAAE,qBAAA,GAAlBF,kBAAkB,CAAEI,GAAG,CAACH,GAAG,CAAC,cAAAC,qBAAA,uBAA5BA,qBAAA,CAA8BG,WAAW,CAAC,CAAC,MAAK,MAAM,EAAE;MAC1D,OAAO,IAAI;IACb;IACA,IAAI,CAAAL,kBAAkB,aAAlBA,kBAAkB,wBAAAG,sBAAA,GAAlBH,kBAAkB,CAAEI,GAAG,CAACH,GAAG,CAAC,cAAAE,sBAAA,uBAA5BA,sBAAA,CAA8BE,WAAW,CAAC,CAAC,MAAK,OAAO,EAAE;MAC3D,OAAO,KAAK;IACd;IACA,OAAOC,SAAS;EAClB;EAEA,OAAOC,4BAA4BA,CACjCP,kBAAsC,EACnB;IACnB,IAAMQ,QAAQ,GAAG;MACfC,qBAAqB,EACnBjB,uBAAuB,CAACkB,8BAA8B;MACxDC,SAAS,EAAE,EAAE;MACbC,QAAQ,EAAEpB,uBAAuB,CAACqB,oBAAoB;MACtDC,YAAY,EAAE,KAAK;MACnBC,cAAc,EAAE,IAAI;MACpBC,uBAAuB,EAAE,KAAK;MAC9BC,2BAA2B,EAAE;QAC3BC,mBAAmB,EAAEzB,sBAAsB,CAAC0B;MAC9C,CAAC;MACDC,2BAA2B,EAAE;QAC3BF,mBAAmB,EAAExB,sBAAsB,CAACyB;MAC9C,CAAC;MACDE,wBAAwB,EAAE,KAAK;MAC/BC,gBAAgB,EAAE,IAAI;MACtBC,eAAe,EAAE,IAAI;MACrBC,uBAAuB,EAAE;QACvBC,gBAAgB,EAAE;MACpB,CAAC;MACDC,KAAK,EAAE,IAAI;MACXC,aAAa,EAAE,IAAI;MACnBC,WAAW,EAAE;IACf,CAAC;IACD,IAAMC,cAAc,GAAG;MACrBpB,qBAAqB,EAAET,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEI,GAAG,CAAC,gBAAgB,CAAC;MAChEO,SAAS,EAAE,EAAE;MACbC,QAAQ,EAAEZ,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEI,GAAG,CAAC,UAAU,CAAC;MAC7CU,YAAY,EAAEhB,qBAAqB,CAACC,sBAAsB,CACxDC,kBAAkB,EAClB,cACF,CAAC;MACDe,cAAc,EAAEjB,qBAAqB,CAACC,sBAAsB,CAC1DC,kBAAkB,EAClB,gBACF,CAAC;MACDgB,uBAAuB,EAAElB,qBAAqB,CAACC,sBAAsB,CACnEC,kBAAkB,EAClB,yBACF,CAAC;MACDiB,2BAA2B,EACzB,CAAAjB,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEI,GAAG,CAAC,eAAe,CAAC,MAAKE,SAAS,GAClD;QACEY,mBAAmB,EAAElB,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEI,GAAG,CAAC,eAAe;MAC9D,CAAC,GACDE,SAAS;MACfc,2BAA2B,EACzB,CAAApB,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEI,GAAG,CAAC,eAAe,CAAC,MAAKE,SAAS,GAClD;QACEY,mBAAmB,EAAElB,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEI,GAAG,CAAC,eAAe;MAC9D,CAAC,GACDE,SAAS;MACfe,wBAAwB,EAAEvB,qBAAqB,CAACC,sBAAsB,CACpEC,kBAAkB,EAClB,0BACF,CAAC;MACDsB,gBAAgB,EAAExB,qBAAqB,CAACC,sBAAsB,CAC5DC,kBAAkB,EAClB,kBACF,CAAC;MACDuB,eAAe,EAAEzB,qBAAqB,CAACC,sBAAsB,CAC3DC,kBAAkB,EAClB,iBACF,CAAC;MACDwB,uBAAuB,EACrB,CAAAxB,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEI,GAAG,CAAC,kBAAkB,CAAC,MAAKE,SAAS,GACrD;QACEmB,gBAAgB,EAAE3B,qBAAqB,CAACC,sBAAsB,CAC5DC,kBAAkB,EAClB,kBACF;MACF,CAAC,GACDM,SAAS;MACfoB,KAAK,EAAE5B,qBAAqB,CAACC,sBAAsB,CACjDC,kBAAkB,EAClB,WACF,CAAC;MACD2B,aAAa,EAAE7B,qBAAqB,CAACC,sBAAsB,CACzDC,kBAAkB,EAClB,oBACF;IACF,CAAC;IAED,IAAM8B,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,cAAc,CAEtC;IACD,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACG,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;MACvC,IAAM/B,GAAG,GAAG6B,IAAI,CAACE,CAAC,CAAC;MACnB,IAAIH,cAAc,CAAC5B,GAAG,CAAC,KAAKK,SAAS,EAAE;QACrC;QACAE,QAAQ,CAACP,GAAG,CAAC,GAAG4B,cAAc,CAAC5B,GAAG,CAAC;MACrC;IACF;IACA,OAAOO,QAAQ;EACjB;EAEA,OAAa0B,iBAAiBA,CAC5BC,aAA4B,EAC5BC,OAAqC,EACD;IAAA,OAAAC,iBAAA;MACpC,IAAM;QACJC,UAAU;QACVC,KAAK;QACLC,YAAY;QACZC,aAAa,GAAG,CAAC;MACnB,CAAC,SAAS9C,eAAe,CAAC+C,gBAAgB,CACxCP,aAAa,EACbC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,kBACX,CAAC;MACD,OAAO;QACLnC,QAAQ,EAAE,CAAC,CAAC;QACZgC,YAAY;QACZI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACZL,KAAK;QACLD,UAAU;QACVG;MACF,CAAC;IAAC;EACJ;EAEA,OAAaI,oBAAoBA,CAC/BV,aAA4B,EAC5BC,OAAqC,EACL;IAAA,OAAAC,iBAAA;MAChC,OAAO;QACLS,IAAI,QAAQhD,qBAAqB,CAACoC,iBAAiB,CACjDC,aAAa,EACbC,OACF;MACF,CAAC;IAAC;EACJ;EAIAW,WAAWA,CAACZ,aAA4B,EAAE;IAAAa,eAAA;IACxC,IAAI,CAACb,aAAa,GAAGA,aAAa;EACpC;;EAEA;EACMc,IAAIA,CACRb,OAAqC,EACL;IAAA,IAAAc,KAAA;IAAA,OAAAb,iBAAA;MAChC,IAAI;QAAA,IAAAc,qBAAA;QACF,IAAMC,SAAS,GAAGC,IAAI,CAACC,KAAK,EAAAH,qBAAA,GAC1BI,YAAY,CAACC,OAAO,CAAC1D,qBAAqB,CAAC2D,WAAW,CAAC,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,EAC7D,CAAC;QACD,OAAOC,SAAS;MAClB,CAAC,CAAC,OAAOM,CAAC,EAAE;QACV9D,GAAG,CAAC+D,IAAI,CAAC,6DAA6D,CAAC;QAEvE,OAAO7D,qBAAqB,CAAC+C,oBAAoB,CAC/CK,KAAI,CAACf,aAAa,EAClBC,OACF,CAAC;MACH;IAAC;EACH;;EAEA;EACMwB,IAAIA,CAACR,SAAgC,EAAkC;IAAA,OAAAf,iBAAA;MAC3EkB,YAAY,CAACM,OAAO,CAClB/D,qBAAqB,CAAC2D,WAAW,EACjCJ,IAAI,CAACS,SAAS,CAACV,SAAS,CAC1B,CAAC;MACD,OAAOA,SAAS;IAAC;EACnB;AACF;AAACJ,eAAA,CAvLYlD,qBAAqB,iBACF,4BAA4B;AAwL5D,eAAeA,qBAAqB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/app-utils",
3
- "version": "0.86.2-beta.0+8b20692b",
3
+ "version": "0.87.1-beta.1+7fb4f64b",
4
4
  "description": "Deephaven App Utils",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -29,26 +29,26 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@adobe/react-spectrum": "3.35.1",
32
- "@deephaven/auth-plugins": "^0.86.2-beta.0+8b20692b",
33
- "@deephaven/chart": "^0.86.2-beta.0+8b20692b",
34
- "@deephaven/components": "^0.86.2-beta.0+8b20692b",
35
- "@deephaven/console": "^0.86.2-beta.0+8b20692b",
36
- "@deephaven/dashboard": "^0.86.2-beta.0+8b20692b",
37
- "@deephaven/dashboard-core-plugins": "^0.86.2-beta.0+8b20692b",
38
- "@deephaven/file-explorer": "^0.86.2-beta.0+8b20692b",
39
- "@deephaven/golden-layout": "^0.86.2-beta.0+8b20692b",
40
- "@deephaven/icons": "^0.86.2-beta.0+8b20692b",
41
- "@deephaven/iris-grid": "^0.86.2-beta.0+8b20692b",
42
- "@deephaven/jsapi-bootstrap": "^0.86.2-beta.0+8b20692b",
43
- "@deephaven/jsapi-components": "^0.86.2-beta.0+8b20692b",
32
+ "@deephaven/auth-plugins": "^0.87.1-beta.1+7fb4f64b",
33
+ "@deephaven/chart": "^0.87.1-beta.1+7fb4f64b",
34
+ "@deephaven/components": "^0.87.1-beta.1+7fb4f64b",
35
+ "@deephaven/console": "^0.87.1-beta.1+7fb4f64b",
36
+ "@deephaven/dashboard": "^0.87.1-beta.1+7fb4f64b",
37
+ "@deephaven/dashboard-core-plugins": "^0.87.1-beta.1+7fb4f64b",
38
+ "@deephaven/file-explorer": "^0.87.1-beta.1+7fb4f64b",
39
+ "@deephaven/golden-layout": "^0.87.1-beta.1+7fb4f64b",
40
+ "@deephaven/icons": "^0.87.1-beta.1+7fb4f64b",
41
+ "@deephaven/iris-grid": "^0.87.1-beta.1+7fb4f64b",
42
+ "@deephaven/jsapi-bootstrap": "^0.87.1-beta.1+7fb4f64b",
43
+ "@deephaven/jsapi-components": "^0.87.1-beta.1+7fb4f64b",
44
44
  "@deephaven/jsapi-types": "^1.0.0-dev0.34.0",
45
- "@deephaven/jsapi-utils": "^0.86.2-beta.0+8b20692b",
46
- "@deephaven/log": "^0.86.2-beta.0+8b20692b",
47
- "@deephaven/plugin": "^0.86.2-beta.0+8b20692b",
48
- "@deephaven/react-hooks": "^0.86.2-beta.0+8b20692b",
49
- "@deephaven/redux": "^0.86.2-beta.0+8b20692b",
50
- "@deephaven/storage": "^0.86.2-beta.0+8b20692b",
51
- "@deephaven/utils": "^0.86.2-beta.0+8b20692b",
45
+ "@deephaven/jsapi-utils": "^0.87.1-beta.1+7fb4f64b",
46
+ "@deephaven/log": "^0.87.1-beta.1+7fb4f64b",
47
+ "@deephaven/plugin": "^0.87.1-beta.1+7fb4f64b",
48
+ "@deephaven/react-hooks": "^0.87.1-beta.1+7fb4f64b",
49
+ "@deephaven/redux": "^0.87.1-beta.1+7fb4f64b",
50
+ "@deephaven/storage": "^0.87.1-beta.1+7fb4f64b",
51
+ "@deephaven/utils": "^0.87.1-beta.1+7fb4f64b",
52
52
  "@fontsource/fira-mono": "5.0.13",
53
53
  "@fontsource/fira-sans": "5.0.20",
54
54
  "@paciolan/remote-component": "2.13.0",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "8b20692b03b419ba4670829476d87189dcc0da85"
75
+ "gitHead": "7fb4f64bf9822c95faa961c53f480da4ea9e0401"
76
76
  }