@deephaven/dashboard-core-plugins 0.67.1-beta.0 → 0.67.1-beta.2

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.
Files changed (86) hide show
  1. package/dist/ChartBuilderPlugin.js.map +1 -1
  2. package/dist/ChartPanelPlugin.d.ts +2 -2
  3. package/dist/ChartPanelPlugin.d.ts.map +1 -1
  4. package/dist/ChartPanelPlugin.js.map +1 -1
  5. package/dist/ChartPluginConfig.d.ts +2 -2
  6. package/dist/ChartPluginConfig.d.ts.map +1 -1
  7. package/dist/ChartPluginConfig.js.map +1 -1
  8. package/dist/ChartWidgetPlugin.d.ts +2 -2
  9. package/dist/ChartWidgetPlugin.d.ts.map +1 -1
  10. package/dist/ChartWidgetPlugin.js.map +1 -1
  11. package/dist/GridPanelPlugin.d.ts +2 -2
  12. package/dist/GridPanelPlugin.d.ts.map +1 -1
  13. package/dist/GridPanelPlugin.js.map +1 -1
  14. package/dist/GridPluginConfig.d.ts +2 -2
  15. package/dist/GridPluginConfig.d.ts.map +1 -1
  16. package/dist/GridPluginConfig.js.map +1 -1
  17. package/dist/GridWidgetPlugin.d.ts +2 -2
  18. package/dist/GridWidgetPlugin.d.ts.map +1 -1
  19. package/dist/GridWidgetPlugin.js.map +1 -1
  20. package/dist/PandasPanelPlugin.d.ts +2 -2
  21. package/dist/PandasPanelPlugin.d.ts.map +1 -1
  22. package/dist/PandasPanelPlugin.js.map +1 -1
  23. package/dist/PandasPluginConfig.d.ts +2 -2
  24. package/dist/PandasPluginConfig.d.ts.map +1 -1
  25. package/dist/PandasPluginConfig.js.map +1 -1
  26. package/dist/PandasWidgetPlugin.d.ts +2 -2
  27. package/dist/PandasWidgetPlugin.d.ts.map +1 -1
  28. package/dist/PandasWidgetPlugin.js.map +1 -1
  29. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +2 -2
  30. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  31. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  32. package/dist/controls/input-filter/InputFilter.d.ts +2 -2
  33. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  34. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  35. package/dist/linker/Linker.d.ts +1 -1
  36. package/dist/linker/Linker.d.ts.map +1 -1
  37. package/dist/linker/Linker.js.map +1 -1
  38. package/dist/linker/LinkerUtils.d.ts +1 -1
  39. package/dist/linker/LinkerUtils.d.ts.map +1 -1
  40. package/dist/linker/LinkerUtils.js +1 -2
  41. package/dist/linker/LinkerUtils.js.map +1 -1
  42. package/dist/panels/ChartPanel.d.ts +5 -5
  43. package/dist/panels/ChartPanel.d.ts.map +1 -1
  44. package/dist/panels/ChartPanel.js +2 -1
  45. package/dist/panels/ChartPanel.js.map +1 -1
  46. package/dist/panels/CommandHistoryPanel.d.ts +4 -4
  47. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  48. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  49. package/dist/panels/ConsolePanel.d.ts +9 -5
  50. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  51. package/dist/panels/ConsolePanel.js.map +1 -1
  52. package/dist/panels/DropdownFilterPanel.d.ts +17 -17
  53. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  54. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  55. package/dist/panels/FileExplorerPanel.d.ts +4 -4
  56. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  57. package/dist/panels/FileExplorerPanel.js.map +1 -1
  58. package/dist/panels/FilterSetManagerPanel.d.ts +3 -3
  59. package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -1
  60. package/dist/panels/FilterSetManagerPanel.js.map +1 -1
  61. package/dist/panels/IrisGridPanel.d.ts +8 -8
  62. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  63. package/dist/panels/IrisGridPanel.js.map +1 -1
  64. package/dist/panels/IrisGridPanelTypes.d.ts +1 -1
  65. package/dist/panels/IrisGridPanelTypes.d.ts.map +1 -1
  66. package/dist/panels/IrisGridPanelTypes.js.map +1 -1
  67. package/dist/panels/LogPanel.d.ts +5 -5
  68. package/dist/panels/LogPanel.d.ts.map +1 -1
  69. package/dist/panels/LogPanel.js.map +1 -1
  70. package/dist/panels/NotebookPanel.d.ts +4 -4
  71. package/dist/panels/NotebookPanel.d.ts.map +1 -1
  72. package/dist/panels/NotebookPanel.js.map +1 -1
  73. package/dist/panels/Panel.d.ts +5 -5
  74. package/dist/panels/Panel.d.ts.map +1 -1
  75. package/dist/panels/Panel.js.map +1 -1
  76. package/dist/redux/actions.d.ts +2 -2
  77. package/dist/redux/actions.d.ts.map +1 -1
  78. package/dist/redux/actions.js.map +1 -1
  79. package/dist/redux/selectors.d.ts +4 -4
  80. package/dist/redux/selectors.d.ts.map +1 -1
  81. package/dist/redux/selectors.js.map +1 -1
  82. package/dist/useHydrateGrid.d.ts +2 -2
  83. package/dist/useHydrateGrid.d.ts.map +1 -1
  84. package/dist/useHydrateGrid.js +3 -3
  85. package/dist/useHydrateGrid.js.map +1 -1
  86. package/package.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"file":"FileExplorerPanel.js","names":["Log","getFileStorage","FileExplorer","FileExplorerToolbar","FileUtils","NewItemModal","isDirectory","React","connect","Panel","NotebookEvent","getDashboardSessionWrapper","jsx","_jsx","jsxs","_jsxs","log","module","mapStateToProps","state","ownProps","fileStorage","sessionWrapper","localDashboardId","session","config","sessionConfig","language","type","connector","forwardRef","isMouseEvent","e","mouseEvent","button","FileExplorerPanel","Component","handleError","error","isFocusEvent","event","detail","constructor","props","handleFileSelect","bind","handleCopyFile","handleCreateFile","handleCreateDirectory","handleCreateDirectoryCancel","handleCreateDirectorySubmit","handleDelete","handleRename","handleSessionOpened","handleSessionClosed","handleShow","handleSelectionChange","isShown","showCreateFolder","focusedFilePath","componentDidMount","isHidden","setState","glEventHub","notebookSettings","value","debug","emit","CREATE_NOTEBOOK","path","createDirectory","catch","file","_this","_asyncToGenerator","newName","getUniqueCopyFileName","filename","copyFile","files","forEach","CLOSE_FILE","id","itemName","selectedItems","length","makePath","getPath","shouldFocus","fileMetadata","SELECT_NOTEBOOK","oldName","RENAME_FILE","_ref","undefined","glContainer","render","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","createFile","createFolder","isMultiSelect","storage","onCopy","onCreateFile","onCreateFolder","onDelete","onRename","onSelect","onSelectionChange","isOpen","title","onSubmit","onCancel","defaultValue","_defineProperty","ConnectedFileExplorerPanel"],"sources":["../../src/panels/FileExplorerPanel.tsx"],"sourcesContent":["import { DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getFileStorage, RootState } from '@deephaven/redux';\nimport FileExplorer, {\n FileExplorerToolbar,\n FileStorage,\n FileStorageItem,\n FileUtils,\n NewItemModal,\n isDirectory,\n} from '@deephaven/file-explorer';\nimport React, { ReactNode } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport type { IdeSession } from '@deephaven/jsapi-types';\nimport Panel from './Panel';\nimport { NotebookEvent } from '../events';\nimport './FileExplorerPanel.scss';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('FileExplorerPanel');\n\ntype StateProps = {\n fileStorage: FileStorage;\n language?: string;\n session?: IdeSession;\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const fileStorage = getFileStorage(state);\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const language = sessionConfig?.type;\n\n return {\n fileStorage,\n language,\n session,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type FileExplorerPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\nexport type FileExplorerPanelState = {\n isShown: boolean;\n language?: string;\n session?: IdeSession;\n showCreateFolder: boolean;\n focusedFilePath: string;\n};\n\nfunction isMouseEvent<T>(e: React.SyntheticEvent<T>): e is React.MouseEvent<T> {\n const mouseEvent = e as React.MouseEvent<T>;\n return mouseEvent != null && typeof mouseEvent.button === 'number';\n}\n\n/**\n * Panel for showing a FileExplorer in a Dashboard.\n */\nexport class FileExplorerPanel extends React.Component<\n FileExplorerPanelProps,\n FileExplorerPanelState\n> {\n static COMPONENT = 'FileExplorerPanel';\n\n static TITLE = 'File Explorer';\n\n static handleError(error: Error): void {\n log.error(error);\n }\n\n /**\n * Return true if the event should open a file and focus it, otherwise false\n * @param event The event to check\n */\n static isFocusEvent(event: React.SyntheticEvent): boolean {\n if (isMouseEvent(event)) {\n // If it's not a double click, then it's a preview event\n return event.detail >= 2;\n }\n\n // Keyboard event should always open with focus\n return true;\n }\n\n constructor(props: FileExplorerPanelProps) {\n super(props);\n\n this.handleFileSelect = this.handleFileSelect.bind(this);\n this.handleCopyFile = this.handleCopyFile.bind(this);\n this.handleCreateFile = this.handleCreateFile.bind(this);\n this.handleCreateDirectory = this.handleCreateDirectory.bind(this);\n this.handleCreateDirectoryCancel =\n this.handleCreateDirectoryCancel.bind(this);\n this.handleCreateDirectorySubmit =\n this.handleCreateDirectorySubmit.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n this.handleRename = this.handleRename.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n\n const { session, language } = props;\n this.state = {\n isShown: false,\n language,\n session,\n showCreateFolder: false,\n focusedFilePath: '/',\n };\n }\n\n componentDidMount(): void {\n if (!this.isHidden()) {\n this.setState({ isShown: true });\n }\n }\n\n handleCreateFile(): void {\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n language,\n value: '',\n };\n log.debug('handleCreateFile', session, language, notebookSettings);\n glEventHub.emit(\n NotebookEvent.CREATE_NOTEBOOK,\n session,\n language,\n notebookSettings\n );\n }\n\n handleCreateDirectory(): void {\n this.setState({ showCreateFolder: true });\n }\n\n handleCreateDirectoryCancel(): void {\n log.debug('handleCreateDirectoryCancel');\n this.setState({\n showCreateFolder: false,\n });\n }\n\n handleCreateDirectorySubmit(path: string): void {\n log.debug('handleCreateDirectorySubmit', path);\n this.setState({ showCreateFolder: false });\n const { fileStorage } = this.props;\n fileStorage.createDirectory(path).catch(FileExplorerPanel.handleError);\n }\n\n async handleCopyFile(file: FileStorageItem): Promise<void> {\n const { fileStorage } = this.props;\n if (isDirectory(file)) {\n log.error('Invalid item in handleCopyItem', file);\n return;\n }\n const newName = await FileUtils.getUniqueCopyFileName(\n fileStorage,\n file.filename\n );\n await fileStorage.copyFile(file.filename, newName);\n }\n\n handleDelete(files: FileStorageItem[]): void {\n const { glEventHub } = this.props;\n files.forEach(file => {\n glEventHub.emit(NotebookEvent.CLOSE_FILE, {\n id: file.filename,\n itemName: file.filename,\n });\n });\n }\n\n handleSelectionChange(selectedItems: FileStorageItem[]): void {\n let path = '/';\n if (selectedItems.length === 1) {\n if (selectedItems[0].type === 'directory') {\n path = FileUtils.makePath(selectedItems[0].filename);\n } else {\n path = FileUtils.getPath(selectedItems[0].filename);\n }\n }\n this.setState({ focusedFilePath: path });\n }\n\n handleFileSelect(file: FileStorageItem, event: React.SyntheticEvent): void {\n log.debug('fileSelect', file);\n if (file.type === 'directory') {\n return;\n }\n\n const shouldFocus = FileExplorerPanel.isFocusEvent(event);\n const fileMetadata = { id: file.filename, itemName: file.filename };\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n value: null,\n language,\n };\n glEventHub.emit(\n NotebookEvent.SELECT_NOTEBOOK,\n session,\n language,\n notebookSettings,\n fileMetadata,\n shouldFocus\n );\n }\n\n handleRename(oldName: string, newName: string): void {\n const { glEventHub } = this.props;\n log.debug('handleRename', oldName, newName);\n glEventHub.emit(NotebookEvent.RENAME_FILE, oldName, newName);\n }\n\n handleSessionOpened(\n session: IdeSession,\n { language }: { language: string }\n ): void {\n this.setState({\n session,\n language,\n });\n }\n\n handleSessionClosed(): void {\n this.setState({\n session: undefined,\n language: undefined,\n });\n }\n\n handleShow(): void {\n this.setState({ isShown: true });\n }\n\n isHidden(): boolean {\n const { glContainer } = this.props;\n const { isHidden } = glContainer;\n return isHidden;\n }\n\n render(): ReactNode {\n const { fileStorage, glContainer, glEventHub } = this.props;\n const { isShown, showCreateFolder, focusedFilePath } = this.state;\n return (\n <Panel\n className=\"file-explorer-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n <FileExplorerToolbar\n createFile={this.handleCreateFile}\n createFolder={this.handleCreateDirectory}\n />\n {isShown && (\n <FileExplorer\n isMultiSelect\n storage={fileStorage}\n onCopy={this.handleCopyFile}\n onCreateFile={this.handleCreateFile}\n onCreateFolder={this.handleCreateDirectory}\n onDelete={this.handleDelete}\n onRename={this.handleRename}\n onSelect={this.handleFileSelect}\n onSelectionChange={this.handleSelectionChange}\n />\n )}\n <NewItemModal\n isOpen={showCreateFolder}\n type=\"directory\"\n title=\"Create New Folder\"\n storage={fileStorage}\n onSubmit={this.handleCreateDirectorySubmit}\n onCancel={this.handleCreateDirectoryCancel}\n defaultValue={focusedFilePath}\n />\n </Panel>\n );\n }\n}\n\nconst ConnectedFileExplorerPanel = connector(FileExplorerPanel);\n\nexport default ConnectedFileExplorerPanel;\n"],"mappings":";;;;;AACA,OAAOA,GAAG,MAAM,gBAAgB;AAChC,SAASC,cAAc,QAAmB,kBAAkB;AAC5D,OAAOC,YAAY,IACjBC,mBAAmB,EAGnBC,SAAS,EACTC,YAAY,EACZC,WAAW,QACN,0BAA0B;AACjC,OAAOC,KAAK,MAAqB,OAAO;AACxC,SAASC,OAAO,QAAwB,aAAa;AAAC,OAE/CC,KAAK;AAAA,SACHC,aAAa;AAAA;AAAA,SAEbC,0BAA0B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnC,IAAMC,GAAG,GAAGhB,GAAG,CAACiB,MAAM,CAAC,mBAAmB,CAAC;AAU3C,IAAMC,eAAe,GAAGA,CAACC,KAAgB,EAAEC,QAAkB,KAAiB;EAC5E,IAAMC,WAAW,GAAGpB,cAAc,CAACkB,KAAK,CAAC;EACzC,IAAMG,cAAc,GAAGX,0BAA0B,CAC/CQ,KAAK,EACLC,QAAQ,CAACG,gBACX,CAAC;EACD,IAAM;IAAEC,OAAO;IAAEC,MAAM,EAAEC;EAAc,CAAC,GAAGJ,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,CAAC,CAAC;EAC/D,IAAMK,QAAQ,GAAGD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,IAAI;EAEpC,OAAO;IACLP,WAAW;IACXM,QAAQ;IACRH;EACF,CAAC;AACH,CAAC;AAED,IAAMK,SAAS,GAAGrB,OAAO,CAACU,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;EAAEY,UAAU,EAAE;AAAK,CAAC,CAAC;AAc5E,SAASC,YAAYA,CAAIC,CAA0B,EAA4B;EAC7E,IAAMC,UAAU,GAAGD,CAAwB;EAC3C,OAAOC,UAAU,IAAI,IAAI,IAAI,OAAOA,UAAU,CAACC,MAAM,KAAK,QAAQ;AACpE;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,SAAS5B,KAAK,CAAC6B,SAAS,CAGpD;EAKA,OAAOC,WAAWA,CAACC,KAAY,EAAQ;IACrCtB,GAAG,CAACsB,KAAK,CAACA,KAAK,CAAC;EAClB;;EAEA;AACF;AACA;AACA;EACE,OAAOC,YAAYA,CAACC,KAA2B,EAAW;IACxD,IAAIT,YAAY,CAACS,KAAK,CAAC,EAAE;MACvB;MACA,OAAOA,KAAK,CAACC,MAAM,IAAI,CAAC;IAC1B;;IAEA;IACA,OAAO,IAAI;EACb;EAEAC,WAAWA,CAACC,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACC,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,CAACD,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACE,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACF,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACG,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACH,IAAI,CAAC,IAAI,CAAC;IAClE,IAAI,CAACI,2BAA2B,GAC9B,IAAI,CAACA,2BAA2B,CAACJ,IAAI,CAAC,IAAI,CAAC;IAC7C,IAAI,CAACK,2BAA2B,GAC9B,IAAI,CAACA,2BAA2B,CAACL,IAAI,CAAC,IAAI,CAAC;IAC7C,IAAI,CAACM,YAAY,GAAG,IAAI,CAACA,YAAY,CAACN,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACO,YAAY,GAAG,IAAI,CAACA,YAAY,CAACP,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACQ,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACR,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACS,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACT,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACU,UAAU,GAAG,IAAI,CAACA,UAAU,CAACV,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACW,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACX,IAAI,CAAC,IAAI,CAAC;IAElE,IAAM;MAAErB,OAAO;MAAEG;IAAS,CAAC,GAAGgB,KAAK;IACnC,IAAI,CAACxB,KAAK,GAAG;MACXsC,OAAO,EAAE,KAAK;MACd9B,QAAQ;MACRH,OAAO;MACPkC,gBAAgB,EAAE,KAAK;MACvBC,eAAe,EAAE;IACnB,CAAC;EACH;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAE;MACpB,IAAI,CAACC,QAAQ,CAAC;QAAEL,OAAO,EAAE;MAAK,CAAC,CAAC;IAClC;EACF;EAEAV,gBAAgBA,CAAA,EAAS;IACvB,IAAM;MAAEgB;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjC,IAAM;MAAEnB,OAAO;MAAEG;IAAS,CAAC,GAAG,IAAI,CAACR,KAAK;IACxC,IAAM6C,gBAAgB,GAAG;MACvBrC,QAAQ;MACRsC,KAAK,EAAE;IACT,CAAC;IACDjD,GAAG,CAACkD,KAAK,CAAC,kBAAkB,EAAE1C,OAAO,EAAEG,QAAQ,EAAEqC,gBAAgB,CAAC;IAClED,UAAU,CAACI,IAAI,CACbzD,aAAa,CAAC0D,eAAe,EAC7B5C,OAAO,EACPG,QAAQ,EACRqC,gBACF,CAAC;EACH;EAEAhB,qBAAqBA,CAAA,EAAS;IAC5B,IAAI,CAACc,QAAQ,CAAC;MAAEJ,gBAAgB,EAAE;IAAK,CAAC,CAAC;EAC3C;EAEAT,2BAA2BA,CAAA,EAAS;IAClCjC,GAAG,CAACkD,KAAK,CAAC,6BAA6B,CAAC;IACxC,IAAI,CAACJ,QAAQ,CAAC;MACZJ,gBAAgB,EAAE;IACpB,CAAC,CAAC;EACJ;EAEAR,2BAA2BA,CAACmB,IAAY,EAAQ;IAC9CrD,GAAG,CAACkD,KAAK,CAAC,6BAA6B,EAAEG,IAAI,CAAC;IAC9C,IAAI,CAACP,QAAQ,CAAC;MAAEJ,gBAAgB,EAAE;IAAM,CAAC,CAAC;IAC1C,IAAM;MAAErC;IAAY,CAAC,GAAG,IAAI,CAACsB,KAAK;IAClCtB,WAAW,CAACiD,eAAe,CAACD,IAAI,CAAC,CAACE,KAAK,CAACpC,iBAAiB,CAACE,WAAW,CAAC;EACxE;EAEMS,cAAcA,CAAC0B,IAAqB,EAAiB;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MACzD,IAAM;QAAErD;MAAY,CAAC,GAAGoD,KAAI,CAAC9B,KAAK;MAClC,IAAIrC,WAAW,CAACkE,IAAI,CAAC,EAAE;QACrBxD,GAAG,CAACsB,KAAK,CAAC,gCAAgC,EAAEkC,IAAI,CAAC;QACjD;MACF;MACA,IAAMG,OAAO,SAASvE,SAAS,CAACwE,qBAAqB,CACnDvD,WAAW,EACXmD,IAAI,CAACK,QACP,CAAC;MACD,MAAMxD,WAAW,CAACyD,QAAQ,CAACN,IAAI,CAACK,QAAQ,EAAEF,OAAO,CAAC;IAAC;EACrD;EAEAxB,YAAYA,CAAC4B,KAAwB,EAAQ;IAC3C,IAAM;MAAEhB;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjCoC,KAAK,CAACC,OAAO,CAACR,IAAI,IAAI;MACpBT,UAAU,CAACI,IAAI,CAACzD,aAAa,CAACuE,UAAU,EAAE;QACxCC,EAAE,EAAEV,IAAI,CAACK,QAAQ;QACjBM,QAAQ,EAAEX,IAAI,CAACK;MACjB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEArB,qBAAqBA,CAAC4B,aAAgC,EAAQ;IAC5D,IAAIf,IAAI,GAAG,GAAG;IACd,IAAIe,aAAa,CAACC,MAAM,KAAK,CAAC,EAAE;MAC9B,IAAID,aAAa,CAAC,CAAC,CAAC,CAACxD,IAAI,KAAK,WAAW,EAAE;QACzCyC,IAAI,GAAGjE,SAAS,CAACkF,QAAQ,CAACF,aAAa,CAAC,CAAC,CAAC,CAACP,QAAQ,CAAC;MACtD,CAAC,MAAM;QACLR,IAAI,GAAGjE,SAAS,CAACmF,OAAO,CAACH,aAAa,CAAC,CAAC,CAAC,CAACP,QAAQ,CAAC;MACrD;IACF;IACA,IAAI,CAACf,QAAQ,CAAC;MAAEH,eAAe,EAAEU;IAAK,CAAC,CAAC;EAC1C;EAEAzB,gBAAgBA,CAAC4B,IAAqB,EAAEhC,KAA2B,EAAQ;IACzExB,GAAG,CAACkD,KAAK,CAAC,YAAY,EAAEM,IAAI,CAAC;IAC7B,IAAIA,IAAI,CAAC5C,IAAI,KAAK,WAAW,EAAE;MAC7B;IACF;IAEA,IAAM4D,WAAW,GAAGrD,iBAAiB,CAACI,YAAY,CAACC,KAAK,CAAC;IACzD,IAAMiD,YAAY,GAAG;MAAEP,EAAE,EAAEV,IAAI,CAACK,QAAQ;MAAEM,QAAQ,EAAEX,IAAI,CAACK;IAAS,CAAC;IACnE,IAAM;MAAEd;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjC,IAAM;MAAEnB,OAAO;MAAEG;IAAS,CAAC,GAAG,IAAI,CAACR,KAAK;IACxC,IAAM6C,gBAAgB,GAAG;MACvBC,KAAK,EAAE,IAAI;MACXtC;IACF,CAAC;IACDoC,UAAU,CAACI,IAAI,CACbzD,aAAa,CAACgF,eAAe,EAC7BlE,OAAO,EACPG,QAAQ,EACRqC,gBAAgB,EAChByB,YAAY,EACZD,WACF,CAAC;EACH;EAEApC,YAAYA,CAACuC,OAAe,EAAEhB,OAAe,EAAQ;IACnD,IAAM;MAAEZ;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjC3B,GAAG,CAACkD,KAAK,CAAC,cAAc,EAAEyB,OAAO,EAAEhB,OAAO,CAAC;IAC3CZ,UAAU,CAACI,IAAI,CAACzD,aAAa,CAACkF,WAAW,EAAED,OAAO,EAAEhB,OAAO,CAAC;EAC9D;EAEAtB,mBAAmBA,CACjB7B,OAAmB,EAAAqE,IAAA,EAEb;IAAA,IADN;MAAElE;IAA+B,CAAC,GAAAkE,IAAA;IAElC,IAAI,CAAC/B,QAAQ,CAAC;MACZtC,OAAO;MACPG;IACF,CAAC,CAAC;EACJ;EAEA2B,mBAAmBA,CAAA,EAAS;IAC1B,IAAI,CAACQ,QAAQ,CAAC;MACZtC,OAAO,EAAEsE,SAAS;MAClBnE,QAAQ,EAAEmE;IACZ,CAAC,CAAC;EACJ;EAEAvC,UAAUA,CAAA,EAAS;IACjB,IAAI,CAACO,QAAQ,CAAC;MAAEL,OAAO,EAAE;IAAK,CAAC,CAAC;EAClC;EAEAI,QAAQA,CAAA,EAAY;IAClB,IAAM;MAAEkC;IAAY,CAAC,GAAG,IAAI,CAACpD,KAAK;IAClC,IAAM;MAAEkB;IAAS,CAAC,GAAGkC,WAAW;IAChC,OAAOlC,QAAQ;EACjB;EAEAmC,MAAMA,CAAA,EAAc;IAClB,IAAM;MAAE3E,WAAW;MAAE0E,WAAW;MAAEhC;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IAC3D,IAAM;MAAEc,OAAO;MAAEC,gBAAgB;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAACxC,KAAK;IACjE,oBACEJ,KAAA,CAACN,KAAK;MACJwF,SAAS,EAAC,qBAAqB;MAC/BC,cAAc,EAAE,IAAK;MACrBH,WAAW,EAAEA,WAAY;MACzBhC,UAAU,EAAEA,UAAW;MACvBoC,aAAa,EAAE,IAAI,CAAC9C,mBAAoB;MACxC+C,cAAc,EAAE,IAAI,CAAC9C,mBAAoB;MACzC+C,MAAM,EAAE,IAAI,CAAC9C,UAAW;MAAA+C,QAAA,gBAExBzF,IAAA,CAACV,mBAAmB;QAClBoG,UAAU,EAAE,IAAI,CAACxD,gBAAiB;QAClCyD,YAAY,EAAE,IAAI,CAACxD;MAAsB,CAC1C,CAAC,EACDS,OAAO,iBACN5C,IAAA,CAACX,YAAY;QACXuG,aAAa;QACbC,OAAO,EAAErF,WAAY;QACrBsF,MAAM,EAAE,IAAI,CAAC7D,cAAe;QAC5B8D,YAAY,EAAE,IAAI,CAAC7D,gBAAiB;QACpC8D,cAAc,EAAE,IAAI,CAAC7D,qBAAsB;QAC3C8D,QAAQ,EAAE,IAAI,CAAC3D,YAAa;QAC5B4D,QAAQ,EAAE,IAAI,CAAC3D,YAAa;QAC5B4D,QAAQ,EAAE,IAAI,CAACpE,gBAAiB;QAChCqE,iBAAiB,EAAE,IAAI,CAACzD;MAAsB,CAC/C,CACF,eACD3C,IAAA,CAACR,YAAY;QACX6G,MAAM,EAAExD,gBAAiB;QACzB9B,IAAI,EAAC,WAAW;QAChBuF,KAAK,EAAC,mBAAmB;QACzBT,OAAO,EAAErF,WAAY;QACrB+F,QAAQ,EAAE,IAAI,CAAClE,2BAA4B;QAC3CmE,QAAQ,EAAE,IAAI,CAACpE,2BAA4B;QAC3CqE,YAAY,EAAE3D;MAAgB,CAC/B,CAAC;IAAA,CACG,CAAC;EAEZ;AACF;AAAC4D,eAAA,CApOYpF,iBAAiB,eAIT,mBAAmB;AAAAoF,eAAA,CAJ3BpF,iBAAiB,WAMb,eAAe;AAgOhC,IAAMqF,0BAA0B,GAAG3F,SAAS,CAACM,iBAAiB,CAAC;AAE/D,eAAeqF,0BAA0B"}
