zmdms-webui 2.3.0 → 2.3.2
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/es/canvastable/canvasTable.js +367 -0
- package/dist/es/canvastable/components/BadgePopover.js +27 -0
- package/dist/es/canvastable/components/CanvasTableMenu.js +74 -0
- package/dist/es/canvastable/components/CellOverlay.js +49 -0
- package/dist/es/canvastable/components/ColumnDynamic.js +12 -0
- package/dist/es/canvastable/components/EmptyPlaceholder.js +20 -0
- package/dist/es/canvastable/components/FilterPopover.js +274 -0
- package/dist/es/canvastable/components/HeaderOverlay.js +22 -0
- package/dist/es/canvastable/components/Tooltip.js +27 -0
- package/dist/es/canvastable/hooks/useClickOutside.js +30 -0
- package/dist/es/canvastable/hooks/useColumnResize.js +130 -0
- package/dist/es/canvastable/hooks/useContainerSize.js +40 -0
- package/dist/es/canvastable/hooks/useCopyToClipboard.js +150 -0
- package/dist/es/canvastable/hooks/useHeaderHeight.js +103 -0
- package/dist/es/canvastable/hooks/useMergeCells.js +111 -0
- package/dist/es/canvastable/hooks/useOverlays.js +364 -0
- package/dist/es/canvastable/hooks/usePopovers.js +93 -0
- package/dist/es/canvastable/hooks/useProcessedColumns.js +94 -0
- package/dist/es/canvastable/hooks/useScroll.js +251 -0
- package/dist/es/canvastable/hooks/useSummaryRow.js +81 -0
- package/dist/es/canvastable/hooks/useTableInteraction.js +804 -0
- package/dist/es/canvastable/hooks/useTableRender.js +1289 -0
- package/dist/es/canvastable/hooks/useTableSelection.js +57 -0
- package/dist/es/canvastable/hooks/useTableState.js +218 -0
- package/dist/es/canvastable/index.js +5 -0
- package/dist/es/canvastable/utils/canvasDrawHelpers.js +156 -0
- package/dist/es/canvastable/utils/cellHelpers.js +121 -0
- package/dist/es/canvastable/utils/columnHelpers.js +67 -0
- package/dist/es/canvastable/utils/constants.js +42 -0
- package/dist/es/canvastable/utils/formatHelpers.js +60 -0
- package/dist/es/canvastable/utils/interactionHelpers.js +176 -0
- package/dist/es/canvastable/utils/multiHeaderHelpers.js +82 -0
- package/dist/es/canvastable/utils/tableCalculations.js +100 -0
- package/dist/index.es.css +1 -1
- package/dist/index.es.js +1 -0
- package/package.json +1 -1
- package/dist/es/alert/alert.d.ts +0 -5
- package/dist/es/alert/index.css +0 -1
- package/dist/es/alert/index.d.ts +0 -5
- package/dist/es/alert/interface.d.ts +0 -14
- package/dist/es/applayout/appLayout.d.ts +0 -11
- package/dist/es/applayout/index.css +0 -1
- package/dist/es/applayout/index.d.ts +0 -5
- package/dist/es/applayoutheader/appLayoutHeader.d.ts +0 -16
- package/dist/es/applayoutheader/index.d.ts +0 -5
- package/dist/es/applayoutsider/appLayoutSider.d.ts +0 -57
- package/dist/es/applayoutsider/index.d.ts +0 -5
- package/dist/es/authloading/authLoading.d.ts +0 -5
- package/dist/es/authloading/index.css +0 -1
- package/dist/es/authloading/index.d.ts +0 -5
- package/dist/es/button/button.d.ts +0 -5
- package/dist/es/button/buttonDownload.d.ts +0 -25
- package/dist/es/button/buttonExport.d.ts +0 -15
- package/dist/es/button/buttonFullScreen.d.ts +0 -9
- package/dist/es/button/buttonPreview.d.ts +0 -26
- package/dist/es/button/index.css +0 -1
- package/dist/es/button/index.d.ts +0 -5
- package/dist/es/button/interface.d.ts +0 -34
- package/dist/es/calendar/index.d.ts +0 -7
- package/dist/es/cascader/index.css +0 -1
- package/dist/es/collapse/collapse.d.ts +0 -7
- package/dist/es/collapse/index.css +0 -1
- package/dist/es/collapse/index.d.ts +0 -5
- package/dist/es/collapse/interface.d.ts +0 -25
- package/dist/es/config/ZtxkContext.d.ts +0 -32
- package/dist/es/container/container.d.ts +0 -51
- package/dist/es/container/index.css +0 -1
- package/dist/es/container/index.d.ts +0 -5
- package/dist/es/datepicker/index.css +0 -1
- package/dist/es/datepicker/index.d.ts +0 -48
- package/dist/es/datepicker/interface.d.ts +0 -56
- package/dist/es/descriptions/descriptions.d.ts +0 -5
- package/dist/es/descriptions/index.css +0 -1
- package/dist/es/descriptions/index.d.ts +0 -5
- package/dist/es/descriptions/interface.d.ts +0 -12
- package/dist/es/detaillist/index.css +0 -1
- package/dist/es/detaillist/index.d.ts +0 -5
- package/dist/es/detaillist/item.d.ts +0 -35
- package/dist/es/detaillist/list.d.ts +0 -17
- package/dist/es/differences/differences.d.ts +0 -5
- package/dist/es/differences/index.css +0 -1
- package/dist/es/differences/index.d.ts +0 -5
- package/dist/es/differences/interface.d.ts +0 -17
- package/dist/es/dynamicsetting/dynamicSetting.d.ts +0 -6
- package/dist/es/dynamicsetting/index.css +0 -1
- package/dist/es/dynamicsetting/index.d.ts +0 -5
- package/dist/es/dynamicsetting/interface.d.ts +0 -43
- package/dist/es/electronsignatures/index.css +0 -1
- package/dist/es/electronsignatures/index.d.ts +0 -6
- package/dist/es/electronsignatures/interface.d.ts +0 -500
- package/dist/es/enhanceselect/enhance-select.d.ts +0 -6
- package/dist/es/enhanceselect/index.d.ts +0 -5
- package/dist/es/enhanceselect/interface.d.ts +0 -71
- package/dist/es/footer/footer.d.ts +0 -6
- package/dist/es/footer/index.css +0 -1
- package/dist/es/footer/index.d.ts +0 -5
- package/dist/es/footer/interface.d.ts +0 -34
- package/dist/es/form/form.d.ts +0 -18
- package/dist/es/form/index.css +0 -1
- package/dist/es/form/index.d.ts +0 -5
- package/dist/es/form/interface.d.ts +0 -91
- package/dist/es/formitem/formItem.d.ts +0 -115
- package/dist/es/formitem/index.css +0 -1
- package/dist/es/formitem/index.d.ts +0 -5
- package/dist/es/icon/icon-oss.d.ts +0 -6
- package/dist/es/icon/index.d.ts +0 -6
- package/dist/es/input/TextArea.d.ts +0 -13
- package/dist/es/input/index.css +0 -1
- package/dist/es/input/index.d.ts +0 -5
- package/dist/es/input/input.d.ts +0 -23
- package/dist/es/inputnumber/index.css +0 -1
- package/dist/es/inputnumber/index.d.ts +0 -5
- package/dist/es/inputnumber/inputNumber.d.ts +0 -28
- package/dist/es/inputnumber/interface.d.ts +0 -4
- package/dist/es/leftcontent/index.css +0 -1
- package/dist/es/leftcontent/index.d.ts +0 -5
- package/dist/es/leftcontent/leftContent.d.ts +0 -31
- package/dist/es/login/index.css +0 -1
- package/dist/es/login/index.d.ts +0 -37
- package/dist/es/message/index.css +0 -1
- package/dist/es/message/index.d.ts +0 -5
- package/dist/es/microloading/index.css +0 -1
- package/dist/es/microloading/index.d.ts +0 -5
- package/dist/es/microloading/micro-loading.d.ts +0 -8
- package/dist/es/modal/index.css +0 -1
- package/dist/es/modal/index.d.ts +0 -5
- package/dist/es/modal/interface.d.ts +0 -91
- package/dist/es/modal/modal.d.ts +0 -5
- package/dist/es/notauthpage/index.css +0 -0
- package/dist/es/notauthpage/index.d.ts +0 -5
- package/dist/es/notauthpage/notAuthPage.d.ts +0 -8
- package/dist/es/notroutepage/index.css +0 -0
- package/dist/es/notroutepage/index.d.ts +0 -5
- package/dist/es/notroutepage/notRoutePage.d.ts +0 -8
- package/dist/es/operationbtn/index.d.ts +0 -5
- package/dist/es/operationbtn/interface.d.ts +0 -34
- package/dist/es/operationbtn/operationBtn.d.ts +0 -6
- package/dist/es/pagination/index.css +0 -1
- package/dist/es/pagination/index.d.ts +0 -5
- package/dist/es/pagination/pagination.d.ts +0 -8
- package/dist/es/placeholder/index.css +0 -1
- package/dist/es/placeholder/index.d.ts +0 -5
- package/dist/es/placeholder/interface.d.ts +0 -12
- package/dist/es/placeholder/placeholder.d.ts +0 -5
- package/dist/es/print/index.css +0 -1
- package/dist/es/print/index.d.ts +0 -5
- package/dist/es/print/interface.d.ts +0 -69
- package/dist/es/print/print-page.d.ts +0 -6
- package/dist/es/print/print.d.ts +0 -5
- package/dist/es/protectedroute/index.d.ts +0 -24
- package/dist/es/select/hooks.d.ts +0 -16
- package/dist/es/select/index.css +0 -1
- package/dist/es/select/index.d.ts +0 -5
- package/dist/es/select/interface.d.ts +0 -82
- package/dist/es/select/select-render.d.ts +0 -31
- package/dist/es/select/select.d.ts +0 -5
- package/dist/es/sortable/index.d.ts +0 -5
- package/dist/es/sortable/sortable-item.d.ts +0 -14
- package/dist/es/sortable/sortable.d.ts +0 -13
- package/dist/es/suspensecomponent/index.d.ts +0 -10
- package/dist/es/table/components/Badge.d.ts +0 -24
- package/dist/es/table/components/TitleDirectionColumn.d.ts +0 -11
- package/dist/es/table/constant.d.ts +0 -3
- package/dist/es/table/index.css +0 -1
- package/dist/es/table/index.d.ts +0 -5
- package/dist/es/table/interface.d.ts +0 -613
- package/dist/es/table/table.d.ts +0 -11
- package/dist/es/tabs/index.css +0 -1
- package/dist/es/tabs/index.d.ts +0 -5
- package/dist/es/tabs/interface.d.ts +0 -52
- package/dist/es/tabs/tabs.d.ts +0 -5
- package/dist/es/tag/index.css +0 -1
- package/dist/es/tag/index.d.ts +0 -5
- package/dist/es/tag/interface.d.ts +0 -9
- package/dist/es/tag/tag.d.ts +0 -5
- package/dist/es/timepicker/index.d.ts +0 -19
- package/dist/es/title/index.css +0 -1
- package/dist/es/title/index.d.ts +0 -5
- package/dist/es/title/interface.d.ts +0 -35
- package/dist/es/title/title.d.ts +0 -5
- package/dist/es/tree/index.css +0 -1
- package/dist/es/tree/index.d.ts +0 -5
- package/dist/es/tree/interface.d.ts +0 -44
- package/dist/es/tree/tree.d.ts +0 -5
- package/dist/es/treeselect/index.css +0 -1
- package/dist/es/treeselect/index.d.ts +0 -5
- package/dist/es/treeselect/interface.d.ts +0 -32
- package/dist/es/treeselect/treeSelect.d.ts +0 -5
- package/dist/es/uploadlist/index.css +0 -1
- package/dist/es/uploadlist/index.d.ts +0 -5
- package/dist/es/uploadlist/interface.d.ts +0 -113
- package/dist/es/uploadlist/uploadList.d.ts +0 -5
- package/dist/es/watermark/index.css +0 -1
- package/dist/es/watermark/index.d.ts +0 -5
- package/dist/es/watermark/interface.d.ts +0 -23
- package/dist/es/watermark/watermark.d.ts +0 -5
- package/dist/es/zttransfer/index.css +0 -1
- package/dist/es/zttransfer/index.d.ts +0 -5
- package/dist/es/zttransfer/interface.d.ts +0 -38
- package/dist/es/zttransfer/zt-transfer.d.ts +0 -6
- package/dist/index.build.d.ts +0 -67
- package/dist/index.dark.css +0 -2
- package/dist/index.default.css +0 -2
- package/dist/less/components/Alert/style/index.less +0 -53
- package/dist/less/components/Alert/style/style.less +0 -4
- package/dist/less/components/AppLayout/style/index.less +0 -546
- package/dist/less/components/AppLayout/style/style.less +0 -2
- package/dist/less/components/AppLayout/style.less +0 -5
- package/dist/less/components/AuthLoading/style/index.less +0 -15
- package/dist/less/components/AuthLoading/style/style.less +0 -2
- package/dist/less/components/Button/style/index.less +0 -160
- package/dist/less/components/Button/style/style.less +0 -5
- package/dist/less/components/Cascader/style/index.less +0 -9
- package/dist/less/components/Cascader/style/style.less +0 -2
- package/dist/less/components/Collapse/style/index.less +0 -117
- package/dist/less/components/Collapse/style/style.less +0 -2
- package/dist/less/components/Container/style/index.less +0 -64
- package/dist/less/components/Container/style/style.less +0 -2
- package/dist/less/components/DatePicker/style/index.less +0 -7
- package/dist/less/components/DatePicker/style/style.less +0 -4
- package/dist/less/components/Descriptions/style/index.less +0 -32
- package/dist/less/components/Descriptions/style/style.less +0 -5
- package/dist/less/components/DetailList/style/index.less +0 -105
- package/dist/less/components/DetailList/style/style.less +0 -2
- package/dist/less/components/Differences/style/index.less +0 -5
- package/dist/less/components/Differences/style/style.less +0 -2
- package/dist/less/components/DynamicSetting/style/index.less +0 -96
- package/dist/less/components/DynamicSetting/style/style.less +0 -2
- package/dist/less/components/ElectronSignatures/style/index.less +0 -331
- package/dist/less/components/ElectronSignatures/style/style.less +0 -1
- package/dist/less/components/Footer/style/index.less +0 -28
- package/dist/less/components/Footer/style/style.less +0 -2
- package/dist/less/components/Form/style/index.less +0 -150
- package/dist/less/components/Form/style/style.less +0 -5
- package/dist/less/components/FormItem/style/index.less +0 -456
- package/dist/less/components/FormItem/style/style.less +0 -2
- package/dist/less/components/Input/style/index.less +0 -15
- package/dist/less/components/Input/style/style.less +0 -4
- package/dist/less/components/InputNumber/style/index.less +0 -30
- package/dist/less/components/InputNumber/style/style.less +0 -4
- package/dist/less/components/LeftContent/style/index.less +0 -62
- package/dist/less/components/LeftContent/style/style.less +0 -2
- package/dist/less/components/Login/style/index.less +0 -63
- package/dist/less/components/Login/style/style.less +0 -2
- package/dist/less/components/Message/style/index.less +0 -19
- package/dist/less/components/Message/style/style.less +0 -2
- package/dist/less/components/MicroLoading/style/index.less +0 -15
- package/dist/less/components/MicroLoading/style/style.less +0 -2
- package/dist/less/components/Modal/style/index.less +0 -43
- package/dist/less/components/Modal/style/style.less +0 -2
- package/dist/less/components/NotAuthPage/style/index.less +0 -0
- package/dist/less/components/NotAuthPage/style/style.less +0 -2
- package/dist/less/components/NotRoutePage/style/index.less +0 -0
- package/dist/less/components/NotRoutePage/style/style.less +0 -2
- package/dist/less/components/Pagination/style/index.less +0 -107
- package/dist/less/components/Pagination/style/style.less +0 -5
- package/dist/less/components/Placeholder/style/index.less +0 -3
- package/dist/less/components/Placeholder/style/style.less +0 -2
- package/dist/less/components/Print/style/index.less +0 -65
- package/dist/less/components/Print/style/style.less +0 -3
- package/dist/less/components/Select/style/index.less +0 -55
- package/dist/less/components/Select/style/style.less +0 -4
- package/dist/less/components/Table/style/index.less +0 -362
- package/dist/less/components/Table/style/style.less +0 -4
- package/dist/less/components/Tabs/style/index.less +0 -118
- package/dist/less/components/Tabs/style/style.less +0 -4
- package/dist/less/components/Tag/style/index.less +0 -3
- package/dist/less/components/Tag/style/style.less +0 -4
- package/dist/less/components/Title/style/index.less +0 -54
- package/dist/less/components/Title/style/style.less +0 -2
- package/dist/less/components/Tree/style/index.less +0 -58
- package/dist/less/components/Tree/style/style.less +0 -4
- package/dist/less/components/TreeSelect/style/index.less +0 -0
- package/dist/less/components/TreeSelect/style/style.less +0 -4
- package/dist/less/components/UploadList/style/index.less +0 -61
- package/dist/less/components/UploadList/style/style.less +0 -4
- package/dist/less/components/Watermark/style/index.less +0 -7
- package/dist/less/components/Watermark/style/style.less +0 -3
- package/dist/less/components/ZtTransfer/style/index.less +0 -136
- package/dist/less/components/ZtTransfer/style/style.less +0 -2
- package/dist/less/styles/default.less +0 -100
- package/dist/less/styles/index.less +0 -86
- package/dist/less/styles/reset.less +0 -189
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 数据格式化工具函数
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 格式化数值(千分符)
|
|
8
|
+
*/
|
|
9
|
+
var formatThousand = function (value) {
|
|
10
|
+
if (value === null || value === undefined || value === "")
|
|
11
|
+
return "";
|
|
12
|
+
var num = typeof value === "string" ? parseFloat(value) : value;
|
|
13
|
+
if (isNaN(num))
|
|
14
|
+
return String(value);
|
|
15
|
+
return num.toLocaleString("en-US");
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* 格式化精度
|
|
19
|
+
*/
|
|
20
|
+
var formatPrecision = function (value, precision) {
|
|
21
|
+
if (value === null || value === undefined || value === "")
|
|
22
|
+
return "";
|
|
23
|
+
var num = typeof value === "string" ? parseFloat(value) : value;
|
|
24
|
+
if (isNaN(num))
|
|
25
|
+
return String(value);
|
|
26
|
+
return num.toFixed(precision);
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* 格式化日期
|
|
30
|
+
*/
|
|
31
|
+
var formatDate = function (value, format) {
|
|
32
|
+
if (format === void 0) { format = "YYYY-MM-DD"; }
|
|
33
|
+
if (!value)
|
|
34
|
+
return "";
|
|
35
|
+
var date = dayjs(value);
|
|
36
|
+
return date.isValid() ? date.format(format) : String(value);
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* 格式化单元格值
|
|
40
|
+
*/
|
|
41
|
+
var formatCellValue = function (value, column) {
|
|
42
|
+
if (value === null || value === undefined)
|
|
43
|
+
return "";
|
|
44
|
+
var formattedValue = value;
|
|
45
|
+
// 日期格式化
|
|
46
|
+
if (column.dateFormat) {
|
|
47
|
+
formattedValue = formatDate(formattedValue, column.dateFormat);
|
|
48
|
+
}
|
|
49
|
+
// 数值精度
|
|
50
|
+
if (column.precision !== undefined && typeof formattedValue === "number") {
|
|
51
|
+
formattedValue = formatPrecision(formattedValue, column.precision);
|
|
52
|
+
}
|
|
53
|
+
// 千分符
|
|
54
|
+
if (column.thousand && !isNaN(Number(formattedValue))) {
|
|
55
|
+
formattedValue = formatThousand(formattedValue);
|
|
56
|
+
}
|
|
57
|
+
return String(formattedValue);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export { formatCellValue, formatDate, formatPrecision, formatThousand };
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 交互相关的辅助函数
|
|
3
|
+
*/
|
|
4
|
+
var calculateIconArea = function (column, cellWidth) {
|
|
5
|
+
var hasOrder = column.isOrder !== false;
|
|
6
|
+
var hasFilter = column.isFilter !== false;
|
|
7
|
+
var iconsWidth = 0;
|
|
8
|
+
if (hasFilter) {
|
|
9
|
+
iconsWidth += 15; // 筛选图标宽度(10px图标 + 5px右边距)
|
|
10
|
+
}
|
|
11
|
+
if (hasOrder) {
|
|
12
|
+
iconsWidth += 15; // 排序图标宽度(10px图标)
|
|
13
|
+
if (hasFilter) {
|
|
14
|
+
iconsWidth += 4; // 排序和筛选之间的间距
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// 排序图标区域
|
|
18
|
+
var sortIconStart = hasFilter ? cellWidth - 38 : cellWidth - 18;
|
|
19
|
+
var sortIconEnd = hasFilter ? cellWidth - 20 : cellWidth;
|
|
20
|
+
// 筛选图标区域(最右侧20px)
|
|
21
|
+
var filterIconStart = cellWidth - 20;
|
|
22
|
+
var filterIconEnd = cellWidth;
|
|
23
|
+
return {
|
|
24
|
+
hasOrder: hasOrder,
|
|
25
|
+
hasFilter: hasFilter,
|
|
26
|
+
sortIconStart: sortIconStart,
|
|
27
|
+
sortIconEnd: sortIconEnd,
|
|
28
|
+
filterIconStart: filterIconStart,
|
|
29
|
+
filterIconEnd: filterIconEnd,
|
|
30
|
+
iconsWidth: iconsWidth,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* 判断点击是否在图标区域内
|
|
35
|
+
*/
|
|
36
|
+
var isClickInIconArea = function (relativeX, iconArea, type) {
|
|
37
|
+
if (type === "filter" && iconArea.hasFilter) {
|
|
38
|
+
return (relativeX >= iconArea.filterIconStart &&
|
|
39
|
+
relativeX < iconArea.filterIconEnd);
|
|
40
|
+
}
|
|
41
|
+
if (type === "sort" && iconArea.hasOrder) {
|
|
42
|
+
return (relativeX >= iconArea.sortIconStart && relativeX < iconArea.sortIconEnd);
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* 计算弹窗位置(确保不超出容器边界)
|
|
48
|
+
*/
|
|
49
|
+
var calculatePopoverPosition = function (columnDrawX, columnWidth, containerWidth, headerHeight, popoverWidth, gap) {
|
|
50
|
+
if (popoverWidth === void 0) { popoverWidth = 180; }
|
|
51
|
+
if (gap === void 0) { gap = 2; }
|
|
52
|
+
// 默认位置:列的右边缘对齐弹窗右边缘
|
|
53
|
+
var popoverX = columnDrawX + columnWidth - popoverWidth;
|
|
54
|
+
// 如果超出左边界,调整位置
|
|
55
|
+
if (popoverX < 8) {
|
|
56
|
+
popoverX = 8; // 留一点边距
|
|
57
|
+
}
|
|
58
|
+
// 如果超出右边界,调整位置
|
|
59
|
+
var maxX = containerWidth - popoverWidth - 8;
|
|
60
|
+
if (popoverX > maxX) {
|
|
61
|
+
popoverX = maxX;
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
x: popoverX,
|
|
65
|
+
y: headerHeight + gap,
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
var calculateSelectionState = function (dataSource, selectedRowKeys, getRowKey, getCheckboxProps) {
|
|
69
|
+
// 获取所有可选择的数据(排除 disabled 的)
|
|
70
|
+
var selectableData = dataSource.filter(function (record) {
|
|
71
|
+
var checkboxProps = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(record)) || {};
|
|
72
|
+
return !checkboxProps.disabled;
|
|
73
|
+
});
|
|
74
|
+
// 计算选中状态
|
|
75
|
+
var selectedCount = selectableData.filter(function (record) {
|
|
76
|
+
var actualIndex = dataSource.indexOf(record);
|
|
77
|
+
return selectedRowKeys.includes(getRowKey(record, actualIndex));
|
|
78
|
+
}).length;
|
|
79
|
+
var isAllSelected = selectableData.length > 0 && selectedCount === selectableData.length;
|
|
80
|
+
var isIndeterminate = selectedCount > 0 && selectedCount < selectableData.length;
|
|
81
|
+
return {
|
|
82
|
+
isAllSelected: isAllSelected,
|
|
83
|
+
isIndeterminate: isIndeterminate,
|
|
84
|
+
selectedCount: selectedCount,
|
|
85
|
+
selectableCount: selectableData.length,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* 切换全选状态
|
|
90
|
+
*/
|
|
91
|
+
var toggleSelectAll = function (dataSource, isAllSelected, getRowKey, getCheckboxProps) {
|
|
92
|
+
if (isAllSelected) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
// 获取所有可选择的数据(排除 disabled 的)
|
|
96
|
+
var selectableData = dataSource.filter(function (record) {
|
|
97
|
+
var checkboxProps = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(record)) || {};
|
|
98
|
+
return !checkboxProps.disabled;
|
|
99
|
+
});
|
|
100
|
+
return selectableData.map(function (record) {
|
|
101
|
+
var actualIndex = dataSource.indexOf(record);
|
|
102
|
+
return getRowKey(record, actualIndex);
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* 处理排序点击
|
|
107
|
+
*/
|
|
108
|
+
var handleSortClick = function (clickedUpper, currentSortField, currentSortOrder, columnKey) {
|
|
109
|
+
var newOrder = null;
|
|
110
|
+
if (clickedUpper) {
|
|
111
|
+
// 点击上箭头:升序
|
|
112
|
+
if (currentSortField === columnKey && currentSortOrder === "ascend") {
|
|
113
|
+
newOrder = null; // 取消排序
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
newOrder = "ascend";
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// 点击下箭头:降序
|
|
121
|
+
if (currentSortField === columnKey && currentSortOrder === "descend") {
|
|
122
|
+
newOrder = null; // 取消排序
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
newOrder = "descend";
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
sortField: newOrder ? columnKey : null,
|
|
130
|
+
sortOrder: newOrder,
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* 计算三角形badge的区域判断
|
|
135
|
+
*/
|
|
136
|
+
var isPointInTriangle = function (x, y, cellX, cellY, cellWidth, cellHeight, position, triangleSize) {
|
|
137
|
+
if (triangleSize === void 0) { triangleSize = 12; }
|
|
138
|
+
switch (position) {
|
|
139
|
+
case "top-left":
|
|
140
|
+
return (x >= cellX &&
|
|
141
|
+
x <= cellX + triangleSize &&
|
|
142
|
+
y >= cellY &&
|
|
143
|
+
y <= cellY + triangleSize &&
|
|
144
|
+
x - cellX + (y - cellY) <= triangleSize);
|
|
145
|
+
case "top-right":
|
|
146
|
+
return (x >= cellX + cellWidth - triangleSize &&
|
|
147
|
+
x <= cellX + cellWidth &&
|
|
148
|
+
y >= cellY &&
|
|
149
|
+
y <= cellY + triangleSize &&
|
|
150
|
+
cellX + cellWidth - x + (y - cellY) <= triangleSize);
|
|
151
|
+
case "bottom-left":
|
|
152
|
+
return (x >= cellX &&
|
|
153
|
+
x <= cellX + triangleSize &&
|
|
154
|
+
y >= cellY + cellHeight - triangleSize &&
|
|
155
|
+
y <= cellY + cellHeight &&
|
|
156
|
+
x - cellX + (cellY + cellHeight - y) <= triangleSize);
|
|
157
|
+
case "bottom-right":
|
|
158
|
+
return (x >= cellX + cellWidth - triangleSize &&
|
|
159
|
+
x <= cellX + cellWidth &&
|
|
160
|
+
y >= cellY + cellHeight - triangleSize &&
|
|
161
|
+
y <= cellY + cellHeight &&
|
|
162
|
+
cellX + cellWidth - x + (cellY + cellHeight - y) <= triangleSize);
|
|
163
|
+
default:
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* 计算滚动位置(限制在最大值范围内)
|
|
169
|
+
*/
|
|
170
|
+
var calculateScrollPosition = function (delta, currentScroll, maxScroll, totalSize, dragStart, scrollableSize) {
|
|
171
|
+
var scrollRatio = delta / scrollableSize;
|
|
172
|
+
var newScroll = currentScroll + scrollRatio * totalSize;
|
|
173
|
+
return Math.max(0, Math.min(maxScroll, newScroll));
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
export { calculateIconArea, calculatePopoverPosition, calculateScrollPosition, calculateSelectionState, handleSortClick, isClickInIconArea, isPointInTriangle, toggleSelectAll };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 多级表头工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 获取叶子列(没有children的列)
|
|
6
|
+
*/
|
|
7
|
+
function getLeafColumns(columns) {
|
|
8
|
+
var leafColumns = [];
|
|
9
|
+
var walk = function (nodes) {
|
|
10
|
+
var _a;
|
|
11
|
+
(_a = nodes === null || nodes === void 0 ? void 0 : nodes.forEach) === null || _a === void 0 ? void 0 : _a.call(nodes, function (node) {
|
|
12
|
+
if (Array.isArray(node === null || node === void 0 ? void 0 : node.children) && node.children.length > 0) {
|
|
13
|
+
walk(node.children);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
leafColumns.push(node);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
walk(columns);
|
|
21
|
+
return leafColumns;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 获取表头的最大深度
|
|
25
|
+
*/
|
|
26
|
+
function getMaxDepth(columns) {
|
|
27
|
+
var maxDepth = 1;
|
|
28
|
+
var walk = function (nodes, depth) {
|
|
29
|
+
var _a;
|
|
30
|
+
(_a = nodes === null || nodes === void 0 ? void 0 : nodes.forEach) === null || _a === void 0 ? void 0 : _a.call(nodes, function (node) {
|
|
31
|
+
if (depth > maxDepth) {
|
|
32
|
+
maxDepth = depth;
|
|
33
|
+
}
|
|
34
|
+
if (Array.isArray(node === null || node === void 0 ? void 0 : node.children) && node.children.length > 0) {
|
|
35
|
+
walk(node.children, depth + 1);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
walk(columns, 1);
|
|
40
|
+
return maxDepth;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 计算列的跨度(colspan)
|
|
44
|
+
*/
|
|
45
|
+
function computeColSpan(column) {
|
|
46
|
+
if (!column.children || column.children.length === 0) {
|
|
47
|
+
return 1;
|
|
48
|
+
}
|
|
49
|
+
return column.children.reduce(function (sum, child) { return sum + computeColSpan(child); }, 0);
|
|
50
|
+
}
|
|
51
|
+
function flattenHeaders(columns) {
|
|
52
|
+
var maxDepth = getMaxDepth(columns);
|
|
53
|
+
var headerRows = Array.from({ length: maxDepth }, function () { return []; });
|
|
54
|
+
var walk = function (nodes, depth, startColIndexRef) {
|
|
55
|
+
nodes.forEach(function (node) {
|
|
56
|
+
var hasChildren = Array.isArray(node.children) && node.children.length > 0;
|
|
57
|
+
var colSpan = computeColSpan(node);
|
|
58
|
+
var rowSpan = hasChildren ? 1 : maxDepth - depth + 1;
|
|
59
|
+
var currentCol = startColIndexRef.value;
|
|
60
|
+
// 添加表头单元格
|
|
61
|
+
headerRows[depth - 1].push({
|
|
62
|
+
column: node,
|
|
63
|
+
rowSpan: rowSpan,
|
|
64
|
+
colSpan: colSpan,
|
|
65
|
+
depth: depth - 1,
|
|
66
|
+
colIndex: currentCol,
|
|
67
|
+
});
|
|
68
|
+
if (hasChildren) {
|
|
69
|
+
var childStartRef = { value: currentCol };
|
|
70
|
+
walk(node.children, depth + 1, childStartRef);
|
|
71
|
+
startColIndexRef.value = currentCol + colSpan;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
startColIndexRef.value = currentCol + 1;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
walk(columns, 1, { value: 0 });
|
|
79
|
+
return headerRows;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { computeColSpan, flattenHeaders, getLeafColumns, getMaxDepth };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { DEFAULT_COLUMN_WIDTH } from './constants.js';
|
|
2
|
+
import { getLeafColumns } from './multiHeaderHelpers.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 表格计算工具函数
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 计算列的渲染信息
|
|
9
|
+
* 注意:多级表头时,只处理叶子列(用于渲染数据)
|
|
10
|
+
*/
|
|
11
|
+
var calculateColumnRenderInfos = function (columns) {
|
|
12
|
+
// 获取叶子列(多级表头时只有叶子列才渲染数据)
|
|
13
|
+
var leafColumns = getLeafColumns(columns);
|
|
14
|
+
var infos = [];
|
|
15
|
+
var currentX = 0;
|
|
16
|
+
var fixedLeftX = 0;
|
|
17
|
+
leafColumns.forEach(function (column) {
|
|
18
|
+
var columnWidth = column.width || DEFAULT_COLUMN_WIDTH;
|
|
19
|
+
var isFixed = column.fixed === "left" || column.fixed === true;
|
|
20
|
+
infos.push({
|
|
21
|
+
column: column,
|
|
22
|
+
x: isFixed ? fixedLeftX : currentX,
|
|
23
|
+
width: columnWidth,
|
|
24
|
+
fixed: isFixed,
|
|
25
|
+
fixedLeft: isFixed ? fixedLeftX : undefined,
|
|
26
|
+
});
|
|
27
|
+
if (isFixed) {
|
|
28
|
+
fixedLeftX += columnWidth;
|
|
29
|
+
}
|
|
30
|
+
currentX += columnWidth;
|
|
31
|
+
});
|
|
32
|
+
return infos;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* 计算总宽度
|
|
36
|
+
*/
|
|
37
|
+
var calculateTotalWidth = function (columnRenderInfos) {
|
|
38
|
+
return columnRenderInfos.reduce(function (sum, info) { return sum + info.width; }, 0);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* 计算总高度
|
|
42
|
+
*/
|
|
43
|
+
var calculateTotalHeight = function (headerHeight, dataLength, rowHeight) {
|
|
44
|
+
return headerHeight + dataLength * rowHeight;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* 计算滚动条位置和大小
|
|
48
|
+
*/
|
|
49
|
+
var calculateScrollbarMetrics = function (params) {
|
|
50
|
+
var containerWidth = params.containerWidth, containerHeight = params.containerHeight, totalWidth = params.totalWidth, totalHeight = params.totalHeight, headerHeight = params.headerHeight, scrollbarSize = params.scrollbarSize, minScrollbarSize = params.minScrollbarSize, scrollTop = params.scrollTop, scrollLeft = params.scrollLeft;
|
|
51
|
+
// 是否需要显示滚动条
|
|
52
|
+
var needVerticalScrollbar = totalHeight > containerHeight;
|
|
53
|
+
var needHorizontalScrollbar = totalWidth > containerWidth;
|
|
54
|
+
// 计算可滚动的最大值
|
|
55
|
+
// maxScrollTop 需要考虑水平滚动条占用的空间
|
|
56
|
+
// 当有水平滚动条时,数据可视区域减少了 scrollbarSize 的高度
|
|
57
|
+
var maxScrollTop = Math.max(0, totalHeight -
|
|
58
|
+
containerHeight +
|
|
59
|
+
(needHorizontalScrollbar ? scrollbarSize : 0));
|
|
60
|
+
// maxScrollLeft 需要考虑垂直滚动条占用的空间
|
|
61
|
+
// 当有垂直滚动条时,数据可视区域减少了 scrollbarSize 的宽度
|
|
62
|
+
var maxScrollLeft = Math.max(0, totalWidth - containerWidth + (needVerticalScrollbar ? scrollbarSize : 0));
|
|
63
|
+
// 计算数据区域高度(不包括表头和水平滚动条)
|
|
64
|
+
var dataAreaHeight = containerHeight -
|
|
65
|
+
headerHeight -
|
|
66
|
+
(needHorizontalScrollbar ? scrollbarSize : 0);
|
|
67
|
+
// 计算垂直滚动条高度
|
|
68
|
+
var verticalScrollbarHeight = needVerticalScrollbar
|
|
69
|
+
? Math.max(minScrollbarSize, (dataAreaHeight / totalHeight) * dataAreaHeight)
|
|
70
|
+
: 0;
|
|
71
|
+
// 计算水平滚动条宽度
|
|
72
|
+
var horizontalScrollbarWidth = needHorizontalScrollbar
|
|
73
|
+
? Math.max(minScrollbarSize, ((containerWidth - (needVerticalScrollbar ? scrollbarSize : 0)) /
|
|
74
|
+
totalWidth) *
|
|
75
|
+
(containerWidth - (needVerticalScrollbar ? scrollbarSize : 0)))
|
|
76
|
+
: 0;
|
|
77
|
+
// 计算滚动条位置
|
|
78
|
+
var verticalScrollbarTop = needVerticalScrollbar && maxScrollTop > 0
|
|
79
|
+
? (scrollTop / maxScrollTop) * (dataAreaHeight - verticalScrollbarHeight)
|
|
80
|
+
: 0;
|
|
81
|
+
var horizontalScrollbarLeft = needHorizontalScrollbar && maxScrollLeft > 0
|
|
82
|
+
? (scrollLeft / maxScrollLeft) *
|
|
83
|
+
(containerWidth -
|
|
84
|
+
(needVerticalScrollbar ? scrollbarSize : 0) -
|
|
85
|
+
horizontalScrollbarWidth)
|
|
86
|
+
: 0;
|
|
87
|
+
return {
|
|
88
|
+
needVerticalScrollbar: needVerticalScrollbar,
|
|
89
|
+
needHorizontalScrollbar: needHorizontalScrollbar,
|
|
90
|
+
maxScrollTop: maxScrollTop,
|
|
91
|
+
maxScrollLeft: maxScrollLeft,
|
|
92
|
+
dataAreaHeight: dataAreaHeight,
|
|
93
|
+
verticalScrollbarHeight: verticalScrollbarHeight,
|
|
94
|
+
horizontalScrollbarWidth: horizontalScrollbarWidth,
|
|
95
|
+
verticalScrollbarTop: verticalScrollbarTop,
|
|
96
|
+
horizontalScrollbarLeft: horizontalScrollbarLeft,
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export { calculateColumnRenderInfos, calculateScrollbarMetrics, calculateTotalHeight, calculateTotalWidth };
|
package/dist/index.es.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--contexify-zIndex:666;--contexify-menu-minWidth:220px;--contexify-menu-padding:6px;--contexify-menu-radius:6px;--contexify-menu-bgColor:#fff;--contexify-menu-shadow:1px 2px 2px #0000001a,2px 4px 4px #0000001a,3px 6px 6px #0000001a;--contexify-menu-negatePadding:var(--contexify-menu-padding);--contexify-separator-color:#0003;--contexify-separator-margin:5px;--contexify-itemContent-padding:6px;--contexify-activeItem-radius:4px;--contexify-item-color:#333;--contexify-activeItem-color:#fff;--contexify-activeItem-bgColor:#3498db;--contexify-rightSlot-color:#6f6e77;--contexify-activeRightSlot-color:#fff;--contexify-arrow-color:#6f6e77;--contexify-activeArrow-color:#fff}@keyframes contexify_feedback{0%{opacity:.4}to{opacity:1}}.contexify{background-color:var(--contexify-menu-bgColor);border-radius:var(--contexify-menu-radius);box-shadow:var(--contexify-menu-shadow);box-sizing:border-box;min-width:var(--contexify-menu-minWidth);opacity:0;padding:var(--contexify-menu-padding);position:fixed;-webkit-user-select:none;user-select:none;z-index:var(--contexify-zIndex)}.contexify_submenu-isOpen,.contexify_submenu-isOpen>.contexify_itemContent{background-color:var(--contexify-activeItem-bgColor);border-radius:var(--contexify-activeItem-radius);color:var(--contexify-activeItem-color)}.contexify_submenu-isOpen>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-activeArrow-color)}.contexify_submenu-isOpen>.contexify_submenu{opacity:1;pointer-events:auto}.contexify .contexify_submenu{left:100%;pointer-events:none;position:absolute;top:calc(var(--contexify-menu-negatePadding)*-1);transition:opacity .265s}.contexify .contexify_submenu-bottom{bottom:calc(var(--contexify-menu-negatePadding)*-1);top:unset}.contexify .contexify_submenu-right{left:unset;right:100%}.contexify_rightSlot{color:var(--contexify-rightSlot-color);display:flex;margin-left:auto}.contexify_separator{background-color:var(--contexify-separator-color);cursor:default;height:1px;margin:var(--contexify-separator-margin)}.contexify_willLeave-disabled{pointer-events:none}.contexify_item{cursor:pointer;position:relative}.contexify_item:focus{outline:0}.contexify_item:focus .contexify_rightSlot,.contexify_item:not(.contexify_item-disabled):hover>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-activeRightSlot-color)}.contexify_item:not(.contexify_item-disabled)[aria-haspopup]>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-arrow-color)}.contexify_item:not(.contexify_item-disabled)[aria-haspopup].contexify_submenu-isOpen>.contexify_itemContent .contexify_rightSlot,.contexify_item:not(.contexify_item-disabled)[aria-haspopup]:hover>.contexify_itemContent .contexify_rightSlot,.contexify_item[aria-haspopup]:focus>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-activeArrow-color)}.contexify_item:not(.contexify_item-disabled):focus>.contexify_itemContent,.contexify_item:not(.contexify_item-disabled):hover>.contexify_itemContent{background-color:var(--contexify-activeItem-bgColor);border-radius:var(--contexify-activeItem-radius);color:var(--contexify-activeItem-color)}.contexify_item:not(.contexify_item-disabled):hover>.contexify_submenu{opacity:1;pointer-events:auto}.contexify_item-disabled{cursor:default;opacity:.5}.contexify_itemContent{align-items:center;color:var(--contexify-item-color);display:flex;padding:var(--contexify-itemContent-padding);position:relative;white-space:nowrap}.contexify_item-feedback{animation:contexify_feedback .12s both}.contexify_theme-dark{--contexify-menu-bgColor:#282828fa;--contexify-separator-color:#4c4c4c;--contexify-item-color:#fff}.contexify_theme-light{--contexify-separator-color:#eee;--contexify-item-color:#666;--contexify-activeItem-color:#3498db;--contexify-activeItem-bgColor:#e0eefd;--contexify-activeRightSlot-color:#3498db;--contexify-active-arrow-color:#3498db}@keyframes contexify_scaleIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes contexify_scaleOut{0%{opacity:1}to{opacity:0;transform:scale3d(.3,.3,.3)}}.contexify_willEnter-scale{animation:contexify_scaleIn .3s;transform-origin:top left}.contexify_willLeave-scale{animation:contexify_scaleOut .3s;transform-origin:top left}@keyframes contexify_fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes contexify_fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.contexify_willEnter-fade{animation:contexify_fadeIn .3s ease}.contexify_willLeave-fade{animation:contexify_fadeOut .3s ease}@keyframes contexify_flipInX{0%{transform:perspective(800px) rotateX(45deg)}to{transform:perspective(800px)}}@keyframes contexify_flipOutX{0%{transform:perspective(800px)}to{opacity:0;transform:perspective(800px) rotateX(45deg)}}.contexify_willEnter-flip{animation:contexify_flipInX .3s}.contexify_willEnter-flip,.contexify_willLeave-flip{backface-visibility:visible!important;transform-origin:top center}.contexify_willLeave-flip{animation:contexify_flipOutX .3s}@keyframes contexify_slideIn{0%{opacity:0;transform:scaleY(.3)}to{opacity:1}}@keyframes contexify_slideOut{0%{opacity:1}to{opacity:0;transform:scaleY(.3)}}.contexify_willEnter-slide{animation:contexify_slideIn .3s;transform-origin:top center}.contexify_willLeave-slide{animation:contexify_slideOut .3s;transform-origin:top center}
|
|
1
|
+
:root{--contexify-zIndex:666;--contexify-menu-minWidth:220px;--contexify-menu-padding:6px;--contexify-menu-radius:6px;--contexify-menu-bgColor:#fff;--contexify-menu-shadow:1px 2px 2px #0000001a,2px 4px 4px #0000001a,3px 6px 6px #0000001a;--contexify-menu-negatePadding:var(--contexify-menu-padding);--contexify-separator-color:#0003;--contexify-separator-margin:5px;--contexify-itemContent-padding:6px;--contexify-activeItem-radius:4px;--contexify-item-color:#333;--contexify-activeItem-color:#fff;--contexify-activeItem-bgColor:#3498db;--contexify-rightSlot-color:#6f6e77;--contexify-activeRightSlot-color:#fff;--contexify-arrow-color:#6f6e77;--contexify-activeArrow-color:#fff}@keyframes contexify_feedback{0%{opacity:.4}to{opacity:1}}.contexify{background-color:var(--contexify-menu-bgColor);border-radius:var(--contexify-menu-radius);box-shadow:var(--contexify-menu-shadow);box-sizing:border-box;min-width:var(--contexify-menu-minWidth);opacity:0;padding:var(--contexify-menu-padding);position:fixed;-webkit-user-select:none;user-select:none;z-index:var(--contexify-zIndex)}.contexify_submenu-isOpen,.contexify_submenu-isOpen>.contexify_itemContent{background-color:var(--contexify-activeItem-bgColor);border-radius:var(--contexify-activeItem-radius);color:var(--contexify-activeItem-color)}.contexify_submenu-isOpen>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-activeArrow-color)}.contexify_submenu-isOpen>.contexify_submenu{opacity:1;pointer-events:auto}.contexify .contexify_submenu{left:100%;pointer-events:none;position:absolute;top:calc(var(--contexify-menu-negatePadding)*-1);transition:opacity .265s}.contexify .contexify_submenu-bottom{bottom:calc(var(--contexify-menu-negatePadding)*-1);top:unset}.contexify .contexify_submenu-right{left:unset;right:100%}.contexify_rightSlot{color:var(--contexify-rightSlot-color);display:flex;margin-left:auto}.contexify_separator{background-color:var(--contexify-separator-color);cursor:default;height:1px;margin:var(--contexify-separator-margin)}.contexify_willLeave-disabled{pointer-events:none}.contexify_item{cursor:pointer;position:relative}.contexify_item:focus{outline:0}.contexify_item:focus .contexify_rightSlot,.contexify_item:not(.contexify_item-disabled):hover>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-activeRightSlot-color)}.contexify_item:not(.contexify_item-disabled)[aria-haspopup]>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-arrow-color)}.contexify_item:not(.contexify_item-disabled)[aria-haspopup].contexify_submenu-isOpen>.contexify_itemContent .contexify_rightSlot,.contexify_item:not(.contexify_item-disabled)[aria-haspopup]:hover>.contexify_itemContent .contexify_rightSlot,.contexify_item[aria-haspopup]:focus>.contexify_itemContent .contexify_rightSlot{color:var(--contexify-activeArrow-color)}.contexify_item:not(.contexify_item-disabled):focus>.contexify_itemContent,.contexify_item:not(.contexify_item-disabled):hover>.contexify_itemContent{background-color:var(--contexify-activeItem-bgColor);border-radius:var(--contexify-activeItem-radius);color:var(--contexify-activeItem-color)}.contexify_item:not(.contexify_item-disabled):hover>.contexify_submenu{opacity:1;pointer-events:auto}.contexify_item-disabled{cursor:default;opacity:.5}.contexify_itemContent{align-items:center;color:var(--contexify-item-color);display:flex;padding:var(--contexify-itemContent-padding);position:relative;white-space:nowrap}.contexify_item-feedback{animation:contexify_feedback .12s both}.contexify_theme-dark{--contexify-menu-bgColor:#282828fa;--contexify-separator-color:#4c4c4c;--contexify-item-color:#fff}.contexify_theme-light{--contexify-separator-color:#eee;--contexify-item-color:#666;--contexify-activeItem-color:#3498db;--contexify-activeItem-bgColor:#e0eefd;--contexify-activeRightSlot-color:#3498db;--contexify-active-arrow-color:#3498db}@keyframes contexify_scaleIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes contexify_scaleOut{0%{opacity:1}to{opacity:0;transform:scale3d(.3,.3,.3)}}.contexify_willEnter-scale{animation:contexify_scaleIn .3s;transform-origin:top left}.contexify_willLeave-scale{animation:contexify_scaleOut .3s;transform-origin:top left}@keyframes contexify_fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes contexify_fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.contexify_willEnter-fade{animation:contexify_fadeIn .3s ease}.contexify_willLeave-fade{animation:contexify_fadeOut .3s ease}@keyframes contexify_flipInX{0%{transform:perspective(800px) rotateX(45deg)}to{transform:perspective(800px)}}@keyframes contexify_flipOutX{0%{transform:perspective(800px)}to{opacity:0;transform:perspective(800px) rotateX(45deg)}}.contexify_willEnter-flip{animation:contexify_flipInX .3s}.contexify_willEnter-flip,.contexify_willLeave-flip{backface-visibility:visible!important;transform-origin:top center}.contexify_willLeave-flip{animation:contexify_flipOutX .3s}@keyframes contexify_slideIn{0%{opacity:0;transform:scaleY(.3)}to{opacity:1}}@keyframes contexify_slideOut{0%{opacity:1}to{opacity:0;transform:scaleY(.3)}}.contexify_willEnter-slide{animation:contexify_slideIn .3s;transform-origin:top center}.contexify_willLeave-slide{animation:contexify_slideOut .3s;transform-origin:top center}.canvas-table-container{-webkit-overflow-scrolling:auto;background:#fff;border:1px solid #dee9f6;box-sizing:border-box;overflow:hidden;overscroll-behavior:contain;position:relative;touch-action:none}.canvas-table-container canvas{cursor:default;touch-action:none}.canvas-table-container .canvas-table-filter-popover{background:#fff;border-radius:2px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px 0 #00000014,0 9px 28px 8px #0000000d}.canvas-table-container .canvas-table-filter-popover .ant-checkbox-wrapper{width:100%}.canvas-table-container .canvas-table-filter-popover .ant-checkbox-wrapper:hover{background-color:#f5f5f5}.canvas-table-container .canvas-table-cell-overlay{align-items:center;box-sizing:border-box;display:flex;overflow:hidden;pointer-events:auto;position:absolute}.canvas-table-container .canvas-table-cell-content>*,.canvas-table-container .canvas-table-cell-overlay a,.canvas-table-container .canvas-table-cell-overlay button,.canvas-table-container .canvas-table-cell-overlay input,.canvas-table-container .canvas-table-cell-overlay select,.canvas-table-container .canvas-table-cell-overlay textarea{pointer-events:auto}.canvas-table-container canvas{position:relative;z-index:0}.canvas-table-container.canvas-table--fullscreen{background-color:#fff;bottom:0!important;height:100%!important;left:0!important;margin:0!important;position:fixed!important;right:0!important;top:0!important;width:100%!important;z-index:9999!important}.canvas-table-container .canvas-table--exit-fullscreen{background:#000000b3;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;position:fixed;right:20px;top:20px;transition:background .3s;-webkit-user-select:none;user-select:none;z-index:10000}.canvas-table-container .canvas-table--exit-fullscreen:hover{background:#000000e6}
|
package/dist/index.es.js
CHANGED
|
@@ -46,6 +46,7 @@ export { default as Watermark } from './es/watermark/watermark.js';
|
|
|
46
46
|
export { default as Sortable } from './es/sortable/sortable.js';
|
|
47
47
|
export { default as ElectronSignatures } from './es/electronsignatures/index.js';
|
|
48
48
|
export { default as message } from './es/message/index.js';
|
|
49
|
+
export { default as CanvasTable } from './es/canvastable/canvasTable.js';
|
|
49
50
|
export { Affix, Anchor, AutoComplete, Avatar, BackTop, Badge, Breadcrumb, Card, Carousel, Cascader, Checkbox, Col, Comment, ConfigProvider, Divider, Drawer, Dropdown, Empty, Grid, Image, Layout, List, Mentions, Menu, PageHeader, Popconfirm, Popover, Progress, Radio, Rate, Result, Row, Segmented, Skeleton, Slider, Space, Spin, Statistic, Steps, Switch, Timeline, Tooltip, Transfer, Typography, Upload, notification } from 'antd';
|
|
50
51
|
export { default as Button } from './es/button/button.js';
|
|
51
52
|
export { default as NotAuthPage } from './es/notauthpage/notAuthPage.js';
|
package/package.json
CHANGED
package/dist/es/alert/alert.d.ts
DELETED
package/dist/es/alert/index.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.ant-alert{font-feature-settings:"tnum";word-wrap:break-word;align-items:center;border-radius:2px;box-sizing:border-box;color:#000000a6;display:flex;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;margin:0;padding:8px 15px;position:relative}.ant-alert-content{flex:1;min-width:0}.ant-alert-icon{margin-right:8px}.ant-alert-description{display:none;font-size:14px;line-height:22px}.ant-alert-success{background-color:#f6ffed;border:1px solid #b7eb8f}.ant-alert-success .ant-alert-icon{color:#52c41a}.ant-alert-info{background-color:#f0f5ff;border:1px solid #d9e3ff}.ant-alert-info .ant-alert-icon{color:#5b76f6}.ant-alert-warning{background-color:#fffbe6;border:1px solid #ffe58f}.ant-alert-warning .ant-alert-icon{color:#faad14}.ant-alert-error{background-color:#fff2f0;border:1px solid #ffccc7}.ant-alert-error .ant-alert-icon{color:#ff4d4f}.ant-alert-error .ant-alert-description>pre{margin:0;padding:0}.ant-alert-action{margin-left:8px}.ant-alert-close-icon{background-color:initial;border:none;cursor:pointer;font-size:12px;line-height:12px;margin-left:8px;outline:none;overflow:hidden;padding:0}.ant-alert-close-icon .anticon-close{color:#00000073;transition:color .3s}.ant-alert-close-icon .anticon-close:hover{color:#000000bf}.ant-alert-close-text{color:#00000073;transition:color .3s}.ant-alert-close-text:hover{color:#000000bf}.ant-alert-with-description{align-items:flex-start;padding:15px 15px 15px 24px}.ant-alert-with-description.ant-alert-no-icon{padding:15px}.ant-alert-with-description .ant-alert-icon{font-size:24px;margin-right:15px}.ant-alert-with-description .ant-alert-message{color:#000000d9;display:block;font-size:16px;margin-bottom:4px}.ant-alert-message{color:#000000d9}.ant-alert-with-description .ant-alert-description{display:block}.ant-alert.ant-alert-motion-leave{opacity:1;overflow:hidden;transition:max-height .3s cubic-bezier(.78,.14,.15,.86),opacity .3s cubic-bezier(.78,.14,.15,.86),padding-top .3s cubic-bezier(.78,.14,.15,.86),padding-bottom .3s cubic-bezier(.78,.14,.15,.86),margin-bottom .3s cubic-bezier(.78,.14,.15,.86)}.ant-alert.ant-alert-motion-leave-active{margin-bottom:0!important;max-height:0;opacity:0;padding-bottom:0;padding-top:0}.ant-alert-banner{border:0;border-radius:0;margin-bottom:0}.ant-alert.ant-alert-rtl{direction:rtl}.ant-alert-rtl .ant-alert-icon{margin-left:8px;margin-right:auto}.ant-alert-rtl .ant-alert-action,.ant-alert-rtl .ant-alert-close-icon{margin-left:auto;margin-right:8px}.ant-alert-rtl.ant-alert-with-description{padding-left:15px;padding-right:24px}.ant-alert-rtl.ant-alert-with-description .ant-alert-icon{margin-left:15px;margin-right:auto}.zt-alert{border:none;border-radius:4px}.zt-alert>.anticon{font-size:16px;margin-right:10px}.zt-alert.ant-alert-with-description{padding:8px 15px}.zt-alert.ant-alert-with-description>.anticon{font-size:24px;margin-top:2px}.zt-alert.zt-alert--margin-top{margin-top:10px}.zt-alert.zt-alert--margin-bottom{margin-bottom:10px}.zt-alert.ant-alert-success{background-color:#6c6;color:#fff}.zt-alert.ant-alert-success .ant-alert-message,.zt-alert.ant-alert-success .anticon{color:#fff}.zt-alert.ant-alert-error{background-color:#f66;color:#fff}.zt-alert.ant-alert-error .anticon{color:#fff;margin-top:1px}.zt-alert.ant-alert-error .ant-alert-message{color:#fff}.zt-alert.ant-alert-info,.zt-alert.ant-alert-warning{background-color:#fcecc8;color:#794808}.zt-alert.ant-alert-info .ant-alert-message,.zt-alert.ant-alert-info .anticon,.zt-alert.ant-alert-warning .ant-alert-message,.zt-alert.ant-alert-warning .anticon{color:#794808}
|
package/dist/es/alert/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
import { Alert } from 'antd';
|
|
3
|
-
import { AlertProps } from 'antd/es/alert';
|
|
4
|
-
|
|
5
|
-
interface IAlertProps extends AlertProps {
|
|
6
|
-
marginTop?: boolean;
|
|
7
|
-
marginBottom?: boolean;
|
|
8
|
-
}
|
|
9
|
-
interface AlertComponent extends React__default.FC<IAlertProps> {
|
|
10
|
-
displayName: string;
|
|
11
|
-
ErrorBoundary: typeof Alert.ErrorBoundary;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { AlertComponent, IAlertProps };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
|
|
3
|
-
interface ILayoutProps {
|
|
4
|
-
children?: React__default.ReactNode;
|
|
5
|
-
layoutSliderRender?: React__default.ReactNode;
|
|
6
|
-
layoutHeaderRender?: React__default.ReactNode;
|
|
7
|
-
contentClassName?: string;
|
|
8
|
-
}
|
|
9
|
-
declare const _default: React__default.NamedExoticComponent<ILayoutProps>;
|
|
10
|
-
|
|
11
|
-
export { _default as default };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.zmdms-container{background-color:#e9ecf3}.zmdms-container .zmdms-sider{background-color:#5b76f6;background-repeat:no-repeat;background-size:100% auto;background-size:cover;z-index:102}.zmdms-container .zmdms-content{background-color:#e9ecf3}.zmdms-container .zmdms-content--header{align-items:center;background:#fff;display:flex;height:48px;justify-content:space-between;line-height:48px;padding:0 0 0 10px}.zmdms-container .zmdms-content--header .ant-tabs{flex:1;margin-top:8px;width:calc(100% - 350px)}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab>div{padding:0}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab a{color:#768696;display:inline-block;padding:0 10px 0 20px}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-nav{margin-bottom:0}.zmdms-container .zmdms-content--content{height:calc(100vh - 48px);position:relative}.zmdms-container .zmdms-content--header-info{color:#000000a6;display:flex;height:48px;max-width:350px}.zmdms-container .zmdms-content--header-info .full-screen{cursor:pointer;text-align:center;width:36px}.zmdms-container .zmdms-content--header-info .user-operation{align-items:center;cursor:pointer;display:flex;padding:0 12px}.zmdms-container .zmdms-content--header-info .user-operation:hover{background-color:#f7f7f7}.zmdms-container .zmdms-content--header-info .user-operation>span:last-child{color:#000000a6;display:inline-block;margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:70px}.zmdms-menu{display:flex;flex-direction:column;height:100vh}.zmdms-menu .zmdms-logo{align-items:center;display:block;display:flex;height:48px;padding:9px 0 5px}.zmdms-menu .zmdms-logo.zmdms-logo--line{position:relative;z-index:1000}.zmdms-menu .zmdms-logo.zmdms-logo--line:after{background:#505cbe;content:"";height:29px;position:absolute;right:-.5px;width:1px}.zmdms-menu .zmdms-logo>img{display:block;margin:0 auto;width:78px}.zmdms-menu .zmdms-menu--search{background-color:#5b8af666;position:relative}.zmdms-menu .zmdms-menu--search>input{background-color:#5b8af666;border:none;color:#fff;font-size:13px;height:36px;line-height:36px}.zmdms-menu .zmdms-menu--search>input::placeholder{color:#fff;font-size:13px}.zmdms-menu .zmdms-menu--search .zmdms-menu--search__icon{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;position:absolute;right:0;top:3px;width:30px}.zmdms-menu .zmdms-menu--main{background:#0000;border-right:none;flex:1;overflow-x:hidden;overflow-y:auto}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-hide-bg .ant-menu-item-selected{background:#1566d2!important}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-item-line .ant-menu-item{height:auto!important;line-height:20px!important;min-height:36px}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-item-line .ant-menu-item .ant-menu-title-content{word-wrap:break-word;display:inline-block;height:auto!important;text-overflow:unset!important;white-space:pre-wrap;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu,.zmdms-menu .zmdms-menu--main>.ant-menu-submenu.ant-menu-submenu-open>.ant-menu-submenu-title{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#5b76f5;background-color:#5b8af666;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0;padding:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:#ffffffa6;right:6px}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-title-content{flex:none;width:88%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub.ant-menu-inline{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item{align-items:center;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item a{color:inherit}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:active{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:hover{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item.ant-menu-item-selected{background:#5b76f5;color:#fff;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item.ant-menu-item-selected:after{border-right:none}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-track{background:#fff0;border-radius:4px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-thumb{background:#5b76f6;border-radius:4px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-thumb:hover{background:#5b76f6}.zmdms-menu .zmdms-menu--main>.ant-menu-item{align-items:center;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0}.zmdms-menu .zmdms-menu--main>.ant-menu-item a{color:inherit}.zmdms-menu .zmdms-menu--main>.ant-menu-item:active{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-item:hover{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu .zmdms-menu--main>.ant-menu-item.ant-menu-item-selected{background:#5b76f6;color:#fff;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-item.ant-menu-item-selected:after{border-right:none}.zmdms-menu--sub{padding:0}.zmdms-menu--sub .ant-drawer-content{background:#0000;background-position:100%;background-repeat:no-repeat;background-size:cover;overflow:hidden}.zmdms-menu--sub .ant-drawer-content .ant-menu{background:#0000;color:#fff}.zmdms-menu--sub.ant-drawer-left>.ant-drawer-content-wrapper{left:-1px}.zmdms-menu--sub .ant-drawer-header{background:#0000;border-bottom:none;padding:0}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title{align-items:center;color:#fff;display:flex;height:48px;justify-content:center}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title .ant-drawer-title{align-items:center;color:#fff;display:flex;font-size:14px;justify-content:center}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title .ant-drawer-title img{width:118px}.zmdms-menu--sub .ant-drawer-body{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#5b76f566;font-size:13px;overflow-x:hidden;padding:0}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-track{background:#fff0;border-radius:4px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-thumb{background:#5b76f6;border-radius:4px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-thumb:hover{background:#5b76f6}.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu.ant-menu-submenu-inline{border-bottom:1px solid #8d9eff47;padding-bottom:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline{background:#0000;padding:0 10px}.zmdms-menu--sub .ant-drawer-body .ant-menu-item,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item{align-items:center;border-radius:4px;color:#fff;display:flex;font-size:13px;height:30px;line-height:30px;margin:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:not(:last-child),.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-item a,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a{color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:active,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:active{background:#0000}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:last-child,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:last-child{margin-bottom:10px}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title{color:#fff;font-size:13px;font-weight:700;height:30px;line-height:30px}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:hover,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:active,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:active{background:#0000}.zmdms-menu--sub .ant-drawer-body .ant-menu-root>.ant-menu-item-only-child{margin-top:2px}.zmdms-menu--sub .ant-drawer-body .ant-menu-root>.ant-menu-item-only-child .ant-menu-title-content{font-weight:700}.zmdms-menu--sub .ant-drawer-body .ant-menu-item-selected{background-color:#5b76f5!important;color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-item-selected:after{border-right:none}.zmdms-menu--sub .ant-drawer-footer{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#5b76f566;border-top:1px solid #5670ea;display:flex;height:40px;justify-content:center;line-height:40px;padding:3px 10px}.zmdms-menu--sub .ant-drawer-footer .zt-btn-link{color:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-content,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-content .ant-menu{background:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-header{background:#fff;border-bottom:1px solid #ebf3fe}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-track{background:#fff;border-radius:4px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-thumb{background:#8695a1;border-radius:4px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-thumb:hover{background:#727e88}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item a,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a{color:#000000d9}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item a:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a:hover{color:#5b76f6}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title{color:#000000a6;font-size:13px;font-weight:700;height:30px;line-height:30px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title .ant-menu-submenu-arrow{color:#000000d9}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#5b76f6}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:active,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:active{background:#0000}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item-selected{background-color:#e6f7ff!important;color:#4285f4!important}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-footer{-webkit-backdrop-filter:none;backdrop-filter:none;background:none;border-top:1px solid #ebf3fe}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-footer .zt-btn-link{color:#4285f4!important}.zmdms-menu--sub.zmdms-menu--sub-item-line .ant-menu-item{height:auto!important;line-height:20px!important;min-height:30px}.zmdms-menu--sub.zmdms-menu--sub-item-line .ant-menu-item .ant-menu-title-content{word-wrap:break-word;display:inline-block;height:auto!important;text-overflow:unset!important;white-space:pre-wrap;width:100%}.logout-spin{background-color:#ffffffb3;bottom:0;left:0;padding-top:100px;position:fixed;right:0;top:0;z-index:1000}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
|
|
3
|
-
interface IProps {
|
|
4
|
-
tabs?: any;
|
|
5
|
-
activeTab?: any;
|
|
6
|
-
deleteTabHandle?: any;
|
|
7
|
-
deleteTabsHandle?: any;
|
|
8
|
-
setActiveTab?: any;
|
|
9
|
-
logout?: () => void;
|
|
10
|
-
userInfo?: any;
|
|
11
|
-
updatePassword?: Function;
|
|
12
|
-
isSaveState?: boolean;
|
|
13
|
-
}
|
|
14
|
-
declare const _default: React__default.NamedExoticComponent<IProps>;
|
|
15
|
-
|
|
16
|
-
export { _default as default };
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
|
|
3
|
-
interface ILayoutSiderProps {
|
|
4
|
-
siderWidth?: number;
|
|
5
|
-
subMenuWidth?: number;
|
|
6
|
-
addTab?: any;
|
|
7
|
-
siderBg?: any;
|
|
8
|
-
logo?: any;
|
|
9
|
-
logoStyle?: React__default.CSSProperties;
|
|
10
|
-
subMenuLogo?: any;
|
|
11
|
-
/** 隐藏二级菜单背景 */
|
|
12
|
-
hideSubMenuBg?: boolean;
|
|
13
|
-
/** 菜单是否换行显示 */
|
|
14
|
-
menuItemLine?: boolean;
|
|
15
|
-
/** 二级菜单是否换行显示 */
|
|
16
|
-
subMenuItemLine?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* 是否显示搜索框
|
|
19
|
-
*/
|
|
20
|
-
isShowSearchInput?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* 微应用列表,在qiankun下有用 需要拼接路由前缀
|
|
23
|
-
*/
|
|
24
|
-
apps?: any;
|
|
25
|
-
/** 当前选中页签 */
|
|
26
|
-
activeTab?: string;
|
|
27
|
-
/** 用户一级菜单 */
|
|
28
|
-
userMenus?: any;
|
|
29
|
-
/** 用户二级菜单 */
|
|
30
|
-
userSubMenus?: any;
|
|
31
|
-
/** 合并的系统id [[110, 111], [121, 131]] */
|
|
32
|
-
mergeSystemIds?: number[][];
|
|
33
|
-
/** 合并的系统id对应合并后的系统id ['hr', 'xx'] */
|
|
34
|
-
postMergeSystemIds?: (string | number)[];
|
|
35
|
-
/** 二级菜单头部内容 */
|
|
36
|
-
drawerTitle?: React__default.ReactNode;
|
|
37
|
-
/** 初始化选中菜单 */
|
|
38
|
-
selectMainMenu?: (activeTab: any) => any;
|
|
39
|
-
/** 菜单拼接规则 */
|
|
40
|
-
menuJoinRule?: (menuInfo: any, preFix: string) => boolean | string;
|
|
41
|
-
/**
|
|
42
|
-
* 自定义渲染菜单
|
|
43
|
-
* addTab({
|
|
44
|
-
key: newPath,
|
|
45
|
-
path: newPath,
|
|
46
|
-
label: menuItem.name,
|
|
47
|
-
})
|
|
48
|
-
**/
|
|
49
|
-
renderItem?: (path: string, menu: any, onClick: any) => React__default.ReactNode | false;
|
|
50
|
-
defaultVisible?: boolean;
|
|
51
|
-
defaultFixed?: boolean;
|
|
52
|
-
/** 只有当主菜单有对应子菜单数据时,点击时才打开子菜单 */
|
|
53
|
-
openOnlyHasSubmenus?: boolean;
|
|
54
|
-
}
|
|
55
|
-
declare const _default: React__default.NamedExoticComponent<ILayoutSiderProps>;
|
|
56
|
-
|
|
57
|
-
export { _default as default };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.auth-loading{align-items:center;display:flex;flex-direction:column;font-size:20px;height:50vh;justify-content:center;width:100vw}.auth-loading .ant-spin-dot{font-size:18px}.auth-loading .ant-spin-text{font-size:20px}
|