@deephaven/dashboard-core-plugins 0.108.1-beta.0 → 0.108.1-beta.12

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 (105) hide show
  1. package/dist/FilterEvents.d.ts +86 -0
  2. package/dist/FilterEvents.d.ts.map +1 -0
  3. package/dist/FilterEvents.js +78 -0
  4. package/dist/FilterEvents.js.map +1 -0
  5. package/dist/FilterPlugin.d.ts +1 -12
  6. package/dist/FilterPlugin.d.ts.map +1 -1
  7. package/dist/FilterPlugin.js +30 -23
  8. package/dist/FilterPlugin.js.map +1 -1
  9. package/dist/GridWidgetPlugin.d.ts +2 -2
  10. package/dist/GridWidgetPlugin.d.ts.map +1 -1
  11. package/dist/GridWidgetPlugin.js +54 -5
  12. package/dist/GridWidgetPlugin.js.map +1 -1
  13. package/dist/events/TabEventMap.d.ts +1 -1
  14. package/dist/events/TabEventMap.d.ts.map +1 -1
  15. package/dist/events/TabEventMap.js.map +1 -1
  16. package/dist/events/index.d.ts +7 -1
  17. package/dist/events/index.d.ts.map +1 -1
  18. package/dist/events/index.js +5 -1
  19. package/dist/events/index.js.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/linker/Linker.d.ts +3 -2
  25. package/dist/linker/Linker.d.ts.map +1 -1
  26. package/dist/linker/Linker.js +11 -2
  27. package/dist/linker/Linker.js.map +1 -1
  28. package/dist/linker/LinkerUtils.d.ts +2 -2
  29. package/dist/linker/LinkerUtils.d.ts.map +1 -1
  30. package/dist/linker/LinkerUtils.js +2 -1
  31. package/dist/linker/LinkerUtils.js.map +1 -1
  32. package/dist/panels/ChartPanel.d.ts +2 -2
  33. package/dist/panels/ChartPanel.d.ts.map +1 -1
  34. package/dist/panels/ChartPanel.js +4 -1
  35. package/dist/panels/ChartPanel.js.map +1 -1
  36. package/dist/panels/CommandHistoryPanel.js +1 -1
  37. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  38. package/dist/panels/ConsolePanel.js +1 -1
  39. package/dist/panels/ConsolePanel.js.map +1 -1
  40. package/dist/panels/CorePanel.d.ts +13 -0
  41. package/dist/panels/CorePanel.d.ts.map +1 -0
  42. package/dist/panels/CorePanel.js +76 -0
  43. package/dist/panels/CorePanel.js.map +1 -0
  44. package/dist/panels/DropdownFilterPanel.d.ts +1 -1
  45. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  46. package/dist/panels/DropdownFilterPanel.js +7 -4
  47. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  48. package/dist/panels/FileExplorerPanel.js +1 -1
  49. package/dist/panels/FileExplorerPanel.js.map +1 -1
  50. package/dist/panels/FilterSetManagerPanel.d.ts +2 -2
  51. package/dist/panels/FilterSetManagerPanel.js +1 -1
  52. package/dist/panels/FilterSetManagerPanel.js.map +1 -1
  53. package/dist/panels/InputFilterPanel.d.ts +2 -2
  54. package/dist/panels/InputFilterPanel.d.ts.map +1 -1
  55. package/dist/panels/InputFilterPanel.js +9 -5
  56. package/dist/panels/InputFilterPanel.js.map +1 -1
  57. package/dist/panels/IrisGridPanel.d.ts +2 -2
  58. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  59. package/dist/panels/IrisGridPanel.js +11 -4
  60. package/dist/panels/IrisGridPanel.js.map +1 -1
  61. package/dist/panels/LogPanel.d.ts +1 -1
  62. package/dist/panels/LogPanel.js +1 -1
  63. package/dist/panels/LogPanel.js.map +1 -1
  64. package/dist/panels/MarkdownPanel.d.ts +1 -1
  65. package/dist/panels/MarkdownPanel.js +1 -1
  66. package/dist/panels/MarkdownPanel.js.map +1 -1
  67. package/dist/panels/NotebookPanel.d.ts +1 -1
  68. package/dist/panels/NotebookPanel.js +1 -1
  69. package/dist/panels/NotebookPanel.js.map +1 -1
  70. package/dist/panels/WidgetPanel.d.ts +1 -1
  71. package/dist/panels/WidgetPanel.d.ts.map +1 -1
  72. package/dist/panels/WidgetPanel.js +1 -1
  73. package/dist/panels/WidgetPanel.js.map +1 -1
  74. package/dist/panels/index.d.ts +5 -1
  75. package/dist/panels/index.d.ts.map +1 -1
  76. package/dist/panels/index.js +7 -1
  77. package/dist/panels/index.js.map +1 -1
  78. package/dist/redux/selectors.d.ts +1 -1
  79. package/dist/redux/selectors.js.map +1 -1
  80. package/dist/useDashboardColumnFilters.d.ts +17 -0
  81. package/dist/useDashboardColumnFilters.d.ts.map +1 -0
  82. package/dist/useDashboardColumnFilters.js +59 -0
  83. package/dist/useDashboardColumnFilters.js.map +1 -0
  84. package/dist/useIrisGridModel.d.ts.map +1 -1
  85. package/dist/useIrisGridModel.js +25 -22
  86. package/dist/useIrisGridModel.js.map +1 -1
  87. package/package.json +24 -24
  88. package/dist/events/TabEvent.d.ts +0 -6
  89. package/dist/events/TabEvent.d.ts.map +0 -1
  90. package/dist/events/TabEvent.js +0 -6
  91. package/dist/events/TabEvent.js.map +0 -1
  92. package/dist/panels/Panel.css +0 -5
  93. package/dist/panels/Panel.css.map +0 -1
  94. package/dist/panels/Panel.d.ts +0 -44
  95. package/dist/panels/Panel.d.ts.map +0 -1
  96. package/dist/panels/Panel.js +0 -333
  97. package/dist/panels/Panel.js.map +0 -1
  98. package/dist/panels/PanelContextMenu.d.ts +0 -30
  99. package/dist/panels/PanelContextMenu.d.ts.map +0 -1
  100. package/dist/panels/PanelContextMenu.js +0 -159
  101. package/dist/panels/PanelContextMenu.js.map +0 -1
  102. package/dist/panels/RenameDialog.d.ts +0 -34
  103. package/dist/panels/RenameDialog.d.ts.map +0 -1
  104. package/dist/panels/RenameDialog.js +0 -167
  105. package/dist/panels/RenameDialog.js.map +0 -1
