d2coreui 23.0.24 → 23.0.25
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/components/date/dateRangeInput.d.ts +2 -1
- package/components/date/dateRangeInput.js +20 -23
- package/components/date/dateRangeInput.js.map +1 -1
- package/components/date/dateRangeInputAdvancedPanel.d.ts +3 -2
- package/components/date/dateRangeInputAdvancedPanel.js +33 -55
- package/components/date/dateRangeInputAdvancedPanel.js.map +1 -1
- package/components/date/dateRangeInputConfirm.js +2 -2
- package/components/date/dateRangeInputConfirm.js.map +1 -1
- package/components/date/durationInput.js +1 -1
- package/components/date/durationInput.js.map +1 -1
- package/components/grid/dataGrid.js +44 -10
- package/components/grid/dataGrid.js.map +1 -1
- package/components/grid/export/contextMenu.js +4 -2
- package/components/grid/export/contextMenu.js.map +1 -1
- package/i18n/components.cs.json +1 -1
- package/i18n/components.sk.json +1 -1
- package/i18n/components.uk.json +1 -1
- package/package.json +1 -1
- package/style/index.less +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CopyOutlined, FileOutlined, FilePdfOutlined, FileTextOutlined } from "@ant-design/icons";
|
|
2
|
-
import { Switch } from "antd";
|
|
2
|
+
import { Switch, Typography } from "antd";
|
|
3
3
|
import React from "react";
|
|
4
4
|
import i18n from "d2core/i18n/i18n";
|
|
5
5
|
import { spawn, Thread, Worker } from "threads";
|
|
@@ -98,7 +98,9 @@ export default function getContextMenu(props) {
|
|
|
98
98
|
key: "clipboardCopy",
|
|
99
99
|
icon: React.createElement(CopyOutlined, null),
|
|
100
100
|
disabled: props.exporting,
|
|
101
|
-
label:
|
|
101
|
+
label: React.createElement(React.Fragment, null,
|
|
102
|
+
i18n("Copy to Clipboard"),
|
|
103
|
+
React.createElement(Typography.Text, { code: true, style: { float: "right" } }, "CTRL+C")),
|
|
102
104
|
}
|
|
103
105
|
];
|
|
104
106
|
if (renderer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextMenu.js","sourceRoot":"","sources":["../../../../../components/grid/export/contextMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {CopyOutlined, FileOutlined, FilePdfOutlined, FileTextOutlined} from \"@ant-design/icons\";\r\nimport {MenuProps, Switch} from \"antd\";\r\nimport React from \"react\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {spawn, Thread, Worker} from \"threads\"\r\nimport dayjs from \"dayjs\";\r\nimport ProgressPopup from \"./progressPopup\";\r\nimport {MenuElement} from \"../dataGrid\";\r\nimport {ClipboardUtils} from \"d2coreui/components/clipboard/clipboardUtils\";\r\n// @ts-ignore\r\nimport txtExportUrl from 'threads-plugin/dist/loader?name=txtExport!d2coreui/components/grid/export/worker/txtExport.ts'\r\n// @ts-ignore\r\nimport csvExportUrl from \"threads-plugin/dist/loader?name=csvExport!d2coreui/components/grid/export/worker/csvExport.ts\"\r\n// @ts-ignore\r\nimport clipboardExportUrl from \"threads-plugin/dist/loader?name=clipboardExport!d2coreui/components/grid/export/worker/clipboardExport.ts\"\r\n// @ts-ignore\r\nimport pdfExportUrl from \"threads-plugin/dist/loader?name=pdfExport!d2coreui/components/grid/export/worker/pdfExport.ts\"\r\nimport PlatformSpecific from \"d2coreui/components/platformSpecific\";\r\n\r\n\r\nexport interface ContextMenuProps {\r\n onlySelectedNodes?: boolean\r\n showMilliseconds: boolean\r\n showYear: boolean\r\n hideNotificationOnClipboardCopy?: boolean\r\n pageOrientation: PageOrientation\r\n exporting: boolean\r\n\r\n getExportContent: (progressPopup: ProgressPopup | null, props: ContextMenuProps) => Promise<string[][]>\r\n onPageOrientationChange:(pageOrientation: PageOrientation)=>void\r\n onExport:(start: boolean)=>void\r\n\r\n // overrides context menu rendering\r\n renderer?(menuElements: MenuElement[]): MenuElement[]\r\n\r\n // handler for custom context menu items click\r\n onClick?(key: string): void\r\n}\r\n\r\nexport type PageOrientation = \"PORTRAIT\" | \"LANDSCAPE\";\r\n\r\nexport default function getContextMenu(props: ContextMenuProps): MenuProps {\r\n const {hideNotificationOnClipboardCopy, getExportContent, renderer, onClick} = props;\r\n\r\n const onExportMenuClick = async (menuKey: string) => {\r\n props.onExport(true);\r\n switch (menuKey) {\r\n case \"txtExport\": {\r\n const progressPopup = new ProgressPopup(i18n(\"Export List to\") + \" TXT\");\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const txtExport = await spawn(new Worker(txtExportUrl));\r\n const textContent = await txtExport(tableContent);\r\n await Thread.terminate(txtExport);\r\n await progressPopup.update(100);\r\n PlatformSpecific.INSTANCE.saveContent(`export_${dayjs().format(\"YYYYMMDD_HHmm\")}.txt`, textContent, true);\r\n break;\r\n }\r\n case \"csvExport\": {\r\n const progressPopup = new ProgressPopup(i18n(\"Export List to\") + \" CSV\");\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const csvExport = await spawn(new Worker(csvExportUrl));\r\n const csvContent = await csvExport(tableContent);\r\n await Thread.terminate(csvExport);\r\n await progressPopup.update(100);\r\n PlatformSpecific.INSTANCE.saveContent(`export_${dayjs().format(\"YYYYMMDD_HHmm\")}.csv`, `\\ufeff${csvContent}`, true);\r\n break;\r\n }\r\n case \"clipboardCopy\": {\r\n const progressPopup = !hideNotificationOnClipboardCopy ? new ProgressPopup(i18n(\"Export List to\") + \" \" + i18n(\"Clipboard\")) : null;\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const clipboardExport = await spawn(new Worker(clipboardExportUrl));\r\n const clipboardContent = await clipboardExport(tableContent);\r\n const success = ClipboardUtils.copyToClipboard(clipboardContent);\r\n if (success) {\r\n await Thread.terminate(clipboardExport);\r\n await progressPopup?.update(100);\r\n } else {\r\n progressPopup?.error();\r\n }\r\n break;\r\n }\r\n case \"pdfExport\": {\r\n const progressPopup = new ProgressPopup(i18n(\"Export List to\") + \" PDF\");\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const pdfExport = await spawn(new Worker(pdfExportUrl));\r\n pdfExport.handler().subscribe(async (data: string) => {\r\n Thread.terminate(pdfExport);\r\n await progressPopup.update(100);\r\n PlatformSpecific.INSTANCE.saveContent(`export_${dayjs().format(\"YYYYMMDD_HHmm\")}.pdf`, data, false);\r\n });\r\n pdfExport.export(tableContent, {pageOrientation: props.pageOrientation});\r\n }\r\n }\r\n props.onExport(false);\r\n }\r\n\r\n let menuItems: MenuElement[] = [\r\n {\r\n key: \"txtExport\",\r\n icon: <FileOutlined/>,\r\n disabled: props.exporting,\r\n label: i18n(\"Export List to\") + \" TXT\",\r\n },\r\n {\r\n key: \"csvExport\",\r\n icon: <FileTextOutlined/>,\r\n disabled: props.exporting,\r\n label: i18n(\"Export List to\") + \" CSV\",\r\n },\r\n {\r\n key: \"pdfExport\",\r\n icon: <FilePdfOutlined/>,\r\n disabled: props.exporting,\r\n label: <>\r\n {i18n(\"Export List to\") + \" PDF\"}\r\n <Switch\r\n style={{marginLeft: 8}}\r\n checkedChildren={i18n(\"Landscape\") + \" \"}\r\n unCheckedChildren={\"\" + i18n(\"Portrait\")}\r\n checked={props.pageOrientation !== \"PORTRAIT\"}\r\n onChange={(checked, e) => {\r\n e.stopPropagation();\r\n (e as any).nativeEvent.stopImmediatePropagation();\r\n props.onPageOrientationChange(checked ? \"LANDSCAPE\" : \"PORTRAIT\")\r\n }}\r\n />\r\n </>\r\n },\r\n {\r\n key: \"divider1\",\r\n type: \"divider\",\r\n },\r\n {\r\n key: \"clipboardCopy\",\r\n icon: <CopyOutlined/>,\r\n disabled: props.exporting,\r\n label: i18n(\"Copy to Clipboard\"),\r\n }\r\n ];\r\n\r\n if (renderer) {\r\n menuItems = renderer(menuItems);\r\n }\r\n\r\n return {\r\n items: menuItems,\r\n onClick: (item) => {\r\n onExportMenuClick(item.key);\r\n if (onClick) {\r\n onClick(item.key.toString());\r\n }\r\n },\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"contextMenu.js","sourceRoot":"","sources":["../../../../../components/grid/export/contextMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {CopyOutlined, FileOutlined, FilePdfOutlined, FileTextOutlined} from \"@ant-design/icons\";\r\nimport {MenuProps, Switch, Typography} from \"antd\";\r\nimport React from \"react\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {spawn, Thread, Worker} from \"threads\"\r\nimport dayjs from \"dayjs\";\r\nimport ProgressPopup from \"./progressPopup\";\r\nimport {MenuElement} from \"../dataGrid\";\r\nimport {ClipboardUtils} from \"d2coreui/components/clipboard/clipboardUtils\";\r\n// @ts-ignore\r\nimport txtExportUrl from 'threads-plugin/dist/loader?name=txtExport!d2coreui/components/grid/export/worker/txtExport.ts'\r\n// @ts-ignore\r\nimport csvExportUrl from \"threads-plugin/dist/loader?name=csvExport!d2coreui/components/grid/export/worker/csvExport.ts\"\r\n// @ts-ignore\r\nimport clipboardExportUrl from \"threads-plugin/dist/loader?name=clipboardExport!d2coreui/components/grid/export/worker/clipboardExport.ts\"\r\n// @ts-ignore\r\nimport pdfExportUrl from \"threads-plugin/dist/loader?name=pdfExport!d2coreui/components/grid/export/worker/pdfExport.ts\"\r\nimport PlatformSpecific from \"d2coreui/components/platformSpecific\";\r\n\r\n\r\nexport interface ContextMenuProps {\r\n onlySelectedNodes?: boolean\r\n showMilliseconds: boolean\r\n showYear: boolean\r\n hideNotificationOnClipboardCopy?: boolean\r\n pageOrientation: PageOrientation\r\n exporting: boolean\r\n\r\n getExportContent: (progressPopup: ProgressPopup | null, props: ContextMenuProps) => Promise<string[][]>\r\n onPageOrientationChange:(pageOrientation: PageOrientation)=>void\r\n onExport:(start: boolean)=>void\r\n\r\n // overrides context menu rendering\r\n renderer?(menuElements: MenuElement[]): MenuElement[]\r\n\r\n // handler for custom context menu items click\r\n onClick?(key: string): void\r\n}\r\n\r\nexport type PageOrientation = \"PORTRAIT\" | \"LANDSCAPE\";\r\n\r\nexport default function getContextMenu(props: ContextMenuProps): MenuProps {\r\n const {hideNotificationOnClipboardCopy, getExportContent, renderer, onClick} = props;\r\n\r\n const onExportMenuClick = async (menuKey: string) => {\r\n props.onExport(true);\r\n switch (menuKey) {\r\n case \"txtExport\": {\r\n const progressPopup = new ProgressPopup(i18n(\"Export List to\") + \" TXT\");\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const txtExport = await spawn(new Worker(txtExportUrl));\r\n const textContent = await txtExport(tableContent);\r\n await Thread.terminate(txtExport);\r\n await progressPopup.update(100);\r\n PlatformSpecific.INSTANCE.saveContent(`export_${dayjs().format(\"YYYYMMDD_HHmm\")}.txt`, textContent, true);\r\n break;\r\n }\r\n case \"csvExport\": {\r\n const progressPopup = new ProgressPopup(i18n(\"Export List to\") + \" CSV\");\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const csvExport = await spawn(new Worker(csvExportUrl));\r\n const csvContent = await csvExport(tableContent);\r\n await Thread.terminate(csvExport);\r\n await progressPopup.update(100);\r\n PlatformSpecific.INSTANCE.saveContent(`export_${dayjs().format(\"YYYYMMDD_HHmm\")}.csv`, `\\ufeff${csvContent}`, true);\r\n break;\r\n }\r\n case \"clipboardCopy\": {\r\n const progressPopup = !hideNotificationOnClipboardCopy ? new ProgressPopup(i18n(\"Export List to\") + \" \" + i18n(\"Clipboard\")) : null;\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const clipboardExport = await spawn(new Worker(clipboardExportUrl));\r\n const clipboardContent = await clipboardExport(tableContent);\r\n const success = ClipboardUtils.copyToClipboard(clipboardContent);\r\n if (success) {\r\n await Thread.terminate(clipboardExport);\r\n await progressPopup?.update(100);\r\n } else {\r\n progressPopup?.error();\r\n }\r\n break;\r\n }\r\n case \"pdfExport\": {\r\n const progressPopup = new ProgressPopup(i18n(\"Export List to\") + \" PDF\");\r\n const tableContent = await getExportContent(progressPopup, props);\r\n const pdfExport = await spawn(new Worker(pdfExportUrl));\r\n pdfExport.handler().subscribe(async (data: string) => {\r\n Thread.terminate(pdfExport);\r\n await progressPopup.update(100);\r\n PlatformSpecific.INSTANCE.saveContent(`export_${dayjs().format(\"YYYYMMDD_HHmm\")}.pdf`, data, false);\r\n });\r\n pdfExport.export(tableContent, {pageOrientation: props.pageOrientation});\r\n }\r\n }\r\n props.onExport(false);\r\n }\r\n\r\n let menuItems: MenuElement[] = [\r\n {\r\n key: \"txtExport\",\r\n icon: <FileOutlined/>,\r\n disabled: props.exporting,\r\n label: i18n(\"Export List to\") + \" TXT\",\r\n },\r\n {\r\n key: \"csvExport\",\r\n icon: <FileTextOutlined/>,\r\n disabled: props.exporting,\r\n label: i18n(\"Export List to\") + \" CSV\",\r\n },\r\n {\r\n key: \"pdfExport\",\r\n icon: <FilePdfOutlined/>,\r\n disabled: props.exporting,\r\n label: <>\r\n {i18n(\"Export List to\") + \" PDF\"}\r\n <Switch\r\n style={{marginLeft: 8}}\r\n checkedChildren={i18n(\"Landscape\") + \" \"}\r\n unCheckedChildren={\"\" + i18n(\"Portrait\")}\r\n checked={props.pageOrientation !== \"PORTRAIT\"}\r\n onChange={(checked, e) => {\r\n e.stopPropagation();\r\n (e as any).nativeEvent.stopImmediatePropagation();\r\n props.onPageOrientationChange(checked ? \"LANDSCAPE\" : \"PORTRAIT\")\r\n }}\r\n />\r\n </>\r\n },\r\n {\r\n key: \"divider1\",\r\n type: \"divider\",\r\n },\r\n {\r\n key: \"clipboardCopy\",\r\n icon: <CopyOutlined/>,\r\n disabled: props.exporting,\r\n label: <>\r\n {i18n(\"Copy to Clipboard\")}\r\n <Typography.Text code style={{float: \"right\"}}>CTRL+C</Typography.Text>\r\n </>,\r\n }\r\n ];\r\n\r\n if (renderer) {\r\n menuItems = renderer(menuItems);\r\n }\r\n\r\n return {\r\n items: menuItems,\r\n onClick: (item) => {\r\n onExportMenuClick(item.key);\r\n if (onClick) {\r\n onClick(item.key.toString());\r\n }\r\n },\r\n }\r\n}\r\n"]}
|
package/i18n/components.cs.json
CHANGED
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"This Week": "Tento týden",
|
|
77
77
|
"This Quarter": "Toto čtvrtletí",
|
|
78
78
|
"This Year": "Letos",
|
|
79
|
-
"
|
|
79
|
+
"Duration and Time Shift": "Trvání a časový posun",
|
|
80
80
|
"Time Shift": "Časový posun",
|
|
81
81
|
"Hour": "Hodina",
|
|
82
82
|
"Day": "Den",
|
package/i18n/components.sk.json
CHANGED
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"This Week": "Tento týždeň",
|
|
77
77
|
"This Quarter": "Tento štvrťrok",
|
|
78
78
|
"This Year": "Tento rok",
|
|
79
|
-
"
|
|
79
|
+
"Duration and Time Shift": "Trvanie a časový posun",
|
|
80
80
|
"Time Shift": "Časový posun",
|
|
81
81
|
"Hour": "Hodina",
|
|
82
82
|
"Day": "Deň",
|
package/i18n/components.uk.json
CHANGED
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"This Week": "Цього тижня",
|
|
77
77
|
"This Quarter": "Цей квартал",
|
|
78
78
|
"This Year": "Цього року",
|
|
79
|
-
"
|
|
79
|
+
"Duration and Time Shift": "Тривалість та часовий зсув",
|
|
80
80
|
"Time Shift": "Зрушення в часі",
|
|
81
81
|
"Hour": "Урок",
|
|
82
82
|
"Day": "День",
|
package/package.json
CHANGED