@deephaven/dashboard-core-plugins 0.15.5 → 0.15.6-beta.5
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/ChartBuilderPlugin.js.map +1 -1
- package/dist/ChartPlugin.d.ts +2 -1
- package/dist/ChartPlugin.d.ts.map +1 -1
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/GridPlugin.d.ts +2 -1
- package/dist/GridPlugin.d.ts.map +1 -1
- package/dist/GridPlugin.js.map +1 -1
- package/dist/PandasPlugin.d.ts +2 -1
- package/dist/PandasPlugin.d.ts.map +1 -1
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/linker/index.d.ts +2 -0
- package/dist/linker/index.d.ts.map +1 -0
- package/dist/linker/index.js +2 -0
- package/dist/linker/index.js.map +1 -0
- package/dist/panels/ChartFilterOverlay.d.ts +4 -2
- package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
- package/dist/panels/ChartFilterOverlay.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +57 -19
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +25 -14
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +1 -1
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +5 -5
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts.map +1 -1
- package/dist/panels/NotebookPanel.js +2 -3
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/PandasPanel.d.ts +1 -1
- package/dist/panels/PandasPanel.d.ts.map +1 -1
- package/dist/panels/PandasPanel.js +2 -2
- package/dist/panels/PandasPanel.js.map +1 -1
- package/dist/panels/index.d.ts +3 -0
- package/dist/panels/index.d.ts.map +1 -1
- package/dist/panels/index.js +3 -0
- package/dist/panels/index.js.map +1 -1
- package/dist/redux/selectors.d.ts +4 -4
- package/dist/redux/selectors.js +4 -4
- package/dist/redux/selectors.js.map +1 -1
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ChartBuilderPlugin.tsx"],"names":["React","useCallback","ChartModelFactory","ChartUtils","assertIsDashboardPluginProps","LayoutUtils","useListener","shortid","IrisGridEvent","ChartPanel","ChartBuilderPlugin","props","id","layout","handleCreateChart","metadata","panelId","generate","table","settings","makeModel","makeModelFromSettings","title","titleFromSettings","config","type","component","COMPONENT","localDashboardId","root","openComponent","eventHub","CREATE_CHART"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,SAASC,iBAAT,EAA4BC,UAA5B,QAA8C,kBAA9C;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,WAJF,QAKO,sBALP;AAOA,OAAOC,OAAP,MAAoB,SAApB;SACSC,a;SACAC,U;;AAIT;AACA;AACA;AACA;AACA,OAAO,IAAMC,kBAAkB,GAC7BC,KADgC,IAEhB;AAChBP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA;AAAN,MAAiBF,KAAvB;AACA,MAAMG,iBAAiB,GAAGb,WAAW,CACnC,QAmBM;AAAA,QAnBL;AACCc,MAAAA,QADD;AAECC,MAAAA,OAAO,GAAGT,OAAO,CAACU,QAAR,EAFX;AAGCC,MAAAA;AAHD,KAmBK;AACJ,QAAM;AAAEC,MAAAA;AAAF,QAAeJ,QAArB;;AACA,QAAMK,SAAS,GAAG,MAChB;AACAlB,IAAAA,iBAAiB,CAACmB,qBAAlB,CAAwCF,QAAxC,EAAyDD,KAAzD,CAFF;;AAGA,QAAMI,KAAK,GAAGnB,UAAU,CAACoB,iBAAX,CAA6BJ,QAA7B,CAAd;AAEA,QAAMK,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEjB,UAAU,CAACkB,SAFT;AAGbhB,MAAAA,KAAK,EAAE;AACLiB,QAAAA,gBAAgB,EAAEhB,EADb;AAELA,QAAAA,EAAE,EAAEI,OAFC;AAGLD,QAAAA,QAHK;AAILK,QAAAA;AAJK,OAHM;AASbE,MAAAA,KATa;AAUbV,MAAAA,EAAE,EAAEI;AAVS,KAAf;AAaA,QAAM;AAAEa,MAAAA;AAAF,QAAWhB,MAAjB;AACAR,IAAAA,WAAW,CAACyB,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA;AAAR,KAA1B;AACD,GA1CkC,EA2CnC,CAACZ,EAAD,EAAKC,MAAL,CA3CmC,CAArC;AA8CAP,EAAAA,WAAW,CAACO,MAAM,CAACkB,QAAR,EAAkBvB,aAAa,CAACwB,YAAhC,EAA8ClB,iBAA9C,CAAX;AAEA,sBAAO,yCAAP;AACD,CAtDM;AAwDP,eAAeJ,kBAAf","sourcesContent":["import React, { useCallback } from 'react';\nimport { ChartModelFactory, ChartUtils } from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n useListener,\n} from '@deephaven/dashboard';\nimport { Table } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { IrisGridEvent } from './events';\nimport { ChartPanel } from './panels';\n\nexport type ChartBuilderPluginProps = Partial<DashboardPluginComponentProps>;\n\n/**\n * Listens for IrisGridEvent.CREATE_CHART and creates a chart from the settings provided\n * Requires the GridPlugin and ChartPlugin plugins to be loaded as well\n */\nexport const ChartBuilderPlugin = (\n props: ChartBuilderPluginProps\n): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { id, layout } = props;\n const handleCreateChart = useCallback(\n ({\n metadata,\n panelId = shortid.generate(),\n table,\n }: {\n metadata: {\n settings: {\n type:
|
|
1
|
+
{"version":3,"sources":["../src/ChartBuilderPlugin.tsx"],"names":["React","useCallback","ChartModelFactory","ChartUtils","assertIsDashboardPluginProps","LayoutUtils","useListener","shortid","IrisGridEvent","ChartPanel","ChartBuilderPlugin","props","id","layout","handleCreateChart","metadata","panelId","generate","table","settings","makeModel","makeModelFromSettings","title","titleFromSettings","config","type","component","COMPONENT","localDashboardId","root","openComponent","eventHub","CREATE_CHART"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,SAASC,iBAAT,EAA4BC,UAA5B,QAA8C,kBAA9C;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,WAJF,QAKO,sBALP;AAOA,OAAOC,OAAP,MAAoB,SAApB;SACSC,a;SACAC,U;;AAIT;AACA;AACA;AACA;AACA,OAAO,IAAMC,kBAAkB,GAC7BC,KADgC,IAEhB;AAChBP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA;AAAN,MAAiBF,KAAvB;AACA,MAAMG,iBAAiB,GAAGb,WAAW,CACnC,QAmBM;AAAA,QAnBL;AACCc,MAAAA,QADD;AAECC,MAAAA,OAAO,GAAGT,OAAO,CAACU,QAAR,EAFX;AAGCC,MAAAA;AAHD,KAmBK;AACJ,QAAM;AAAEC,MAAAA;AAAF,QAAeJ,QAArB;;AACA,QAAMK,SAAS,GAAG,MAChB;AACAlB,IAAAA,iBAAiB,CAACmB,qBAAlB,CAAwCF,QAAxC,EAAyDD,KAAzD,CAFF;;AAGA,QAAMI,KAAK,GAAGnB,UAAU,CAACoB,iBAAX,CAA6BJ,QAA7B,CAAd;AAEA,QAAMK,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEjB,UAAU,CAACkB,SAFT;AAGbhB,MAAAA,KAAK,EAAE;AACLiB,QAAAA,gBAAgB,EAAEhB,EADb;AAELA,QAAAA,EAAE,EAAEI,OAFC;AAGLD,QAAAA,QAHK;AAILK,QAAAA;AAJK,OAHM;AASbE,MAAAA,KATa;AAUbV,MAAAA,EAAE,EAAEI;AAVS,KAAf;AAaA,QAAM;AAAEa,MAAAA;AAAF,QAAWhB,MAAjB;AACAR,IAAAA,WAAW,CAACyB,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA;AAAR,KAA1B;AACD,GA1CkC,EA2CnC,CAACZ,EAAD,EAAKC,MAAL,CA3CmC,CAArC;AA8CAP,EAAAA,WAAW,CAACO,MAAM,CAACkB,QAAR,EAAkBvB,aAAa,CAACwB,YAAhC,EAA8ClB,iBAA9C,CAAX;AAEA,sBAAO,yCAAP;AACD,CAtDM;AAwDP,eAAeJ,kBAAf","sourcesContent":["import React, { useCallback } from 'react';\nimport { ChartModelFactory, ChartUtils } from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n useListener,\n} from '@deephaven/dashboard';\nimport { SeriesPlotStyle, Table } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { IrisGridEvent } from './events';\nimport { ChartPanel } from './panels';\n\nexport type ChartBuilderPluginProps = Partial<DashboardPluginComponentProps>;\n\n/**\n * Listens for IrisGridEvent.CREATE_CHART and creates a chart from the settings provided\n * Requires the GridPlugin and ChartPlugin plugins to be loaded as well\n */\nexport const ChartBuilderPlugin = (\n props: ChartBuilderPluginProps\n): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { id, layout } = props;\n const handleCreateChart = useCallback(\n ({\n metadata,\n panelId = shortid.generate(),\n table,\n }: {\n metadata: {\n settings: {\n type: keyof SeriesPlotStyle;\n series: string[];\n xAxis: string;\n isLinked: boolean;\n hiddenSeries?: string[];\n };\n sourcePanelId: string;\n table: string;\n tableSettings: Record<string, unknown>;\n };\n panelId?: string;\n table: Table;\n }) => {\n const { settings } = metadata;\n const makeModel = () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ChartModelFactory.makeModelFromSettings(settings as any, table);\n const title = ChartUtils.titleFromSettings(settings);\n\n const config = {\n type: 'react-component',\n component: ChartPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config });\n },\n [id, layout]\n );\n\n useListener(layout.eventHub, IrisGridEvent.CREATE_CHART, handleCreateChart);\n\n return <></>;\n};\n\nexport default ChartBuilderPlugin;\n"],"file":"ChartBuilderPlugin.js"}
|
package/dist/ChartPlugin.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { DashboardPluginComponentProps, PanelHydrateFunction } from '@deephaven/dashboard';
|
|
3
|
+
import { ChartPanelProps } from './panels';
|
|
3
4
|
export declare type ChartPluginProps = Partial<DashboardPluginComponentProps> & {
|
|
4
|
-
hydrate: PanelHydrateFunction
|
|
5
|
+
hydrate: PanelHydrateFunction<ChartPanelProps>;
|
|
5
6
|
};
|
|
6
7
|
export declare const ChartPlugin: (props: ChartPluginProps) => JSX.Element;
|
|
7
8
|
export default ChartPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAc,eAAe,EAAE,MAAM,UAAU,CAAC;AAEvD,oBAAY,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACtE,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;CAChD,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,WA+DrD,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/dist/ChartPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","ChartModelFactory","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","shortid","ChartPanel","ChartPlugin","props","id","layout","registerComponent","hydrate","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","dh","VariableType","FIGURE","metadata","figure","makeModel","then","undefined","config","component","COMPONENT","localDashboardId","title","root","openComponent","registerComponentsAndReturnCleanup","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,QAAyD,OAAzD;AACA,SAASC,iBAAT,QAAkC,kBAAlC;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AASA,OAAOC,OAAP,MAAoB,SAApB;SACSC,U;AAMT,OAAO,IAAMC,WAAW,GAAIC,KAAD,IAA0C;AACnEP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,MAAN;AAAcC,IAAAA,iBAAd;AAAiCC,IAAAA;AAAjC,MAA6CJ,KAAnD;AACA,MAAMK,eAAe,GAAGf,WAAW,CACjC,QAUM;AAAA,QAVL;AACCgB,MAAAA,SADD;AAECC,MAAAA,KAFD;AAGCC,MAAAA,OAAO,GAAGX,OAAO,CAACY,QAAR,EAHX;AAICC,MAAAA;AAJD,KAUK;AACJ,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAIE,IAAI,KAAKC,EAAE,CAACC,YAAH,CAAgBC,MAA7B,EAAqC;AACnC;AACD;;AAED,QAAMC,QAAQ,GAAG;AAAEL,MAAAA,IAAF;AAAQM,MAAAA,MAAM,EAAEN;AAAhB,KAAjB;;AACA,QAAMO,SAAS,GAAG,MAChBX,KAAK,GAAGY,IAAR,CAAcF,MAAD,IACXzB,iBAAiB,CAAC0B,SAAlB,CAA4BE,SAA5B,EAAuCH,MAAvC,CADF,CADF;;AAIA,QAAMI,MAAM,GAAG;AACbT,MAAAA,IAAI,EAAE,iBADO;AAEbU,MAAAA,SAAS,EAAExB,UAAU,CAACyB,SAFT;AAGbvB,MAAAA,KAAK,EAAE;AACLwB,QAAAA,gBAAgB,EAAEvB,EADb;AAELA,QAAAA,EAAE,EAAEO,OAFC;AAGLQ,QAAAA,QAHK;AAILE,QAAAA;AAJK,OAHM;AASbO,MAAAA,KAAK,EAAEd,IATM;AAUbV,MAAAA,EAAE,EAAEO;AAVS,KAAf;AAaA,QAAM;AAAEkB,MAAAA;AAAF,QAAWxB,MAAjB;AACAR,IAAAA,WAAW,CAACiC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBf,MAAAA;AAAhB,KAA1B;AACD,GArCgC,EAsCjC,CAACL,EAAD,EAAKC,MAAL,CAtCiC,CAAnC;AAyCAX,EAAAA,SAAS,CACP,SAASqC,kCAAT,GAA8C;AAC5C,QAAMC,QAAQ,GAAG,CACf1B,iBAAiB,
|
|
1
|
+
{"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","ChartModelFactory","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","shortid","ChartPanel","ChartPlugin","props","id","layout","registerComponent","hydrate","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","dh","VariableType","FIGURE","metadata","figure","makeModel","then","undefined","config","component","COMPONENT","localDashboardId","title","root","openComponent","registerComponentsAndReturnCleanup","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,QAAyD,OAAzD;AACA,SAASC,iBAAT,QAAkC,kBAAlC;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AASA,OAAOC,OAAP,MAAoB,SAApB;SACSC,U;AAMT,OAAO,IAAMC,WAAW,GAAIC,KAAD,IAA0C;AACnEP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,MAAN;AAAcC,IAAAA,iBAAd;AAAiCC,IAAAA;AAAjC,MAA6CJ,KAAnD;AACA,MAAMK,eAAe,GAAGf,WAAW,CACjC,QAUM;AAAA,QAVL;AACCgB,MAAAA,SADD;AAECC,MAAAA,KAFD;AAGCC,MAAAA,OAAO,GAAGX,OAAO,CAACY,QAAR,EAHX;AAICC,MAAAA;AAJD,KAUK;AACJ,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAIE,IAAI,KAAKC,EAAE,CAACC,YAAH,CAAgBC,MAA7B,EAAqC;AACnC;AACD;;AAED,QAAMC,QAAQ,GAAG;AAAEL,MAAAA,IAAF;AAAQM,MAAAA,MAAM,EAAEN;AAAhB,KAAjB;;AACA,QAAMO,SAAS,GAAG,MAChBX,KAAK,GAAGY,IAAR,CAAcF,MAAD,IACXzB,iBAAiB,CAAC0B,SAAlB,CAA4BE,SAA5B,EAAuCH,MAAvC,CADF,CADF;;AAIA,QAAMI,MAAM,GAAG;AACbT,MAAAA,IAAI,EAAE,iBADO;AAEbU,MAAAA,SAAS,EAAExB,UAAU,CAACyB,SAFT;AAGbvB,MAAAA,KAAK,EAAE;AACLwB,QAAAA,gBAAgB,EAAEvB,EADb;AAELA,QAAAA,EAAE,EAAEO,OAFC;AAGLQ,QAAAA,QAHK;AAILE,QAAAA;AAJK,OAHM;AASbO,MAAAA,KAAK,EAAEd,IATM;AAUbV,MAAAA,EAAE,EAAEO;AAVS,KAAf;AAaA,QAAM;AAAEkB,MAAAA;AAAF,QAAWxB,MAAjB;AACAR,IAAAA,WAAW,CAACiC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBf,MAAAA;AAAhB,KAA1B;AACD,GArCgC,EAsCjC,CAACL,EAAD,EAAKC,MAAL,CAtCiC,CAAnC;AAyCAX,EAAAA,SAAS,CACP,SAASqC,kCAAT,GAA8C;AAC5C,QAAMC,QAAQ,GAAG,CACf1B,iBAAiB,CACfL,UAAU,CAACyB,SADI,EAEfzB,UAFe,EAGfM,OAHe,CADF,CAAjB;AAOA,WAAO,MAAM;AACXyB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAZM,EAaP,CAAC3B,OAAD,EAAUD,iBAAV,CAbO,CAAT;AAgBAP,EAAAA,WAAW,CAACM,MAAM,CAAC8B,QAAR,EAAkBrC,UAAU,CAACsC,IAA7B,EAAmC5B,eAAnC,CAAX;AAEA,sBAAO,yCAAP;AACD,CA/DM;AAiEP,eAAeN,WAAf","sourcesContent":["import React, { useCallback, useEffect, DragEvent } from 'react';\nimport { ChartModelFactory } from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelEvent,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { Figure, VariableDefinition } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { ChartPanel, ChartPanelProps } from './panels';\n\nexport type ChartPluginProps = Partial<DashboardPluginComponentProps> & {\n hydrate: PanelHydrateFunction<ChartPanelProps>;\n};\n\nexport const ChartPlugin = (props: ChartPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { id, layout, registerComponent, hydrate } = props;\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n fetch,\n panelId = shortid.generate(),\n widget,\n }: {\n dragEvent?: DragEvent;\n fetch: () => Promise<Figure>;\n panelId?: string;\n widget: VariableDefinition;\n }) => {\n const { name, type } = widget;\n if (type !== dh.VariableType.FIGURE) {\n return;\n }\n\n const metadata = { name, figure: name };\n const makeModel = () =>\n fetch().then((figure: Figure) =>\n ChartModelFactory.makeModel(undefined, figure)\n );\n const config = {\n type: 'react-component',\n component: ChartPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout]\n );\n\n useEffect(\n function registerComponentsAndReturnCleanup() {\n const cleanups = [\n registerComponent(\n ChartPanel.COMPONENT,\n ChartPanel,\n hydrate as PanelHydrateFunction\n ),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n },\n [hydrate, registerComponent]\n );\n\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return <></>;\n};\n\nexport default ChartPlugin;\n"],"file":"ChartPlugin.js"}
|
package/dist/GridPlugin.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DashboardPluginComponentProps, PanelHydrateFunction } from '@deephaven/dashboard';
|
|
3
3
|
import { IrisGridThemeType } from '@deephaven/iris-grid';
|
|
4
|
+
import { IrisGridPanelProps } from './panels';
|
|
4
5
|
export declare const SUPPORTED_TYPES: string[];
|
|
5
6
|
export declare type GridPluginProps = Partial<DashboardPluginComponentProps> & {
|
|
6
7
|
getDownloadWorker?: () => Promise<ServiceWorker>;
|
|
7
8
|
loadPlugin?: (name: string) => ReturnType<typeof React.forwardRef>;
|
|
8
|
-
hydrate: PanelHydrateFunction
|
|
9
|
+
hydrate: PanelHydrateFunction<IrisGridPanelProps>;
|
|
9
10
|
theme?: Partial<IrisGridThemeType>;
|
|
10
11
|
};
|
|
11
12
|
export declare const GridPlugin: (props: GridPluginProps) => JSX.Element;
|
package/dist/GridPlugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAiB,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,eAAe,EAAE,MAAM,EAGnC,CAAC;AAEF,oBAAY,eAAe,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACrE,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,eAAe,KAAG,WAwEnD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/dist/GridPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/GridPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","IrisGridModelFactory","shortid","IrisGridPanel","SUPPORTED_TYPES","dh","VariableType","TABLE","TREETABLE","GridPlugin","props","getDownloadWorker","loadPlugin","id","layout","registerComponent","hydrate","theme","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","includes","metadata","table","makeModel","then","config","component","COMPONENT","localDashboardId","title","root","openComponent","registerComponentsAndReturnCleanup","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,WAA3B,EAAwCC,SAAxC,QAAyD,OAAzD;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AAQA,SAASC,oBAAT,QAAwD,sBAAxD;AAEA,OAAOC,OAAP,MAAoB,SAApB;SACSC,a;AAET,OAAO,IAAMC,eAAyB,GAAG,CACvCC,EAAE,CAACC,YAAH,CAAgBC,KADuB,EAEvCF,EAAE,CAACC,YAAH,CAAgBE,SAFuB,CAAlC;AAYP,OAAO,IAAMC,UAAU,GAAIC,KAAD,IAAyC;AACjEb,EAAAA,4BAA4B,CAACa,KAAD,CAA5B;AACA,MAAM;AACJC,IAAAA,iBADI;AAEJC,IAAAA,UAFI;AAGJC,IAAAA,EAHI;AAIJC,IAAAA,MAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,OANI;AAOJC,IAAAA;AAPI,MAQFP,KARJ;AASA,MAAMQ,eAAe,GAAGvB,WAAW,CACjC,QAUM;AAAA,QAVL;AACCwB,MAAAA,SADD;AAECC,MAAAA,KAFD;AAGCC,MAAAA,OAAO,GAAGnB,OAAO,CAACoB,QAAR,EAHX;AAICC,MAAAA;AAJD,KAUK;AACJ,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAI,CAACnB,eAAe,CAACsB,QAAhB,CAAyBD,IAAzB,CAAL,EAAqC;AACnC;AACD;;AAED,QAAME,QAAQ,GAAG;AAAEH,MAAAA,IAAF;AAAQI,MAAAA,KAAK,EAAEJ;AAAf,KAAjB;;AACA,QAAMK,SAAS,GAAG,MAChBT,KAAK,GAAGU,IAAR,CAAcF,KAAD,IAAkB3B,oBAAoB,CAAC4B,SAArB,CAA+BD,KAA/B,CAA/B,CADF;;AAEA,QAAMG,MAAM,GAAG;AACbN,MAAAA,IAAI,EAAE,iBADO;AAEbO,MAAAA,SAAS,EAAE7B,aAAa,CAAC8B,SAFZ;AAGbvB,MAAAA,KAAK,EAAE;AACLC,QAAAA,iBADK;AAELC,QAAAA,UAFK;AAGLsB,QAAAA,gBAAgB,EAAErB,EAHb;AAILA,QAAAA,EAAE,EAAEQ,OAJC;AAKLM,QAAAA,QALK;AAMLE,QAAAA,SANK;AAOLZ,QAAAA;AAPK,OAHM;AAYbkB,MAAAA,KAAK,EAAEX,IAZM;AAabX,MAAAA,EAAE,EAAEQ;AAbS,KAAf;AAgBA,QAAM;AAAEe,MAAAA;AAAF,QAAWtB,MAAjB;AACAhB,IAAAA,WAAW,CAACuC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBZ,MAAAA;AAAhB,KAA1B;AACD,GAtCgC,EAuCjC,CAACR,iBAAD,EAAoBE,EAApB,EAAwBC,MAAxB,EAAgCF,UAAhC,EAA4CK,KAA5C,CAvCiC,CAAnC;AA0CArB,EAAAA,SAAS,CACP,SAAS0C,kCAAT,GAA8C;AAC5C,QAAMC,QAAQ,GAAG,CACfxB,iBAAiB,
|
|
1
|
+
{"version":3,"sources":["../src/GridPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","IrisGridModelFactory","shortid","IrisGridPanel","SUPPORTED_TYPES","dh","VariableType","TABLE","TREETABLE","GridPlugin","props","getDownloadWorker","loadPlugin","id","layout","registerComponent","hydrate","theme","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","includes","metadata","table","makeModel","then","config","component","COMPONENT","localDashboardId","title","root","openComponent","registerComponentsAndReturnCleanup","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,WAA3B,EAAwCC,SAAxC,QAAyD,OAAzD;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AAQA,SAASC,oBAAT,QAAwD,sBAAxD;AAEA,OAAOC,OAAP,MAAoB,SAApB;SACSC,a;AAET,OAAO,IAAMC,eAAyB,GAAG,CACvCC,EAAE,CAACC,YAAH,CAAgBC,KADuB,EAEvCF,EAAE,CAACC,YAAH,CAAgBE,SAFuB,CAAlC;AAYP,OAAO,IAAMC,UAAU,GAAIC,KAAD,IAAyC;AACjEb,EAAAA,4BAA4B,CAACa,KAAD,CAA5B;AACA,MAAM;AACJC,IAAAA,iBADI;AAEJC,IAAAA,UAFI;AAGJC,IAAAA,EAHI;AAIJC,IAAAA,MAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,OANI;AAOJC,IAAAA;AAPI,MAQFP,KARJ;AASA,MAAMQ,eAAe,GAAGvB,WAAW,CACjC,QAUM;AAAA,QAVL;AACCwB,MAAAA,SADD;AAECC,MAAAA,KAFD;AAGCC,MAAAA,OAAO,GAAGnB,OAAO,CAACoB,QAAR,EAHX;AAICC,MAAAA;AAJD,KAUK;AACJ,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAI,CAACnB,eAAe,CAACsB,QAAhB,CAAyBD,IAAzB,CAAL,EAAqC;AACnC;AACD;;AAED,QAAME,QAAQ,GAAG;AAAEH,MAAAA,IAAF;AAAQI,MAAAA,KAAK,EAAEJ;AAAf,KAAjB;;AACA,QAAMK,SAAS,GAAG,MAChBT,KAAK,GAAGU,IAAR,CAAcF,KAAD,IAAkB3B,oBAAoB,CAAC4B,SAArB,CAA+BD,KAA/B,CAA/B,CADF;;AAEA,QAAMG,MAAM,GAAG;AACbN,MAAAA,IAAI,EAAE,iBADO;AAEbO,MAAAA,SAAS,EAAE7B,aAAa,CAAC8B,SAFZ;AAGbvB,MAAAA,KAAK,EAAE;AACLC,QAAAA,iBADK;AAELC,QAAAA,UAFK;AAGLsB,QAAAA,gBAAgB,EAAErB,EAHb;AAILA,QAAAA,EAAE,EAAEQ,OAJC;AAKLM,QAAAA,QALK;AAMLE,QAAAA,SANK;AAOLZ,QAAAA;AAPK,OAHM;AAYbkB,MAAAA,KAAK,EAAEX,IAZM;AAabX,MAAAA,EAAE,EAAEQ;AAbS,KAAf;AAgBA,QAAM;AAAEe,MAAAA;AAAF,QAAWtB,MAAjB;AACAhB,IAAAA,WAAW,CAACuC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBZ,MAAAA;AAAhB,KAA1B;AACD,GAtCgC,EAuCjC,CAACR,iBAAD,EAAoBE,EAApB,EAAwBC,MAAxB,EAAgCF,UAAhC,EAA4CK,KAA5C,CAvCiC,CAAnC;AA0CArB,EAAAA,SAAS,CACP,SAAS0C,kCAAT,GAA8C;AAC5C,QAAMC,QAAQ,GAAG,CACfxB,iBAAiB,CACfZ,aAAa,CAAC8B,SADC,EAEf9B,aAFe,EAGfa,OAHe,CADF,CAAjB;AAOA,WAAO,MAAM;AACXuB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAZM,EAaP,CAACzB,OAAD,EAAUD,iBAAV,CAbO,CAAT;AAgBAf,EAAAA,WAAW,CAACc,MAAM,CAAC4B,QAAR,EAAkB3C,UAAU,CAAC4C,IAA7B,EAAmCzB,eAAnC,CAAX;AAEA,sBAAO,yCAAP;AACD,CAxEM;AA0EP,eAAeT,UAAf","sourcesContent":["import React, { DragEvent, useCallback, useEffect } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelEvent,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { IrisGridModelFactory, IrisGridThemeType } from '@deephaven/iris-grid';\nimport { Table, VariableDefinition } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { IrisGridPanel, IrisGridPanelProps } from './panels';\n\nexport const SUPPORTED_TYPES: string[] = [\n dh.VariableType.TABLE,\n dh.VariableType.TREETABLE,\n];\n\nexport type GridPluginProps = Partial<DashboardPluginComponentProps> & {\n getDownloadWorker?: () => Promise<ServiceWorker>;\n loadPlugin?: (name: string) => ReturnType<typeof React.forwardRef>;\n hydrate: PanelHydrateFunction<IrisGridPanelProps>;\n theme?: Partial<IrisGridThemeType>;\n};\n\nexport const GridPlugin = (props: GridPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const {\n getDownloadWorker,\n loadPlugin,\n id,\n layout,\n registerComponent,\n hydrate,\n theme,\n } = props;\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n fetch,\n panelId = shortid.generate(),\n widget,\n }: {\n dragEvent?: DragEvent;\n fetch: () => Promise<Table>;\n panelId?: string;\n widget: VariableDefinition;\n }) => {\n const { name, type } = widget;\n if (!SUPPORTED_TYPES.includes(type)) {\n return;\n }\n\n const metadata = { name, table: name };\n const makeModel = () =>\n fetch().then((table: Table) => IrisGridModelFactory.makeModel(table));\n const config = {\n type: 'react-component',\n component: IrisGridPanel.COMPONENT,\n props: {\n getDownloadWorker,\n loadPlugin,\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n theme,\n },\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [getDownloadWorker, id, layout, loadPlugin, theme]\n );\n\n useEffect(\n function registerComponentsAndReturnCleanup() {\n const cleanups = [\n registerComponent(\n IrisGridPanel.COMPONENT,\n IrisGridPanel,\n hydrate as PanelHydrateFunction\n ),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n },\n [hydrate, registerComponent]\n );\n\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return <></>;\n};\n\nexport default GridPlugin;\n"],"file":"GridPlugin.js"}
|
package/dist/PandasPlugin.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { DashboardPluginComponentProps, PanelHydrateFunction } from '@deephaven/dashboard';
|
|
3
|
+
import { PandasPanelProps } from './panels';
|
|
3
4
|
export declare type PandasPluginProps = Partial<DashboardPluginComponentProps> & {
|
|
4
|
-
hydrate: PanelHydrateFunction
|
|
5
|
+
hydrate: PanelHydrateFunction<PandasPanelProps>;
|
|
5
6
|
};
|
|
6
7
|
export declare const PandasPlugin: (props: PandasPluginProps) => JSX.Element;
|
|
7
8
|
export default PandasPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAe,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEzD,oBAAY,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACvE,OAAO,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WAiDvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/dist/PandasPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/PandasPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","IrisGridModelFactory","shortid","PandasPanel","PandasPlugin","props","hydrate","id","layout","registerComponent","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","dh","VariableType","PANDAS","metadata","table","makeModel","then","config","component","COMPONENT","localDashboardId","title","root","openComponent","registerComponentsAndReturnCleanup","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,QAA8C,OAA9C;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AAQA,SAASC,oBAAT,QAAqC,sBAArC;AAEA,OAAOC,OAAP,MAAoB,SAApB;SACSC,W;AAMT,OAAO,IAAMC,YAAY,GAAIC,KAAD,IAA2C;AACrER,EAAAA,4BAA4B,CAACQ,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,EAAX;AAAeC,IAAAA,MAAf;AAAuBC,IAAAA;AAAvB,MAA6CJ,KAAnD;AAEA,MAAMK,eAAe,GAAGf,WAAW,CACjC,QAAgE;AAAA,QAA/D;AAAEgB,MAAAA,SAAF;AAAaC,MAAAA,KAAb;AAAoBC,MAAAA,OAAO,GAAGX,OAAO,CAACY,QAAR,EAA9B;AAAkDC,MAAAA;AAAlD,KAA+D;AAC9D,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAIE,IAAI,KAAKC,EAAE,CAACC,YAAH,CAAgBC,MAA7B,EAAqC;AACnC;AACD;;AAED,QAAMC,QAAQ,GAAG;AAAEL,MAAAA,IAAF;AAAQM,MAAAA,KAAK,EAAEN;AAAf,KAAjB;;AACA,QAAMO,SAAS,GAAG,MAChBX,KAAK,GAAGY,IAAR,CAAcF,KAAD,IAAkBrB,oBAAoB,CAACsB,SAArB,CAA+BD,KAA/B,CAA/B,CADF;;AAEA,QAAMG,MAAM,GAAG;AACbR,MAAAA,IAAI,EAAE,iBADO;AAEbS,MAAAA,SAAS,EAAEvB,WAAW,CAACwB,SAFV;AAGbtB,MAAAA,KAAK,EAAE;AACLuB,QAAAA,gBAAgB,EAAErB,EADb;AAELA,QAAAA,EAAE,EAAEM,OAFC;AAGLQ,QAAAA,QAHK;AAILE,QAAAA;AAJK,OAHM;AASbM,MAAAA,KAAK,EAAEb,IATM;AAUbT,MAAAA,EAAE,EAAEM;AAVS,KAAf;AAaA,QAAM;AAAEiB,MAAAA;AAAF,QAAWtB,MAAjB;AACAV,IAAAA,WAAW,CAACiC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBd,MAAAA;AAAhB,KAA1B;AACD,GAzBgC,EA0BjC,CAACJ,EAAD,EAAKC,MAAL,CA1BiC,CAAnC;AA6BAZ,EAAAA,SAAS,CACP,SAASoC,kCAAT,GAA8C;AAC5C,QAAMC,QAAQ,GAAG,CACfxB,iBAAiB,CAACN,WAAW,CAACwB,SAAb,EAAwBxB,WAAxB,EAAqCG,OAArC,CADF,CAAjB;AAIA,WAAO,MAAM;AACX2B,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GATM,EAUP,CAAC7B,OAAD,EAAUG,iBAAV,CAVO,CAAT;AAaAT,EAAAA,WAAW,CAACQ,MAAM,CAAC4B,QAAR,EAAkBrC,UAAU,CAACsC,IAA7B,EAAmC3B,eAAnC,CAAX;AAEA,sBAAO,yCAAP;AACD,CAjDM;AAmDP,eAAeN,YAAf","sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelEvent,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { IrisGridModelFactory } from '@deephaven/iris-grid';\nimport { Table } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { PandasPanel } from './panels';\n\nexport type PandasPluginProps = Partial<DashboardPluginComponentProps> & {\n hydrate: PanelHydrateFunction
|
|
1
|
+
{"version":3,"sources":["../src/PandasPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","IrisGridModelFactory","shortid","PandasPanel","PandasPlugin","props","hydrate","id","layout","registerComponent","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","dh","VariableType","PANDAS","metadata","table","makeModel","then","config","component","COMPONENT","localDashboardId","title","root","openComponent","registerComponentsAndReturnCleanup","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,QAA8C,OAA9C;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AAQA,SAASC,oBAAT,QAAqC,sBAArC;AAEA,OAAOC,OAAP,MAAoB,SAApB;SACSC,W;AAMT,OAAO,IAAMC,YAAY,GAAIC,KAAD,IAA2C;AACrER,EAAAA,4BAA4B,CAACQ,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,EAAX;AAAeC,IAAAA,MAAf;AAAuBC,IAAAA;AAAvB,MAA6CJ,KAAnD;AAEA,MAAMK,eAAe,GAAGf,WAAW,CACjC,QAAgE;AAAA,QAA/D;AAAEgB,MAAAA,SAAF;AAAaC,MAAAA,KAAb;AAAoBC,MAAAA,OAAO,GAAGX,OAAO,CAACY,QAAR,EAA9B;AAAkDC,MAAAA;AAAlD,KAA+D;AAC9D,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAIE,IAAI,KAAKC,EAAE,CAACC,YAAH,CAAgBC,MAA7B,EAAqC;AACnC;AACD;;AAED,QAAMC,QAAQ,GAAG;AAAEL,MAAAA,IAAF;AAAQM,MAAAA,KAAK,EAAEN;AAAf,KAAjB;;AACA,QAAMO,SAAS,GAAG,MAChBX,KAAK,GAAGY,IAAR,CAAcF,KAAD,IAAkBrB,oBAAoB,CAACsB,SAArB,CAA+BD,KAA/B,CAA/B,CADF;;AAEA,QAAMG,MAAM,GAAG;AACbR,MAAAA,IAAI,EAAE,iBADO;AAEbS,MAAAA,SAAS,EAAEvB,WAAW,CAACwB,SAFV;AAGbtB,MAAAA,KAAK,EAAE;AACLuB,QAAAA,gBAAgB,EAAErB,EADb;AAELA,QAAAA,EAAE,EAAEM,OAFC;AAGLQ,QAAAA,QAHK;AAILE,QAAAA;AAJK,OAHM;AASbM,MAAAA,KAAK,EAAEb,IATM;AAUbT,MAAAA,EAAE,EAAEM;AAVS,KAAf;AAaA,QAAM;AAAEiB,MAAAA;AAAF,QAAWtB,MAAjB;AACAV,IAAAA,WAAW,CAACiC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBd,MAAAA;AAAhB,KAA1B;AACD,GAzBgC,EA0BjC,CAACJ,EAAD,EAAKC,MAAL,CA1BiC,CAAnC;AA6BAZ,EAAAA,SAAS,CACP,SAASoC,kCAAT,GAA8C;AAC5C,QAAMC,QAAQ,GAAG,CACfxB,iBAAiB,CAACN,WAAW,CAACwB,SAAb,EAAwBxB,WAAxB,EAAqCG,OAArC,CADF,CAAjB;AAIA,WAAO,MAAM;AACX2B,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GATM,EAUP,CAAC7B,OAAD,EAAUG,iBAAV,CAVO,CAAT;AAaAT,EAAAA,WAAW,CAACQ,MAAM,CAAC4B,QAAR,EAAkBrC,UAAU,CAACsC,IAA7B,EAAmC3B,eAAnC,CAAX;AAEA,sBAAO,yCAAP;AACD,CAjDM;AAmDP,eAAeN,YAAf","sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelEvent,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { IrisGridModelFactory } from '@deephaven/iris-grid';\nimport { Table } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { PandasPanel, PandasPanelProps } from './panels';\n\nexport type PandasPluginProps = Partial<DashboardPluginComponentProps> & {\n hydrate: PanelHydrateFunction<PandasPanelProps>;\n};\n\nexport const PandasPlugin = (props: PandasPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { hydrate, id, layout, registerComponent } = props;\n\n const handlePanelOpen = useCallback(\n ({ dragEvent, fetch, panelId = shortid.generate(), widget }) => {\n const { name, type } = widget;\n if (type !== dh.VariableType.PANDAS) {\n return;\n }\n\n const metadata = { name, table: name };\n const makeModel = () =>\n fetch().then((table: Table) => IrisGridModelFactory.makeModel(table));\n const config = {\n type: 'react-component',\n component: PandasPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout]\n );\n\n useEffect(\n function registerComponentsAndReturnCleanup() {\n const cleanups = [\n registerComponent(PandasPanel.COMPONENT, PandasPanel, hydrate),\n ];\n\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n },\n [hydrate, registerComponent]\n );\n\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return <></>;\n};\n\nexport default PandasPlugin;\n"],"file":"PandasPlugin.js"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["default","ChartPlugin","ChartBuilderPlugin","ConsolePlugin","FilterPlugin","GridPlugin","LinkerPlugin","MarkdownPlugin","PandasPlugin","ControlType","LinkerUtils","ToolType"],"mappings":"SAASA,OAAO,IAAIC,W;SACXD,OAAO,IAAIE,kB;SACXF,OAAO,IAAIG,a;SACXH,OAAO,IAAII,Y;SACXJ,OAAO,IAAIK,U;SACXL,OAAO,IAAIM,Y;SACXN,OAAO,IAAIO,c;SACXP,OAAO,IAAIQ,Y;SACXR,OAAO,IAAIS,W;SACXT,OAAO,IAAIU,W;SAEXV,OAAO,IAAIW,Q","sourcesContent":["export { default as ChartPlugin } from './ChartPlugin';\nexport { default as ChartBuilderPlugin } from './ChartBuilderPlugin';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as GridPlugin } from './GridPlugin';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as PandasPlugin } from './PandasPlugin';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as LinkerUtils } from './linker/LinkerUtils';\nexport type { Link } from './linker/LinkerUtils';\nexport { default as ToolType } from './linker/ToolType';\n\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["default","ChartPlugin","ChartBuilderPlugin","ConsolePlugin","FilterPlugin","GridPlugin","LinkerPlugin","MarkdownPlugin","PandasPlugin","ControlType","LinkerUtils","ToolType"],"mappings":"SAASA,OAAO,IAAIC,W;SACXD,OAAO,IAAIE,kB;SACXF,OAAO,IAAIG,a;SACXH,OAAO,IAAII,Y;SACXJ,OAAO,IAAIK,U;SACXL,OAAO,IAAIM,Y;SACXN,OAAO,IAAIO,c;SACXP,OAAO,IAAIQ,Y;SACXR,OAAO,IAAIS,W;SACXT,OAAO,IAAIU,W;SAEXV,OAAO,IAAIW,Q","sourcesContent":["export { default as ChartPlugin } from './ChartPlugin';\nexport { default as ChartBuilderPlugin } from './ChartBuilderPlugin';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as GridPlugin } from './GridPlugin';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as PandasPlugin } from './PandasPlugin';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as LinkerUtils } from './linker/LinkerUtils';\nexport type { Link } from './linker/LinkerUtils';\nexport { default as ToolType } from './linker/ToolType';\n\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\nexport * from './linker';\n"],"file":"index.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/linker/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"index.js"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { ColumnName, InputFilter } from '@deephaven/iris-grid';
|
|
4
|
-
import { Column } from '@deephaven/jsapi-shim';
|
|
5
4
|
import './ChartFilterOverlay.scss';
|
|
6
|
-
export declare type ColumnMap = Map<ColumnName,
|
|
5
|
+
export declare type ColumnMap = Map<ColumnName, {
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
}>;
|
|
7
9
|
interface ChartFilterOverlayProps {
|
|
8
10
|
columnMap: ColumnMap;
|
|
9
11
|
inputFilterMap: Map<ColumnName, InputFilter>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartFilterOverlay.d.ts","sourceRoot":"","sources":["../../src/panels/ChartFilterOverlay.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAc,YAAY,EAAwB,MAAM,OAAO,CAAC;AAC9E,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"ChartFilterOverlay.d.ts","sourceRoot":"","sources":["../../src/panels/ChartFilterOverlay.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAc,YAAY,EAAwB,MAAM,OAAO,CAAC;AAC9E,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,2BAA2B,CAAC;AAEnC,oBAAY,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAExE,UAAU,uBAAuB;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,eAAe,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,QAAA,MAAM,kBAAkB;8GAQrB,uBAAuB,GAAG,YAAY;;;;;;;;;;CA+FxC,CAAC;AAYF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/panels/ChartFilterOverlay.tsx"],"names":["React","useCallback","useMemo","PropTypes","classNames","FontAwesomeIcon","ButtonOld","vsPass","vsWarning","TextUtils","ChartFilterOverlay","columnMap","inputFilterMap","linkedColumnMap","onAdd","onOpenLinker","waitingFilterMap","waitingInputMap","inputMessage","waitingColumns","Array","from","keys","needsInputFilterValue","find","columnName","get","needsLinkValue","columnsText","join","map","item","columns","values","handleAddClick","event","stopPropagation","preventDefault","handleOpenLinker","isWaitingFilters","size","isWaitingInput","column","isColumnWaiting","has","name","icon","propTypes","instanceOf","Map","isRequired","func"],"mappings":"AAAA,OAAOA,KAAP,IAA0CC,WAA1C,EAAuDC,OAAvD,QAAsE,OAAtE;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,MAAT,EAAiBC,SAAjB,QAAkC,kBAAlC;AACA,SAASC,SAAT,QAA0B,kBAA1B;;;
|
|
1
|
+
{"version":3,"sources":["../../src/panels/ChartFilterOverlay.tsx"],"names":["React","useCallback","useMemo","PropTypes","classNames","FontAwesomeIcon","ButtonOld","vsPass","vsWarning","TextUtils","ChartFilterOverlay","columnMap","inputFilterMap","linkedColumnMap","onAdd","onOpenLinker","waitingFilterMap","waitingInputMap","inputMessage","waitingColumns","Array","from","keys","needsInputFilterValue","find","columnName","get","needsLinkValue","columnsText","join","map","item","columns","values","handleAddClick","event","stopPropagation","preventDefault","handleOpenLinker","isWaitingFilters","size","isWaitingInput","column","isColumnWaiting","has","name","icon","propTypes","instanceOf","Map","isRequired","func"],"mappings":"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","sourcesContent":["import React, { MouseEvent, ReactElement, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { ButtonOld } from '@deephaven/components';\nimport { vsPass, vsWarning } from '@deephaven/icons';\nimport { TextUtils } from '@deephaven/utils';\nimport { ColumnName, InputFilter } from '@deephaven/iris-grid';\nimport './ChartFilterOverlay.scss';\n\nexport type ColumnMap = Map<ColumnName, { name: string; type: string }>;\n\ninterface ChartFilterOverlayProps {\n columnMap: ColumnMap;\n inputFilterMap: Map<ColumnName, InputFilter>;\n linkedColumnMap: Map<string, unknown>;\n onAdd: (columns: InputFilter[]) => void;\n onOpenLinker: () => void;\n waitingFilterMap: Map<string, InputFilter>;\n waitingInputMap: Map<ColumnName, unknown>;\n}\n\nconst ChartFilterOverlay = ({\n columnMap,\n inputFilterMap,\n linkedColumnMap,\n onAdd,\n onOpenLinker,\n waitingFilterMap,\n waitingInputMap,\n}: ChartFilterOverlayProps): ReactElement => {\n const inputMessage = useMemo(() => {\n const waitingColumns = Array.from(waitingInputMap.keys());\n const needsInputFilterValue = waitingColumns.find(\n (columnName: ColumnName) => inputFilterMap.get(columnName) != null\n );\n const needsLinkValue = waitingColumns.find(\n columnName => linkedColumnMap.get(columnName) != null\n );\n const columnsText = TextUtils.join(waitingColumns.map(item => `\"${item}\"`));\n if (needsInputFilterValue && needsLinkValue) {\n return `Use a filter control or linked table to set a value for ${columnsText}`;\n }\n if (needsInputFilterValue) {\n return `Set a filter control value for ${columnsText}`;\n }\n return `Double click a row in a linked table to set a value for ${columnsText}`;\n }, [inputFilterMap, linkedColumnMap, waitingInputMap]);\n\n const columns = useMemo(() => Array.from(columnMap.values()), [columnMap]);\n\n const handleAddClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n event.preventDefault();\n\n onAdd(Array.from(waitingFilterMap.values()));\n },\n [onAdd, waitingFilterMap]\n );\n\n const handleOpenLinker = useCallback(\n event => {\n event.stopPropagation();\n event.preventDefault();\n\n onOpenLinker();\n },\n [onOpenLinker]\n );\n\n const isWaitingFilters = waitingFilterMap.size > 0;\n const isWaitingInput = !isWaitingFilters && waitingInputMap.size > 0;\n\n return (\n <div className=\"chart-panel-overlay chart-filter-overlay\">\n <div\n className={classNames(\n 'chart-panel-overlay-content chart-filter-overlay-content',\n { 'chart-filter-waiting-filter': isWaitingFilters },\n { 'chart-filter-waiting-input': isWaitingInput }\n )}\n >\n {isWaitingFilters && (\n <>\n <div className=\"info-message\">\n This plot requires a filter control to be added to the layout or a\n table link to be created on the following columns:\n </div>\n <div className=\"waiting-filter-list\">\n {columns.map(column => {\n const isColumnWaiting = waitingFilterMap.has(column.name);\n const icon = isColumnWaiting ? vsWarning : vsPass;\n return (\n <div\n key={column.name}\n className={classNames('waiting-filter-item', {\n 'is-invalid': isColumnWaiting,\n })}\n >\n <FontAwesomeIcon icon={icon} />\n {column.name}\n </div>\n );\n })}\n </div>\n <div>\n <ButtonOld onClick={handleAddClick} className=\"btn-primary\">\n Add Input Filters\n </ButtonOld>\n <ButtonOld onClick={handleOpenLinker} className=\"btn-primary\">\n Open Linker Tool\n </ButtonOld>\n </div>\n </>\n )}\n {isWaitingInput && (\n <>\n <div className=\"info-message\">Waiting for User Input</div>\n <div className=\"\">{inputMessage}</div>\n </>\n )}\n </div>\n </div>\n );\n};\n\nChartFilterOverlay.propTypes = {\n columnMap: PropTypes.instanceOf(Map).isRequired,\n inputFilterMap: PropTypes.instanceOf(Map).isRequired,\n linkedColumnMap: PropTypes.instanceOf(Map).isRequired,\n onAdd: PropTypes.func.isRequired,\n onOpenLinker: PropTypes.func.isRequired,\n waitingFilterMap: PropTypes.instanceOf(Map).isRequired,\n waitingInputMap: PropTypes.instanceOf(Map).isRequired,\n};\n\nexport default ChartFilterOverlay;\n"],"file":"ChartFilterOverlay.js"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Component, ReactElement, RefObject } from 'react';
|
|
2
|
-
import { Chart, ChartModel } from '@deephaven/chart';
|
|
2
|
+
import { Chart, ChartModel, ChartModelSettings } from '@deephaven/chart';
|
|
3
3
|
import { PanelComponent } from '@deephaven/dashboard';
|
|
4
4
|
import { InputFilter, ColumnName } from '@deephaven/iris-grid';
|
|
5
|
-
import {
|
|
5
|
+
import { SeriesPlotStyle, TableTemplate } from '@deephaven/jsapi-shim';
|
|
6
6
|
import { WorkspaceSettings } from '@deephaven/redux';
|
|
7
7
|
import { Pending } from '@deephaven/utils';
|
|
8
8
|
import GoldenLayout from '@deephaven/golden-layout';
|
|
9
|
+
import { ModelIndex } from '@deephaven/grid';
|
|
10
|
+
import { AdvancedFilterOptions, SortDirection } from '@deephaven/jsapi-utils';
|
|
9
11
|
import { ColumnMap } from './ChartFilterOverlay';
|
|
10
12
|
import { SelectorColumn } from './ChartColumnSelectorOverlay';
|
|
11
13
|
import './ChartPanel.scss';
|
|
@@ -13,26 +15,54 @@ import { Link } from '../linker/LinkerUtils';
|
|
|
13
15
|
import { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';
|
|
14
16
|
export declare type InputFilterMap = Map<string, InputFilter>;
|
|
15
17
|
export declare type FilterMap = Map<string, string>;
|
|
16
|
-
export declare type LinkedColumnMap = Map<string,
|
|
17
|
-
|
|
18
|
+
export declare type LinkedColumnMap = Map<string, {
|
|
19
|
+
name: string;
|
|
20
|
+
type: string;
|
|
21
|
+
}>;
|
|
22
|
+
export declare function isChartPanelTableMetadata(metadata: ChartPanelMetadata): metadata is ChartPanelTableMetadata;
|
|
23
|
+
export declare type ChartPanelFigureMetadata = {
|
|
18
24
|
figure: string;
|
|
25
|
+
};
|
|
26
|
+
export declare type ChartPanelTableMetadata = {
|
|
19
27
|
table: string;
|
|
20
|
-
query: string;
|
|
21
|
-
querySerial: string;
|
|
22
28
|
sourcePanelId: string;
|
|
23
29
|
settings: {
|
|
24
30
|
isLinked: boolean;
|
|
25
31
|
title: string;
|
|
26
32
|
xAxis: string;
|
|
27
33
|
series: string[];
|
|
28
|
-
type: SeriesPlotStyle;
|
|
34
|
+
type: keyof SeriesPlotStyle;
|
|
29
35
|
};
|
|
30
|
-
|
|
36
|
+
tableSettings: ChartPanelTableSettings;
|
|
37
|
+
};
|
|
38
|
+
export declare type ChartPanelMetadata = ChartPanelFigureMetadata | ChartPanelTableMetadata;
|
|
31
39
|
declare type Settings = Record<string, unknown>;
|
|
32
|
-
interface
|
|
40
|
+
export interface ChartPanelTableSettings {
|
|
41
|
+
quickFilters?: [
|
|
42
|
+
ModelIndex,
|
|
43
|
+
{
|
|
44
|
+
text: string;
|
|
45
|
+
}
|
|
46
|
+
][];
|
|
47
|
+
advancedFilters?: [
|
|
48
|
+
ModelIndex,
|
|
49
|
+
{
|
|
50
|
+
options: AdvancedFilterOptions;
|
|
51
|
+
}
|
|
52
|
+
][];
|
|
53
|
+
inputFilters?: InputFilter[];
|
|
54
|
+
sorts?: {
|
|
55
|
+
column: ModelIndex;
|
|
56
|
+
isAbs: boolean;
|
|
57
|
+
direction: SortDirection;
|
|
58
|
+
}[];
|
|
59
|
+
partition?: unknown;
|
|
60
|
+
partitionColumn?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface GLChartPanelState {
|
|
33
63
|
filterValueMap: [string, string][];
|
|
34
|
-
settings: Partial<
|
|
35
|
-
tableSettings:
|
|
64
|
+
settings: Partial<ChartModelSettings>;
|
|
65
|
+
tableSettings: ChartPanelTableSettings;
|
|
36
66
|
irisGridState?: {
|
|
37
67
|
advancedFilters: unknown;
|
|
38
68
|
quickFilters: unknown;
|
|
@@ -42,13 +72,15 @@ interface PanelState {
|
|
|
42
72
|
partitionColumn: string;
|
|
43
73
|
partition: unknown;
|
|
44
74
|
};
|
|
75
|
+
table?: string;
|
|
76
|
+
figure?: string;
|
|
45
77
|
}
|
|
46
|
-
interface ChartPanelProps {
|
|
78
|
+
export interface ChartPanelProps {
|
|
47
79
|
glContainer: GoldenLayout.Container;
|
|
48
80
|
glEventHub: GoldenLayout.EventEmitter;
|
|
49
|
-
metadata:
|
|
81
|
+
metadata: ChartPanelMetadata;
|
|
50
82
|
/** Function to build the ChartModel used by this ChartPanel. Can return a promise. */
|
|
51
|
-
makeModel: () => ChartModel
|
|
83
|
+
makeModel: () => Promise<ChartModel>;
|
|
52
84
|
inputFilters: InputFilter[];
|
|
53
85
|
links: Link[];
|
|
54
86
|
localDashboardId: string;
|
|
@@ -58,11 +90,11 @@ interface ChartPanelProps {
|
|
|
58
90
|
columnSelectionValidator?: ColumnSelectionValidator;
|
|
59
91
|
setActiveTool: (tool: string) => void;
|
|
60
92
|
setDashboardIsolatedLinkerPanelId: (id: string, secondParam: undefined) => void;
|
|
61
|
-
panelState:
|
|
93
|
+
panelState: GLChartPanelState;
|
|
62
94
|
settings: Partial<WorkspaceSettings>;
|
|
63
95
|
}
|
|
64
96
|
interface ChartPanelState {
|
|
65
|
-
settings: Partial<
|
|
97
|
+
settings: Partial<ChartModelSettings>;
|
|
66
98
|
error?: unknown;
|
|
67
99
|
isActive: boolean;
|
|
68
100
|
isDisconnected: boolean;
|
|
@@ -73,7 +105,7 @@ interface ChartPanelState {
|
|
|
73
105
|
filterValueMap: Map<string, string>;
|
|
74
106
|
model?: ChartModel;
|
|
75
107
|
columnMap: ColumnMap;
|
|
76
|
-
panelState:
|
|
108
|
+
panelState: GLChartPanelState;
|
|
77
109
|
}
|
|
78
110
|
export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelState> {
|
|
79
111
|
static defaultProps: {
|
|
@@ -94,10 +126,16 @@ export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelSta
|
|
|
94
126
|
chart: RefObject<Chart>;
|
|
95
127
|
pending: Pending;
|
|
96
128
|
initModel(): void;
|
|
97
|
-
getWaitingInputMap: (isFilterRequired: boolean, columnMap: ColumnMap, filterMap: FilterMap) => Map<string,
|
|
129
|
+
getWaitingInputMap: (isFilterRequired: boolean, columnMap: ColumnMap, filterMap: FilterMap) => Map<string, {
|
|
130
|
+
name: string;
|
|
131
|
+
type: string;
|
|
132
|
+
}>;
|
|
98
133
|
getWaitingFilterMap: (isFilterRequired: boolean, columnMap: ColumnMap, filterMap: FilterMap, linkedColumnMap: LinkedColumnMap, inputFilterMap: InputFilterMap) => Map<any, any>;
|
|
99
134
|
getInputFilterColumnMap: (columnMap: ColumnMap, inputFilters: InputFilter[]) => Map<string, InputFilter>;
|
|
100
|
-
getLinkedColumnMap: (columnMap: ColumnMap, links: Link[]) => Map<string,
|
|
135
|
+
getLinkedColumnMap: (columnMap: ColumnMap, links: Link[]) => Map<string, {
|
|
136
|
+
name: string;
|
|
137
|
+
type: string;
|
|
138
|
+
}>;
|
|
101
139
|
getSelectorColumns: (columnMap: ColumnMap, linkedColumnMap: LinkedColumnMap, columnSelectionValidator?: ColumnSelectionValidator | undefined) => {
|
|
102
140
|
name: string;
|
|
103
141
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPanel.d.ts","sourceRoot":"","sources":["../../src/panels/ChartPanel.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlE,OAAO,EACL,KAAK,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"ChartPanel.d.ts","sourceRoot":"","sources":["../../src/panels/ChartPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,9 @@ import ChartColumnSelectorOverlay from "./ChartColumnSelectorOverlay.js";
|
|
|
27
27
|
import "./ChartPanel.css";
|
|
28
28
|
var log = Log.module('ChartPanel');
|
|
29
29
|
var UPDATE_MODEL_DEBOUNCE = 150;
|
|
30
|
+
export function isChartPanelTableMetadata(metadata) {
|
|
31
|
+
return metadata.settings !== undefined;
|
|
32
|
+
}
|
|
30
33
|
|
|
31
34
|
function hasInputFilter(panel) {
|
|
32
35
|
return panel.inputFilters != null;
|
|
@@ -166,7 +169,7 @@ export class ChartPanel extends Component {
|
|
|
166
169
|
isDisconnected: false,
|
|
167
170
|
isLoading: false,
|
|
168
171
|
isLoaded: false,
|
|
169
|
-
isLinked: metadata && metadata.settings && metadata.settings.isLinked,
|
|
172
|
+
isLinked: metadata && isChartPanelTableMetadata(metadata) && metadata.settings && metadata.settings.isLinked,
|
|
170
173
|
// Map of all non-empty filters applied to the chart.
|
|
171
174
|
// Initialize the filter map to the previously stored values; input filters will be applied after load.
|
|
172
175
|
filterMap: new Map(filterValueMap),
|
|
@@ -447,9 +450,6 @@ export class ChartPanel extends Component {
|
|
|
447
450
|
isLinked,
|
|
448
451
|
model
|
|
449
452
|
} = this.state;
|
|
450
|
-
var {
|
|
451
|
-
settings
|
|
452
|
-
} = metadata;
|
|
453
453
|
|
|
454
454
|
if (!isLinked || !model || !source) {
|
|
455
455
|
log.debug2('updateModelFromSource ignoring', isLinked, model, source);
|
|
@@ -458,11 +458,18 @@ export class ChartPanel extends Component {
|
|
|
458
458
|
|
|
459
459
|
|
|
460
460
|
this.pending.cancel();
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
461
|
+
|
|
462
|
+
if (isChartPanelTableMetadata(metadata)) {
|
|
463
|
+
var {
|
|
464
|
+
settings
|
|
465
|
+
} = metadata;
|
|
466
|
+
this.pending.add(dh.plot.Figure.create(ChartUtils.makeFigureSettings(settings, source))).then(figure => {
|
|
467
|
+
if (isFigureChartModel(model)) {
|
|
468
|
+
model.setFigure(figure);
|
|
469
|
+
}
|
|
470
|
+
}).catch(this.handleLoadError);
|
|
471
|
+
}
|
|
472
|
+
|
|
466
473
|
this.updatePanelState();
|
|
467
474
|
}
|
|
468
475
|
|
|
@@ -947,10 +954,14 @@ export class ChartPanel extends Component {
|
|
|
947
954
|
isLoaded,
|
|
948
955
|
isLoading
|
|
949
956
|
} = this.state;
|
|
950
|
-
var
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
957
|
+
var name;
|
|
958
|
+
|
|
959
|
+
if (isChartPanelTableMetadata(metadata)) {
|
|
960
|
+
name = metadata.table;
|
|
961
|
+
} else {
|
|
962
|
+
name = metadata.figure;
|
|
963
|
+
}
|
|
964
|
+
|
|
954
965
|
var inputFilterMap = this.getInputFilterColumnMap(columnMap, inputFilters);
|
|
955
966
|
var linkedColumnMap = this.getLinkedColumnMap(columnMap, links);
|
|
956
967
|
var waitingInputMap = model != null ? this.getWaitingInputMap(model.isFilterRequired(), columnMap, filterMap) : new Map();
|
|
@@ -975,7 +986,7 @@ export class ChartPanel extends Component {
|
|
|
975
986
|
isDisconnected: isDisconnected,
|
|
976
987
|
isLoading: isLoading,
|
|
977
988
|
isLoaded: isLoaded,
|
|
978
|
-
widgetName:
|
|
989
|
+
widgetName: name,
|
|
979
990
|
widgetType: "Chart"
|
|
980
991
|
}, /*#__PURE__*/React.createElement("div", {
|
|
981
992
|
ref: this.panelContainer,
|