@deephaven/dashboard-core-plugins 0.15.5-vite.12 → 0.15.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.
Files changed (194) hide show
  1. package/dist/ChartBuilderPlugin.d.ts.map +1 -1
  2. package/dist/ChartBuilderPlugin.js +2 -1
  3. package/dist/ChartBuilderPlugin.js.map +1 -1
  4. package/dist/ChartPlugin.js.map +1 -1
  5. package/dist/ConsolePlugin.js.map +1 -1
  6. package/dist/FilterPlugin.js +1 -1
  7. package/dist/FilterPlugin.js.map +1 -1
  8. package/dist/GridPlugin.js.map +1 -1
  9. package/dist/LinkerPlugin.js.map +1 -1
  10. package/dist/MarkdownPlugin.js.map +1 -1
  11. package/dist/PandasPlugin.js.map +1 -1
  12. package/dist/controls/ControlType.d.ts +1 -1
  13. package/dist/controls/ControlType.d.ts.map +1 -1
  14. package/dist/controls/ControlType.js.map +1 -1
  15. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +73 -81
  16. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  17. package/dist/controls/dropdown-filter/DropdownFilter.js +41 -58
  18. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  19. package/dist/controls/input-filter/InputFilter.d.ts +46 -46
  20. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  21. package/dist/controls/input-filter/InputFilter.js +32 -39
  22. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  23. package/dist/controls/markdown/MarkdownContainer.d.ts +11 -16
  24. package/dist/controls/markdown/MarkdownContainer.d.ts.map +1 -1
  25. package/dist/controls/markdown/MarkdownContainer.js +5 -8
  26. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  27. package/dist/controls/markdown/MarkdownEditor.d.ts +17 -19
  28. package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -1
  29. package/dist/controls/markdown/MarkdownEditor.js +5 -8
  30. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  31. package/dist/controls/markdown/MarkdownStartPage.d.ts +24 -28
  32. package/dist/controls/markdown/MarkdownStartPage.d.ts.map +1 -1
  33. package/dist/controls/markdown/MarkdownStartPage.js +19 -23
  34. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  35. package/dist/controls/markdown/MarkdownUtils.d.ts +4 -4
  36. package/dist/controls/markdown/MarkdownUtils.d.ts.map +1 -1
  37. package/dist/controls/markdown/MarkdownUtils.js +2 -2
  38. package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
  39. package/dist/events/ChartEvent.d.ts +1 -1
  40. package/dist/events/ChartEvent.d.ts.map +1 -1
  41. package/dist/events/ChartEvent.js.map +1 -1
  42. package/dist/events/ConsoleEvent.d.ts +1 -1
  43. package/dist/events/ConsoleEvent.d.ts.map +1 -1
  44. package/dist/events/ConsoleEvent.js.map +1 -1
  45. package/dist/events/InputFilterEvent.d.ts +1 -1
  46. package/dist/events/InputFilterEvent.d.ts.map +1 -1
  47. package/dist/events/InputFilterEvent.js.map +1 -1
  48. package/dist/events/IrisGridEvent.d.ts +1 -1
  49. package/dist/events/IrisGridEvent.d.ts.map +1 -1
  50. package/dist/events/IrisGridEvent.js.map +1 -1
  51. package/dist/events/MarkdownEvent.js.map +1 -1
  52. package/dist/events/NotebookEvent.d.ts +1 -1
  53. package/dist/events/NotebookEvent.d.ts.map +1 -1
  54. package/dist/events/NotebookEvent.js.map +1 -1
  55. package/dist/events/PQEvent.d.ts +1 -1
  56. package/dist/events/PQEvent.d.ts.map +1 -1
  57. package/dist/events/PQEvent.js.map +1 -1
  58. package/dist/events/PandasEvent.d.ts +1 -1
  59. package/dist/events/PandasEvent.d.ts.map +1 -1
  60. package/dist/events/PandasEvent.js.map +1 -1
  61. package/dist/events/TabEvent.d.ts +1 -1
  62. package/dist/events/TabEvent.d.ts.map +1 -1
  63. package/dist/events/TabEvent.js.map +1 -1
  64. package/dist/events/index.d.ts +8 -8
  65. package/dist/events/index.d.ts.map +1 -1
  66. package/dist/events/index.js.map +1 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/linker/ColumnSelectionValidator.d.ts +4 -0
  69. package/dist/linker/ColumnSelectionValidator.d.ts.map +1 -0
  70. package/dist/linker/ColumnSelectionValidator.js +2 -0
  71. package/dist/linker/ColumnSelectionValidator.js.map +1 -0
  72. package/dist/linker/Linker.d.ts +11 -11
  73. package/dist/linker/Linker.js +1 -1
  74. package/dist/linker/Linker.js.map +1 -1
  75. package/dist/linker/LinkerLink.js.map +1 -1
  76. package/dist/linker/LinkerOverlayContent.js.map +1 -1
  77. package/dist/linker/LinkerUtils.d.ts +3 -3
  78. package/dist/linker/LinkerUtils.d.ts.map +1 -1
  79. package/dist/linker/LinkerUtils.js.map +1 -1
  80. package/dist/linker/ToolType.d.ts +1 -1
  81. package/dist/linker/ToolType.d.ts.map +1 -1
  82. package/dist/linker/ToolType.js.map +1 -1
  83. package/dist/panels/ChartColumnSelectorOverlay.d.ts +22 -26
  84. package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -1
  85. package/dist/panels/ChartColumnSelectorOverlay.js +5 -14
  86. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  87. package/dist/panels/ChartFilterOverlay.d.ts +27 -21
  88. package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
  89. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  90. package/dist/panels/ChartPanel.d.ts +149 -152
  91. package/dist/panels/ChartPanel.d.ts.map +1 -1
  92. package/dist/panels/ChartPanel.js +65 -73
  93. package/dist/panels/ChartPanel.js.map +1 -1
  94. package/dist/panels/CommandHistoryPanel.d.ts +41 -56
  95. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  96. package/dist/panels/CommandHistoryPanel.js +13 -35
  97. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  98. package/dist/panels/ConsolePanel.d.ts +63 -73
  99. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  100. package/dist/panels/ConsolePanel.js +67 -83
  101. package/dist/panels/ConsolePanel.js.map +1 -1
  102. package/dist/panels/DropdownFilterPanel.d.ts +110 -106
  103. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  104. package/dist/panels/DropdownFilterPanel.js +60 -62
  105. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  106. package/dist/panels/FileExplorerPanel.d.ts +5 -7
  107. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  108. package/dist/panels/FileExplorerPanel.js.map +1 -1
  109. package/dist/panels/FilterSetManager.d.ts +3 -1
  110. package/dist/panels/FilterSetManager.d.ts.map +1 -1
  111. package/dist/panels/FilterSetManager.js.map +1 -1
  112. package/dist/panels/FilterSetManagerPanel.d.ts +83 -62
  113. package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -1
  114. package/dist/panels/FilterSetManagerPanel.js +58 -36
  115. package/dist/panels/FilterSetManagerPanel.js.map +1 -1
  116. package/dist/panels/InputFilterPanel.d.ts +50 -51
  117. package/dist/panels/InputFilterPanel.d.ts.map +1 -1
  118. package/dist/panels/InputFilterPanel.js +35 -34
  119. package/dist/panels/InputFilterPanel.js.map +1 -1
  120. package/dist/panels/IrisGridPanel.d.ts +191 -178
  121. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  122. package/dist/panels/IrisGridPanel.js +150 -179
  123. package/dist/panels/IrisGridPanel.js.map +1 -1
  124. package/dist/panels/LogPanel.d.ts +29 -45
  125. package/dist/panels/LogPanel.d.ts.map +1 -1
  126. package/dist/panels/LogPanel.js +9 -11
  127. package/dist/panels/LogPanel.js.map +1 -1
  128. package/dist/panels/MarkdownNotebook.d.ts +34 -34
  129. package/dist/panels/MarkdownNotebook.d.ts.map +1 -1
  130. package/dist/panels/MarkdownNotebook.js +21 -18
  131. package/dist/panels/MarkdownNotebook.js.map +1 -1
  132. package/dist/panels/MarkdownPanel.d.ts +41 -47
  133. package/dist/panels/MarkdownPanel.d.ts.map +1 -1
  134. package/dist/panels/MarkdownPanel.js +17 -19
  135. package/dist/panels/MarkdownPanel.js.map +1 -1
  136. package/dist/panels/NotebookPanel.d.ts +137 -115
  137. package/dist/panels/NotebookPanel.d.ts.map +1 -1
  138. package/dist/panels/NotebookPanel.js +95 -68
  139. package/dist/panels/NotebookPanel.js.map +1 -1
  140. package/dist/panels/PandasPanel.d.ts +20 -17
  141. package/dist/panels/PandasPanel.d.ts.map +1 -1
  142. package/dist/panels/PandasPanel.js +18 -14
  143. package/dist/panels/PandasPanel.js.map +1 -1
  144. package/dist/panels/Panel.d.ts +87 -123
  145. package/dist/panels/Panel.d.ts.map +1 -1
  146. package/dist/panels/Panel.js +29 -54
  147. package/dist/panels/Panel.js.map +1 -1
  148. package/dist/panels/PanelContextMenu.d.ts +16 -31
  149. package/dist/panels/PanelContextMenu.d.ts.map +1 -1
  150. package/dist/panels/PanelContextMenu.js +12 -15
  151. package/dist/panels/PanelContextMenu.js.map +1 -1
  152. package/dist/panels/RenameDialog.d.ts +26 -28
  153. package/dist/panels/RenameDialog.d.ts.map +1 -1
  154. package/dist/panels/RenameDialog.js +15 -19
  155. package/dist/panels/RenameDialog.js.map +1 -1
  156. package/dist/panels/WidgetPanel.d.ts +72 -106
  157. package/dist/panels/WidgetPanel.d.ts.map +1 -1
  158. package/dist/panels/WidgetPanel.js +17 -47
  159. package/dist/panels/WidgetPanel.js.map +1 -1
  160. package/dist/panels/WidgetPanelTooltip.d.ts +29 -22
  161. package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -1
  162. package/dist/panels/WidgetPanelTooltip.js +1 -1
  163. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  164. package/dist/panels/index.js.map +1 -1
  165. package/dist/prop-types/CommonPropTypes.d.ts +4 -4
  166. package/dist/prop-types/CommonPropTypes.d.ts.map +1 -1
  167. package/dist/prop-types/CommonPropTypes.js +1 -1
  168. package/dist/prop-types/CommonPropTypes.js.map +1 -1
  169. package/dist/prop-types/UIPropTypes.d.ts +2 -7
  170. package/dist/prop-types/UIPropTypes.d.ts.map +1 -1
  171. package/dist/prop-types/UIPropTypes.js +0 -7
  172. package/dist/prop-types/UIPropTypes.js.map +1 -1
  173. package/dist/prop-types/index.d.ts +2 -2
  174. package/dist/prop-types/index.d.ts.map +1 -1
  175. package/dist/prop-types/index.js.map +1 -1
  176. package/dist/redux/actionTypes.d.ts +1 -1
  177. package/dist/redux/actionTypes.d.ts.map +1 -1
  178. package/dist/redux/actionTypes.js.map +1 -1
  179. package/dist/redux/actions.d.ts +63 -8
  180. package/dist/redux/actions.d.ts.map +1 -1
  181. package/dist/redux/actions.js +17 -17
  182. package/dist/redux/actions.js.map +1 -1
  183. package/dist/redux/index.js.map +1 -1
  184. package/dist/redux/reducers/index.d.ts +3 -4
  185. package/dist/redux/reducers/index.d.ts.map +1 -1
  186. package/dist/redux/reducers/index.js.map +1 -1
  187. package/dist/redux/reducers/sessionWrapper.d.ts +1 -1
  188. package/dist/redux/reducers/sessionWrapper.d.ts.map +1 -1
  189. package/dist/redux/reducers/sessionWrapper.js.map +1 -1
  190. package/dist/redux/selectors.d.ts +63 -9
  191. package/dist/redux/selectors.d.ts.map +1 -1
  192. package/dist/redux/selectors.js +24 -24
  193. package/dist/redux/selectors.js.map +1 -1
  194. package/package.json +21 -17