@@ -1,167 +0,0 @@
1
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
- import React, { PureComponent } from 'react';
5
- import classNames from 'classnames';
6
- import { Button, Popper } from '@deephaven/components';
7
- import { jsxs as _jsxs } from "react/jsx-runtime";
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- export default class RenameDialog extends PureComponent {
10
- constructor(props) {
11
- super(props);
12
- _defineProperty(this, "renameInputRef", void 0);
13
- this.handleRenameDialogOpened = this.handleRenameDialogOpened.bind(this);
14
- this.handleRenameInputChange = this.handleRenameInputChange.bind(this);
15
- this.handleRenameCancel = this.handleRenameCancel.bind(this);
16
- this.handleRenameSubmit = this.handleRenameSubmit.bind(this);
17
- this.renameInputRef = /*#__PURE__*/React.createRef();
18
- var {
19
- value
20
- } = props;
21
- this.state = {
22
- value,
23
- valueWasValidated: false
24
- };
25
- }
26
- componentDidUpdate(prevProps) {
27
- var {
28
- isShown: prevIsShown
29
- } = prevProps;
30
- var {
31
- isShown
32
- } = this.props;
33
- // Reset the state on dialog shown and not on the `value` prop change
34
- // so the input keeps the internal value while the dialog is open.
35
- // Useful in case the `value` prop update is triggered externally
36
- // i.e. by someone else renaming the same shared dashboard
37
- if (isShown && !prevIsShown) {
38
- this.resetState();
39
- }
40
- }
41
- resetState() {
42
- var {
43
- value
44
- } = this.props;
45
- this.setState({
46
- value,
47
- valueWasValidated: false
48
- });
49
- }
50
- handleRenameDialogOpened() {
51
- var _this$renameInputRef, _this$renameInputRef$;
52
- (_this$renameInputRef = this.renameInputRef) === null || _this$renameInputRef === void 0 ? void 0 : (_this$renameInputRef$ = _this$renameInputRef.current) === null || _this$renameInputRef$ === void 0 ? void 0 : _this$renameInputRef$.focus();
53
- }
54
- handleRenameInputChange(event) {
55
- this.setState({
56
- value: event.target.value
57
- });
58
- }
59
- handleRenameCancel() {
60
- var {
61
- onCancel
62
- } = this.props;
63
- onCancel();
64
- }
65
- handleRenameSubmit(event) {
66
- event.stopPropagation();
67
- event.preventDefault();
68
- var {
69
- value
70
- } = this.state;
71
- var newTitle = value === null || value === void 0 ? void 0 : value.trim();
72
- if (newTitle !== undefined && newTitle !== '') {
73
- var {
74
- onSubmit
75
- } = this.props;
76
- onSubmit(newTitle);
77
- } else {
78
- this.setState({
79
- value: newTitle,
80
- valueWasValidated: true
81
- });
82
- }
83
- }
84
- renderRenameDialog() {
85
- var {
86
- isShared,
87
- isOwner,
88
- itemType
89
- } = this.props;
90
- var {
91
- value,
92
- valueWasValidated
93
- } = this.state;
94
- return /*#__PURE__*/_jsxs("form", {
95
- className: classNames('p-3', {
96
- 'was-validated': valueWasValidated
97
- }),
98
- onSubmit: this.handleRenameSubmit,
99
- noValidate: true,
100
- role: "presentation",
101
- onMouseDown: event => {
102
- // block events in the NewTabScreen ItemList
103
- event.stopPropagation();
104
- },
105
- onMouseUp: event => {
106
- event.stopPropagation();
107
- },
108
- children: [/*#__PURE__*/_jsxs("div", {
109
- className: "form-group",
110
- children: [/*#__PURE__*/_jsxs("label", {
111
- htmlFor: "rename-dialog-".concat(itemType, "-input"),
112
- children: ["Rename ", itemType]
113
- }), /*#__PURE__*/_jsx("input", {
114
- type: "text",
115
- className: "form-control",
116
- id: "rename-dialog-".concat(itemType, "-input"),
117
- value: value !== null && value !== void 0 ? value : undefined,
118
- ref: this.renameInputRef,
119
- onChange: this.handleRenameInputChange,
120
- required: true
121
- }), /*#__PURE__*/_jsxs("div", {
122
- className: "invalid-feedback",
123
- children: [itemType, " name cannot be empty"]
124
- }), (isShared || !isOwner) && /*#__PURE__*/_jsxs("div", {
125
- className: "pt-2",
126
- children: ["Renaming this ", itemType, " will rename for all users."]
127
- })]
128
- }), /*#__PURE__*/_jsxs("div", {
129
- className: "text-right",
130
- children: [/*#__PURE__*/_jsx(Button, {
131
- kind: "secondary",
132
- className: "mr-2",
133
- onClick: this.handleRenameCancel,
134
- children: "Cancel"
135
- }), /*#__PURE__*/_jsx(Button, {
136
- kind: "primary",
137
- type: "submit",
138
- children: "Rename"
139
- })]
140
- })]
141
- });
142
- }
143
- render() {
144
- var {
145
- isShown,
146
- onCancel
147
- } = this.props;
148
- return /*#__PURE__*/_jsx(Popper, {
149
- isShown: isShown,
150
- onEntered: this.handleRenameDialogOpened,
151
- onExited: onCancel,
152
- options: {
153
- placement: 'bottom'
154
- },
155
- interactive: true,
156
- closeOnBlur: true,
157
- children: this.renderRenameDialog()
158
- });
159
- }
160
- }
161
- _defineProperty(RenameDialog, "defaultProps", {
162
- isShared: false,
163
- isOwner: true,
164
- itemType: 'Item',
165
- value: ''
166
- });
167
- //# sourceMappingURL=RenameDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenameDialog.js","names":["React","PureComponent","classNames","Button","Popper","jsxs","_jsxs","jsx","_jsx","RenameDialog","constructor","props","_defineProperty","handleRenameDialogOpened","bind","handleRenameInputChange","handleRenameCancel","handleRenameSubmit","renameInputRef","createRef","value","state","valueWasValidated","componentDidUpdate","prevProps","isShown","prevIsShown","resetState","setState","_this$renameInputRef","_this$renameInputRef$","current","focus","event","target","onCancel","stopPropagation","preventDefault","newTitle","trim","undefined","onSubmit","renderRenameDialog","isShared","isOwner","itemType","className","noValidate","role","onMouseDown","onMouseUp","children","htmlFor","concat","type","id","ref","onChange","required","kind","onClick","render","onEntered","onExited","options","placement","interactive","closeOnBlur"],"sources":["../../src/panels/RenameDialog.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n type FormEvent,\n PureComponent,\n type ReactElement,\n type RefObject,\n} from 'react';\nimport classNames from 'classnames';\nimport { Button, Popper } from '@deephaven/components';\n\ninterface RenameDialogProps {\n isShared: boolean;\n isOwner: boolean;\n isShown: boolean;\n itemType: string;\n onSubmit: (title: string) => void;\n onCancel: () => void;\n value?: string | null;\n}\n\ninterface RenameDialogState {\n value?: string | null;\n valueWasValidated: boolean;\n}\n\nexport default class RenameDialog extends PureComponent<\n RenameDialogProps,\n RenameDialogState\n> {\n static defaultProps = {\n isShared: false,\n isOwner: true,\n itemType: 'Item',\n value: '',\n };\n\n constructor(props: RenameDialogProps) {\n super(props);\n\n this.handleRenameDialogOpened = this.handleRenameDialogOpened.bind(this);\n this.handleRenameInputChange = this.handleRenameInputChange.bind(this);\n this.handleRenameCancel = this.handleRenameCancel.bind(this);\n this.handleRenameSubmit = this.handleRenameSubmit.bind(this);\n\n this.renameInputRef = React.createRef();\n\n const { value } = props;\n\n this.state = {\n value,\n valueWasValidated: false,\n };\n }\n\n componentDidUpdate(prevProps: RenameDialogProps): void {\n const { isShown: prevIsShown } = prevProps;\n const { isShown } = this.props;\n // Reset the state on dialog shown and not on the `value` prop change\n // so the input keeps the internal value while the dialog is open.\n // Useful in case the `value` prop update is triggered externally\n // i.e. by someone else renaming the same shared dashboard\n if (isShown && !prevIsShown) {\n this.resetState();\n }\n }\n\n renameInputRef: RefObject<HTMLInputElement>;\n\n resetState(): void {\n const { value } = this.props;\n this.setState({ value, valueWasValidated: false });\n }\n\n handleRenameDialogOpened(): void {\n this.renameInputRef?.current?.focus();\n }\n\n handleRenameInputChange(event: ChangeEvent<HTMLInputElement>): void {\n this.setState({ value: event.target.value });\n }\n\n handleRenameCancel(): void {\n const { onCancel } = this.props;\n onCancel();\n }\n\n handleRenameSubmit(event: FormEvent<HTMLFormElement>): void {\n event.stopPropagation();\n event.preventDefault();\n const { value } = this.state;\n const newTitle = value?.trim();\n if (newTitle !== undefined && newTitle !== '') {\n const { onSubmit } = this.props;\n onSubmit(newTitle);\n } else {\n this.setState({ value: newTitle, valueWasValidated: true });\n }\n }\n\n renderRenameDialog(): ReactElement {\n const { isShared, isOwner, itemType } = this.props;\n const { value, valueWasValidated } = this.state;\n\n return (\n <form\n className={classNames('p-3', { 'was-validated': valueWasValidated })}\n onSubmit={this.handleRenameSubmit}\n noValidate\n role=\"presentation\"\n onMouseDown={event => {\n // block events in the NewTabScreen ItemList\n event.stopPropagation();\n }}\n onMouseUp={event => {\n event.stopPropagation();\n }}\n >\n <div className=\"form-group\">\n <label htmlFor={`rename-dialog-${itemType}-input`}>\n Rename {itemType}\n </label>\n <input\n type=\"text\"\n className=\"form-control\"\n id={`rename-dialog-${itemType}-input`}\n value={value ?? undefined}\n ref={this.renameInputRef}\n onChange={this.handleRenameInputChange}\n required\n />\n <div className=\"invalid-feedback\">\n {itemType} name cannot be empty\n </div>\n {(isShared || !isOwner) && (\n <div className=\"pt-2\">\n Renaming this {itemType} will rename for all users.\n </div>\n )}\n </div>\n\n <div className=\"text-right\">\n <Button\n kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleRenameCancel}\n >\n Cancel\n </Button>\n <Button kind=\"primary\" type=\"submit\">\n Rename\n </Button>\n </div>\n </form>\n );\n }\n\n render(): ReactElement {\n const { isShown, onCancel } = this.props;\n return (\n <Popper\n isShown={isShown}\n onEntered={this.handleRenameDialogOpened}\n onExited={onCancel}\n options={{\n placement: 'bottom',\n }}\n interactive\n closeOnBlur\n >\n {this.renderRenameDialog()}\n </Popper>\n );\n }\n}\n"],"mappings":"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"}