@deephaven/dashboard-core-plugins 0.109.1-beta.7 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/events/TabEventMap.d.ts +1 -1
- package/dist/events/TabEventMap.d.ts.map +1 -1
- package/dist/events/TabEventMap.js.map +1 -1
- package/dist/events/index.d.ts +7 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -1
- package/dist/events/index.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +2 -2
- package/dist/panels/CommandHistoryPanel.js +1 -1
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.js +1 -1
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/CorePanel.d.ts +13 -0
- package/dist/panels/CorePanel.d.ts.map +1 -0
- package/dist/panels/CorePanel.js +76 -0
- package/dist/panels/CorePanel.js.map +1 -0
- package/dist/panels/DropdownFilterPanel.d.ts +1 -1
- package/dist/panels/FileExplorerPanel.js +1 -1
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManagerPanel.d.ts +2 -2
- package/dist/panels/FilterSetManagerPanel.js +1 -1
- package/dist/panels/FilterSetManagerPanel.js.map +1 -1
- package/dist/panels/InputFilterPanel.d.ts +1 -1
- package/dist/panels/InputFilterPanel.js +1 -1
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +2 -2
- package/dist/panels/LogPanel.d.ts +1 -1
- package/dist/panels/LogPanel.js +1 -1
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownPanel.d.ts +1 -1
- package/dist/panels/MarkdownPanel.js +1 -1
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +1 -1
- package/dist/panels/NotebookPanel.js +1 -1
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/WidgetPanel.d.ts +1 -1
- package/dist/panels/WidgetPanel.d.ts.map +1 -1
- package/dist/panels/WidgetPanel.js +1 -1
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/panels/index.d.ts +5 -1
- package/dist/panels/index.d.ts.map +1 -1
- package/dist/panels/index.js +7 -1
- package/dist/panels/index.js.map +1 -1
- package/package.json +24 -24
- package/dist/events/TabEvent.d.ts +0 -6
- package/dist/events/TabEvent.d.ts.map +0 -1
- package/dist/events/TabEvent.js +0 -6
- package/dist/events/TabEvent.js.map +0 -1
- package/dist/panels/Panel.css +0 -5
- package/dist/panels/Panel.css.map +0 -1
- package/dist/panels/Panel.d.ts +0 -44
- package/dist/panels/Panel.d.ts.map +0 -1
- package/dist/panels/Panel.js +0 -333
- package/dist/panels/Panel.js.map +0 -1
- package/dist/panels/PanelContextMenu.d.ts +0 -30
- package/dist/panels/PanelContextMenu.d.ts.map +0 -1
- package/dist/panels/PanelContextMenu.js +0 -159
- package/dist/panels/PanelContextMenu.js.map +0 -1
- package/dist/panels/RenameDialog.d.ts +0 -34
- package/dist/panels/RenameDialog.d.ts.map +0 -1
- package/dist/panels/RenameDialog.js +0 -167
- package/dist/panels/RenameDialog.js.map +0 -1
|
@@ -1,159 +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 { ContextActions } from '@deephaven/components';
|
|
6
|
-
import { getWorkspace, setWorkspace as setWorkspaceAction } from '@deephaven/redux';
|
|
7
|
-
import { connect } from 'react-redux';
|
|
8
|
-
import { LayoutUtils, PanelEvent } from '@deephaven/dashboard';
|
|
9
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
class PanelContextMenu extends PureComponent {
|
|
11
|
-
constructor(props) {
|
|
12
|
-
super(props);
|
|
13
|
-
this.handleCloseTab = this.handleCloseTab.bind(this);
|
|
14
|
-
this.handleCloseTabsRight = this.handleCloseTabsRight.bind(this);
|
|
15
|
-
this.handleCloseTabsAll = this.handleCloseTabsAll.bind(this);
|
|
16
|
-
this.handleReopenLast = this.handleReopenLast.bind(this);
|
|
17
|
-
}
|
|
18
|
-
getAllTabs() {
|
|
19
|
-
var _glContainer$tab$head, _glContainer$tab, _glContainer$tab$head2;
|
|
20
|
-
// return a clone of the tabs array, or returns empty array if null
|
|
21
|
-
var {
|
|
22
|
-
glContainer
|
|
23
|
-
} = this.props;
|
|
24
|
-
return [...((_glContainer$tab$head = glContainer === null || glContainer === void 0 ? void 0 : (_glContainer$tab = glContainer.tab) === null || _glContainer$tab === void 0 ? void 0 : (_glContainer$tab$head2 = _glContainer$tab.header) === null || _glContainer$tab$head2 === void 0 ? void 0 : _glContainer$tab$head2.tabs) !== null && _glContainer$tab$head !== void 0 ? _glContainer$tab$head : [])];
|
|
25
|
-
}
|
|
26
|
-
handleCloseTab() {
|
|
27
|
-
var {
|
|
28
|
-
glContainer
|
|
29
|
-
} = this.props;
|
|
30
|
-
glContainer.close();
|
|
31
|
-
}
|
|
32
|
-
handleCloseTabsAll() {
|
|
33
|
-
var tabs = this.getAllTabs();
|
|
34
|
-
|
|
35
|
-
// No need to check if isClosable, golden-layout returns
|
|
36
|
-
// false when attempting to close tabs that you can't
|
|
37
|
-
tabs.forEach(tab => {
|
|
38
|
-
var _container;
|
|
39
|
-
return (_container = (tab === null || tab === void 0 ? void 0 : tab.contentItem).container) === null || _container === void 0 ? void 0 : _container.close();
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
handleCloseTabsRight() {
|
|
43
|
-
var {
|
|
44
|
-
glContainer
|
|
45
|
-
} = this.props;
|
|
46
|
-
var tabs = this.getAllTabs();
|
|
47
|
-
for (var i = tabs.length - 1; i > 0; i -= 1) {
|
|
48
|
-
var _tabs$i$contentItem, _tabs$i$contentItem$c, _glContainer$tab2, _glContainer$tab2$con, _glContainer$tab2$con2, _container2, _tabs$i;
|
|
49
|
-
if (((_tabs$i$contentItem = tabs[i].contentItem) === null || _tabs$i$contentItem === void 0 ? void 0 : (_tabs$i$contentItem$c = _tabs$i$contentItem.config) === null || _tabs$i$contentItem$c === void 0 ? void 0 : _tabs$i$contentItem$c.id) === ((_glContainer$tab2 = glContainer.tab) === null || _glContainer$tab2 === void 0 ? void 0 : (_glContainer$tab2$con = _glContainer$tab2.contentItem) === null || _glContainer$tab2$con === void 0 ? void 0 : (_glContainer$tab2$con2 = _glContainer$tab2$con.config) === null || _glContainer$tab2$con2 === void 0 ? void 0 : _glContainer$tab2$con2.id)) {
|
|
50
|
-
break; // end when we get back to current id
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// eslint-disable-next-line no-unused-expressions
|
|
54
|
-
(_container2 = ((_tabs$i = tabs[i]) === null || _tabs$i === void 0 ? void 0 : _tabs$i.contentItem).container) === null || _container2 === void 0 ? void 0 : _container2.close();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
handleReopenLast() {
|
|
58
|
-
var {
|
|
59
|
-
glContainer,
|
|
60
|
-
glEventHub
|
|
61
|
-
} = this.props;
|
|
62
|
-
glEventHub.emit(PanelEvent.REOPEN_LAST, glContainer);
|
|
63
|
-
}
|
|
64
|
-
canCloseTabsRight() {
|
|
65
|
-
var {
|
|
66
|
-
glContainer
|
|
67
|
-
} = this.props;
|
|
68
|
-
var tabs = this.getAllTabs();
|
|
69
|
-
var disabled = true;
|
|
70
|
-
for (var i = tabs.length - 1; i > 0; i -= 1) {
|
|
71
|
-
var _tabs$i$contentItem2, _tabs$i$contentItem2$, _glContainer$tab3, _glContainer$tab3$con, _glContainer$tab3$con2, _tabs$i2, _tabs$i2$contentItem, _tabs$i2$contentItem$;
|
|
72
|
-
if (((_tabs$i$contentItem2 = tabs[i].contentItem) === null || _tabs$i$contentItem2 === void 0 ? void 0 : (_tabs$i$contentItem2$ = _tabs$i$contentItem2.config) === null || _tabs$i$contentItem2$ === void 0 ? void 0 : _tabs$i$contentItem2$.id) === ((_glContainer$tab3 = glContainer.tab) === null || _glContainer$tab3 === void 0 ? void 0 : (_glContainer$tab3$con = _glContainer$tab3.contentItem) === null || _glContainer$tab3$con === void 0 ? void 0 : (_glContainer$tab3$con2 = _glContainer$tab3$con.config) === null || _glContainer$tab3$con2 === void 0 ? void 0 : _glContainer$tab3$con2.id)) {
|
|
73
|
-
break; // end when we get back to current id
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
var closable = Boolean((_tabs$i2 = tabs[i]) === null || _tabs$i2 === void 0 ? void 0 : (_tabs$i2$contentItem = _tabs$i2.contentItem) === null || _tabs$i2$contentItem === void 0 ? void 0 : (_tabs$i2$contentItem$ = _tabs$i2$contentItem.config) === null || _tabs$i2$contentItem$ === void 0 ? void 0 : _tabs$i2$contentItem$.isClosable);
|
|
77
|
-
if (closable) {
|
|
78
|
-
disabled = false;
|
|
79
|
-
break; // end if we find a closeable tab
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return disabled;
|
|
84
|
-
}
|
|
85
|
-
canCloseAny() {
|
|
86
|
-
var tabs = this.getAllTabs();
|
|
87
|
-
var disabled = true;
|
|
88
|
-
for (var i = tabs.length - 1; i > 0; i -= 1) {
|
|
89
|
-
var _tabs$i3, _tabs$i3$contentItem, _tabs$i3$contentItem$;
|
|
90
|
-
var closable = Boolean((_tabs$i3 = tabs[i]) === null || _tabs$i3 === void 0 ? void 0 : (_tabs$i3$contentItem = _tabs$i3.contentItem) === null || _tabs$i3$contentItem === void 0 ? void 0 : (_tabs$i3$contentItem$ = _tabs$i3$contentItem.config) === null || _tabs$i3$contentItem$ === void 0 ? void 0 : _tabs$i3$contentItem$.isClosable);
|
|
91
|
-
if (closable) {
|
|
92
|
-
disabled = false;
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return disabled;
|
|
97
|
-
}
|
|
98
|
-
canReopenLast() {
|
|
99
|
-
var _LayoutUtils$getStack, _workspace$data$close;
|
|
100
|
-
var {
|
|
101
|
-
workspace,
|
|
102
|
-
glContainer
|
|
103
|
-
} = this.props;
|
|
104
|
-
var stackId = (_LayoutUtils$getStack = LayoutUtils.getStackForConfig(glContainer.layoutManager.root, glContainer.getConfig())) === null || _LayoutUtils$getStack === void 0 ? void 0 : _LayoutUtils$getStack.config.id;
|
|
105
|
-
return !((_workspace$data$close = workspace.data.closed) !== null && _workspace$data$close !== void 0 && _workspace$data$close.some(panel => panel.parentStackId === stackId));
|
|
106
|
-
}
|
|
107
|
-
render() {
|
|
108
|
-
var _glContainer$tab4, _glContainer$tab4$con, _glContainer$tab4$con2;
|
|
109
|
-
var {
|
|
110
|
-
additionalActions,
|
|
111
|
-
glContainer
|
|
112
|
-
} = this.props;
|
|
113
|
-
var contextActions = [...additionalActions];
|
|
114
|
-
contextActions.push(() => ({
|
|
115
|
-
title: 'Re-open closed panel',
|
|
116
|
-
group: ContextActions.groups.medium + 2004,
|
|
117
|
-
action: this.handleReopenLast,
|
|
118
|
-
disabled: this.canReopenLast()
|
|
119
|
-
}));
|
|
120
|
-
var closable = (_glContainer$tab4 = glContainer.tab) === null || _glContainer$tab4 === void 0 ? void 0 : (_glContainer$tab4$con = _glContainer$tab4.contentItem) === null || _glContainer$tab4$con === void 0 ? void 0 : (_glContainer$tab4$con2 = _glContainer$tab4$con.config) === null || _glContainer$tab4$con2 === void 0 ? void 0 : _glContainer$tab4$con2.isClosable;
|
|
121
|
-
contextActions.push({
|
|
122
|
-
title: 'Close',
|
|
123
|
-
order: 10,
|
|
124
|
-
group: ContextActions.groups.low,
|
|
125
|
-
action: this.handleCloseTab,
|
|
126
|
-
disabled: closable === undefined || !closable
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
// pushed as function so the disable check happens on run
|
|
130
|
-
contextActions.push(() => ({
|
|
131
|
-
title: 'Close Tabs to Right',
|
|
132
|
-
order: 20,
|
|
133
|
-
group: ContextActions.groups.low,
|
|
134
|
-
action: this.handleCloseTabsRight,
|
|
135
|
-
disabled: this.canCloseTabsRight()
|
|
136
|
-
}));
|
|
137
|
-
contextActions.push(() => ({
|
|
138
|
-
title: 'Close All',
|
|
139
|
-
order: 30,
|
|
140
|
-
group: ContextActions.groups.low,
|
|
141
|
-
action: this.handleCloseTabsAll,
|
|
142
|
-
disabled: this.canCloseAny()
|
|
143
|
-
}));
|
|
144
|
-
return /*#__PURE__*/_jsx(ContextActions, {
|
|
145
|
-
actions: contextActions
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
_defineProperty(PanelContextMenu, "defaultProps", {
|
|
150
|
-
additionalActions: []
|
|
151
|
-
});
|
|
152
|
-
var mapStateToProps = state => ({
|
|
153
|
-
workspace: getWorkspace(state)
|
|
154
|
-
});
|
|
155
|
-
var ConnectedPanelContextMenu = connect(mapStateToProps, {
|
|
156
|
-
setWorkspace: setWorkspaceAction
|
|
157
|
-
})(PanelContextMenu);
|
|
158
|
-
export default ConnectedPanelContextMenu;
|
|
159
|
-
//# sourceMappingURL=PanelContextMenu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PanelContextMenu.js","names":["React","PureComponent","ContextActions","getWorkspace","setWorkspace","setWorkspaceAction","connect","LayoutUtils","PanelEvent","jsx","_jsx","PanelContextMenu","constructor","props","handleCloseTab","bind","handleCloseTabsRight","handleCloseTabsAll","handleReopenLast","getAllTabs","_glContainer$tab$head","_glContainer$tab","_glContainer$tab$head2","glContainer","tab","header","tabs","close","forEach","_container","contentItem","container","i","length","_tabs$i$contentItem","_tabs$i$contentItem$c","_glContainer$tab2","_glContainer$tab2$con","_glContainer$tab2$con2","_container2","_tabs$i","config","id","glEventHub","emit","REOPEN_LAST","canCloseTabsRight","disabled","_tabs$i$contentItem2","_tabs$i$contentItem2$","_glContainer$tab3","_glContainer$tab3$con","_glContainer$tab3$con2","_tabs$i2","_tabs$i2$contentItem","_tabs$i2$contentItem$","closable","Boolean","isClosable","canCloseAny","_tabs$i3","_tabs$i3$contentItem","_tabs$i3$contentItem$","canReopenLast","_LayoutUtils$getStack","_workspace$data$close","workspace","stackId","getStackForConfig","layoutManager","root","getConfig","data","closed","some","panel","parentStackId","render","_glContainer$tab4","_glContainer$tab4$con","_glContainer$tab4$con2","additionalActions","contextActions","push","title","group","groups","medium","action","order","low","undefined","actions","_defineProperty","mapStateToProps","state","ConnectedPanelContextMenu"],"sources":["../../src/panels/PanelContextMenu.tsx"],"sourcesContent":["import React, { PureComponent, type ReactElement } from 'react';\nimport {\n ContextActions,\n type ResolvableContextAction,\n} from '@deephaven/components';\nimport type { Container, EventEmitter, Tab } from '@deephaven/golden-layout';\nimport {\n type CustomizableWorkspace,\n type RootState,\n getWorkspace,\n setWorkspace as setWorkspaceAction,\n} from '@deephaven/redux';\nimport { connect } from 'react-redux';\nimport {\n type ClosedPanel,\n LayoutUtils,\n PanelEvent,\n} from '@deephaven/dashboard';\n\ninterface PanelContextMenuProps {\n additionalActions: ResolvableContextAction[];\n glContainer: Container;\n glEventHub: EventEmitter;\n workspace: CustomizableWorkspace;\n}\n\ninterface HasContainer {\n container: {\n close: () => void;\n };\n}\nclass PanelContextMenu extends PureComponent<\n PanelContextMenuProps,\n Record<string, never>\n> {\n static defaultProps = {\n additionalActions: [],\n };\n\n constructor(props: PanelContextMenuProps) {\n super(props);\n\n this.handleCloseTab = this.handleCloseTab.bind(this);\n this.handleCloseTabsRight = this.handleCloseTabsRight.bind(this);\n this.handleCloseTabsAll = this.handleCloseTabsAll.bind(this);\n this.handleReopenLast = this.handleReopenLast.bind(this);\n }\n\n getAllTabs(): Tab[] {\n // return a clone of the tabs array, or returns empty array if null\n const { glContainer } = this.props;\n return [...(glContainer?.tab?.header?.tabs ?? [])];\n }\n\n handleCloseTab(): void {\n const { glContainer } = this.props;\n glContainer.close();\n }\n\n handleCloseTabsAll(): void {\n const tabs = this.getAllTabs();\n\n // No need to check if isClosable, golden-layout returns\n // false when attempting to close tabs that you can't\n tabs.forEach(\n tab => (tab?.contentItem as unknown as HasContainer).container?.close()\n );\n }\n\n handleCloseTabsRight(): void {\n const { glContainer } = this.props;\n const tabs = this.getAllTabs();\n\n for (let i = tabs.length - 1; i > 0; i -= 1) {\n if (\n tabs[i].contentItem?.config?.id ===\n glContainer.tab?.contentItem?.config?.id\n ) {\n break; // end when we get back to current id\n }\n\n // eslint-disable-next-line no-unused-expressions\n (tabs[i]?.contentItem as unknown as HasContainer).container?.close();\n }\n }\n\n handleReopenLast(): void {\n const { glContainer, glEventHub } = this.props;\n glEventHub.emit(PanelEvent.REOPEN_LAST, glContainer);\n }\n\n canCloseTabsRight(): boolean {\n const { glContainer } = this.props;\n const tabs = this.getAllTabs();\n\n let disabled = true;\n for (let i = tabs.length - 1; i > 0; i -= 1) {\n if (\n tabs[i].contentItem?.config?.id ===\n glContainer.tab?.contentItem?.config?.id\n ) {\n break; // end when we get back to current id\n }\n const closable = Boolean(tabs[i]?.contentItem?.config?.isClosable);\n if (closable) {\n disabled = false;\n break; // end if we find a closeable tab\n }\n }\n return disabled;\n }\n\n canCloseAny(): boolean {\n const tabs = this.getAllTabs();\n\n let disabled = true;\n for (let i = tabs.length - 1; i > 0; i -= 1) {\n const closable = Boolean(tabs[i]?.contentItem?.config?.isClosable);\n if (closable) {\n disabled = false;\n break;\n }\n }\n return disabled;\n }\n\n canReopenLast(): boolean {\n const { workspace, glContainer } = this.props;\n const stackId = LayoutUtils.getStackForConfig(\n glContainer.layoutManager.root,\n glContainer.getConfig()\n )?.config.id;\n\n return !workspace.data.closed?.some(\n panel => (panel as ClosedPanel).parentStackId === stackId\n );\n }\n\n render(): ReactElement {\n const { additionalActions, glContainer } = this.props;\n\n const contextActions = [...additionalActions];\n\n contextActions.push(() => ({\n title: 'Re-open closed panel',\n group: ContextActions.groups.medium + 2004,\n action: this.handleReopenLast,\n disabled: this.canReopenLast(),\n }));\n\n const closable = glContainer.tab?.contentItem?.config?.isClosable;\n contextActions.push({\n title: 'Close',\n order: 10,\n group: ContextActions.groups.low,\n action: this.handleCloseTab,\n disabled: closable === undefined || !closable,\n });\n\n // pushed as function so the disable check happens on run\n contextActions.push(() => ({\n title: 'Close Tabs to Right',\n order: 20,\n group: ContextActions.groups.low,\n action: this.handleCloseTabsRight,\n disabled: this.canCloseTabsRight(),\n }));\n\n contextActions.push(() => ({\n title: 'Close All',\n order: 30,\n group: ContextActions.groups.low,\n action: this.handleCloseTabsAll,\n disabled: this.canCloseAny(),\n }));\n\n return <ContextActions actions={contextActions} />;\n }\n}\n\nconst mapStateToProps = (\n state: RootState\n): {\n workspace: CustomizableWorkspace;\n} => ({\n workspace: getWorkspace(state),\n});\n\nconst ConnectedPanelContextMenu = connect(mapStateToProps, {\n setWorkspace: setWorkspaceAction,\n})(PanelContextMenu);\n\nexport default ConnectedPanelContextMenu;\n"],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type ChangeEvent, type FormEvent, PureComponent, type ReactElement, type RefObject } from 'react';
|
|
2
|
-
interface RenameDialogProps {
|
|
3
|
-
isShared: boolean;
|
|
4
|
-
isOwner: boolean;
|
|
5
|
-
isShown: boolean;
|
|
6
|
-
itemType: string;
|
|
7
|
-
onSubmit: (title: string) => void;
|
|
8
|
-
onCancel: () => void;
|
|
9
|
-
value?: string | null;
|
|
10
|
-
}
|
|
11
|
-
interface RenameDialogState {
|
|
12
|
-
value?: string | null;
|
|
13
|
-
valueWasValidated: boolean;
|
|
14
|
-
}
|
|
15
|
-
export default class RenameDialog extends PureComponent<RenameDialogProps, RenameDialogState> {
|
|
16
|
-
static defaultProps: {
|
|
17
|
-
isShared: boolean;
|
|
18
|
-
isOwner: boolean;
|
|
19
|
-
itemType: string;
|
|
20
|
-
value: string;
|
|
21
|
-
};
|
|
22
|
-
constructor(props: RenameDialogProps);
|
|
23
|
-
componentDidUpdate(prevProps: RenameDialogProps): void;
|
|
24
|
-
renameInputRef: RefObject<HTMLInputElement>;
|
|
25
|
-
resetState(): void;
|
|
26
|
-
handleRenameDialogOpened(): void;
|
|
27
|
-
handleRenameInputChange(event: ChangeEvent<HTMLInputElement>): void;
|
|
28
|
-
handleRenameCancel(): void;
|
|
29
|
-
handleRenameSubmit(event: FormEvent<HTMLFormElement>): void;
|
|
30
|
-
renderRenameDialog(): ReactElement;
|
|
31
|
-
render(): ReactElement;
|
|
32
|
-
}
|
|
33
|
-
export {};
|
|
34
|
-
//# sourceMappingURL=RenameDialog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenameDialog.d.ts","sourceRoot":"","sources":["../../src/panels/RenameDialog.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,UAAU,iBAAiB;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa,CACrD,iBAAiB,EACjB,iBAAiB,CAClB;IACC,MAAM,CAAC,YAAY;;;;;MAKjB;gBAEU,KAAK,EAAE,iBAAiB;IAkBpC,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAYtD,cAAc,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5C,UAAU,IAAI,IAAI;IAKlB,wBAAwB,IAAI,IAAI;IAIhC,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAInE,kBAAkB,IAAI,IAAI;IAK1B,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI;IAa3D,kBAAkB,IAAI,YAAY;IAyDlC,MAAM,IAAI,YAAY;CAiBvB"}
|
|
@@ -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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"}
|