1
+ {"version":3,"file":"FileExplorerPanel.js","names":["Log","getFileStorage","FileExplorer","FileExplorerToolbar","FileUtils","NewItemModal","isDirectory","React","connect","Panel","NotebookEvent","getDashboardSessionWrapper","jsx","_jsx","jsxs","_jsxs","log","module","mapStateToProps","state","ownProps","fileStorage","sessionWrapper","localDashboardId","session","config","sessionConfig","language","type","connector","forwardRef","isMouseEvent","e","mouseEvent","button","FileExplorerPanel","Component","handleError","error","isFocusEvent","event","detail","constructor","props","handleFileSelect","bind","handleCopyFile","handleCreateFile","handleCreateDirectory","handleCreateDirectoryCancel","handleCreateDirectorySubmit","handleDelete","handleRename","handleSessionOpened","handleSessionClosed","handleShow","handleSelectionChange","isShown","showCreateFolder","focusedFilePath","componentDidMount","isHidden","setState","glEventHub","notebookSettings","value","debug","emit","CREATE_NOTEBOOK","path","createDirectory","catch","file","_this","_asyncToGenerator","newName","getUniqueCopyFileName","filename","copyFile","files","forEach","CLOSE_FILE","id","itemName","selectedItems","length","makePath","getPath","shouldFocus","fileMetadata","SELECT_NOTEBOOK","oldName","RENAME_FILE","_ref","undefined","glContainer","render","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","createFile","createFolder","isMultiSelect","storage","onCopy","onCreateFile","onCreateFolder","onDelete","onRename","onSelect","onSelectionChange","isOpen","title","onSubmit","onCancel","defaultValue","_defineProperty","ConnectedFileExplorerPanel"],"sources":["../../src/panels/FileExplorerPanel.tsx"],"sourcesContent":["import { DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getFileStorage, RootState } from '@deephaven/redux';\nimport FileExplorer, {\n FileExplorerToolbar,\n FileStorage,\n FileStorageItem,\n FileUtils,\n NewItemModal,\n isDirectory,\n} from '@deephaven/file-explorer';\nimport React, { ReactNode } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport type { dh } from '@deephaven/jsapi-types';\nimport Panel from './Panel';\nimport { NotebookEvent } from '../events';\nimport './FileExplorerPanel.scss';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('FileExplorerPanel');\n\ntype StateProps = {\n fileStorage: FileStorage;\n language?: string;\n session?: dh.IdeSession;\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const fileStorage = getFileStorage(state);\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const language = sessionConfig?.type;\n\n return {\n fileStorage,\n language,\n session,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type FileExplorerPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\nexport type FileExplorerPanelState = {\n isShown: boolean;\n language?: string;\n session?: dh.IdeSession;\n showCreateFolder: boolean;\n focusedFilePath: string;\n};\n\nfunction isMouseEvent<T>(e: React.SyntheticEvent<T>): e is React.MouseEvent<T> {\n const mouseEvent = e as React.MouseEvent<T>;\n return mouseEvent != null && typeof mouseEvent.button === 'number';\n}\n\n/**\n * Panel for showing a FileExplorer in a Dashboard.\n */\nexport class FileExplorerPanel extends React.Component<\n FileExplorerPanelProps,\n FileExplorerPanelState\n> {\n static COMPONENT = 'FileExplorerPanel';\n\n static TITLE = 'File Explorer';\n\n static handleError(error: Error): void {\n log.error(error);\n }\n\n /**\n * Return true if the event should open a file and focus it, otherwise false\n * @param event The event to check\n */\n static isFocusEvent(event: React.SyntheticEvent): boolean {\n if (isMouseEvent(event)) {\n // If it's not a double click, then it's a preview event\n return event.detail >= 2;\n }\n\n // Keyboard event should always open with focus\n return true;\n }\n\n constructor(props: FileExplorerPanelProps) {\n super(props);\n\n this.handleFileSelect = this.handleFileSelect.bind(this);\n this.handleCopyFile = this.handleCopyFile.bind(this);\n this.handleCreateFile = this.handleCreateFile.bind(this);\n this.handleCreateDirectory = this.handleCreateDirectory.bind(this);\n this.handleCreateDirectoryCancel =\n this.handleCreateDirectoryCancel.bind(this);\n this.handleCreateDirectorySubmit =\n this.handleCreateDirectorySubmit.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n this.handleRename = this.handleRename.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n\n const { session, language } = props;\n this.state = {\n isShown: false,\n language,\n session,\n showCreateFolder: false,\n focusedFilePath: '/',\n };\n }\n\n componentDidMount(): void {\n if (!this.isHidden()) {\n this.setState({ isShown: true });\n }\n }\n\n handleCreateFile(): void {\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n language,\n value: '',\n };\n log.debug('handleCreateFile', session, language, notebookSettings);\n glEventHub.emit(\n NotebookEvent.CREATE_NOTEBOOK,\n session,\n language,\n notebookSettings\n );\n }\n\n handleCreateDirectory(): void {\n this.setState({ showCreateFolder: true });\n }\n\n handleCreateDirectoryCancel(): void {\n log.debug('handleCreateDirectoryCancel');\n this.setState({\n showCreateFolder: false,\n });\n }\n\n handleCreateDirectorySubmit(path: string): void {\n log.debug('handleCreateDirectorySubmit', path);\n this.setState({ showCreateFolder: false });\n const { fileStorage } = this.props;\n fileStorage.createDirectory(path).catch(FileExplorerPanel.handleError);\n }\n\n async handleCopyFile(file: FileStorageItem): Promise<void> {\n const { fileStorage } = this.props;\n if (isDirectory(file)) {\n log.error('Invalid item in handleCopyItem', file);\n return;\n }\n const newName = await FileUtils.getUniqueCopyFileName(\n fileStorage,\n file.filename\n );\n await fileStorage.copyFile(file.filename, newName);\n }\n\n handleDelete(files: FileStorageItem[]): void {\n const { glEventHub } = this.props;\n files.forEach(file => {\n glEventHub.emit(NotebookEvent.CLOSE_FILE, {\n id: file.filename,\n itemName: file.filename,\n });\n });\n }\n\n handleSelectionChange(selectedItems: FileStorageItem[]): void {\n let path = '/';\n if (selectedItems.length === 1) {\n if (selectedItems[0].type === 'directory') {\n path = FileUtils.makePath(selectedItems[0].filename);\n } else {\n path = FileUtils.getPath(selectedItems[0].filename);\n }\n }\n this.setState({ focusedFilePath: path });\n }\n\n handleFileSelect(file: FileStorageItem, event: React.SyntheticEvent): void {\n log.debug('fileSelect', file);\n if (file.type === 'directory') {\n return;\n }\n\n const shouldFocus = FileExplorerPanel.isFocusEvent(event);\n const fileMetadata = { id: file.filename, itemName: file.filename };\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n value: null,\n language,\n };\n glEventHub.emit(\n NotebookEvent.SELECT_NOTEBOOK,\n session,\n language,\n notebookSettings,\n fileMetadata,\n shouldFocus\n );\n }\n\n handleRename(oldName: string, newName: string): void {\n const { glEventHub } = this.props;\n log.debug('handleRename', oldName, newName);\n glEventHub.emit(NotebookEvent.RENAME_FILE, oldName, newName);\n }\n\n handleSessionOpened(\n session: dh.IdeSession,\n { language }: { language: string }\n ): void {\n this.setState({\n session,\n language,\n });\n }\n\n handleSessionClosed(): void {\n this.setState({\n session: undefined,\n language: undefined,\n });\n }\n\n handleShow(): void {\n this.setState({ isShown: true });\n }\n\n isHidden(): boolean {\n const { glContainer } = this.props;\n const { isHidden } = glContainer;\n return isHidden;\n }\n\n render(): ReactNode {\n const { fileStorage, glContainer, glEventHub } = this.props;\n const { isShown, showCreateFolder, focusedFilePath } = this.state;\n return (\n <Panel\n className=\"file-explorer-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n <FileExplorerToolbar\n createFile={this.handleCreateFile}\n createFolder={this.handleCreateDirectory}\n />\n {isShown && (\n <FileExplorer\n isMultiSelect\n storage={fileStorage}\n onCopy={this.handleCopyFile}\n onCreateFile={this.handleCreateFile}\n onCreateFolder={this.handleCreateDirectory}\n onDelete={this.handleDelete}\n onRename={this.handleRename}\n onSelect={this.handleFileSelect}\n onSelectionChange={this.handleSelectionChange}\n />\n )}\n <NewItemModal\n isOpen={showCreateFolder}\n type=\"directory\"\n title=\"Create New Folder\"\n storage={fileStorage}\n onSubmit={this.handleCreateDirectorySubmit}\n onCancel={this.handleCreateDirectoryCancel}\n defaultValue={focusedFilePath}\n />\n </Panel>\n );\n }\n}\n\nconst ConnectedFileExplorerPanel = connector(FileExplorerPanel);\n\nexport default ConnectedFileExplorerPanel;\n"],"mappings":";;;;;AACA,OAAOA,GAAG,MAAM,gBAAgB;AAChC,SAASC,cAAc,QAAmB,kBAAkB;AAC5D,OAAOC,YAAY,IACjBC,mBAAmB,EAGnBC,SAAS,EACTC,YAAY,EACZC,WAAW,QACN,0BAA0B;AACjC,OAAOC,KAAK,MAAqB,OAAO;AACxC,SAASC,OAAO,QAAwB,aAAa;AAAC,OAE/CC,KAAK;AAAA,SACHC,aAAa;AAAA;AAAA,SAEbC,0BAA0B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnC,IAAMC,GAAG,GAAGhB,GAAG,CAACiB,MAAM,CAAC,mBAAmB,CAAC;AAU3C,IAAMC,eAAe,GAAGA,CAACC,KAAgB,EAAEC,QAAkB,KAAiB;EAC5E,IAAMC,WAAW,GAAGpB,cAAc,CAACkB,KAAK,CAAC;EACzC,IAAMG,cAAc,GAAGX,0BAA0B,CAC/CQ,KAAK,EACLC,QAAQ,CAACG,gBACX,CAAC;EACD,IAAM;IAAEC,OAAO;IAAEC,MAAM,EAAEC;EAAc,CAAC,GAAGJ,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,CAAC,CAAC;EAC/D,IAAMK,QAAQ,GAAGD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,IAAI;EAEpC,OAAO;IACLP,WAAW;IACXM,QAAQ;IACRH;EACF,CAAC;AACH,CAAC;AAED,IAAMK,SAAS,GAAGrB,OAAO,CAACU,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;EAAEY,UAAU,EAAE;AAAK,CAAC,CAAC;AAc5E,SAASC,YAAYA,CAAIC,CAA0B,EAA4B;EAC7E,IAAMC,UAAU,GAAGD,CAAwB;EAC3C,OAAOC,UAAU,IAAI,IAAI,IAAI,OAAOA,UAAU,CAACC,MAAM,KAAK,QAAQ;AACpE;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,SAAS5B,KAAK,CAAC6B,SAAS,CAGpD;EAKA,OAAOC,WAAWA,CAACC,KAAY,EAAQ;IACrCtB,GAAG,CAACsB,KAAK,CAACA,KAAK,CAAC;EAClB;;EAEA;AACF;AACA;AACA;EACE,OAAOC,YAAYA,CAACC,KAA2B,EAAW;IACxD,IAAIT,YAAY,CAACS,KAAK,CAAC,EAAE;MACvB;MACA,OAAOA,KAAK,CAACC,MAAM,IAAI,CAAC;IAC1B;;IAEA;IACA,OAAO,IAAI;EACb;EAEAC,WAAWA,CAACC,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACC,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,CAACD,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACE,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACF,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACG,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACH,IAAI,CAAC,IAAI,CAAC;IAClE,IAAI,CAACI,2BAA2B,GAC9B,IAAI,CAACA,2BAA2B,CAACJ,IAAI,CAAC,IAAI,CAAC;IAC7C,IAAI,CAACK,2BAA2B,GAC9B,IAAI,CAACA,2BAA2B,CAACL,IAAI,CAAC,IAAI,CAAC;IAC7C,IAAI,CAACM,YAAY,GAAG,IAAI,CAACA,YAAY,CAACN,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACO,YAAY,GAAG,IAAI,CAACA,YAAY,CAACP,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACQ,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACR,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACS,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACT,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACU,UAAU,GAAG,IAAI,CAACA,UAAU,CAACV,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACW,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACX,IAAI,CAAC,IAAI,CAAC;IAElE,IAAM;MAAErB,OAAO;MAAEG;IAAS,CAAC,GAAGgB,KAAK;IACnC,IAAI,CAACxB,KAAK,GAAG;MACXsC,OAAO,EAAE,KAAK;MACd9B,QAAQ;MACRH,OAAO;MACPkC,gBAAgB,EAAE,KAAK;MACvBC,eAAe,EAAE;IACnB,CAAC;EACH;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAE;MACpB,IAAI,CAACC,QAAQ,CAAC;QAAEL,OAAO,EAAE;MAAK,CAAC,CAAC;IAClC;EACF;EAEAV,gBAAgBA,CAAA,EAAS;IACvB,IAAM;MAAEgB;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjC,IAAM;MAAEnB,OAAO;MAAEG;IAAS,CAAC,GAAG,IAAI,CAACR,KAAK;IACxC,IAAM6C,gBAAgB,GAAG;MACvBrC,QAAQ;MACRsC,KAAK,EAAE;IACT,CAAC;IACDjD,GAAG,CAACkD,KAAK,CAAC,kBAAkB,EAAE1C,OAAO,EAAEG,QAAQ,EAAEqC,gBAAgB,CAAC;IAClED,UAAU,CAACI,IAAI,CACbzD,aAAa,CAAC0D,eAAe,EAC7B5C,OAAO,EACPG,QAAQ,EACRqC,gBACF,CAAC;EACH;EAEAhB,qBAAqBA,CAAA,EAAS;IAC5B,IAAI,CAACc,QAAQ,CAAC;MAAEJ,gBAAgB,EAAE;IAAK,CAAC,CAAC;EAC3C;EAEAT,2BAA2BA,CAAA,EAAS;IAClCjC,GAAG,CAACkD,KAAK,CAAC,6BAA6B,CAAC;IACxC,IAAI,CAACJ,QAAQ,CAAC;MACZJ,gBAAgB,EAAE;IACpB,CAAC,CAAC;EACJ;EAEAR,2BAA2BA,CAACmB,IAAY,EAAQ;IAC9CrD,GAAG,CAACkD,KAAK,CAAC,6BAA6B,EAAEG,IAAI,CAAC;IAC9C,IAAI,CAACP,QAAQ,CAAC;MAAEJ,gBAAgB,EAAE;IAAM,CAAC,CAAC;IAC1C,IAAM;MAAErC;IAAY,CAAC,GAAG,IAAI,CAACsB,KAAK;IAClCtB,WAAW,CAACiD,eAAe,CAACD,IAAI,CAAC,CAACE,KAAK,CAACpC,iBAAiB,CAACE,WAAW,CAAC;EACxE;EAEMS,cAAcA,CAAC0B,IAAqB,EAAiB;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MACzD,IAAM;QAAErD;MAAY,CAAC,GAAGoD,KAAI,CAAC9B,KAAK;MAClC,IAAIrC,WAAW,CAACkE,IAAI,CAAC,EAAE;QACrBxD,GAAG,CAACsB,KAAK,CAAC,gCAAgC,EAAEkC,IAAI,CAAC;QACjD;MACF;MACA,IAAMG,OAAO,SAASvE,SAAS,CAACwE,qBAAqB,CACnDvD,WAAW,EACXmD,IAAI,CAACK,QACP,CAAC;MACD,MAAMxD,WAAW,CAACyD,QAAQ,CAACN,IAAI,CAACK,QAAQ,EAAEF,OAAO,CAAC;IAAC;EACrD;EAEAxB,YAAYA,CAAC4B,KAAwB,EAAQ;IAC3C,IAAM;MAAEhB;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjCoC,KAAK,CAACC,OAAO,CAACR,IAAI,IAAI;MACpBT,UAAU,CAACI,IAAI,CAACzD,aAAa,CAACuE,UAAU,EAAE;QACxCC,EAAE,EAAEV,IAAI,CAACK,QAAQ;QACjBM,QAAQ,EAAEX,IAAI,CAACK;MACjB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEArB,qBAAqBA,CAAC4B,aAAgC,EAAQ;IAC5D,IAAIf,IAAI,GAAG,GAAG;IACd,IAAIe,aAAa,CAACC,MAAM,KAAK,CAAC,EAAE;MAC9B,IAAID,aAAa,CAAC,CAAC,CAAC,CAACxD,IAAI,KAAK,WAAW,EAAE;QACzCyC,IAAI,GAAGjE,SAAS,CAACkF,QAAQ,CAACF,aAAa,CAAC,CAAC,CAAC,CAACP,QAAQ,CAAC;MACtD,CAAC,MAAM;QACLR,IAAI,GAAGjE,SAAS,CAACmF,OAAO,CAACH,aAAa,CAAC,CAAC,CAAC,CAACP,QAAQ,CAAC;MACrD;IACF;IACA,IAAI,CAACf,QAAQ,CAAC;MAAEH,eAAe,EAAEU;IAAK,CAAC,CAAC;EAC1C;EAEAzB,gBAAgBA,CAAC4B,IAAqB,EAAEhC,KAA2B,EAAQ;IACzExB,GAAG,CAACkD,KAAK,CAAC,YAAY,EAAEM,IAAI,CAAC;IAC7B,IAAIA,IAAI,CAAC5C,IAAI,KAAK,WAAW,EAAE;MAC7B;IACF;IAEA,IAAM4D,WAAW,GAAGrD,iBAAiB,CAACI,YAAY,CAACC,KAAK,CAAC;IACzD,IAAMiD,YAAY,GAAG;MAAEP,EAAE,EAAEV,IAAI,CAACK,QAAQ;MAAEM,QAAQ,EAAEX,IAAI,CAACK;IAAS,CAAC;IACnE,IAAM;MAAEd;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjC,IAAM;MAAEnB,OAAO;MAAEG;IAAS,CAAC,GAAG,IAAI,CAACR,KAAK;IACxC,IAAM6C,gBAAgB,GAAG;MACvBC,KAAK,EAAE,IAAI;MACXtC;IACF,CAAC;IACDoC,UAAU,CAACI,IAAI,CACbzD,aAAa,CAACgF,eAAe,EAC7BlE,OAAO,EACPG,QAAQ,EACRqC,gBAAgB,EAChByB,YAAY,EACZD,WACF,CAAC;EACH;EAEApC,YAAYA,CAACuC,OAAe,EAAEhB,OAAe,EAAQ;IACnD,IAAM;MAAEZ;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IACjC3B,GAAG,CAACkD,KAAK,CAAC,cAAc,EAAEyB,OAAO,EAAEhB,OAAO,CAAC;IAC3CZ,UAAU,CAACI,IAAI,CAACzD,aAAa,CAACkF,WAAW,EAAED,OAAO,EAAEhB,OAAO,CAAC;EAC9D;EAEAtB,mBAAmBA,CACjB7B,OAAsB,EAAAqE,IAAA,EAEhB;IAAA,IADN;MAAElE;IAA+B,CAAC,GAAAkE,IAAA;IAElC,IAAI,CAAC/B,QAAQ,CAAC;MACZtC,OAAO;MACPG;IACF,CAAC,CAAC;EACJ;EAEA2B,mBAAmBA,CAAA,EAAS;IAC1B,IAAI,CAACQ,QAAQ,CAAC;MACZtC,OAAO,EAAEsE,SAAS;MAClBnE,QAAQ,EAAEmE;IACZ,CAAC,CAAC;EACJ;EAEAvC,UAAUA,CAAA,EAAS;IACjB,IAAI,CAACO,QAAQ,CAAC;MAAEL,OAAO,EAAE;IAAK,CAAC,CAAC;EAClC;EAEAI,QAAQA,CAAA,EAAY;IAClB,IAAM;MAAEkC;IAAY,CAAC,GAAG,IAAI,CAACpD,KAAK;IAClC,IAAM;MAAEkB;IAAS,CAAC,GAAGkC,WAAW;IAChC,OAAOlC,QAAQ;EACjB;EAEAmC,MAAMA,CAAA,EAAc;IAClB,IAAM;MAAE3E,WAAW;MAAE0E,WAAW;MAAEhC;IAAW,CAAC,GAAG,IAAI,CAACpB,KAAK;IAC3D,IAAM;MAAEc,OAAO;MAAEC,gBAAgB;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAACxC,KAAK;IACjE,oBACEJ,KAAA,CAACN,KAAK;MACJwF,SAAS,EAAC,qBAAqB;MAC/BC,cAAc,EAAE,IAAK;MACrBH,WAAW,EAAEA,WAAY;MACzBhC,UAAU,EAAEA,UAAW;MACvBoC,aAAa,EAAE,IAAI,CAAC9C,mBAAoB;MACxC+C,cAAc,EAAE,IAAI,CAAC9C,mBAAoB;MACzC+C,MAAM,EAAE,IAAI,CAAC9C,UAAW;MAAA+C,QAAA,gBAExBzF,IAAA,CAACV,mBAAmB;QAClBoG,UAAU,EAAE,IAAI,CAACxD,gBAAiB;QAClCyD,YAAY,EAAE,IAAI,CAACxD;MAAsB,CAC1C,CAAC,EACDS,OAAO,iBACN5C,IAAA,CAACX,YAAY;QACXuG,aAAa;QACbC,OAAO,EAAErF,WAAY;QACrBsF,MAAM,EAAE,IAAI,CAAC7D,cAAe;QAC5B8D,YAAY,EAAE,IAAI,CAAC7D,gBAAiB;QACpC8D,cAAc,EAAE,IAAI,CAAC7D,qBAAsB;QAC3C8D,QAAQ,EAAE,IAAI,CAAC3D,YAAa;QAC5B4D,QAAQ,EAAE,IAAI,CAAC3D,YAAa;QAC5B4D,QAAQ,EAAE,IAAI,CAACpE,gBAAiB;QAChCqE,iBAAiB,EAAE,IAAI,CAACzD;MAAsB,CAC/C,CACF,eACD3C,IAAA,CAACR,YAAY;QACX6G,MAAM,EAAExD,gBAAiB;QACzB9B,IAAI,EAAC,WAAW;QAChBuF,KAAK,EAAC,mBAAmB;QACzBT,OAAO,EAAErF,WAAY;QACrB+F,QAAQ,EAAE,IAAI,CAAClE,2BAA4B;QAC3CmE,QAAQ,EAAE,IAAI,CAACpE,2BAA4B;QAC3CqE,YAAY,EAAE3D;MAAgB,CAC/B,CAAC;IAAA,CACG,CAAC;EAEZ;AACF;AAAC4D,eAAA,CApOYpF,iBAAiB,eAIT,mBAAmB;AAAAoF,eAAA,CAJ3BpF,iBAAiB,WAMb,eAAe;AAgOhC,IAAMqF,0BAA0B,GAAG3F,SAAS,CAACM,iBAAiB,CAAC;AAE/D,eAAeqF,0BAA0B"}
@@ -1,7 +1,7 @@
1
1
  import { Component, ReactElement } from 'react';
