@dhis2/analytics 25.2.3 → 26.0.1
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/build/cjs/__demo__/FileMenu.stories.js +8 -6
- package/build/cjs/__demo__/Toolbar.stories.js +77 -0
- package/build/cjs/components/FileMenu/FileMenu.js +21 -59
- package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +318 -194
- package/build/cjs/components/Options/VisualizationOptions.js +3 -1
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +107 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +66 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +94 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +99 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +13 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +219 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +23 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +56 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +50 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/index.js +37 -0
- package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +50 -0
- package/build/cjs/components/Toolbar/MenuButton.styles.js +13 -0
- package/build/cjs/components/Toolbar/Toolbar.js +39 -0
- package/build/cjs/components/Toolbar/ToolbarSidebar.js +45 -0
- package/build/cjs/components/Toolbar/UpdateButton.js +57 -0
- package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +50 -0
- package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +24 -0
- package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +30 -0
- package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +44 -0
- package/build/cjs/components/Toolbar/index.js +57 -0
- package/build/cjs/index.js +304 -46
- package/build/cjs/locales/en/translations.json +1 -0
- package/build/cjs/locales/es/translations.json +3 -2
- package/build/cjs/locales/zh/translations.json +26 -25
- package/build/es/__demo__/FileMenu.stories.js +7 -6
- package/build/es/__demo__/Toolbar.stories.js +69 -0
- package/build/es/components/FileMenu/FileMenu.js +20 -57
- package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +293 -189
- package/build/es/components/Options/VisualizationOptions.js +3 -1
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuBar.js +90 -0
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +44 -0
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuList.js +75 -0
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +78 -0
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +4 -0
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +168 -0
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +16 -0
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +49 -0
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +41 -0
- package/build/es/components/Toolbar/HoverMenuBar/index.js +4 -0
- package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +33 -0
- package/build/es/components/Toolbar/MenuButton.styles.js +4 -0
- package/build/es/components/Toolbar/Toolbar.js +24 -0
- package/build/es/components/Toolbar/ToolbarSidebar.js +29 -0
- package/build/es/components/Toolbar/UpdateButton.js +38 -0
- package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +43 -0
- package/build/es/components/Toolbar/__tests__/Toolbar.spec.js +17 -0
- package/build/es/components/Toolbar/__tests__/ToolbarSidebar.spec.js +23 -0
- package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +37 -0
- package/build/es/components/Toolbar/index.js +5 -0
- package/build/es/index.js +1 -0
- package/build/es/locales/en/translations.json +1 -0
- package/build/es/locales/es/translations.json +3 -2
- package/build/es/locales/zh/translations.json +26 -25
- package/package.json +3 -1
- package/CHANGELOG.md +0 -4072
|
@@ -20,28 +20,28 @@
|
|
|
20
20
|
"About this visualization": "关于此可视化",
|
|
21
21
|
"This app could not retrieve required data.": "此应用无法检索所需数据。",
|
|
22
22
|
"Network error": "网络错误",
|
|
23
|
-
"Data / Edit calculation": "",
|
|
24
|
-
"Data / New calculation": "",
|
|
25
|
-
"Remove item": "",
|
|
26
|
-
"Check formula": "",
|
|
27
|
-
"Calculation name": "",
|
|
28
|
-
"Shown in table headers and chart axes/legends": "",
|
|
29
|
-
"Delete calculation": "",
|
|
23
|
+
"Data / Edit calculation": "数据/编辑计算",
|
|
24
|
+
"Data / New calculation": "数据/新计算",
|
|
25
|
+
"Remove item": "除去项目",
|
|
26
|
+
"Check formula": "检查公式",
|
|
27
|
+
"Calculation name": "计算名称",
|
|
28
|
+
"Shown in table headers and chart axes/legends": "显示在表格标题和图表轴/图例中",
|
|
29
|
+
"Delete calculation": "删除计算",
|
|
30
30
|
"Cancel": "取消",
|
|
31
|
-
"The calculation can only be saved with a valid formula": "",
|
|
32
|
-
"Add a name to save this calculation": "",
|
|
33
|
-
"Save calculation": "",
|
|
34
|
-
"Are you sure you want to delete this calculation? It may be used by other visualizations.": "",
|
|
35
|
-
"Yes, delete": "",
|
|
31
|
+
"The calculation can only be saved with a valid formula": "计算只能用有效的公式保存",
|
|
32
|
+
"Add a name to save this calculation": "添加名称以保存此计算",
|
|
33
|
+
"Save calculation": "保存计算",
|
|
34
|
+
"Are you sure you want to delete this calculation? It may be used by other visualizations.": "您确定要删除此计算吗?它可以被其他可视化使用。",
|
|
35
|
+
"Yes, delete": "是的,删除",
|
|
36
36
|
"Totals only": "总计",
|
|
37
37
|
"Details only": "仅详细信息",
|
|
38
38
|
"Loading": "载入",
|
|
39
39
|
"Data elements": "数据元",
|
|
40
|
-
"Search by data element name": "",
|
|
40
|
+
"Search by data element name": "按数据元素名称搜索",
|
|
41
41
|
"No data elements found for \"{{- searchTerm}}\"": "找不到“ {{-searchTerm}}”的数据元素",
|
|
42
42
|
"No data elements found": "找不到数据元素",
|
|
43
|
-
"Drag items here, or double click in the list, to start building a calculation formula": "",
|
|
44
|
-
"Math operators": "",
|
|
43
|
+
"Drag items here, or double click in the list, to start building a calculation formula": "将项目拖到此处,或在列表中双击,开始构建计算公式",
|
|
44
|
+
"Math operators": "数学运算符",
|
|
45
45
|
"Data Type": "数据类型",
|
|
46
46
|
"All types": "所有类型",
|
|
47
47
|
"Disaggregation": "分解",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"No event data items found for \"{{- searchTerm}}\"": "找不到“ {{-searchTerm}}”的事件数据项",
|
|
59
59
|
"No program indicators found for \"{{- searchTerm}}\"": "找不到“ {{-searchTerm}}”的计划指标",
|
|
60
60
|
"Nothing found for \"{{- searchTerm}}\"": "找不到“ {{-searchTerm}}”",
|
|
61
|
-
"Calculation": "",
|
|
61
|
+
"Calculation": "计算",
|
|
62
62
|
"Metric type": "尺度类型",
|
|
63
63
|
"All metrics": "所有尺度",
|
|
64
64
|
"Move to {{axisName}}": "移动到 {{axisName}}",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"Name": "名称",
|
|
98
98
|
"Description": "描述",
|
|
99
99
|
"Rename": "改名",
|
|
100
|
-
"{{- objectName}} (copy)": "",
|
|
100
|
+
"{{- objectName}} (copy)": "{{- objectName}}(复制)",
|
|
101
101
|
"Save {{fileType}} as": "将{{fileType}}另存为",
|
|
102
102
|
"event report": "事件报表",
|
|
103
103
|
"line list": "行列表",
|
|
@@ -263,6 +263,7 @@
|
|
|
263
263
|
"Six-months": "Six-months",
|
|
264
264
|
"Financial Years": "Financial Years",
|
|
265
265
|
"Years": "年",
|
|
266
|
+
"Interpretations and details": "解释和细节",
|
|
266
267
|
"Translating to": "翻译成",
|
|
267
268
|
"Choose a locale": "选择语言环境",
|
|
268
269
|
"Base locale reference": "基本语言环境参考",
|
|
@@ -306,15 +307,15 @@
|
|
|
306
307
|
"Loading programs": "正在载入项目",
|
|
307
308
|
"Program indicators": "项目指标",
|
|
308
309
|
"Program indicator": "项目指标",
|
|
309
|
-
"Calculations": "",
|
|
310
|
+
"Calculations": "计算",
|
|
310
311
|
"Number": "数据",
|
|
311
|
-
"Formula is empty. Add items to the formula from the lists on the left.": "",
|
|
312
|
-
"Consecutive math operators": "",
|
|
313
|
-
"Consecutive data elements": "",
|
|
314
|
-
"Starts or ends with a math operator": "",
|
|
315
|
-
"Empty parentheses": "",
|
|
316
|
-
"Missing right parenthesis )": "",
|
|
317
|
-
"Missing left parenthesis (": "",
|
|
312
|
+
"Formula is empty. Add items to the formula from the lists on the left.": "公式为空。将左侧列表中的项目添加到公式中。",
|
|
313
|
+
"Consecutive math operators": "连续的数学运算符",
|
|
314
|
+
"Consecutive data elements": "连续的数据元素",
|
|
315
|
+
"Starts or ends with a math operator": "以数学运算符开始或结束",
|
|
316
|
+
"Empty parentheses": "空括号",
|
|
317
|
+
"Missing right parenthesis )": "缺少右括号 )",
|
|
318
|
+
"Missing left parenthesis (": "缺少左括号 (",
|
|
318
319
|
"Extra Small": "特小",
|
|
319
320
|
"Small": "小",
|
|
320
321
|
"Regular": "定期",
|
|
@@ -2,6 +2,7 @@ import { Provider } from '@dhis2/app-runtime';
|
|
|
2
2
|
import { storiesOf } from '@storybook/react';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { FileMenu } from '../components/FileMenu/FileMenu.js';
|
|
5
|
+
import { HoverMenuBar } from '../components/Toolbar/index.js';
|
|
5
6
|
const configMock = {
|
|
6
7
|
baseUrl: 'http://localhost:8080',
|
|
7
8
|
apiVersion: 33
|
|
@@ -52,19 +53,19 @@ const visReadonlyObject = { ...visObject,
|
|
|
52
53
|
};
|
|
53
54
|
storiesOf('FileMenu', module).add('Simple', () => /*#__PURE__*/React.createElement(Provider, {
|
|
54
55
|
config: configMock
|
|
55
|
-
}, /*#__PURE__*/React.createElement(FileMenu, {
|
|
56
|
+
}, /*#__PURE__*/React.createElement(HoverMenuBar, null, /*#__PURE__*/React.createElement(FileMenu, {
|
|
56
57
|
currentUser: user,
|
|
57
58
|
fileType: "visualization"
|
|
58
|
-
}))).add('With AO', () => /*#__PURE__*/React.createElement(Provider, {
|
|
59
|
+
})))).add('With AO', () => /*#__PURE__*/React.createElement(Provider, {
|
|
59
60
|
config: configMock
|
|
60
|
-
}, /*#__PURE__*/React.createElement(FileMenu, {
|
|
61
|
+
}, /*#__PURE__*/React.createElement(HoverMenuBar, null, /*#__PURE__*/React.createElement(FileMenu, {
|
|
61
62
|
currentUser: user,
|
|
62
63
|
fileType: "visualization",
|
|
63
64
|
fileObject: visObject
|
|
64
|
-
}))).add('With readonly AO', () => /*#__PURE__*/React.createElement(Provider, {
|
|
65
|
+
})))).add('With readonly AO', () => /*#__PURE__*/React.createElement(Provider, {
|
|
65
66
|
config: configMock
|
|
66
|
-
}, /*#__PURE__*/React.createElement(FileMenu, {
|
|
67
|
+
}, /*#__PURE__*/React.createElement(HoverMenuBar, null, /*#__PURE__*/React.createElement(FileMenu, {
|
|
67
68
|
currentUser: user,
|
|
68
69
|
fileType: "visualization",
|
|
69
70
|
fileObject: visReadonlyObject
|
|
70
|
-
})));
|
|
71
|
+
}))));
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { storiesOf } from '@storybook/react';
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { HoverMenuBar, HoverMenuDropdown, HoverMenuList, HoverMenuListItem, InterpretationsAndDetailsToggler, Toolbar, ToolbarSidebar, UpdateButton } from '../components/Toolbar/index.js';
|
|
4
|
+
|
|
5
|
+
function ToolbarWithState() {
|
|
6
|
+
const [isHidden, setIsHidden] = useState(false);
|
|
7
|
+
const [isSidebarShowing, setIsSidebarShowing] = useState(false);
|
|
8
|
+
return /*#__PURE__*/React.createElement(Toolbar, null, /*#__PURE__*/React.createElement(ToolbarSidebar, {
|
|
9
|
+
isHidden: isHidden
|
|
10
|
+
}, /*#__PURE__*/React.createElement("span", null, "Toolbar side bar"), /*#__PURE__*/React.createElement("a", {
|
|
11
|
+
style: {
|
|
12
|
+
paddingLeft: 12,
|
|
13
|
+
textDecoration: 'underline',
|
|
14
|
+
cursor: 'pointer'
|
|
15
|
+
},
|
|
16
|
+
onClick: () => setIsHidden(true)
|
|
17
|
+
}, "click to hide")), /*#__PURE__*/React.createElement(UpdateButton, null), /*#__PURE__*/React.createElement(HoverMenuBar, null, /*#__PURE__*/React.createElement(HoverMenuDropdown, {
|
|
18
|
+
label: "Menu A"
|
|
19
|
+
}, /*#__PURE__*/React.createElement(HoverMenuList, null, /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
20
|
+
label: "Menu item A.1"
|
|
21
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
22
|
+
label: "Menu item A.2"
|
|
23
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
24
|
+
label: "Menu item A.3"
|
|
25
|
+
}))), /*#__PURE__*/React.createElement(HoverMenuDropdown, {
|
|
26
|
+
label: "Menu B"
|
|
27
|
+
}, /*#__PURE__*/React.createElement(HoverMenuList, null, /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
28
|
+
label: "Menu item B.1"
|
|
29
|
+
}, /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
30
|
+
label: "Menu item B.1.1"
|
|
31
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
32
|
+
label: "Menu item B.1.2"
|
|
33
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
34
|
+
label: "Menu item B.1.3"
|
|
35
|
+
})), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
36
|
+
label: "Menu item B.2"
|
|
37
|
+
}, /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
38
|
+
label: "Menu item B.2.1"
|
|
39
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
40
|
+
label: "Menu item B.2.2"
|
|
41
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
42
|
+
label: "Menu item B.2.3"
|
|
43
|
+
})), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
44
|
+
label: "Menu item B.3",
|
|
45
|
+
disabled: true
|
|
46
|
+
}, /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
47
|
+
label: "Menu item B.3.1"
|
|
48
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
49
|
+
label: "Menu item B.3.2"
|
|
50
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
51
|
+
label: "Menu item B.3.3"
|
|
52
|
+
})))), /*#__PURE__*/React.createElement(HoverMenuDropdown, {
|
|
53
|
+
label: "Menu C",
|
|
54
|
+
disabled: true
|
|
55
|
+
}, /*#__PURE__*/React.createElement(HoverMenuList, null, /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
56
|
+
label: "Menu item C.1"
|
|
57
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
58
|
+
label: "Menu item C.2"
|
|
59
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
60
|
+
label: "Menu item C.3"
|
|
61
|
+
})))), /*#__PURE__*/React.createElement(InterpretationsAndDetailsToggler, {
|
|
62
|
+
isShowing: isSidebarShowing,
|
|
63
|
+
onClick: () => setIsSidebarShowing(current => !current)
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
storiesOf('Toolbar', module).add('default', () => {
|
|
68
|
+
return /*#__PURE__*/React.createElement(ToolbarWithState, null);
|
|
69
|
+
});
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { IconAdd24, IconLaunch24, IconSave24, IconEdit24, IconTranslate24, IconShare24, IconLink24, IconDelete24, SharingDialog, colors, FlyoutMenu, Layer, MenuItem, MenuDivider, Popper } from '@dhis2/ui';
|
|
1
|
+
import { IconAdd24, IconLaunch24, IconSave24, IconEdit24, IconTranslate24, IconShare24, IconLink24, IconDelete24, SharingDialog, colors, MenuDivider } from '@dhis2/ui';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
|
-
import React, {
|
|
3
|
+
import React, { useState } from 'react';
|
|
5
4
|
import i18n from '../../locales/index.js';
|
|
6
5
|
import { OpenFileDialog } from '../OpenFileDialog/OpenFileDialog.js';
|
|
6
|
+
import { HoverMenuListItem, HoverMenuList, HoverMenuDropdown } from '../Toolbar/index.js';
|
|
7
7
|
import { TranslationDialog } from '../TranslationDialog/index.js';
|
|
8
8
|
import { DeleteDialog } from './DeleteDialog.js';
|
|
9
|
-
import { fileMenuStyles } from './FileMenu.styles.js';
|
|
10
9
|
import { GetLinkDialog } from './GetLinkDialog.js';
|
|
11
10
|
import { RenameDialog } from './RenameDialog.js';
|
|
12
11
|
import { SaveAsDialog } from './SaveAsDialog.js';
|
|
@@ -30,24 +29,14 @@ export const FileMenu = _ref => {
|
|
|
30
29
|
onError,
|
|
31
30
|
onTranslate
|
|
32
31
|
} = _ref;
|
|
33
|
-
const [
|
|
34
|
-
const [currentDialog, setCurrentDialog] = useState(null); // Escape key press closes the menu
|
|
35
|
-
|
|
36
|
-
const onKeyDown = e => {
|
|
37
|
-
if ((e === null || e === void 0 ? void 0 : e.keyCode) === 27) {
|
|
38
|
-
setMenuIsOpen(false);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
32
|
+
const [currentDialog, setCurrentDialog] = useState(null);
|
|
41
33
|
|
|
42
34
|
const onMenuItemClick = dialogToOpen => () => {
|
|
43
|
-
setMenuIsOpen(false);
|
|
44
35
|
setCurrentDialog(dialogToOpen);
|
|
45
36
|
};
|
|
46
37
|
|
|
47
38
|
const onDialogClose = () => setCurrentDialog(null);
|
|
48
39
|
|
|
49
|
-
const toggleMenu = () => setMenuIsOpen(!menuIsOpen);
|
|
50
|
-
|
|
51
40
|
const onDeleteConfirm = () => {
|
|
52
41
|
// The dialog must be closed before calling the callback
|
|
53
42
|
// otherwise the fileObject is changed to null before the
|
|
@@ -57,8 +46,6 @@ export const FileMenu = _ref => {
|
|
|
57
46
|
onDelete();
|
|
58
47
|
};
|
|
59
48
|
|
|
60
|
-
const buttonRef = /*#__PURE__*/createRef();
|
|
61
|
-
|
|
62
49
|
const renderDialog = () => {
|
|
63
50
|
switch (currentDialog) {
|
|
64
51
|
case 'rename':
|
|
@@ -120,19 +107,7 @@ export const FileMenu = _ref => {
|
|
|
120
107
|
|
|
121
108
|
const iconActiveColor = colors.grey700;
|
|
122
109
|
const iconInactiveColor = colors.grey500;
|
|
123
|
-
return /*#__PURE__*/React.createElement(
|
|
124
|
-
onKeyDown: onKeyDown,
|
|
125
|
-
className: "jsx-".concat(fileMenuStyles.__hash)
|
|
126
|
-
}, /*#__PURE__*/React.createElement(_JSXStyle, {
|
|
127
|
-
id: fileMenuStyles.__hash
|
|
128
|
-
}, fileMenuStyles), /*#__PURE__*/React.createElement("div", {
|
|
129
|
-
ref: buttonRef,
|
|
130
|
-
className: "jsx-".concat(fileMenuStyles.__hash)
|
|
131
|
-
}, /*#__PURE__*/React.createElement("button", {
|
|
132
|
-
onClick: toggleMenu,
|
|
133
|
-
"data-test": "file-menu-toggle",
|
|
134
|
-
className: "jsx-".concat(fileMenuStyles.__hash) + " " + "menu-toggle"
|
|
135
|
-
}, i18n.t('File'))), /*#__PURE__*/React.createElement(OpenFileDialog, {
|
|
110
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(OpenFileDialog, {
|
|
136
111
|
open: currentDialog === 'open',
|
|
137
112
|
type: fileType,
|
|
138
113
|
filterVisTypes: filterVisTypes,
|
|
@@ -144,45 +119,33 @@ export const FileMenu = _ref => {
|
|
|
144
119
|
},
|
|
145
120
|
onNew: onNew,
|
|
146
121
|
currentUser: currentUser
|
|
147
|
-
}),
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
level: 2000,
|
|
151
|
-
dataTest: "file-menu-toggle-layer"
|
|
152
|
-
}, /*#__PURE__*/React.createElement(Popper, {
|
|
153
|
-
reference: buttonRef,
|
|
154
|
-
placement: "bottom-start"
|
|
155
|
-
}, /*#__PURE__*/React.createElement(FlyoutMenu, {
|
|
122
|
+
}), /*#__PURE__*/React.createElement(HoverMenuDropdown, {
|
|
123
|
+
label: i18n.t('File')
|
|
124
|
+
}, /*#__PURE__*/React.createElement(HoverMenuList, {
|
|
156
125
|
dataTest: "file-menu-container"
|
|
157
|
-
}, /*#__PURE__*/React.createElement(
|
|
126
|
+
}, /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
158
127
|
label: i18n.t('New'),
|
|
159
128
|
icon: /*#__PURE__*/React.createElement(IconAdd24, {
|
|
160
129
|
color: iconActiveColor
|
|
161
130
|
}),
|
|
162
|
-
onClick:
|
|
163
|
-
toggleMenu();
|
|
164
|
-
onNew();
|
|
165
|
-
},
|
|
131
|
+
onClick: onNew,
|
|
166
132
|
dataTest: "file-menu-new"
|
|
167
|
-
}), /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(
|
|
133
|
+
}), /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
168
134
|
label: i18n.t('Open…'),
|
|
169
135
|
icon: /*#__PURE__*/React.createElement(IconLaunch24, {
|
|
170
136
|
color: iconActiveColor
|
|
171
137
|
}),
|
|
172
138
|
onClick: onMenuItemClick('open'),
|
|
173
139
|
dataTest: "file-menu-open"
|
|
174
|
-
}), /*#__PURE__*/React.createElement(
|
|
140
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
175
141
|
label: fileObject !== null && fileObject !== void 0 && fileObject.id ? i18n.t('Save') : i18n.t('Save…'),
|
|
176
142
|
icon: /*#__PURE__*/React.createElement(IconSave24, {
|
|
177
143
|
color: !onSave || !(!(fileObject !== null && fileObject !== void 0 && fileObject.id) || fileObject !== null && fileObject !== void 0 && (_fileObject$access = fileObject.access) !== null && _fileObject$access !== void 0 && _fileObject$access.update) ? iconInactiveColor : iconActiveColor
|
|
178
144
|
}),
|
|
179
145
|
disabled: !onSave || !(!(fileObject !== null && fileObject !== void 0 && fileObject.id) || fileObject !== null && fileObject !== void 0 && (_fileObject$access2 = fileObject.access) !== null && _fileObject$access2 !== void 0 && _fileObject$access2.update),
|
|
180
|
-
onClick: fileObject !== null && fileObject !== void 0 && fileObject.id ? ()
|
|
181
|
-
toggleMenu();
|
|
182
|
-
onSave();
|
|
183
|
-
} : onMenuItemClick('saveas'),
|
|
146
|
+
onClick: fileObject !== null && fileObject !== void 0 && fileObject.id ? onSave : onMenuItemClick('saveas'),
|
|
184
147
|
dataTest: "file-menu-save"
|
|
185
|
-
}), /*#__PURE__*/React.createElement(
|
|
148
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
186
149
|
label: i18n.t('Save as…'),
|
|
187
150
|
icon: /*#__PURE__*/React.createElement(IconSave24, {
|
|
188
151
|
color: !(onSaveAs && fileObject !== null && fileObject !== void 0 && fileObject.id) ? iconInactiveColor : iconActiveColor
|
|
@@ -190,7 +153,7 @@ export const FileMenu = _ref => {
|
|
|
190
153
|
disabled: !(onSaveAs && fileObject !== null && fileObject !== void 0 && fileObject.id),
|
|
191
154
|
onClick: onMenuItemClick('saveas'),
|
|
192
155
|
dataTest: "file-menu-saveas"
|
|
193
|
-
}), /*#__PURE__*/React.createElement(
|
|
156
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
194
157
|
label: i18n.t('Rename…'),
|
|
195
158
|
icon: /*#__PURE__*/React.createElement(IconEdit24, {
|
|
196
159
|
color: fileObject !== null && fileObject !== void 0 && fileObject.id && fileObject !== null && fileObject !== void 0 && (_fileObject$access3 = fileObject.access) !== null && _fileObject$access3 !== void 0 && _fileObject$access3.update ? iconActiveColor : iconInactiveColor
|
|
@@ -198,7 +161,7 @@ export const FileMenu = _ref => {
|
|
|
198
161
|
disabled: !(fileObject !== null && fileObject !== void 0 && fileObject.id && fileObject !== null && fileObject !== void 0 && (_fileObject$access4 = fileObject.access) !== null && _fileObject$access4 !== void 0 && _fileObject$access4.update),
|
|
199
162
|
onClick: onMenuItemClick('rename'),
|
|
200
163
|
dataTest: "file-menu-rename"
|
|
201
|
-
}), /*#__PURE__*/React.createElement(
|
|
164
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
202
165
|
label: i18n.t('Translate…'),
|
|
203
166
|
icon: /*#__PURE__*/React.createElement(IconTranslate24, {
|
|
204
167
|
color: fileObject !== null && fileObject !== void 0 && fileObject.id && fileObject !== null && fileObject !== void 0 && (_fileObject$access5 = fileObject.access) !== null && _fileObject$access5 !== void 0 && _fileObject$access5.update ? iconActiveColor : iconInactiveColor
|
|
@@ -206,7 +169,7 @@ export const FileMenu = _ref => {
|
|
|
206
169
|
disabled: !(fileObject !== null && fileObject !== void 0 && fileObject.id && fileObject !== null && fileObject !== void 0 && (_fileObject$access6 = fileObject.access) !== null && _fileObject$access6 !== void 0 && _fileObject$access6.update),
|
|
207
170
|
onClick: onMenuItemClick('translate'),
|
|
208
171
|
dataTest: "file-menu-translate"
|
|
209
|
-
}), /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(
|
|
172
|
+
}), /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
210
173
|
label: i18n.t('Share…'),
|
|
211
174
|
icon: /*#__PURE__*/React.createElement(IconShare24, {
|
|
212
175
|
color: fileObject !== null && fileObject !== void 0 && fileObject.id && fileObject !== null && fileObject !== void 0 && (_fileObject$access7 = fileObject.access) !== null && _fileObject$access7 !== void 0 && _fileObject$access7.manage ? iconActiveColor : iconInactiveColor
|
|
@@ -214,7 +177,7 @@ export const FileMenu = _ref => {
|
|
|
214
177
|
disabled: !(fileObject !== null && fileObject !== void 0 && fileObject.id && fileObject !== null && fileObject !== void 0 && (_fileObject$access8 = fileObject.access) !== null && _fileObject$access8 !== void 0 && _fileObject$access8.manage),
|
|
215
178
|
onClick: onMenuItemClick('sharing'),
|
|
216
179
|
dataTest: "file-menu-sharing"
|
|
217
|
-
}), /*#__PURE__*/React.createElement(
|
|
180
|
+
}), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
218
181
|
label: i18n.t('Get link…'),
|
|
219
182
|
icon: /*#__PURE__*/React.createElement(IconLink24, {
|
|
220
183
|
color: fileObject !== null && fileObject !== void 0 && fileObject.id ? iconActiveColor : iconInactiveColor
|
|
@@ -222,7 +185,7 @@ export const FileMenu = _ref => {
|
|
|
222
185
|
disabled: !(fileObject !== null && fileObject !== void 0 && fileObject.id),
|
|
223
186
|
onClick: onMenuItemClick('getlink'),
|
|
224
187
|
dataTest: "file-menu-getlink"
|
|
225
|
-
}), /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(
|
|
188
|
+
}), /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(HoverMenuListItem, {
|
|
226
189
|
label: i18n.t('Delete'),
|
|
227
190
|
destructive: true,
|
|
228
191
|
icon: /*#__PURE__*/React.createElement(IconDelete24, {
|
|
@@ -231,7 +194,7 @@ export const FileMenu = _ref => {
|
|
|
231
194
|
disabled: !(fileObject !== null && fileObject !== void 0 && fileObject.id && fileObject !== null && fileObject !== void 0 && (_fileObject$access10 = fileObject.access) !== null && _fileObject$access10 !== void 0 && _fileObject$access10.delete),
|
|
232
195
|
onClick: onMenuItemClick('delete'),
|
|
233
196
|
dataTest: "file-menu-delete"
|
|
234
|
-
})))
|
|
197
|
+
}))), renderDialog());
|
|
235
198
|
};
|
|
236
199
|
FileMenu.defaultProps = {
|
|
237
200
|
onDelete: Function.prototype,
|