@@ -1,68 +1,89 @@
1
- export class FilterSetManagerPanel extends React.Component<any, any, any> {
1
+ import { Component, ReactElement } from 'react';
2
+ import { PanelComponent } from '@deephaven/dashboard';
3
+ import { Container, EventEmitter } from '@deephaven/golden-layout';
4
+ import { TableTemplate } from '@deephaven/jsapi-shim';
5
+ import { AdvancedFilter, ColumnName, DehydratedIrisGridState, QuickFilter } from '@deephaven/iris-grid';
6
+ import { GridState } from '@deephaven/grid';
7
+ import { ChangeHandlerArgs, FilterSet, FilterSetPanel } from './FilterSetManager';
8
+ import { IrisGridPanel } from './IrisGridPanel';
9
+ import { PanelState as InputFilterPanelState } from './InputFilterPanel';
10
+ import './FilterSetManagerPanel.scss';
11
+ interface IrisGridState {
12
+ advancedFilters: [number, AdvancedFilter][];
13
+ quickFilters: [number, QuickFilter][];
14
+ }
15
+ interface PanelState {
16
+ irisGridState?: IrisGridState;
17
+ gridState?: Partial<GridState>;
18
+ selectedId?: string | string[];
19
+ isValueShown?: boolean;
20
+ name?: string;
21
+ type?: string;
22
+ value?: string;
23
+ }
24
+ interface FilterSetManagerPanelProps {
25
+ glContainer: Container;
26
+ glEventHub: EventEmitter;
27
+ panelState: PanelState;
28
+ filterSets: FilterSet[];
29
+ localDashboardId: string;
30
+ dashboardOpenedPanelMap: Map<string | string[], PanelComponent>;
31
+ setDashboardFilterSets: (dashboardId: string, filterSets: FilterSet[]) => void;
32
+ panelTableMap: Map<string | string[], TableTemplate>;
33
+ }
34
+ interface FilterSetManagerPanelState {
35
+ selectedId?: string | string[];
36
+ isValueShown: boolean;
37
+ panelState: PanelState;
38
+ }
39
+ export declare class FilterSetManagerPanel extends Component<FilterSetManagerPanelProps, FilterSetManagerPanelState> {
40
+ static defaultProps: {
41
+ panelState: null;
42
+ };
2
43
  static COMPONENT: string;
3
- static changeFilterIndexesToColumnNames(table: any, configs: any): any;
4
- constructor(props: any);
5
- handleChange({ isValueShown, selectedId }: {
6
- isValueShown: any;
7
- selectedId: any;
8
- }): void;
9
- handleFilterApply(filterSet: any): void;
10
- handleSetsUpdate(modifiedFilterSets: any): void;
11
- handleGetFilterState(): any[];
12
- getFilterState(): any[];
13
- getIrisGridPanelFilters(panelId: any, panelState: any): {
14
- irisGridState: any;
15
- gridState: any;
44
+ static changeFilterIndexesToColumnNames<T>(table: TableTemplate, configs: [number, T][]): {
45
+ name: string;
46
+ filter: T;
47
+ }[];
48
+ constructor(props: FilterSetManagerPanelProps);
49
+ getFilterState(): FilterSetPanel[];
50
+ getIrisGridPanelFilters(panelId: string | string[], panelState: PanelState): {
51
+ irisGridState: Omit<IrisGridState, 'advancedFilters' | 'quickFilters'> & {
52
+ advancedFilters?: {
53
+ name: string;
54
+ filter: AdvancedFilter;
55
+ }[];
56
+ quickFilters?: {
57
+ name: string;
58
+ filter: QuickFilter;
59
+ }[];
60
+ };
61
+ gridState: Partial<GridState>;
16
62
  } | null;
63
+ handleGetFilterState(): FilterSetPanel[];
64
+ handleChange({ isValueShown, selectedId }: ChangeHandlerArgs): void;
65
+ handleFilterApply(filterSet: FilterSet): void;
66
+ handleSetsUpdate(modifiedFilterSets: FilterSet[]): void;
17
67
  updatePanelState(): void;
18
- restoreIrisGridFilters(panel: any, state: any, restoreFullState: any): void;
19
- restoreInputFilterState(panel: any, state: any): void;
20
- }
21
- export namespace FilterSetManagerPanel {
22
- namespace propTypes {
23
- const glContainer: PropTypes.Validator<PropTypes.InferProps<{
24
- on: PropTypes.Requireable<(...args: any[]) => any>;
25
- off: PropTypes.Requireable<(...args: any[]) => any>;
26
- isHidden: PropTypes.Requireable<boolean>;
27
- tab: PropTypes.Requireable<PropTypes.InferProps<{
28
- header: PropTypes.Requireable<PropTypes.InferProps<{
29
- tabs: PropTypes.Requireable<(PropTypes.InferProps<{
30
- contentItem: PropTypes.Requireable<PropTypes.InferProps<{}>>;
31
- }> | null | undefined)[]>;
32
- }>>;
33
- }>>;
34
- title: PropTypes.Requireable<string>;
35
- setTitle: PropTypes.Requireable<(...args: any[]) => any>;
36
- close: PropTypes.Requireable<(...args: any[]) => any>;
37
- }>>;
38
- const glEventHub: PropTypes.Validator<PropTypes.InferProps<{
39
- on: PropTypes.Requireable<(...args: any[]) => any>;
40
- off: PropTypes.Requireable<(...args: any[]) => any>;
41
- emit: PropTypes.Requireable<(...args: any[]) => any>;
42
- }>>;
43
- const panelState: PropTypes.Requireable<PropTypes.InferProps<{
44
- name: PropTypes.Requireable<string>;
45
- type: PropTypes.Requireable<string>;
46
- selectedId: PropTypes.Requireable<string>;
47
- isValueShown: PropTypes.Requireable<boolean>;
48
- }>>;
49
- const filterSets: PropTypes.Validator<(PropTypes.InferProps<{
50
- id: PropTypes.Validator<string>;
51
- title: PropTypes.Validator<string>;
52
- panels: PropTypes.Validator<(PropTypes.InferProps<{}> | null | undefined)[]>;
53
- }> | null | undefined)[]>;
54
- const localDashboardId: PropTypes.Validator<string>;
55
- const dashboardOpenedPanelMap: PropTypes.Validator<Map<unknown, unknown>>;
56
- const setDashboardFilterSets: PropTypes.Validator<(...args: any[]) => any>;
57
- const panelTableMap: PropTypes.Validator<Map<unknown, unknown>>;
58
- }
59
- namespace defaultProps {
60
- const panelState_1: null;
61
- export { panelState_1 as panelState };
62
- }
68
+ restoreIrisGridFilters(panel: IrisGridPanel, state: {
69
+ irisGridState: Partial<DehydratedIrisGridState>;
70
+ gridState: Partial<GridState>;
71
+ advancedFilters: {
72
+ name: ColumnName;
73
+ filter: AdvancedFilter;
74
+ }[];
75
+ quickFilters: {
76
+ name: ColumnName;
77
+ filter: QuickFilter;
78
+ }[];
79
+ }, restoreFullState: boolean): void;
80
+ restoreInputFilterState(panel: PanelComponent | undefined, state: InputFilterPanelState): void;
81
+ render(): ReactElement;
63
82
  }
64
- declare var _default: import("react-redux").ConnectedComponent<typeof FilterSetManagerPanel, any>;
83
+ declare const _default: import("react-redux").ConnectedComponent<typeof FilterSetManagerPanel, import("react-redux").Omit<Pick<FilterSetManagerPanelProps, "glContainer" | "glEventHub" | "localDashboardId" | "panelTableMap" | "setDashboardFilterSets" | "filterSets" | "dashboardOpenedPanelMap"> & Partial<Pick<FilterSetManagerPanelProps, "panelState">> & Partial<Pick<{
84
+ panelState: null;
85
+ }, never>>, "panelTableMap" | "setDashboardFilterSets" | "filterSets" | "dashboardOpenedPanelMap"> & {
86
+ localDashboardId: string;
87
+ }>;
65
88
  export default _default;
66
- import React from "react";
67
- import PropTypes from "prop-types";
68
89
  //# sourceMappingURL=FilterSetManagerPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSetManagerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FilterSetManagerPanel.jsx"],"names":[],"mappings":"AAyBA;IACE,yBAA2C;IAE3C,uEAUC;IAED,wBAoBC;IA2FD;;;aAIC;IAED,wCAsBC;IAED,gDAMC;IAxCD,8BAEC;IAtFD,wBAkDC;IAED;;;aA8BC;IA4CD,yBAQC;IAED,4EAyBC;IAGD,sDAMC;CA4BF"}
1
+ {"version":3,"file":"FilterSetManagerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FilterSetManagerPanel.tsx"],"names":[],"mappings":"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"}
@@ -5,18 +5,22 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
 
7
7
  import React, { Component } from 'react';
8
- import PropTypes from 'prop-types';
9
8
  import { connect } from 'react-redux';
10
- import { getOpenedPanelMapForDashboard, GLPropTypes, LayoutUtils } from '@deephaven/dashboard';
9
+ import { getOpenedPanelMapForDashboard, LayoutUtils } from '@deephaven/dashboard';
11
10
  import Log from '@deephaven/log';
12
11
  import { getFilterSetsForDashboard, getInputFiltersForDashboard, getTableMapForDashboard, setDashboardFilterSets as setDashboardFilterSetsAction } from "../redux/index.js";
13
12
  import Panel from "./Panel.js";
14
13
  import FilterSetManager from "./FilterSetManager.js";
15
- import IrisGridPanel from "./IrisGridPanel.js";
16
- import InputFilterPanel from "./InputFilterPanel.js";
14
+ import { IrisGridPanel } from "./IrisGridPanel.js";
17
15
  import DropdownFilterPanel from "./DropdownFilterPanel.js";
16
+ import InputFilterPanel from "./InputFilterPanel.js";
18
17
  import "./FilterSetManagerPanel.css";
19
18
  var log = Log.module('FilterSetManagerPanel');
19
+
20
+ function hasSetPanelState(panel) {
21
+ return panel.setPanelState != null;
22
+ }
23
+
20
24
  export class FilterSetManagerPanel extends Component {
21
25
  static changeFilterIndexesToColumnNames(table, configs) {
22
26
  return configs.map(_ref => {
@@ -67,6 +71,12 @@ export class FilterSetManagerPanel extends Component {
67
71
  var panels = [];
68
72
  [...dashboardOpenedPanelMap.keys()].forEach(key => {
69
73
  var panel = dashboardOpenedPanelMap.get(key);
74
+
75
+ if (panel === undefined) {
76
+ log.error('Could not get panel', panel);
77
+ return;
78
+ }
79
+
70
80
  var componentName = LayoutUtils.getComponentNameFromPanel(panel);
71
81
  var panelId = LayoutUtils.getIdFromPanel(panel);
72
82
  log.debug('Panel:', panel, componentName);
@@ -96,13 +106,17 @@ export class FilterSetManagerPanel extends Component {
96
106
  switch (componentName) {
97
107
  case LayoutUtils.getComponentName(IrisGridPanel):
98
108
  {
99
- var state = this.getIrisGridPanelFilters(panelId, panelState);
109
+ var _state;
100
110
 
101
- if (state != null) {
111
+ if (panelId != null) {
112
+ _state = this.getIrisGridPanelFilters(panelId, panelState);
113
+ }
114
+
115
+ if (_state != null) {
102
116
  panels.push({
103
117
  panelId,
104
118
  type: componentName,
105
- state
119
+ state: _state
106
120
  });
107
121
  }
108
122
 
@@ -151,15 +165,28 @@ export class FilterSetManagerPanel extends Component {
151
165
 
152
166
 
153
167
  var {
154
- irisGridState = {},
168
+ irisGridState = {
169
+ advancedFilters: undefined,
170
+ quickFilters: undefined
171
+ },
155
172
  gridState = {}
156
173
  } = panelState;
157
174
  var {
158
175
  advancedFilters: indexedAdvancedFilters,
159
176
  quickFilters: indexedQuickFilters
160
177
  } = irisGridState;
161
- var advancedFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(table, indexedAdvancedFilters);
162
- var quickFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(table, indexedQuickFilters);
178
+ var advancedFilters;
179
+
180
+ if (indexedAdvancedFilters) {
181
+ advancedFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(table, indexedAdvancedFilters);
182
+ }
183
+
184
+ var quickFilters;
185
+
186
+ if (indexedQuickFilters) {
187
+ quickFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(table, indexedQuickFilters);
188
+ }
189
+
163
190
  return {
164
191
  irisGridState: _objectSpread(_objectSpread({}, irisGridState), {}, {
165
192
  advancedFilters,
@@ -202,6 +229,11 @@ export class FilterSetManagerPanel extends Component {
202
229
  state
203
230
  } = _ref3;
204
231
 
232
+ if (panelId == null) {
233
+ log.debug('panel is null', panelId);
234
+ return;
235
+ }
236
+
205
237
  if (!dashboardOpenedPanelMap.has(panelId)) {
206
238
  log.debug('Ignore closed panel', panelId);
207
239
  return;
@@ -268,6 +300,12 @@ export class FilterSetManagerPanel extends Component {
268
300
  panelTableMap
269
301
  } = this.props;
270
302
  var panelId = LayoutUtils.getIdFromPanel(panel);
303
+
304
+ if (panelId == null) {
305
+ log.error("Panel Id is null.");
306
+ return;
307
+ }
308
+
271
309
  var table = panelTableMap.get(panelId);
272
310
 
273
311
  if (table == null) {
@@ -281,8 +319,8 @@ export class FilterSetManagerPanel extends Component {
281
319
  panel.setStateOverrides(state);
282
320
  } else {
283
321
  panel.setFilters({
284
- quickFilters,
285
- advancedFilters
322
+ quickFilters: quickFilters,
323
+ advancedFilters: advancedFilters
286
324
  });
287
325
  }
288
326
  } // eslint-disable-next-line class-methods-use-this
@@ -294,7 +332,10 @@ export class FilterSetManagerPanel extends Component {
294
332
 
295
333
  delete inputFilterState.isValueShown;
296
334
  log.debug('restoreInputFilterState', panel, inputFilterState);
297
- panel.setPanelState(inputFilterState);
335
+
336
+ if (panel && hasSetPanelState(panel)) {
337
+ panel.setPanelState(inputFilterState);
338
+ }
298
339
  }
299
340
 
300
341
  render() {
@@ -329,30 +370,11 @@ export class FilterSetManagerPanel extends Component {
329
370
 
330
371
  }
331
372
 
332
- _defineProperty(FilterSetManagerPanel, "COMPONENT", 'FilterSetManagerPanel');
333
-
334
- FilterSetManagerPanel.propTypes = {
335
- glContainer: GLPropTypes.Container.isRequired,
336
- glEventHub: GLPropTypes.EventHub.isRequired,
337
- panelState: PropTypes.shape({
338
- name: PropTypes.string,
339
- type: PropTypes.string,
340
- selectedId: PropTypes.string,
341
- isValueShown: PropTypes.bool
342
- }),
343
- filterSets: PropTypes.arrayOf(PropTypes.shape({
344
- id: PropTypes.string.isRequired,
345
- title: PropTypes.string.isRequired,
346
- panels: PropTypes.arrayOf(PropTypes.shape({})).isRequired
347
- })).isRequired,
348
- localDashboardId: PropTypes.string.isRequired,
349
- dashboardOpenedPanelMap: PropTypes.instanceOf(Map).isRequired,
350
- setDashboardFilterSets: PropTypes.func.isRequired,
351
- panelTableMap: PropTypes.instanceOf(Map).isRequired
352
- };
353
- FilterSetManagerPanel.defaultProps = {
373
+ _defineProperty(FilterSetManagerPanel, "defaultProps", {
354
374
  panelState: null
355
- };
375
+ });
376
+
377
+ _defineProperty(FilterSetManagerPanel, "COMPONENT", 'FilterSetManagerPanel');
356
378
 
357
379
  var mapStateToProps = (state, ownProps) => {
358
380
  var {
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSetManagerPanel.js","names":["React","Component","PropTypes","connect","getOpenedPanelMapForDashboard","GLPropTypes","LayoutUtils","Log","getFilterSetsForDashboard","getInputFiltersForDashboard","getTableMapForDashboard","setDashboardFilterSets","setDashboardFilterSetsAction","Panel","FilterSetManager","IrisGridPanel","InputFilterPanel","DropdownFilterPanel","log","module","FilterSetManagerPanel","changeFilterIndexesToColumnNames","table","configs","map","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","panel","get","componentName","getComponentNameFromPanel","panelId","getIdFromPanel","debug","glContainer","error","getComponentConfigFromContainer","getPanelComponentState","getComponentName","getIrisGridPanelFilters","push","type","value","panelTableMap","irisGridState","gridState","advancedFilters","indexedAdvancedFilters","quickFilters","indexedQuickFilters","setState","updatePanelState","filterSet","restoreFullState","has","restoreIrisGridFilters","restoreInputFilterState","modifiedFilterSets","localDashboardId","prevAdvancedFilters","prevQuickFilters","setStateOverrides","setFilters","inputFilterState","setPanelState","render","glEventHub","propTypes","Container","isRequired","EventHub","shape","string","bool","arrayOf","title","instanceOf","Map","func","defaultProps","mapStateToProps","ownProps","dashboardInputFilters","forwardRef"],"sources":["../../src/panels/FilterSetManagerPanel.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport {\n getOpenedPanelMapForDashboard,\n GLPropTypes,\n LayoutUtils,\n} from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport {\n getFilterSetsForDashboard,\n getInputFiltersForDashboard,\n getTableMapForDashboard,\n setDashboardFilterSets as setDashboardFilterSetsAction,\n} from '../redux';\nimport Panel from './Panel';\nimport FilterSetManager from './FilterSetManager';\nimport IrisGridPanel from './IrisGridPanel';\nimport InputFilterPanel from './InputFilterPanel';\nimport DropdownFilterPanel from './DropdownFilterPanel';\n\nimport './FilterSetManagerPanel.scss';\n\nconst log = Log.module('FilterSetManagerPanel');\n\nexport class FilterSetManagerPanel extends Component {\n static COMPONENT = 'FilterSetManagerPanel';\n\n static changeFilterIndexesToColumnNames(table, configs) {\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);\n }\n\n constructor(props) {\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() {\n const { dashboardOpenedPanelMap } = this.props;\n const panels = [];\n [...dashboardOpenedPanelMap.keys()].forEach(key => {\n const panel = dashboardOpenedPanelMap.get(key);\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(config);\n if (panelState == null) {\n log.debug(`Panel state is null ${panelId}`);\n return;\n }\n switch (componentName) {\n case LayoutUtils.getComponentName(IrisGridPanel): {\n const state = this.getIrisGridPanelFilters(panelId, panelState);\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(panelId, panelState) {\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 { irisGridState = {}, gridState = {} } = panelState;\n const {\n advancedFilters: indexedAdvancedFilters,\n quickFilters: indexedQuickFilters,\n } = irisGridState;\n const advancedFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(\n table,\n indexedAdvancedFilters\n );\n const quickFilters = FilterSetManagerPanel.changeFilterIndexesToColumnNames(\n table,\n indexedQuickFilters\n );\n return {\n irisGridState: {\n ...irisGridState,\n advancedFilters,\n quickFilters,\n },\n gridState: { ...gridState },\n };\n }\n\n handleGetFilterState() {\n return this.getFilterState();\n }\n\n handleChange({ isValueShown, selectedId }) {\n log.debug('handleChange', isValueShown, selectedId);\n this.setState({ isValueShown, selectedId });\n this.updatePanelState();\n }\n\n handleFilterApply(filterSet) {\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 (!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(panel, state, restoreFullState);\n break;\n case LayoutUtils.getComponentName(InputFilterPanel):\n case LayoutUtils.getComponentName(DropdownFilterPanel):\n this.restoreInputFilterState(panel, state);\n break;\n default:\n }\n });\n }\n\n handleSetsUpdate(modifiedFilterSets) {\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() {\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(panel, state, restoreFullState) {\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 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({ quickFilters, advancedFilters });\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n restoreInputFilterState(panel, state) {\n const inputFilterState = { ...state };\n // Restore state but don't flip the card\n delete inputFilterState.isValueShown;\n log.debug('restoreInputFilterState', panel, inputFilterState);\n panel.setPanelState(inputFilterState);\n }\n\n render() {\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}\n getFilterState={this.handleGetFilterState}\n />\n </div>\n </Panel>\n );\n }\n}\n\nFilterSetManagerPanel.propTypes = {\n glContainer: GLPropTypes.Container.isRequired,\n glEventHub: GLPropTypes.EventHub.isRequired,\n panelState: PropTypes.shape({\n name: PropTypes.string,\n type: PropTypes.string,\n selectedId: PropTypes.string,\n isValueShown: PropTypes.bool,\n }),\n filterSets: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n panels: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n })\n ).isRequired,\n localDashboardId: PropTypes.string.isRequired,\n dashboardOpenedPanelMap: PropTypes.instanceOf(Map).isRequired,\n setDashboardFilterSets: PropTypes.func.isRequired,\n panelTableMap: PropTypes.instanceOf(Map).isRequired,\n};\n\nFilterSetManagerPanel.defaultProps = {\n panelState: null,\n};\n\nconst mapStateToProps = (state, ownProps) => {\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\nexport default connect(\n mapStateToProps,\n {\n setDashboardFilterSets: setDashboardFilterSetsAction,\n },\n null,\n { forwardRef: true }\n)(FilterSetManagerPanel);\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/panels/FilterSetManagerPanel.tsx"],"names":["React","Component","connect","getOpenedPanelMapForDashboard","LayoutUtils","Log","getFilterSetsForDashboard","getInputFiltersForDashboard","getTableMapForDashboard","setDashboardFilterSets","setDashboardFilterSetsAction","Panel","FilterSetManager","IrisGridPanel","DropdownFilterPanel","InputFilterPanel","log","module","hasSetPanelState","panel","setPanelState","FilterSetManagerPanel","changeFilterIndexesToColumnNames","table","configs","map","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","getComponentName","getIrisGridPanelFilters","push","type","value","panelTableMap","irisGridState","advancedFilters","quickFilters","gridState","indexedAdvancedFilters","indexedQuickFilters","setState","updatePanelState","filterSet","restoreFullState","has","restoreIrisGridFilters","restoreInputFilterState","modifiedFilterSets","localDashboardId","prevAdvancedFilters","prevQuickFilters","setStateOverrides","setFilters","inputFilterState","render","glEventHub","mapStateToProps","ownProps","dashboardInputFilters","forwardRef"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;AACA,SAASC,OAAT,QAAwB,aAAxB;AACA,SACEC,6BADF,EAEEC,WAFF,QAIO,sBAJP;AAKA,OAAOC,GAAP,MAAgB,gBAAhB;SAYEC,yB,EACAC,2B,EACAC,uB,EACAC,sBAAsB,IAAIC,4B;OAErBC,K;OACAC,gB;SAKEC,a;OACFC,mB;OACAC,gB;;AAKP,IAAMC,GAAG,GAAGX,GAAG,CAACY,MAAJ,CAAW,uBAAX,CAAZ;;AAqCA,SAASC,gBAAT,CACEC,KADF,EAIE;AACA,SACGA,KAAD,CAEGC,aAFH,IAEoB,IAHtB;AAKD;;AACD,OAAO,MAAMC,qBAAN,SAAoCpB,SAApC,CAGL;AAOuC,SAAhCqB,gCAAgC,CACrCC,KADqC,EAErCC,OAFqC,EAGN;AAC/B,WAAOA,OAAO,CACXC,GADI,CACA,QAAqB;AAAA,UAApB,CAACC,KAAD,EAAQC,MAAR,CAAoB;;AACxB,UAAID,KAAK,IAAIH,KAAK,CAACK,OAAN,CAAcC,MAA3B,EAAmC;AACjC,eAAO,IAAP;AACD;;AACD,UAAM;AAAEC,QAAAA;AAAF,UAAWP,KAAK,CAACK,OAAN,CAAcF,KAAd,CAAjB;AACA,aAAO;AAAEI,QAAAA,IAAF;AAAQH,QAAAA;AAAR,OAAP;AACD,KAPI,EAQJA,MARI,CAQGI,MAAM,IAAIA,MAAM,IAAI,IARvB,CAAP;AASD;;AAEDC,EAAAA,WAAW,CAACC,KAAD,EAAoC;AAC7C,UAAMA,KAAN;AAEA,SAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAApB;AACA,SAAKC,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBD,IAAvB,CAA4B,IAA5B,CAAzB;AACA,SAAKE,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBF,IAAtB,CAA2B,IAA3B,CAAxB;AACA,SAAKG,oBAAL,GAA4B,KAAKA,oBAAL,CAA0BH,IAA1B,CAA+B,IAA/B,CAA5B;AAEA,QAAM;AAAEI,MAAAA,UAAF;AAAcC,MAAAA;AAAd,QAA6BP,KAAnC;AACA,QAAM;AACJQ,MAAAA,UAAU,GAAGD,UAAU,CAACX,MAAX,GAAoB,CAApB,GAAwBW,UAAU,CAAC,CAAD,CAAV,CAAcE,EAAtC,GAA2CC,SADpD;AAEJC,MAAAA,YAAY,GAAG;AAFX,QAGFL,UAHE,aAGFA,UAHE,cAGFA,UAHE,GAGY,EAHlB;AAKA,SAAKM,KAAL,GAAa;AACXJ,MAAAA,UADW;AAEXG,MAAAA,YAFW;AAGX;AACAL,MAAAA,UAJW,CAIC;;AAJD,KAAb;AAMD,GA1CD,CA4CA;;;AACAO,EAAAA,cAAc,GAAqB;AACjC,QAAM;AAAEC,MAAAA;AAAF,QAA8B,KAAKd,KAAzC;AACA,QAAMe,MAAwB,GAAG,EAAjC;AACA,KAAC,GAAGD,uBAAuB,CAACE,IAAxB,EAAJ,EAAoCC,OAApC,CAA4CC,GAAG,IAAI;AACjD,UAAMhC,KAAK,GAAG4B,uBAAuB,CAACK,GAAxB,CAA4BD,GAA5B,CAAd;;AAEA,UAAIhC,KAAK,KAAKwB,SAAd,EAAyB;AACvB3B,QAAAA,GAAG,CAACqC,KAAJ,CAAU,qBAAV,EAAiClC,KAAjC;AACA;AACD;;AAED,UAAMmC,aAAa,GAAGlD,WAAW,CAACmD,yBAAZ,CAAsCpC,KAAtC,CAAtB;AACA,UAAMqC,OAAO,GAAGpD,WAAW,CAACqD,cAAZ,CAA2BtC,KAA3B,CAAhB;AACAH,MAAAA,GAAG,CAAC0C,KAAJ,CAAU,QAAV,EAAoBvC,KAApB,EAA2BmC,aAA3B;AAEA,UAAM;AAAEK,QAAAA,WAAW,GAAG;AAAhB,UAAyBxC,KAAK,CAACc,KAArC;;AACA,UAAI0B,WAAW,IAAI,IAAnB,EAAyB;AACvB3C,QAAAA,GAAG,CAACqC,KAAJ,CAAU,+BAAV,EAA2ClC,KAA3C;AACA;AACD;;AACD,UAAMY,MAAM,GAAG3B,WAAW,CAACwD,+BAAZ,CAA4CD,WAA5C,CAAf;;AACA,UAAI5B,MAAM,IAAI,IAAd,EAAoB;AAClBf,QAAAA,GAAG,CAACqC,KAAJ,CAAU,+CAAV,EAA2DM,WAA3D;AACA;AACD;;AACD,UAAMpB,UAAU,GAAGnC,WAAW,CAACyD,sBAAZ,CACjB9B,MADiB,CAAnB;;AAGA,UAAIQ,UAAU,IAAI,IAAlB,EAAwB;AACtBvB,QAAAA,GAAG,CAAC0C,KAAJ,+BAAiCF,OAAjC;AACA;AACD;;AACD,cAAQF,aAAR;AACE,aAAKlD,WAAW,CAAC0D,gBAAZ,CAA6BjD,aAA7B,CAAL;AAAkD;AAChD,gBAAIgC,MAAJ;;AACA,gBAAIW,OAAO,IAAI,IAAf,EAAqB;AACnBX,cAAAA,MAAK,GAAG,KAAKkB,uBAAL,CAA6BP,OAA7B,EAAsCjB,UAAtC,CAAR;AACD;;AACD,gBAAIM,MAAK,IAAI,IAAb,EAAmB;AACjBG,cAAAA,MAAM,CAACgB,IAAP,CAAY;AACVR,gBAAAA,OADU;AAEVS,gBAAAA,IAAI,EAAEX,aAFI;AAGVT,gBAAAA,KAAK,EAALA;AAHU,eAAZ;AAKD;;AACD;AACD;;AACD,aAAKzC,WAAW,CAAC0D,gBAAZ,CAA6B/C,gBAA7B,CAAL;AACA,aAAKX,WAAW,CAAC0D,gBAAZ,CAA6BhD,mBAA7B,CAAL;AAAwD;AACtD,gBAAM;AAAE8B,cAAAA,YAAF;AAAgBd,cAAAA,IAAhB;AAAsBmC,cAAAA,IAAtB;AAA4BC,cAAAA;AAA5B,gBAAsC3B,UAA5C;AACAS,YAAAA,MAAM,CAACgB,IAAP,CAAY;AACVR,cAAAA,OADU;AAEVS,cAAAA,IAAI,EAAEX,aAFI;AAGVT,cAAAA,KAAK,EAAE;AAAED,gBAAAA,YAAF;AAAgBd,gBAAAA,IAAhB;AAAsBmC,gBAAAA,IAAtB;AAA4BC,gBAAAA;AAA5B;AAHG,aAAZ;AAKA;AACD;;AACD;AAzBF;AA2BD,KAxDD;AAyDA,WAAOlB,MAAP;AACD;;AAEDe,EAAAA,uBAAuB,CACrBP,OADqB,EAErBjB,UAFqB,EAed;AACP,QAAM;AAAE4B,MAAAA;AAAF,QAAoB,KAAKlC,KAA/B;AACA,QAAMV,KAAK,GAAG4C,aAAa,CAACf,GAAd,CAAkBI,OAAlB,CAAd;;AACA,QAAIjC,KAAK,IAAI,IAAb,EAAmB;AACjBP,MAAAA,GAAG,CAACqC,KAAJ,yCAA2CG,OAA3C;AACA,aAAO,IAAP;AACD,KANM,CAOP;AACA;;;AACA,QAAM;AACJY,MAAAA,aAAa,GAAG;AAAEC,QAAAA,eAAe,EAAE1B,SAAnB;AAA8B2B,QAAAA,YAAY,EAAE3B;AAA5C,OADZ;AAEJ4B,MAAAA,SAAS,GAAG;AAFR,QAGFhC,UAHJ;AAIA,QAAM;AACJ8B,MAAAA,eAAe,EAAEG,sBADb;AAEJF,MAAAA,YAAY,EAAEG;AAFV,QAGFL,aAHJ;AAIA,QAAIC,eAAJ;;AACA,QAAIG,sBAAJ,EAA4B;AAC1BH,MAAAA,eAAe,GAAGhD,qBAAqB,CAACC,gCAAtB,CAChBC,KADgB,EAEhBiD,sBAFgB,CAAlB;AAID;;AAED,QAAIF,YAAJ;;AACA,QAAIG,mBAAJ,EAAyB;AACvBH,MAAAA,YAAY,GAAGjD,qBAAqB,CAACC,gCAAtB,CACbC,KADa,EAEbkD,mBAFa,CAAf;AAID;;AACD,WAAO;AACLL,MAAAA,aAAa,kCACRA,aADQ;AAEXC,QAAAA,eAFW;AAGXC,QAAAA;AAHW,QADR;AAMLC,MAAAA,SAAS,oBAAOA,SAAP;AANJ,KAAP;AAQD;;AAEDjC,EAAAA,oBAAoB,GAAqB;AACvC,WAAO,KAAKQ,cAAL,EAAP;AACD;;AAEDZ,EAAAA,YAAY,QAAwD;AAAA,QAAvD;AAAEU,MAAAA,YAAF;AAAgBH,MAAAA;AAAhB,KAAuD;AAClEzB,IAAAA,GAAG,CAAC0C,KAAJ,CAAU,cAAV,EAA0Bd,YAA1B,EAAwCH,UAAxC;AACA,SAAKiC,QAAL,CAAc;AAAE9B,MAAAA,YAAF;AAAgBH,MAAAA;AAAhB,KAAd;AACA,SAAKkC,gBAAL;AACD;;AAEDvC,EAAAA,iBAAiB,CAACwC,SAAD,EAA6B;AAC5C,QAAM;AAAE7B,MAAAA;AAAF,QAA8B,KAAKd,KAAzC;AACA,QAAM;AAAEe,MAAAA,MAAF;AAAU6B,MAAAA,gBAAgB,GAAG;AAA7B,QAAuCD,SAA7C;AACA5D,IAAAA,GAAG,CAAC0C,KAAJ,kCAA2CkB,SAA3C;AACA5B,IAAAA,MAAM,CAACE,OAAP,CAAe,SAA8B;AAAA,UAA7B;AAAEM,QAAAA,OAAF;AAAWS,QAAAA,IAAX;AAAiBpB,QAAAA;AAAjB,OAA6B;;AAC3C,UAAIW,OAAO,IAAI,IAAf,EAAqB;AACnBxC,QAAAA,GAAG,CAAC0C,KAAJ,CAAU,eAAV,EAA2BF,OAA3B;AACA;AACD;;AACD,UAAI,CAACT,uBAAuB,CAAC+B,GAAxB,CAA4BtB,OAA5B,CAAL,EAA2C;AACzCxC,QAAAA,GAAG,CAAC0C,KAAJ,CAAU,qBAAV,EAAiCF,OAAjC;AACA;AACD;;AACDxC,MAAAA,GAAG,CAAC0C,KAAJ,CAAU,qBAAV,EAAiCF,OAAjC,EAA0CS,IAA1C,EAAgDpB,KAAhD;AACA,UAAM1B,KAAK,GAAG4B,uBAAuB,CAACK,GAAxB,CAA4BI,OAA5B,CAAd;;AACA,cAAQS,IAAR;AACE,aAAK7D,WAAW,CAAC0D,gBAAZ,CAA6BjD,aAA7B,CAAL;AACE,eAAKkE,sBAAL,CACE5D,KADF,EAEE0B,KAFF,EAQEgC,gBARF;AAUA;;AACF,aAAKzE,WAAW,CAAC0D,gBAAZ,CAA6B/C,gBAA7B,CAAL;AACA,aAAKX,WAAW,CAAC0D,gBAAZ,CAA6BhD,mBAA7B,CAAL;AACE,eAAKkE,uBAAL,CAA6B7D,KAA7B,EAAoC0B,KAApC;AACA;;AACF;AAjBF;AAmBD,KA9BD;AA+BD;;AAEDR,EAAAA,gBAAgB,CAAC4C,kBAAD,EAAwC;AACtD,QAAM;AAAExE,MAAAA,sBAAF;AAA0ByE,MAAAA;AAA1B,QAA+C,KAAKjD,KAA1D;AACAjB,IAAAA,GAAG,CAAC0C,KAAJ,CAAU,qBAAV,EAAiCuB,kBAAjC,EAFsD,CAGtD;AACA;;AACAxE,IAAAA,sBAAsB,CAACyE,gBAAD,EAAmB,CAAC,GAAGD,kBAAJ,CAAnB,CAAtB;AACD;;AAEDN,EAAAA,gBAAgB,GAAS;AACvB,SAAKD,QAAL,CAAc;AAAA,UAAC;AAAEjC,QAAAA,UAAF;AAAcG,QAAAA;AAAd,OAAD;AAAA,aAAmC;AAC/C;AACAL,QAAAA,UAAU,EAAE;AACVE,UAAAA,UADU;AAEVG,UAAAA;AAFU;AAFmC,OAAnC;AAAA,KAAd;AAOD;;AAEDmC,EAAAA,sBAAsB,CACpB5D,KADoB,EAEpB0B,KAFoB,EAQpBgC,gBARoB,EASd;AACN;AACA;AACA,QAAM;AACJT,MAAAA,aAAa,GAAG,EADZ;AAEJC,MAAAA,eAAe,EAAEc,mBAAmB,GAAG,EAFnC;AAGJb,MAAAA,YAAY,EAAEc,gBAAgB,GAAG;AAH7B,QAIFvC,KAJJ;AAKA,QAAM;AACJwB,MAAAA,eAAe,GAAGc,mBADd;AAEJb,MAAAA,YAAY,GAAGc;AAFX,QAGFhB,aAHJ;AAIA,QAAM;AAAED,MAAAA;AAAF,QAAoB,KAAKlC,KAA/B;AACA,QAAMuB,OAAO,GAAGpD,WAAW,CAACqD,cAAZ,CAA2BtC,KAA3B,CAAhB;;AACA,QAAIqC,OAAO,IAAI,IAAf,EAAqB;AACnBxC,MAAAA,GAAG,CAACqC,KAAJ;AACA;AACD;;AACD,QAAM9B,KAAK,GAAG4C,aAAa,CAACf,GAAd,CAAkBI,OAAlB,CAAd;;AACA,QAAIjC,KAAK,IAAI,IAAb,EAAmB;AACjBP,MAAAA,GAAG,CAACqC,KAAJ,yCAA2CG,OAA3C;AACA;AACD;;AACDxC,IAAAA,GAAG,CAAC0C,KAAJ,CAAU,wBAAV,EAAoCF,OAApC,EAA6CX,KAA7C,EAAoDgC,gBAApD;;AACA,QAAIA,gBAAJ,EAAsB;AACpB1D,MAAAA,KAAK,CAACkE,iBAAN,CAAwBxC,KAAxB;AACD,KAFD,MAEO;AACL1B,MAAAA,KAAK,CAACmE,UAAN,CAAiB;AACfhB,QAAAA,YAAY,EAAEA,YADC;AAKfD,QAAAA,eAAe,EAAEA;AALF,OAAjB;AAUD;AACF,GArRD,CAuRA;;;AACAW,EAAAA,uBAAuB,CACrB7D,KADqB,EAErB0B,KAFqB,EAGf;AACN,QAAM0C,gBAAgB,qBAAQ1C,KAAR,CAAtB,CADM,CAEN;;;AACA,WAAO0C,gBAAgB,CAAC3C,YAAxB;AACA5B,IAAAA,GAAG,CAAC0C,KAAJ,CAAU,yBAAV,EAAqCvC,KAArC,EAA4CoE,gBAA5C;;AACA,QAAIpE,KAAK,IAAID,gBAAgB,CAACC,KAAD,CAA7B,EAAsC;AACpCA,MAAAA,KAAK,CAACC,aAAN,CAAoBmE,gBAApB;AACD;AACF;;AAEDC,EAAAA,MAAM,GAAiB;AACrB,QAAM;AAAE7B,MAAAA,WAAF;AAAe8B,MAAAA,UAAf;AAA2BjD,MAAAA;AAA3B,QAA0C,KAAKP,KAArD;AACA,QAAM;AAAEW,MAAAA,YAAF;AAAgBH,MAAAA;AAAhB,QAA+B,KAAKI,KAA1C;AACA,wBACE,oBAAC,KAAD;AACE,MAAA,SAAS,EAAC,0BADZ;AAEE,MAAA,cAAc,EAAE,IAFlB;AAGE,MAAA,WAAW,EAAEc,WAHf;AAIE,MAAA,UAAU,EAAE8B,UAJd;AAKE,MAAA,UAAU,MALZ;AAME,MAAA,WAAW;AANb,oBAQE;AAAK,MAAA,SAAS,EAAC;AAAf,oBACE,oBAAC,gBAAD;AACE,MAAA,QAAQ,EAAE,KAAKvD,YADjB;AAEE,MAAA,OAAO,EAAE,KAAKE,iBAFhB;AAGE,MAAA,YAAY,EAAE,KAAKC,gBAHrB;AAIE,MAAA,YAAY,EAAEO,YAJhB;AAKE,MAAA,UAAU,EAAEJ,UALd;AAME,MAAA,UAAU,EAAEC,UANd;AAOE,MAAA,cAAc,EAAE,KAAKH;AAPvB,MADF,CARF,CADF;AAsBD;;AA9TD;;gBAHWjB,qB,kBAIW;AACpBkB,EAAAA,UAAU,EAAE;AADQ,C;;gBAJXlB,qB,eAQQ,uB;;AA4TrB,IAAMqE,eAAe,GAAG,CACtB7C,KADsB,EAEtB8C,QAFsB,KAGnB;AACH,MAAM;AAAET,IAAAA;AAAF,MAAuBS,QAA7B;AACA,SAAO;AACLnD,IAAAA,UAAU,EAAElC,yBAAyB,CAACuC,KAAD,EAAQqC,gBAAR,CADhC;AAELnC,IAAAA,uBAAuB,EAAE5C,6BAA6B,CACpD0C,KADoD,EAEpDqC,gBAFoD,CAFjD;AAMLU,IAAAA,qBAAqB,EAAErF,2BAA2B,CAACsC,KAAD,EAAQqC,gBAAR,CAN7C;AAOLf,IAAAA,aAAa,EAAE3D,uBAAuB,CAACqC,KAAD,EAAQqC,gBAAR;AAPjC,GAAP;AASD,CAdD;;AAgBA,eAAehF,OAAO,CACpBwF,eADoB,EAEpB;AACEjF,EAAAA,sBAAsB,EAAEC;AAD1B,CAFoB,EAKpB,IALoB,EAMpB;AAAEmF,EAAAA,UAAU,EAAE;AAAd,CANoB,CAAP,CAObxE,qBAPa,CAAf","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 { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { TableTemplate } from '@deephaven/jsapi-shim';\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';\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(\n panel: PanelComponent\n): panel is PanelComponent & {\n setPanelState: (state: InputFilterPanelState) => void;\n} {\n return (\n (panel as PanelComponent & {\n setPanelState: (state: InputFilterPanelState) => void;\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) => {\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\nexport default connect(\n mapStateToProps,\n {\n setDashboardFilterSets: setDashboardFilterSetsAction,\n },\n null,\n { forwardRef: true }\n)(FilterSetManagerPanel);\n"],"file":"FilterSetManagerPanel.js"}
@@ -1,60 +1,59 @@
1
- declare var _default: import("react-redux").ConnectedComponent<typeof InputFilterPanel, any>;
2
- export default _default;
3
- declare class InputFilterPanel extends React.Component<any, any, any> {
1
+ import { Component, RefObject } from 'react';
2
+ import { Container, EventEmitter } from '@deephaven/golden-layout';
3
+ import InputFilter, { InputFilterColumn } from '../controls/input-filter/InputFilter';
4
+ export interface PanelState {
5
+ name?: string;
6
+ type?: string;
7
+ value?: string;
8
+ isValueShown?: boolean;
9
+ timestamp?: number;
10
+ }
11
+ interface InputFilterPanelProps {
12
+ glContainer: Container;
13
+ glEventHub: EventEmitter;
14
+ panelState: PanelState;
15
+ columns: InputFilterColumn[];
16
+ }
17
+ interface InputFilterPanelState {
18
+ columns: InputFilterColumn[];
19
+ column?: InputFilterColumn;
20
+ value?: string;
21
+ timestamp?: number;
22
+ isValueShown: boolean;
23
+ wasFlipped: boolean;
24
+ skipUpdate: boolean;
25
+ panelState: PanelState;
26
+ }
27
+ declare class InputFilterPanel extends Component<InputFilterPanelProps, InputFilterPanelState> {
28
+ static defaultProps: {
29
+ panelState: null;
30
+ };
4
31
  static COMPONENT: string;
5
- constructor(props: any);
6
- handleChange({ column, isValueShown, value }: {
7
- column: any;
8
- isValueShown: any;
9
- value: any;
32
+ static displayName: string;
33
+ constructor(props: InputFilterPanelProps);
34
+ componentDidMount(): void;
35
+ componentDidUpdate(prevProps: InputFilterPanelProps): void;
36
+ inputFilterRef: RefObject<InputFilter>;
37
+ handleChange({ column, isValueShown, value, }: {
38
+ column?: InputFilterColumn;
39
+ isValueShown?: boolean;
40
+ value?: string;
10
41
  }): void;
11
42
  handleClearAllFilters(): void;
12
- inputFilterRef: React.RefObject<any>;
13
- sendUpdate(name: any, type: any, value: any, timestamp: any): void;
43
+ sendUpdate(name?: string, type?: string, value?: string, timestamp?: number): void;
14
44
  /**
15
45
  * Set the filter value, card side, selected column
16
- * @param {Object} state Filter state to set
17
- * @param {boolean} sendUpdate Emit filters changed event if true
46
+ * @param state Filter state to set
47
+ * @param sendUpdate Emit filters changed event if true
18
48
  */
19
- setPanelState(state: Object, sendUpdate?: boolean): void;
49
+ setPanelState(state: PanelState, sendUpdate?: boolean): void;
20
50
  updateColumns(): void;
51
+ render(): JSX.Element;
21
52
  }
22
- declare namespace InputFilterPanel {
23
- namespace propTypes {
24
- const glContainer: PropTypes.Validator<PropTypes.InferProps<{
25
- on: PropTypes.Requireable<(...args: any[]) => any>;
26
- off: PropTypes.Requireable<(...args: any[]) => any>;
27
- isHidden: PropTypes.Requireable<boolean>;
28
- tab: PropTypes.Requireable<PropTypes.InferProps<{
29
- header: PropTypes.Requireable<PropTypes.InferProps<{
30
- tabs: PropTypes.Requireable<(PropTypes.InferProps<{
31
- contentItem: PropTypes.Requireable<PropTypes.InferProps<{}>>;
32
- }> | null | undefined)[]>;
33
- }>>;
34
- }>>;
35
- title: PropTypes.Requireable<string>;
36
- setTitle: PropTypes.Requireable<(...args: any[]) => any>;
37
- close: PropTypes.Requireable<(...args: any[]) => any>;
38
- }>>;
39
- const glEventHub: PropTypes.Validator<PropTypes.InferProps<{
40
- on: PropTypes.Requireable<(...args: any[]) => any>;
41
- off: PropTypes.Requireable<(...args: any[]) => any>;
42
- emit: PropTypes.Requireable<(...args: any[]) => any>;
43
- }>>;
44
- const panelState: PropTypes.Requireable<PropTypes.InferProps<{
45
- name: PropTypes.Requireable<string>;
46
- type: PropTypes.Requireable<string>;
47
- value: PropTypes.Requireable<string>;
48
- isValueShown: PropTypes.Requireable<boolean>;
49
- }>>;
50
- const columns: PropTypes.Validator<(PropTypes.InferProps<{}> | null | undefined)[]>;
51
- }
52
- namespace defaultProps {
53
- const panelState_1: null;
54
- export { panelState_1 as panelState };
55
- }
56
- const displayName: string;
57
- }
58
- import React from "react";
59
- import PropTypes from "prop-types";
53
+ declare const _default: import("react-redux").ConnectedComponent<typeof InputFilterPanel, import("react-redux").Omit<Pick<InputFilterPanelProps, "glContainer" | "glEventHub" | "columns"> & Partial<Pick<InputFilterPanelProps, "panelState">> & Partial<Pick<{
54
+ panelState: null;
55
+ }, never>>, "columns"> & {
56
+ localDashboardId: string;
57
+ }>;
58
+ export default _default;
60
59
  //# sourceMappingURL=InputFilterPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/InputFilterPanel.jsx"],"names":[],"mappings":";;AAYA;IACE,yBAAsC;IAEtC,wBA2BC;IAmBD;;;;aAsCC;IAED,8BAEC;IA/EC,qCAAuC;IAiFzC,mEAQC;IAED;;;;OAIG;IACH,qBAHW,MAAM,eACN,OAAO,QASjB;IAED,sBA2BC;CA0BF"}
1
+ {"version":3,"file":"InputFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/InputFilterPanel.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAO,WAAW,EAAE,EAClB,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAM9C,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,qBAAqB;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IAEpB,UAAU,EAAE,UAAU,CAAC;CACxB;AACD,cAAM,gBAAiB,SAAQ,SAAS,CACtC,qBAAqB,EACrB,qBAAqB,CACtB;IACC,MAAM,CAAC,YAAY;;MAEjB;IAEF,MAAM,CAAC,SAAS,SAAsB;IAItC,MAAM,CAAC,WAAW,SAAsB;gBAE5B,KAAK,EAAE,qBAAqB;IA6BxC,iBAAiB;IAUjB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB;IAOnD,cAAc,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvC,YAAY,CAAC,EACX,MAAM,EACN,YAAY,EACZ,KAAK,GACN,EAAE;QACD,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IA6CD,qBAAqB,IAAI,IAAI;IAI7B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAU3E;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,UAAQ;IASnD,aAAa;IA6Bb,MAAM;CAwBP;;;;;;AAaD,wBAEE"}