2
2
  import { PanelComponent } from '@deephaven/dashboard';
3
3
  import type { Container, EventEmitter } from '@deephaven/golden-layout';
4
- import type { TableTemplate } from '@deephaven/jsapi-types';
4
+ import type { dh } from '@deephaven/jsapi-types';
5
5
  import { AdvancedFilter, ColumnName, DehydratedIrisGridState, QuickFilter } from '@deephaven/iris-grid';
6
6
  import { GridState } from '@deephaven/grid';
7
7
  import { ChangeHandlerArgs, FilterSet, FilterSetPanel } from './FilterSetManager';
@@ -29,7 +29,7 @@ interface FilterSetManagerPanelProps {
29
29
  localDashboardId: string;
30
30
  dashboardOpenedPanelMap: Map<string | string[], PanelComponent>;
31
31
  setDashboardFilterSets: (dashboardId: string, filterSets: FilterSet[]) => void;
32
- panelTableMap: Map<string | string[], TableTemplate>;
32
+ panelTableMap: Map<string | string[], dh.Table>;
33
33
  }
34
34
  interface FilterSetManagerPanelState {
35
35
  selectedId?: string | string[];
@@ -41,7 +41,7 @@ export declare class FilterSetManagerPanel extends Component<FilterSetManagerPan
41
41
  panelState: null;
42
42
  };
43
43
  static COMPONENT: string;
44
- static changeFilterIndexesToColumnNames<T>(table: TableTemplate, configs: [number, T][]): {
44
+ static changeFilterIndexesToColumnNames<T>(table: dh.Table, configs: [number, T][]): {
45
45
  name: string;
46
46
  filter: T;
47
47
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSetManagerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FilterSetManagerPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterSetManagerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FilterSetManagerPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSetManagerPanel.js","names":["React","Component","connect","getOpenedPanelMapForDashboard","LayoutUtils","Log","getFilterSetsForDashboard","getInputFiltersForDashboard","getTableMapForDashboard","setDashboardFilterSets","setDashboardFilterSetsAction","Panel","FilterSetManager","IrisGridPanel","DropdownFilterPanel","InputFilterPanel","jsx","_jsx","log","module","hasSetPanelState","panel","setPanelState","FilterSetManagerPanel","changeFilterIndexesToColumnNames","table","configs","map","_ref","index","filter","columns","length","name","config","constructor","props","handleChange","bind","handleFilterApply","handleSetsUpdate","handleGetFilterState","panelState","filterSets","selectedId","id","undefined","isValueShown","state","getFilterState","dashboardOpenedPanelMap","panels","keys","forEach","key","get","error","componentName","getComponentNameFromPanel","panelId","getIdFromPanel","debug","glContainer","getComponentConfigFromContainer","getPanelComponentState","concat","getComponentName","getIrisGridPanelFilters","push","type","value","panelTableMap","irisGridState","advancedFilters","quickFilters","gridState","indexedAdvancedFilters","indexedQuickFilters","_objectSpread","_ref2","setState","updatePanelState","filterSet","restoreFullState","_ref3","has","restoreIrisGridFilters","restoreInputFilterState","modifiedFilterSets","localDashboardId","_ref4","prevAdvancedFilters","prevQuickFilters","setStateOverrides","setFilters","inputFilterState","render","glEventHub","className","componentPanel","isClonable","isRenamable","children","onChange","onApply","onUpdateSets","_defineProperty","mapStateToProps","ownProps","dashboardInputFilters","ConnectedFilterSetManagerPanel","forwardRef"],"sources":["../../src/panels/FilterSetManagerPanel.tsx"],"sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport { connect } from 'react-redux';\nimport {\n getOpenedPanelMapForDashboard,\n LayoutUtils,\n PanelComponent,\n} from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport type { TableTemplate } from '@deephaven/jsapi-types';\nimport { RootState } from '@deephaven/redux';\nimport {\n AdvancedFilter,\n ColumnName,\n DehydratedIrisGridState,\n QuickFilter,\n} from '@deephaven/iris-grid';\nimport { GridState } from '@deephaven/grid';\nimport {\n getFilterSetsForDashboard,\n getInputFiltersForDashboard,\n getTableMapForDashboard,\n setDashboardFilterSets as setDashboardFilterSetsAction,\n} from '../redux';\nimport Panel from './Panel';\nimport FilterSetManager, {\n ChangeHandlerArgs,\n FilterSet,\n FilterSetPanel,\n} from './FilterSetManager';\nimport { IrisGridPanel } from './IrisGridPanel';\nimport DropdownFilterPanel from './DropdownFilterPanel';\nimport InputFilterPanel, {\n PanelState as InputFilterPanelState,\n} from './InputFilterPanel';\nimport './FilterSetManagerPanel.scss';\nimport { FilterChangeEvent } from '../FilterPlugin';\n\nconst log = Log.module('FilterSetManagerPanel');\ninterface IrisGridState {\n advancedFilters: [number, AdvancedFilter][];\n quickFilters: [number, QuickFilter][];\n}\n\ninterface PanelState {\n irisGridState?: IrisGridState;\n gridState?: Partial<GridState>;\n selectedId?: string | string[];\n isValueShown?: boolean;\n name?: string;\n type?: string;\n value?: string;\n}\n\ninterface FilterSetManagerPanelProps {\n glContainer: Container;\n glEventHub: EventEmitter;\n panelState: PanelState;\n filterSets: FilterSet[];\n localDashboardId: string;\n dashboardOpenedPanelMap: Map<string | string[], PanelComponent>;\n setDashboardFilterSets: (\n dashboardId: string,\n filterSets: FilterSet[]\n ) => void;\n panelTableMap: Map<string | string[], TableTemplate>;\n}\n\ninterface FilterSetManagerPanelState {\n selectedId?: string | string[];\n isValueShown: boolean;\n // eslint-disable-next-line react/no-unused-state\n panelState: PanelState; // Dehydrated panel state that can load this panel\n}\n\nfunction hasSetPanelState(panel: PanelComponent): panel is PanelComponent & {\n setPanelState: (state: InputFilterPanelState) => void;\n} {\n return (\n (\n panel as PanelComponent & {\n setPanelState: (state: InputFilterPanelState) => void;\n }\n ).setPanelState != null\n );\n}\nexport class FilterSetManagerPanel extends Component<\n FilterSetManagerPanelProps,\n FilterSetManagerPanelState\n> {\n static defaultProps = {\n panelState: null,\n };\n\n static COMPONENT = 'FilterSetManagerPanel';\n\n static changeFilterIndexesToColumnNames<T>(\n table: TableTemplate,\n configs: [number, T][]\n ): { name: string; filter: T }[] {\n return configs\n .map(([index, filter]) => {\n if (index >= table.columns.length) {\n return null;\n }\n const { name } = table.columns[index];\n return { name, filter };\n })\n .filter(config => config != null) as { name: string; filter: T }[];\n }\n\n constructor(props: FilterSetManagerPanelProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleFilterApply = this.handleFilterApply.bind(this);\n this.handleSetsUpdate = this.handleSetsUpdate.bind(this);\n this.handleGetFilterState = this.handleGetFilterState.bind(this);\n\n const { panelState, filterSets } = props;\n const {\n selectedId = filterSets.length > 0 ? filterSets[0].id : undefined,\n isValueShown = false,\n } = panelState ?? {};\n\n this.state = {\n selectedId,\n isValueShown,\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n // Collect all filter values for each dashboard panel\n getFilterState(): FilterSetPanel[] {\n const { dashboardOpenedPanelMap } = this.props;\n const panels: FilterSetPanel[] = [];\n [...dashboardOpenedPanelMap.keys()].forEach(key => {\n const panel = dashboardOpenedPanelMap.get(key);\n\n if (panel === undefined) {\n log.error('Could not get panel', panel);\n return;\n }\n\n const componentName = LayoutUtils.getComponentNameFromPanel(panel);\n const panelId = LayoutUtils.getIdFromPanel(panel);\n log.debug('Panel:', panel, componentName);\n\n const { glContainer = null } = panel.props;\n if (glContainer == null) {\n log.error('Could not get panel container', panel);\n return;\n }\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n if (config == null) {\n log.error('Could not get component config from container', glContainer);\n return;\n }\n const panelState = LayoutUtils.getPanelComponentState(\n config\n ) as PanelState;\n if (panelState == null) {\n log.debug(`Panel state is null ${panelId}`);\n return;\n }\n switch (componentName) {\n case LayoutUtils.getComponentName(IrisGridPanel): {\n let state;\n if (panelId != null) {\n state = this.getIrisGridPanelFilters(panelId, panelState);\n }\n if (state != null) {\n panels.push({\n panelId,\n type: componentName,\n state,\n });\n }\n break;\n }\n case LayoutUtils.getComponentName(InputFilterPanel):\n case LayoutUtils.getComponentName(DropdownFilterPanel): {\n const { isValueShown, name, type, value } = panelState;\n panels.push({\n panelId,\n type: componentName,\n state: { isValueShown, name, type, value },\n });\n break;\n }\n default:\n }\n });\n return panels;\n }\n\n getIrisGridPanelFilters(\n panelId: string | string[],\n panelState: PanelState\n ): {\n irisGridState: Omit<IrisGridState, 'advancedFilters' | 'quickFilters'> & {\n advancedFilters?: {\n name: string;\n filter: AdvancedFilter;\n }[];\n quickFilters?: {\n name: string;\n filter: QuickFilter;\n }[];\n };\n gridState: Partial<GridState>;\n } | null {\n const { panelTableMap } = this.props;\n const table = panelTableMap.get(panelId);\n if (table == null) {\n log.error(`Unable to get table for panel ${panelId}.`);\n return null;\n }\n // IrisGridUtils.hydrate uses numeric indexes for columns\n // Change indexes to column names to make it work for proxy models\n const {\n irisGridState = { advancedFilters: undefined, quickFilters: undefined },\n gridState = {},\n } = panelState;\n const {\n advancedFilters: indexedAdvancedFilters,\n quickFilters: indexedQuickFilters,\n } = irisGridState;\n let advancedFilters;\n if (indexedAdvancedFilters) {\n advancedFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(\n table,\n indexedAdvancedFilters\n );\n }\n\n let quickFilters;\n if (indexedQuickFilters) {\n quickFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(\n table,\n indexedQuickFilters\n );\n }\n return {\n irisGridState: {\n ...irisGridState,\n advancedFilters,\n quickFilters,\n },\n gridState: { ...gridState },\n };\n }\n\n handleGetFilterState(): FilterSetPanel[] {\n return this.getFilterState();\n }\n\n handleChange({ isValueShown, selectedId }: ChangeHandlerArgs): void {\n log.debug('handleChange', isValueShown, selectedId);\n this.setState({ isValueShown, selectedId });\n this.updatePanelState();\n }\n\n handleFilterApply(filterSet: FilterSet): void {\n const { dashboardOpenedPanelMap } = this.props;\n const { panels, restoreFullState = false } = filterSet;\n log.debug(`Apply filters from filter set`, filterSet);\n panels.forEach(({ panelId, type, state }) => {\n if (panelId == null) {\n log.debug('panel is null', panelId);\n return;\n }\n if (!dashboardOpenedPanelMap.has(panelId)) {\n log.debug('Ignore closed panel', panelId);\n return;\n }\n log.debug('Apply panel filters', panelId, type, state);\n const panel = dashboardOpenedPanelMap.get(panelId);\n switch (type) {\n case LayoutUtils.getComponentName(IrisGridPanel):\n this.restoreIrisGridFilters(\n panel as IrisGridPanel,\n state as {\n irisGridState: Partial<DehydratedIrisGridState>;\n gridState: Partial<GridState>;\n advancedFilters: { name: string; filter: AdvancedFilter }[];\n quickFilters: { name: string; filter: QuickFilter }[];\n },\n restoreFullState\n );\n break;\n case LayoutUtils.getComponentName(InputFilterPanel):\n case LayoutUtils.getComponentName(DropdownFilterPanel):\n this.restoreInputFilterState(panel, state as InputFilterPanelState);\n break;\n default:\n }\n });\n }\n\n handleSetsUpdate(modifiedFilterSets: FilterSet[]): void {\n const { setDashboardFilterSets, localDashboardId } = this.props;\n log.debug('Saving updated sets', modifiedFilterSets);\n // Filter sets are stored in dashboard data instead of the panelState\n // because they need to be shared between the filter view manager panels\n setDashboardFilterSets(localDashboardId, [...modifiedFilterSets]);\n }\n\n updatePanelState(): void {\n this.setState(({ selectedId, isValueShown }) => ({\n // eslint-disable-next-line react/no-unused-state\n panelState: {\n selectedId,\n isValueShown,\n },\n }));\n }\n\n restoreIrisGridFilters(\n panel: IrisGridPanel,\n state: {\n irisGridState: Partial<DehydratedIrisGridState>;\n gridState: Partial<GridState>;\n advancedFilters: { name: ColumnName; filter: AdvancedFilter }[];\n quickFilters: { name: ColumnName; filter: QuickFilter }[];\n },\n restoreFullState: boolean\n ): void {\n // Fall back to state.advancedFilters and state.quickFilters\n // for backward compatibility with filter sets that only contain filters\n const {\n irisGridState = {},\n advancedFilters: prevAdvancedFilters = [],\n quickFilters: prevQuickFilters = [],\n } = state;\n const {\n advancedFilters = prevAdvancedFilters,\n quickFilters = prevQuickFilters,\n } = irisGridState;\n const { panelTableMap } = this.props;\n const panelId = LayoutUtils.getIdFromPanel(panel);\n if (panelId == null) {\n log.error(`Panel Id is null.`);\n return;\n }\n const table = panelTableMap.get(panelId);\n if (table == null) {\n log.error(`Unable to get table for panel ${panelId}.`);\n return;\n }\n log.debug('restoreIrisGridFilters', panelId, state, restoreFullState);\n if (restoreFullState) {\n panel.setStateOverrides(state);\n } else {\n panel.setFilters({\n quickFilters: quickFilters as {\n name: string;\n filter: QuickFilter;\n }[],\n advancedFilters: advancedFilters as {\n name: string;\n filter: AdvancedFilter;\n }[],\n });\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n restoreInputFilterState(\n panel: PanelComponent | undefined,\n state: InputFilterPanelState\n ): void {\n const inputFilterState = { ...state };\n // Restore state but don't flip the card\n delete inputFilterState.isValueShown;\n log.debug('restoreInputFilterState', panel, inputFilterState);\n if (panel && hasSetPanelState(panel)) {\n panel.setPanelState(inputFilterState);\n }\n }\n\n render(): ReactElement {\n const { glContainer, glEventHub, filterSets } = this.props;\n const { isValueShown, selectedId } = this.state;\n return (\n <Panel\n className=\"filter-set-manager-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n isClonable\n isRenamable\n >\n <div className=\"input-filter-container h-100 w-100 container\">\n <FilterSetManager\n onChange={this.handleChange}\n onApply={this.handleFilterApply}\n onUpdateSets={this.handleSetsUpdate}\n isValueShown={isValueShown}\n filterSets={filterSets}\n selectedId={selectedId as string}\n getFilterState={this.handleGetFilterState}\n />\n </div>\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n FilterSetManagerPanelProps,\n 'dashboardOpenedPanelMap' | 'filterSets' | 'panelTableMap'\n> & {\n dashboardInputFilters: FilterChangeEvent[];\n} => {\n const { localDashboardId } = ownProps;\n return {\n filterSets: getFilterSetsForDashboard(state, localDashboardId),\n dashboardOpenedPanelMap: getOpenedPanelMapForDashboard(\n state,\n localDashboardId\n ),\n dashboardInputFilters: getInputFiltersForDashboard(state, localDashboardId),\n panelTableMap: getTableMapForDashboard(state, localDashboardId),\n };\n};\n\nconst ConnectedFilterSetManagerPanel = connect(\n mapStateToProps,\n {\n setDashboardFilterSets: setDashboardFilterSetsAction,\n },\n null,\n { forwardRef: true }\n)(FilterSetManagerPanel);\n\nexport default ConnectedFilterSetManagerPanel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterSetManagerPanel.js","names":["React","Component","connect","getOpenedPanelMapForDashboard","LayoutUtils","Log","getFilterSetsForDashboard","getInputFiltersForDashboard","getTableMapForDashboard","setDashboardFilterSets","setDashboardFilterSetsAction","Panel","FilterSetManager","IrisGridPanel","DropdownFilterPanel","InputFilterPanel","jsx","_jsx","log","module","hasSetPanelState","panel","setPanelState","FilterSetManagerPanel","changeFilterIndexesToColumnNames","table","configs","map","_ref","index","filter","columns","length","name","config","constructor","props","handleChange","bind","handleFilterApply","handleSetsUpdate","handleGetFilterState","panelState","filterSets","selectedId","id","undefined","isValueShown","state","getFilterState","dashboardOpenedPanelMap","panels","keys","forEach","key","get","error","componentName","getComponentNameFromPanel","panelId","getIdFromPanel","debug","glContainer","getComponentConfigFromContainer","getPanelComponentState","concat","getComponentName","getIrisGridPanelFilters","push","type","value","panelTableMap","irisGridState","advancedFilters","quickFilters","gridState","indexedAdvancedFilters","indexedQuickFilters","_objectSpread","_ref2","setState","updatePanelState","filterSet","restoreFullState","_ref3","has","restoreIrisGridFilters","restoreInputFilterState","modifiedFilterSets","localDashboardId","_ref4","prevAdvancedFilters","prevQuickFilters","setStateOverrides","setFilters","inputFilterState","render","glEventHub","className","componentPanel","isClonable","isRenamable","children","onChange","onApply","onUpdateSets","_defineProperty","mapStateToProps","ownProps","dashboardInputFilters","ConnectedFilterSetManagerPanel","forwardRef"],"sources":["../../src/panels/FilterSetManagerPanel.tsx"],"sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport { connect } from 'react-redux';\nimport {\n getOpenedPanelMapForDashboard,\n LayoutUtils,\n PanelComponent,\n} from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { RootState } from '@deephaven/redux';\nimport {\n AdvancedFilter,\n ColumnName,\n DehydratedIrisGridState,\n QuickFilter,\n} from '@deephaven/iris-grid';\nimport { GridState } from '@deephaven/grid';\nimport {\n getFilterSetsForDashboard,\n getInputFiltersForDashboard,\n getTableMapForDashboard,\n setDashboardFilterSets as setDashboardFilterSetsAction,\n} from '../redux';\nimport Panel from './Panel';\nimport FilterSetManager, {\n ChangeHandlerArgs,\n FilterSet,\n FilterSetPanel,\n} from './FilterSetManager';\nimport { IrisGridPanel } from './IrisGridPanel';\nimport DropdownFilterPanel from './DropdownFilterPanel';\nimport InputFilterPanel, {\n PanelState as InputFilterPanelState,\n} from './InputFilterPanel';\nimport './FilterSetManagerPanel.scss';\nimport { FilterChangeEvent } from '../FilterPlugin';\n\nconst log = Log.module('FilterSetManagerPanel');\ninterface IrisGridState {\n advancedFilters: [number, AdvancedFilter][];\n quickFilters: [number, QuickFilter][];\n}\n\ninterface PanelState {\n irisGridState?: IrisGridState;\n gridState?: Partial<GridState>;\n selectedId?: string | string[];\n isValueShown?: boolean;\n name?: string;\n type?: string;\n value?: string;\n}\n\ninterface FilterSetManagerPanelProps {\n glContainer: Container;\n glEventHub: EventEmitter;\n panelState: PanelState;\n filterSets: FilterSet[];\n localDashboardId: string;\n dashboardOpenedPanelMap: Map<string | string[], PanelComponent>;\n setDashboardFilterSets: (\n dashboardId: string,\n filterSets: FilterSet[]\n ) => void;\n panelTableMap: Map<string | string[], dh.Table>;\n}\n\ninterface FilterSetManagerPanelState {\n selectedId?: string | string[];\n isValueShown: boolean;\n // eslint-disable-next-line react/no-unused-state\n panelState: PanelState; // Dehydrated panel state that can load this panel\n}\n\nfunction hasSetPanelState(panel: PanelComponent): panel is PanelComponent & {\n setPanelState: (state: InputFilterPanelState) => void;\n} {\n return (\n (\n panel as PanelComponent & {\n setPanelState: (state: InputFilterPanelState) => void;\n }\n ).setPanelState != null\n );\n}\nexport class FilterSetManagerPanel extends Component<\n FilterSetManagerPanelProps,\n FilterSetManagerPanelState\n> {\n static defaultProps = {\n panelState: null,\n };\n\n static COMPONENT = 'FilterSetManagerPanel';\n\n static changeFilterIndexesToColumnNames<T>(\n table: dh.Table,\n configs: [number, T][]\n ): { name: string; filter: T }[] {\n return configs\n .map(([index, filter]) => {\n if (index >= table.columns.length) {\n return null;\n }\n const { name } = table.columns[index];\n return { name, filter };\n })\n .filter(config => config != null) as { name: string; filter: T }[];\n }\n\n constructor(props: FilterSetManagerPanelProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleFilterApply = this.handleFilterApply.bind(this);\n this.handleSetsUpdate = this.handleSetsUpdate.bind(this);\n this.handleGetFilterState = this.handleGetFilterState.bind(this);\n\n const { panelState, filterSets } = props;\n const {\n selectedId = filterSets.length > 0 ? filterSets[0].id : undefined,\n isValueShown = false,\n } = panelState ?? {};\n\n this.state = {\n selectedId,\n isValueShown,\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n // Collect all filter values for each dashboard panel\n getFilterState(): FilterSetPanel[] {\n const { dashboardOpenedPanelMap } = this.props;\n const panels: FilterSetPanel[] = [];\n [...dashboardOpenedPanelMap.keys()].forEach(key => {\n const panel = dashboardOpenedPanelMap.get(key);\n\n if (panel === undefined) {\n log.error('Could not get panel', panel);\n return;\n }\n\n const componentName = LayoutUtils.getComponentNameFromPanel(panel);\n const panelId = LayoutUtils.getIdFromPanel(panel);\n log.debug('Panel:', panel, componentName);\n\n const { glContainer = null } = panel.props;\n if (glContainer == null) {\n log.error('Could not get panel container', panel);\n return;\n }\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n if (config == null) {\n log.error('Could not get component config from container', glContainer);\n return;\n }\n const panelState = LayoutUtils.getPanelComponentState(\n config\n ) as PanelState;\n if (panelState == null) {\n log.debug(`Panel state is null ${panelId}`);\n return;\n }\n switch (componentName) {\n case LayoutUtils.getComponentName(IrisGridPanel): {\n let state;\n if (panelId != null) {\n state = this.getIrisGridPanelFilters(panelId, panelState);\n }\n if (state != null) {\n panels.push({\n panelId,\n type: componentName,\n state,\n });\n }\n break;\n }\n case LayoutUtils.getComponentName(InputFilterPanel):\n case LayoutUtils.getComponentName(DropdownFilterPanel): {\n const { isValueShown, name, type, value } = panelState;\n panels.push({\n panelId,\n type: componentName,\n state: { isValueShown, name, type, value },\n });\n break;\n }\n default:\n }\n });\n return panels;\n }\n\n getIrisGridPanelFilters(\n panelId: string | string[],\n panelState: PanelState\n ): {\n irisGridState: Omit<IrisGridState, 'advancedFilters' | 'quickFilters'> & {\n advancedFilters?: {\n name: string;\n filter: AdvancedFilter;\n }[];\n quickFilters?: {\n name: string;\n filter: QuickFilter;\n }[];\n };\n gridState: Partial<GridState>;\n } | null {\n const { panelTableMap } = this.props;\n const table = panelTableMap.get(panelId);\n if (table == null) {\n log.error(`Unable to get table for panel ${panelId}.`);\n return null;\n }\n // IrisGridUtils.hydrate uses numeric indexes for columns\n // Change indexes to column names to make it work for proxy models\n const {\n irisGridState = { advancedFilters: undefined, quickFilters: undefined },\n gridState = {},\n } = panelState;\n const {\n advancedFilters: indexedAdvancedFilters,\n quickFilters: indexedQuickFilters,\n } = irisGridState;\n let advancedFilters;\n if (indexedAdvancedFilters) {\n advancedFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(\n table,\n indexedAdvancedFilters\n );\n }\n\n let quickFilters;\n if (indexedQuickFilters) {\n quickFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(\n table,\n indexedQuickFilters\n );\n }\n return {\n irisGridState: {\n ...irisGridState,\n advancedFilters,\n quickFilters,\n },\n gridState: { ...gridState },\n };\n }\n\n handleGetFilterState(): FilterSetPanel[] {\n return this.getFilterState();\n }\n\n handleChange({ isValueShown, selectedId }: ChangeHandlerArgs): void {\n log.debug('handleChange', isValueShown, selectedId);\n this.setState({ isValueShown, selectedId });\n this.updatePanelState();\n }\n\n handleFilterApply(filterSet: FilterSet): void {\n const { dashboardOpenedPanelMap } = this.props;\n const { panels, restoreFullState = false } = filterSet;\n log.debug(`Apply filters from filter set`, filterSet);\n panels.forEach(({ panelId, type, state }) => {\n if (panelId == null) {\n log.debug('panel is null', panelId);\n return;\n }\n if (!dashboardOpenedPanelMap.has(panelId)) {\n log.debug('Ignore closed panel', panelId);\n return;\n }\n log.debug('Apply panel filters', panelId, type, state);\n const panel = dashboardOpenedPanelMap.get(panelId);\n switch (type) {\n case LayoutUtils.getComponentName(IrisGridPanel):\n this.restoreIrisGridFilters(\n panel as IrisGridPanel,\n state as {\n irisGridState: Partial<DehydratedIrisGridState>;\n gridState: Partial<GridState>;\n advancedFilters: { name: string; filter: AdvancedFilter }[];\n quickFilters: { name: string; filter: QuickFilter }[];\n },\n restoreFullState\n );\n break;\n case LayoutUtils.getComponentName(InputFilterPanel):\n case LayoutUtils.getComponentName(DropdownFilterPanel):\n this.restoreInputFilterState(panel, state as InputFilterPanelState);\n break;\n default:\n }\n });\n }\n\n handleSetsUpdate(modifiedFilterSets: FilterSet[]): void {\n const { setDashboardFilterSets, localDashboardId } = this.props;\n log.debug('Saving updated sets', modifiedFilterSets);\n // Filter sets are stored in dashboard data instead of the panelState\n // because they need to be shared between the filter view manager panels\n setDashboardFilterSets(localDashboardId, [...modifiedFilterSets]);\n }\n\n updatePanelState(): void {\n this.setState(({ selectedId, isValueShown }) => ({\n // eslint-disable-next-line react/no-unused-state\n panelState: {\n selectedId,\n isValueShown,\n },\n }));\n }\n\n restoreIrisGridFilters(\n panel: IrisGridPanel,\n state: {\n irisGridState: Partial<DehydratedIrisGridState>;\n gridState: Partial<GridState>;\n advancedFilters: { name: ColumnName; filter: AdvancedFilter }[];\n quickFilters: { name: ColumnName; filter: QuickFilter }[];\n },\n restoreFullState: boolean\n ): void {\n // Fall back to state.advancedFilters and state.quickFilters\n // for backward compatibility with filter sets that only contain filters\n const {\n irisGridState = {},\n advancedFilters: prevAdvancedFilters = [],\n quickFilters: prevQuickFilters = [],\n } = state;\n const {\n advancedFilters = prevAdvancedFilters,\n quickFilters = prevQuickFilters,\n } = irisGridState;\n const { panelTableMap } = this.props;\n const panelId = LayoutUtils.getIdFromPanel(panel);\n if (panelId == null) {\n log.error(`Panel Id is null.`);\n return;\n }\n const table = panelTableMap.get(panelId);\n if (table == null) {\n log.error(`Unable to get table for panel ${panelId}.`);\n return;\n }\n log.debug('restoreIrisGridFilters', panelId, state, restoreFullState);\n if (restoreFullState) {\n panel.setStateOverrides(state);\n } else {\n panel.setFilters({\n quickFilters: quickFilters as {\n name: string;\n filter: QuickFilter;\n }[],\n advancedFilters: advancedFilters as {\n name: string;\n filter: AdvancedFilter;\n }[],\n });\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n restoreInputFilterState(\n panel: PanelComponent | undefined,\n state: InputFilterPanelState\n ): void {\n const inputFilterState = { ...state };\n // Restore state but don't flip the card\n delete inputFilterState.isValueShown;\n log.debug('restoreInputFilterState', panel, inputFilterState);\n if (panel && hasSetPanelState(panel)) {\n panel.setPanelState(inputFilterState);\n }\n }\n\n render(): ReactElement {\n const { glContainer, glEventHub, filterSets } = this.props;\n const { isValueShown, selectedId } = this.state;\n return (\n <Panel\n className=\"filter-set-manager-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n isClonable\n isRenamable\n >\n <div className=\"input-filter-container h-100 w-100 container\">\n <FilterSetManager\n onChange={this.handleChange}\n onApply={this.handleFilterApply}\n onUpdateSets={this.handleSetsUpdate}\n isValueShown={isValueShown}\n filterSets={filterSets}\n selectedId={selectedId as string}\n getFilterState={this.handleGetFilterState}\n />\n </div>\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n FilterSetManagerPanelProps,\n 'dashboardOpenedPanelMap' | 'filterSets' | 'panelTableMap'\n> & {\n dashboardInputFilters: FilterChangeEvent[];\n} => {\n const { localDashboardId } = ownProps;\n return {\n filterSets: getFilterSetsForDashboard(state, localDashboardId),\n dashboardOpenedPanelMap: getOpenedPanelMapForDashboard(\n state,\n localDashboardId\n ),\n dashboardInputFilters: getInputFiltersForDashboard(state, localDashboardId),\n panelTableMap: getTableMapForDashboard(state, localDashboardId),\n };\n};\n\nconst ConnectedFilterSetManagerPanel = connect(\n mapStateToProps,\n {\n setDashboardFilterSets: setDashboardFilterSetsAction,\n },\n null,\n { forwardRef: true }\n)(FilterSetManagerPanel);\n\nexport default ConnectedFilterSetManagerPanel;\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { FormattingRule, ReverseType } from '@deephaven/jsapi-utils';
6
6
  import { CustomizableWorkspace, User, WorkspaceSettings } from '@deephaven/redux';
7
7
  import { CancelablePromise } from '@deephaven/utils';
8
8
  import { ResolvableContextAction } from '@deephaven/components';
9
- import type { Column, FilterCondition, Sort } from '@deephaven/jsapi-types';
9
+ import type { dh } from '@deephaven/jsapi-types';
10
10
  import { GridState, ModelIndex, ModelSizeMap, MoveOperation } from '@deephaven/grid';
11
11
  import type { TablePluginComponent, TablePluginElement } from '@deephaven/plugin';
12
12
  import './IrisGridPanel.scss';
@@ -71,7 +71,7 @@ interface IrisGridPanelState {
71
71
  customColumnFormatMap: Map<string, FormattingRule>;
72
72
  isFilterBarShown: boolean;
73
73
  quickFilters: ReadonlyQuickFilterMap;
74
- sorts: readonly Sort[];
74
+ sorts: readonly dh.Sort[];
75
75
  userColumnWidths: ModelSizeMap;
76
76
  userRowHeights: ModelSizeMap;
77
77
  reverseType: ReverseType;
@@ -86,7 +86,7 @@ interface IrisGridPanelState {
86
86
  selectedSearchColumns?: readonly string[];
87
87
  invertSearchColumns: boolean;
88
88
  Plugin?: TablePluginComponent;
89
- pluginFilters: readonly FilterCondition[];
89
+ pluginFilters: readonly dh.FilterCondition[];
90
90
  pluginFetchColumns: readonly string[];
91
91
  modelQueue: ModelQueue;
92
92
  pendingDataMap?: PendingDataMap<UIRow>;
@@ -116,11 +116,11 @@ export declare class IrisGridPanel extends PureComponent<IrisGridPanelProps, Iri
116
116
  pluginState: unknown;
117
117
  private irisGridUtils;
118
118
  getTableName(): string;
119
- getGridInputFilters: (columns: readonly Column[], inputFilters: readonly InputFilter[]) => InputFilter[];
119
+ getGridInputFilters: (columns: readonly dh.Column[], inputFilters: readonly InputFilter[]) => InputFilter[];
120
120
  getAlwaysFetchColumns: (dashboardLinks: readonly Link[], pluginFetchColumns: readonly string[]) => string[];
121
121
  getPluginContent: (Plugin: TablePluginComponent | undefined, model: IrisGridModel | undefined, user: User, workspace: CustomizableWorkspace, pluginState: unknown) => JSX.Element | null;
122
122
  getDehydratedIrisGridPanelState: (model: IrisGridModel, isSelectingPartition: boolean, partitions: (string | null)[], advancedSettings: Map<AdvancedSettingsType, boolean>) => DehydratedIrisGridPanelState;
123
- getDehydratedIrisGridState: (model: IrisGridModel, sorts: readonly Sort[], advancedFilters: ReadonlyAdvancedFilterMap, customColumnFormatMap: Map<ColumnName, FormattingRule>, isFilterBarShown: boolean, quickFilters: ReadonlyQuickFilterMap, customColumns: readonly ColumnName[], reverseType: ReverseType, rollupConfig: UIRollupConfig | undefined, showSearchBar: boolean, searchValue: string, selectDistinctColumns: readonly ColumnName[], selectedSearchColumns: readonly ColumnName[], invertSearchColumns: boolean, userColumnWidths: ModelSizeMap, userRowHeights: ModelSizeMap, aggregationSettings: AggregationSettings, pendingDataMap: PendingDataMap<UIRow>, frozenColumns: readonly ColumnName[], conditionalFormats: readonly SidebarFormattingRule[], columnHeaderGroups: readonly ColumnHeaderGroup[], partitionConfig: PartitionConfig | undefined) => DehydratedIrisGridState;
123
+ getDehydratedIrisGridState: (model: IrisGridModel, sorts: readonly dh.Sort[], advancedFilters: ReadonlyAdvancedFilterMap, customColumnFormatMap: Map<ColumnName, FormattingRule>, isFilterBarShown: boolean, quickFilters: ReadonlyQuickFilterMap, customColumns: readonly ColumnName[], reverseType: ReverseType, rollupConfig: UIRollupConfig | undefined, showSearchBar: boolean, searchValue: string, selectDistinctColumns: readonly ColumnName[], selectedSearchColumns: readonly ColumnName[], invertSearchColumns: boolean, userColumnWidths: ModelSizeMap, userRowHeights: ModelSizeMap, aggregationSettings: AggregationSettings, pendingDataMap: PendingDataMap<UIRow>, frozenColumns: readonly ColumnName[], conditionalFormats: readonly SidebarFormattingRule[], columnHeaderGroups: readonly ColumnHeaderGroup[], partitionConfig: PartitionConfig | undefined) => DehydratedIrisGridState;
124
124
  getDehydratedGridState: (model: IrisGridModel, movedColumns: readonly MoveOperation[], movedRows: readonly MoveOperation[], isStuckToBottom: boolean, isStuckToRight: boolean) => {
125
125
  isStuckToBottom: boolean;
126
126
  isStuckToRight: boolean;
@@ -138,7 +138,7 @@ export declare class IrisGridPanel extends PureComponent<IrisGridPanelProps, Iri
138
138
  handlePluginFilter(filters: InputFilter[]): void;
139
139
  handlePluginFetchColumns(pluginFetchColumns: string[]): void;
140
140
  handleContextMenu(data: IrisGridContextMenuData): ResolvableContextAction[];
141
- isColumnSelectionValid(tableColumn: Column | null): boolean;
141
+ isColumnSelectionValid(tableColumn: dh.Column | null): boolean;
142
142
  handleGridStateChange(irisGridState: IrisGridState, gridState: GridState): void;
143
143
  handlePluginStateChange(pluginState: unknown): void;
144
144
  handleColumnsChanged(event: Event): void;
@@ -151,7 +151,7 @@ export declare class IrisGridPanel extends PureComponent<IrisGridPanelProps, Iri
151
151
  * @param model The IrisGridModel object
152
152
  */
153
153
  handleCreateChart(settings: ChartBuilderSettings, model: IrisGridModel): void;
154
- handleColumnSelected(column: Column): void;
154
+ handleColumnSelected(column: dh.Column): void;
155
155
  handleDataSelected(row: ModelIndex, dataMap: Record<string, unknown>): void;
156
156
  handleShow(): void;
157
157
  handleTabClicked(): void;
@@ -161,7 +161,7 @@ export declare class IrisGridPanel extends PureComponent<IrisGridPanelProps, Iri
161
161
  handleLoadError(error: unknown): void;
162
162
  modelInitialized(model: IrisGridModel): void;
163
163
  handleClearAllFilters(): void;
164
- sendColumnsChange(columns: readonly Column[]): void;
164
+ sendColumnsChange(columns: readonly dh.Column[]): void;
165
165
  startModelListening(model: IrisGridModel): void;
166
166
  stopModelListening(model: IrisGridModel): void;
167
167
  getCoordinateForColumn(columnName: ColumnName): [number, number] | null;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridPanel.d.ts","sourceRoot":"","sources":["../../src/panels/IrisGridPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridPanel.d.ts","sourceRoot":"","sources":["../../src/panels/IrisGridPanel.tsx"],"names":[],"mappings":"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"}