@next-bricks/advanced 0.44.1 → 0.44.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7157.e4553c8c.js","mappings":"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","sources":["webpack:///./src/table/table.shadow.css","webpack:///../../node_modules/react-resizable/css/styles.css","webpack:///./src/text-tooltip/styles.shadow.css","webpack:///../../node_modules/react-grid-layout/css/styles.css","webpack:///./src/tree-select/styles.shadow.css","webpack:///../../node_modules/react-resizable/css/styles.css?2de9","webpack:///./src/tree/styles.shadow.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/cascader/styles.shadow.css","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/react-grid-layout/css/styles.css?df02","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///./src/workbench-layout/styles.shadow.css","webpack:///./src/table/utils.tsx","webpack:///./src/table/BrickTable.tsx","webpack:///./src/table/i18n.ts","webpack:///./src/table/index.tsx","webpack:///../../src/FormItemElement.tsx","webpack:///./src/cascader/index.tsx","webpack:///./src/next-table/index.tsx","webpack:///./src/workbench-layout/index.tsx","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///./src/data-providers/snapshot.ts","webpack:///./src/data-providers/capture-snapshot.ts","webpack:///./src/tree/index.tsx","webpack:///./src/tree-select/index.tsx","webpack:///./src/text-tooltip/index.tsx","webpack:///./src/pdf-viewer/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.brickTableOddRow{background-color:var(--color-fill-bg-base-4)}.ant-table-small .ant-table-body{margin:0}.ant-table-small .ant-table-thead{background:var(--antd-table-header-bg)}.ant-table-small .ant-table-row{line-height:26px}.ant-table-tbody > tr.invalidRow > td{background-color:var(--color-error-bg)}.ant-table-tbody > tr.invalidRow:hover > td{background-color:var(--color-error-bg)}.ant-table-tbody > tr.disabledRow > td{background-color:var(--theme-gray-border-color)}.ant-table-tbody > .ant-table-row-selected td{background:var(--antd-table-cell-fixed-body-bg)!important}td.alignTop{vertical-align:top}td.alignBottom{vertical-align:bottom}.expandIconCellHidden .ant-table-row-expand-icon-cell,\n.expandIconCellHidden .ant-table-expand-icon-col{width:1px;min-width:auto}.expandIconCellHidden .ant-table-row-expand-icon-cell > *,\n.expandIconCellHidden .ant-table-expand-icon-col > *{display:none}.expandIconSpan{cursor:pointer;margin-right:9px;color:var(--antd-table-row-expand-icon-color);font-size:11px}.expandIconSpan .anticon{background:var(--antd-table-row-expand-icon-action-bg);border-radius:2px;padding:3px}.tableThTransparent thead.ant-table-thead > tr > th{background:var(--antd-table-header-bg)}.zebraPatternTable .ant-table-tbody tr td{border-bottom:0}.ellipsis{max-width:240px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.totalText{color:var(--antd-pagination-total-text)}.total{font-weight:normal;color:var(--antd-pagination-total-strong-text)}.ant-table-wrapper .ant-table-thead > tr > th{padding:11px 16px;font-size:12px;line-height:20px;border-bottom:0;font-weight:500;color:var(--antd-table-header-color)}.ant-table-wrapper .ant-table-pagination.ant-pagination{margin:24px 0}.xSmallSizeTable .ant-table{line-height:1}.xSmallSizeTable .ant-table .ant-table-selection-col{width:32px}.xSmallSizeTable .ant-table-thead tr th,\n.xSmallSizeTable .ant-table-tbody tr td{padding:0px 2px}.xSmallSizeTable .ant-table-thead tr th:first-child,\n.xSmallSizeTable .ant-table-tbody tr td:first-child{padding:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline;width:-moz-fit-content;width:fit-content;max-width:100%}:host([hidden]){display:none}.ellipsisWrap{display:-webkit-box;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp);white-space:normal;overflow:hidden}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.ant-tree-select{width:100%;min-height:28px;height:max-content}.ant-select-lg{height:38px}.ant-select-sm{height:20px}.ant-select-multiple .ant-select-selector{border-radius:var(--small-border-radius)}.ant-select-multiple .ant-select-selector:after{line-height:22px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}:host .ant-tree{background-color:transparent}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ant-select-single .ant-select-selector{border-radius:var(--medius-border-radius)}.ant-select-dropdown{border-radius:var(--medius-border-radius)}.ant-cascader-dropdown .ant-cascader-menu-item{border-radius:var(--small-border-radius)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{overflow:auto}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:200px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:6px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1;width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import {\n lt,\n lte,\n gt,\n gte,\n get,\n isEqual,\n forEach,\n includes,\n isUndefined,\n} from \"lodash\";\nimport { type CellStatusProps } from \"./index.js\";\nexport const compareFunMap: Record<string, any> = {\n $eq: isEqual,\n $lt: lt,\n $lte: lte,\n $gt: gt,\n $gte: gte,\n $ne: (value: any, fieldValue: any): boolean => !isEqual(value, fieldValue),\n $isEqual: isEqual,\n $notEqual: (value: any, fieldValue: any): boolean =>\n !isEqual(value, fieldValue),\n $in: includes,\n $nin: (value: any, fieldValue: any): boolean => !includes(value, fieldValue),\n $exists: (value: any, fieldValue: any): boolean =>\n value ? !isUndefined(fieldValue) : isUndefined(fieldValue),\n};\n\nexport function getCellStyle(\n cellStatus: CellStatusProps,\n item: Record<string, any>,\n value?: any\n): Record<string, string> {\n const { dataIndex, mapping: list } = cellStatus;\n const finalValue = dataIndex !== undefined ? get(item, dataIndex) : value;\n const ret = list.find((item) => item.value === finalValue);\n\n if (!ret) return {};\n\n return {\n borderLeft: `4px solid ${ret.leftBorderColor}`,\n };\n}\nexport const getKeysOfData = (\n data: Record<string, any>[],\n rowKey: string,\n childrenColumnName: string,\n keys: string[]\n): void => {\n if (data) {\n forEach(data, (item) => {\n const children = get(item, childrenColumnName);\n const key = get(item, rowKey);\n keys.push(key);\n if (children?.length) {\n getKeysOfData(children, rowKey, childrenColumnName, keys);\n }\n });\n }\n};\nexport const getRowsOfData = (\n data: Record<string, any>[],\n childrenColumnName: string,\n rows: Record<string, any>[]\n): void => {\n if (data) {\n forEach(data, (item) => {\n const children = get(item, childrenColumnName);\n rows.push(item);\n if (children?.length) {\n getRowsOfData(children, childrenColumnName, rows);\n }\n });\n }\n};\n\nexport function stripEmptyExpandableChildrenByName(\n name: string,\n data: Record<string, any>[] = []\n): Record<string, any>[] {\n if (data?.length) {\n data.forEach((value) => {\n if (value[name]?.length) {\n return stripEmptyExpandableChildrenByName(name, value[name]);\n }\n\n delete value[name];\n return value;\n });\n }\n return data;\n}\n","import React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport { Table, type TableProps, ConfigProvider } from \"antd\";\nimport { getCellStyle } from \"./utils.js\";\nimport { pickBy, isNil, toPath, isEqual } from \"lodash\";\nimport classNames from \"classnames\";\nimport { DndProvider, useDrag, useDrop } from \"react-dnd\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport update from \"immutability-helper\";\nimport { CustomColumn } from \"./index.js\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { NS, locales } from \"./i18n.js\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\n\nimport { i18n } from \"@next-core/i18n\";\n\nimport type { Locale } from \"antd/es/locale\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\n\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\ninitializeReactI18n(NS, locales);\nconst type = \"DraggableBodyRow\";\n\nconst downMenuIcon: GeneralIconProps = {\n lib: \"antd\",\n icon: \"down\",\n theme: \"outlined\",\n};\n\nconst rightMenuIcon: GeneralIconProps = {\n lib: \"antd\",\n icon: \"right\",\n theme: \"outlined\",\n};\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface BrickTableProps {\n shadowRoot: ShadowRoot | null;\n dataSource: Record<string, any>[];\n columns: CustomColumn[];\n configProps?: TableProps<any>;\n error?: any;\n onDelete?: (index: number) => void;\n onChange: any;\n onSelectChange?: (selected: string[]) => void;\n showCard?: boolean;\n // 展开行相关属性\n expandedRowBrick?: {\n useBrick?: UseSingleBrickConf;\n };\n expandIcon?: {\n collapsedIcon: GeneralIconProps;\n expandedIcon: GeneralIconProps;\n };\n expandIconAsCell?: boolean;\n expandIconColumnIndex?: number;\n expandRowByClick?: boolean;\n defaultExpandAllRows?: boolean;\n onExpand?: (expanded: boolean, record: Record<string, any>) => void;\n onExpandedRowsChange?: (expandedRows: React.Key[]) => void;\n expandedRowKeys?: React.Key[];\n rowKey?: string;\n childrenColumnName?: string;\n tableDraggable?: boolean;\n onDrag?: (data: Record<string, any>[]) => void;\n zebraPattern?: boolean;\n scroll?: TableProps<unknown>[\"scroll\"];\n optimizedColumns?: Array<string | number>;\n ellipsisInfo?: boolean;\n thTransparent?: boolean;\n showHeader?: boolean;\n xSmallSizeTable?: boolean;\n}\n\nconst DraggableBodyRow = ({\n index,\n moveRow,\n className,\n style,\n ...restProps\n}: any) => {\n const ref = React.useRef(null);\n const [{ isOver, dropClassName }, drop] = useDrop({\n accept: type,\n collect: (monitor: any) => {\n const { index: dragIndex } = monitor.getItem() || {};\n if (dragIndex === index) {\n return {};\n }\n return {\n isOver: monitor.isOver(),\n dropClassName:\n dragIndex < index ? `dropOverDownward` : `dropOverUpward`,\n };\n },\n drop: (item: any) => {\n moveRow(item.index, index);\n },\n });\n const [, drag] = useDrag({\n type,\n item: { type, index },\n collect: (monitor: any) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n drop(drag(ref));\n return (\n <tr\n ref={ref}\n className={classNames(className, {\n [dropClassName as string]: isOver,\n })}\n style={{ cursor: \"move\", ...style }}\n {...restProps}\n />\n );\n};\n\nconst getCustomHeader = (\n useBrick: UseSingleBrickConf,\n data?: { title: unknown }\n): (() => React.ReactElement) => {\n return function CustomHeader() {\n return <ReactUseMultipleBricks useBrick={useBrick} data={data} />;\n };\n};\n\ntype ItemBrickDataMap = Map<unknown, BrickData>;\ntype BrickData = {\n cellData: unknown;\n rowData: Record<string, unknown>;\n columnIndex: number;\n};\n\nconst getCustomComp = (\n useBrick: UseSingleBrickConf,\n itemBrickDataMap?: ItemBrickDataMap\n) => {\n return function CustomComp(\n value: any,\n item: Record<string, any>,\n index: number\n ) {\n if (useBrick) {\n let brickData: BrickData | undefined = itemBrickDataMap?.get(item);\n\n if (!brickData) {\n brickData = {\n cellData: value,\n rowData: item,\n columnIndex: index,\n };\n itemBrickDataMap?.set(item, brickData);\n }\n\n return <ReactUseMultipleBricks useBrick={useBrick} data={brickData} />;\n }\n };\n};\n\nexport function BrickTable(props: BrickTableProps): React.ReactElement {\n const locale = (i18n.language.split(\"-\")[0] === \"zh\"\n ? zhCN\n : enUS) as unknown as Locale;\n if (props.error) {\n throw props.error;\n }\n\n const {\n configProps = {\n pagination: true,\n sortBy: false,\n },\n columns,\n rowKey = \"key\",\n expandIconAsCell,\n expandIconColumnIndex,\n childrenColumnName,\n scroll,\n onDelete, // 用于 brick form 中,will be deprecated\n ellipsisInfo,\n showHeader,\n } = props;\n\n const initData = useMemo(() => {\n return props.dataSource?.map((item, index) =>\n isNil(item[rowKey]) ? { ...item, [rowKey]: index } : item\n );\n }, [props.dataSource, rowKey]);\n\n const [data, setData] = useState(initData);\n const rowKeyExpandIconMapRef = useRef<Map<unknown, React.ReactNode>>(\n new Map()\n );\n const columnTitleBrickDataMapRef = useRef<\n Map<CustomColumn, { title: unknown }>\n >(new Map());\n const useBrickItemBrickDataMapRef = useRef<\n Map<UseSingleBrickConf, ItemBrickDataMap>\n >(new Map());\n const itemExpandedRowBrickDataMapRef = useRef<Map<unknown, unknown>>(\n new Map()\n );\n\n useEffect(() => {\n itemExpandedRowBrickDataMapRef.current.clear();\n setData(initData);\n }, [initData]);\n\n const expandIconColumnIndexOffset = (configProps as TableProps<any>)\n ?.rowSelection\n ? -1\n : 0;\n const customColumns = useMemo(() => {\n if (columns) {\n columnTitleBrickDataMapRef.current.clear();\n useBrickItemBrickDataMapRef.current.clear();\n const customColumns = columns.map((column, index) => {\n const {\n useBrick,\n valueSuffix,\n cellStatus,\n cellStyle = {},\n headerBrick,\n colSpanKey,\n rowSpanKey,\n filterDropdownBrick,\n ...columnConf\n } = column;\n if (headerBrick?.useBrick) {\n const useBrick = headerBrick?.useBrick;\n let data = columnTitleBrickDataMapRef.current.get(column);\n\n if (!data) {\n data = {\n title: columnConf.title,\n };\n columnTitleBrickDataMapRef.current.set(column, data);\n }\n\n columnConf.title = getCustomHeader(\n useBrick as UseSingleBrickConf,\n data\n );\n }\n\n if (filterDropdownBrick?.useBrick) {\n columnConf.filterDropdown = (\n <ReactUseMultipleBricks useBrick={filterDropdownBrick.useBrick} />\n );\n }\n\n if (useBrick) {\n let itemBrickDataMap: ItemBrickDataMap | undefined;\n\n if (useBrick) {\n itemBrickDataMap =\n useBrickItemBrickDataMapRef.current.get(useBrick);\n\n if (!itemBrickDataMap) {\n itemBrickDataMap = new Map();\n useBrickItemBrickDataMapRef.current.set(\n useBrick,\n itemBrickDataMap\n );\n }\n }\n\n columnConf.render = getCustomComp(useBrick, itemBrickDataMap);\n // [only update when record changed](https://ant.design/components/table-cn/#%E4%B8%BA%E4%BB%80%E4%B9%88-%E6%9B%B4%E6%96%B0-state-%E4%BC%9A%E5%AF%BC%E8%87%B4%E5%85%A8%E8%A1%A8%E6%B8%B2%E6%9F%93%EF%BC%9F)\n columnConf.shouldCellUpdate = (record: any, prevRecord: any) => {\n return !isEqual(record, prevRecord);\n };\n } else if (valueSuffix) {\n columnConf.render = (value: string) => value + valueSuffix;\n }\n if (\n !expandIconAsCell &&\n index === Number(expandIconColumnIndex) + expandIconColumnIndexOffset\n ) {\n const innerRender = columnConf.render;\n columnConf.render = function ExpandIcon(\n value: any,\n record: any,\n index: any\n ) {\n return (\n <>\n {!record[childrenColumnName as string] &&\n rowKeyExpandIconMapRef.current.get(\n rowKey ? record[rowKey] : record\n )}\n {innerRender ? innerRender(value, record, index) : value}\n </>\n );\n };\n }\n if (cellStatus || colSpanKey || rowSpanKey || cellStyle) {\n const innerRender = columnConf.render;\n columnConf.render = (value: any, item: any, index: number) => {\n return {\n children: innerRender ? innerRender(value, item, index) : value,\n props: {\n colSpan: item[colSpanKey as string],\n rowSpan: item[rowSpanKey as string],\n style: {\n ...(cellStatus ? getCellStyle(cellStatus, item, value) : {}),\n ...cellStyle,\n },\n },\n };\n };\n }\n\n if (typeof columnConf.dataIndex === \"string\") {\n columnConf.dataIndex = toPath(columnConf.dataIndex);\n }\n if (columnConf.verticalAlign === \"top\") {\n columnConf.className\n ? (columnConf.className += \" alignTop\")\n : (columnConf.className = \"alignTop\");\n }\n if (columnConf.verticalAlign === \"bottom\") {\n columnConf.className\n ? (columnConf.className += \" alignBottom\")\n : (columnConf.className = \"alignBottom\");\n }\n if (ellipsisInfo) {\n columnConf.className\n ? (columnConf.className += \" ellipsisInfoCell\")\n : (columnConf.className = \"ellipsisInfoCell\");\n }\n return columnConf;\n });\n\n return customColumns;\n }\n }, [\n columns,\n childrenColumnName,\n expandIconAsCell,\n expandIconColumnIndex,\n expandIconColumnIndexOffset,\n rowKey,\n onDelete,\n ellipsisInfo,\n ]);\n\n const expandedRowRender = (record: Record<string, any>, index: number) => {\n let data = itemExpandedRowBrickDataMapRef.current.get(record);\n\n if (!data) {\n data = {\n rowData: record,\n rowIndex: index,\n };\n itemExpandedRowBrickDataMapRef.current.set(record, data);\n }\n\n return (\n <ReactUseMultipleBricks\n useBrick={props.expandedRowBrick?.useBrick as UseSingleBrickConf}\n data={data}\n />\n );\n };\n\n const components = {\n body: {\n row: DraggableBodyRow,\n },\n };\n\n const moveRow = (dragIndex: number, hoverIndex: number) => {\n const dragRow = data[dragIndex];\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const newData = update(data, {\n $splice: [\n [dragIndex, 1],\n [hoverIndex, 0, dragRow],\n ],\n });\n setData(newData);\n props.onDrag && props.onDrag(newData);\n };\n\n const onExpand = (expanded: boolean, record: Record<string, any>) => {\n props.onExpand && props.onExpand(expanded, record);\n };\n\n const onExpandedRowsChange = (expandedRows: React.Key[]) => {\n props.onExpandedRowsChange && props.onExpandedRowsChange(expandedRows);\n };\n\n const getCustomExpandIcon = (iconProps: any) => {\n const { record, expandable, expanded, onExpand } = iconProps;\n let icon = props.expandIcon?.collapsedIcon || downMenuIcon;\n let iconNode: React.ReactNode;\n if (expandable) {\n if (!expanded) {\n icon = props.expandIcon?.expandedIcon || rightMenuIcon;\n }\n iconNode = (\n <span\n className=\"expandIconSpan\"\n data-testid=\"expand-icon\"\n onClick={(e) => {\n onExpand(record, e);\n }}\n >\n <WrappedIcon {...(icon as GeneralIconProps)} />\n </span>\n );\n } else {\n iconNode = (\n <span className=\"expandIconSpan\" data-testid=\"expand-icon\">\n <span style={{ visibility: \"hidden\" }}>\n <WrappedIcon {...(icon as GeneralIconProps)} />\n </span>\n </span>\n );\n }\n\n if (iconNode) {\n if (!expandIconAsCell) {\n rowKeyExpandIconMapRef.current.set(\n rowKey ? record[rowKey] : record,\n iconNode\n );\n }\n return iconNode;\n } else {\n return <></>;\n }\n };\n\n const pickExpandProps = pickBy(\n {\n expandIconColumnIndex,\n expandIconAsCell,\n expandRowByClick: props.expandRowByClick,\n expandedRowKeys: props.expandedRowKeys,\n defaultExpandAllRows: props.defaultExpandAllRows,\n },\n (item) => !isNil(item)\n );\n\n let table = (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n <Table\n className={classNames(\"brickTable\", {\n expandIconCellHidden: !expandIconAsCell,\n customDropTable: props.tableDraggable,\n tableThTransparent: props.thTransparent,\n zebraPatternTable: data?.length >= 2 && props.zebraPattern,\n xSmallSizeTable: props.xSmallSizeTable,\n })}\n dataSource={data}\n {...(props.tableDraggable\n ? {\n components,\n onRow: (record, index) => ({\n index,\n moveRow: moveRow,\n }),\n }\n : {})}\n columns={customColumns}\n onChange={props.onChange}\n {...(props.expandedRowBrick\n ? {\n expandedRowRender,\n }\n : {})}\n {...pickExpandProps}\n onExpand={onExpand}\n showSorterTooltip={false}\n onExpandedRowsChange={onExpandedRowsChange}\n rowKey={rowKey}\n childrenColumnName={childrenColumnName}\n rowClassName={(record, index) => {\n if (record.invalidRow) {\n return \"invalidRow\";\n }\n if (record.disabledRow) {\n return \"disabledRow\";\n }\n return props.zebraPattern && index % 2 ? \"brickTableOddRow\" : \"\";\n }}\n expandIcon={getCustomExpandIcon}\n scroll={scroll}\n showHeader={showHeader}\n {...configProps}\n />\n );\n\n if (props.tableDraggable) {\n table = (\n <DndProvider backend={HTML5Backend} context={window}>\n {table}\n </DndProvider>\n );\n }\n\n const cahce = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <ConfigProvider locale={locale}>\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cahce}>\n {table}\n </StyleProvider>\n </ConfigProvider>\n );\n}\n","export enum K {}\n\nconst en: Locale = {};\n\nconst zh: Locale = {};\n\nexport const NS = \"bricks/advanced/eo-table\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string };\n","import React from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport styleText from \"./table.shadow.css\";\nimport { ColumnProps, TablePaginationConfig, TableProps } from \"antd/es/table\";\nimport { BrickEventsMap, UseSingleBrickConf } from \"@next-core/types\";\nimport {\n get,\n map,\n set,\n isEmpty,\n merge,\n isNil,\n forEach,\n cloneDeep,\n isArray,\n uniq,\n pullAll,\n every,\n find,\n pull,\n filter,\n flatten,\n keyBy,\n} from \"lodash\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { BrickTable } from \"./BrickTable.js\";\nimport {\n TableRowSelection,\n SorterResult,\n RowSelectionType,\n} from \"antd/lib/table/interface.js\";\nimport {\n compareFunMap,\n getKeysOfData,\n getRowsOfData,\n stripEmptyExpandableChildrenByName,\n} from \"./utils.js\";\nimport type { SortOrder } from \"antd/lib/table/interface.js\";\nimport type { DataIndex } from \"rc-table/lib/interface.js\";\nimport type { SizeType } from \"antd/lib/config-provider/SizeContext.js\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport \"@next-core/theme\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface RowDisabledProps {\n field: string;\n value: any;\n operator:\n | \"$eq\"\n | \"$ne\"\n | \"$lt\"\n | \"$lte\"\n | \"$gt\"\n | \"$gte\"\n | \"$isEqual\"\n | \"$notEqual\"\n | \"$in\"\n | \"$nin\"\n | \"$exists\";\n}\n\nexport interface CellStatusProps {\n dataIndex?: string;\n mapping: Array<{\n leftBorderColor: string;\n value: any;\n }>;\n}\n\nexport interface CustomColumnComponent {\n /** 构件名称 */\n brick: string | any;\n /** 字段值、列表项和 index 对应所用构件的属性的 key */\n fields?: {\n value?: string;\n item?: string;\n index?: string;\n };\n /** 构件属性 */\n properties?: Record<string, any>;\n /** 事件 */\n events?: BrickEventsMap;\n}\n\nexport interface CustomColumn extends ColumnProps<Record<string, any>> {\n /**\n * 支持为某列自定义展示构件\n */\n useBrick?: UseSingleBrickConf;\n /**\n * 字段的值展示时的后缀\n */\n valueSuffix?: string;\n /**\n * 支持为某列的表头自定义展示构件,可通过 DATA.title 获取标题文本\n */\n headerBrick?: {\n useBrick: UseSingleBrickConf;\n };\n /**\n * 在渲染自定义构件的场景下额外设置单元格的状态样式, `dataIndex` 表示取哪一列的字段值作为判断数据,不填的话默认取当前列的字段,`mapping` 表示判断的条件,条件被成功匹配时用当前的样式。目前仅支持单元格 `leftBorderColor` 属性的设置\n */\n cellStatus?: CellStatusProps;\n /**\n * 设置列的每个单元格样式\n */\n cellStyle?: React.CSSProperties;\n /**\n * 单元格内元素的垂直对齐方式\n */\n verticalAlign?: \"top\" | \"bottom\";\n /**\n * 每条记录的控制列合并的值的 key\n */\n colSpanKey?: string;\n /**\n * 每条记录的控制行合并的值的 key\n */\n rowSpanKey?: string;\n /**\n * 自定义筛选菜单\n */\n filterDropdownBrick?: {\n useBrick: UseSingleBrickConf;\n };\n}\n\n/**\n * 简易表格构件。\n *\n * ⚠️ 通常情况下,应使用 `eo-next-table` 替代。\n *\n * @author sailor\n * @category table\n *\n * @insider\n */\n@defineElement(\"eo-table\", {\n styleTexts: [styleText],\n alias: [\"advanced.general-table\"],\n})\nclass TableComponent extends ReactNextElement {\n /**\n * 页码变化,pagePath 可在 fields.page 中设置,默认为 page\n */\n @event({ type: \"page.update\" }) accessor #pageUpdate!: EventEmitter<\n Record<string, number>\n >;\n\n /**\n * 每页条数变化 ,pagePath 可在 fields.page 中设置,pageSizePath 可在 fields.pageSize 中设置,默认为 pageSize\n */\n @event({ type: \"filter.update\" }) accessor #filterUpdate!: EventEmitter<\n Record<string, number>\n >;\n\n /**\n * 勾选框变化,detail 中为所选的行数据\n */\n @event({ type: \"select.update\" }) accessor #selectUpdate!: EventEmitter<\n Record<string, any>[]\n >;\n\n /**\n * 勾选框变化,detail 中为所选的行key集合\n */\n @event({ type: \"select.row.keys.update\" })\n accessor #selectRowKeysUpdate!: EventEmitter<string[]>;\n\n /**\n * 排序变化,detail 中的 sort 为对应排序列的 key/dataIndex,order 为升序/降序\n */\n @event({ type: \"sort.update\", cancelable: true })\n accessor #sortUpdate!: EventEmitter<{\n sort: string;\n order: string | number;\n }>;\n\n /**\n * 点击展开图标时触发的事件,事件详情中`expanded`为是否展开,`record`被点击的行信息\n */\n @event({ type: \"row.expand\" }) accessor #rowExpand!: EventEmitter<{\n expanded: boolean;\n record: Record<string, any>;\n }>;\n\n /**\n * 展开的行变化时触发的事件,事件详情为当前展开的所有行的`rowKey`集合\n */\n @event({ type: \"expand.rows.change\" })\n accessor #expandRowsChange!: EventEmitter<{\n expandedRows: React.Key[];\n }>;\n\n /**\n * 表格行拖拽结束发生的事件,事件详情为拖拽后重新排序的所有行数据\n */\n @event({ type: \"row.drag\" }) accessor #rowDrag!: EventEmitter<{\n data: Record<string, any>[];\n }>;\n\n /**\n * 扩展自 ant-design 的 Column 相关配置项,具体查阅:[Column](https://ant.design/components/table-cn/#Column)\n */\n set columns(value: CustomColumn[]) {\n this._columns = value;\n this._render();\n }\n get columns(): CustomColumn[] {\n return this._columns as CustomColumn[];\n }\n\n /**\n * 数据源,通过 useResolves 从后台接口获取或者直接在 storyboard 中配置\n */\n set dataSource(value: Record<string, any>[]) {\n this._isInSelect = false;\n this._originalDataSource = value;\n this._dataSource = cloneDeep(\n this._fields.dataSource ? get(value, this._fields.dataSource) : value\n );\n // 前端搜索需要保留一个干净的数据\n this._pureSource = cloneDeep(this._dataSource);\n if (this.stripEmptyExpandableChildren) {\n const columnName =\n this.configProps?.expandable?.childrenColumnName || \"children\";\n stripEmptyExpandableChildrenByName(columnName, this._dataSource);\n }\n this.#total = get(value, this._fields.total as string);\n this.page = get(value, \"page\") ?? this.page ?? 1;\n this.pageSize =\n get(value, \"page_size\") ?? get(value, \"pageSize\") ?? this.pageSize ?? 10;\n this._render();\n }\n\n /**\n * 是否显示外层卡片\n */\n @property({\n type: Boolean,\n })\n accessor showCard = true;\n\n /**\n * 表格行是否可选择,具体查阅:[rowSelection](https://ant.design/components/table-cn/#rowSelection)\n */\n @property({\n attribute: false,\n })\n accessor rowSelection: false | TableRowSelection<any> | undefined;\n\n /**\n * 指定每一行的 key,不指定则默认为索引 index。强烈建议设置该属性,否则在某些情况下可能行为不如预期。\n */\n @property()\n accessor rowKey: string | undefined;\n\n /**\n * 隐藏相应列(输入对应的 dataIndex 或者 key 即可)\n */\n @property({\n attribute: false,\n })\n accessor hiddenColumns: Array<string | number> | undefined;\n\n /**\n * 是否显示已选择信息和清除按钮。仅在设置了`rowSelection`时有效。默认不显示\n * @group rowSelection\n */\n @property({\n type: Boolean,\n })\n accessor showSelectInfo = false;\n\n // 表头过滤的 filters\n /**\n * 表头过滤的过滤项,key 为 column 的 dataIndex,value 为过滤值集合。\n * @group paginationAndFilter\n */\n @property({\n attribute: false,\n })\n accessor filters: Record<string, string[]> | undefined;\n\n /**\n * ant-design 的 Table 相关配置项,具体查阅:[Table](https://ant.design/components/table-cn/#Table),其中分页配置和行选择配值在构件中设置了常用的默认配置,也可自行覆盖,具体描述见下表\n * @group other\n */\n @property({\n attribute: false,\n })\n accessor configProps: any;\n\n /**\n * 被排序列的 dataIndex。通常来自于 url 参数,可以设置成 ${QUERY.sort}。\n * @group paginationAndFilter\n */\n @property()\n accessor sort: string | undefined | null;\n\n /**\n * 升序/降序,可以设置成 ${QUERY.order}。\n * @group paginationAndFilter\n */\n @property({\n attribute: false,\n })\n accessor order: string | number | undefined | null;\n\n /**\n * 配置每一行是否禁用,其中 `field` 表示数据源中的字段路径, `value` 表示与其字段比较的值, `operator` 表示两者比较的方法,结果为 `true` 时会禁用当前行, 需要注意的是该配置需要在 `rowSelection: true` 的前提下使用,并且设置 `rowKey` 属性赋予每行唯一的 key,防止顺序变化时造成的错误勾选(如上 demo 所示)\n * @group rowSelection\n */\n @property({\n attribute: false,\n })\n accessor rowDisabledConfig: RowDisabledProps | RowDisabledProps[] | undefined;\n\n // start -- 行展开相关属性\n /**\n * 自定义行展开的构件 [UseBrickConf](/next-docs/docs/api-reference/brick-types.usesinglebrickconf)\n * @group expand\n */\n @property({\n attribute: false,\n })\n accessor expandedRowBrick:\n | {\n useBrick?: UseSingleBrickConf;\n }\n | undefined;\n\n /**\n * 自定义展开图标。\n * @default {collapsedIcon:{lib:'antd',icon:'down',theme:'outlined'},expandedIcon:{lib:'antd',icon:'right',theme:'outlined'}}\n * @group expand\n */\n @property({\n attribute: false,\n })\n accessor expandIcon:\n | {\n collapsedIcon: GeneralIconProps;\n expandedIcon: GeneralIconProps;\n }\n | undefined;\n\n /**\n * 展开的图标是否为一个单元格,默认显示在第一列;设置为 false 的时候,可以通过`expandIconColumnIndex`属性设置展开的图标在哪一列\n * @default true\n * @group expand\n */\n @property({\n attribute: false,\n })\n accessor expandIconAsCell = true;\n\n /**\n * 展开的图标显示在哪一列,如果没有 rowSelection,默认显示在第一列,否则显示在选择框后面。当`expandIconAsCell`为 false 时,该属性生效。\n * @group expand\n */\n @property({\n type: Number,\n })\n accessor expandIconColumnIndex: number | undefined;\n\n /**\n * 通过点击行来展开子行\n * @group expand\n */\n @property({\n type: Boolean,\n })\n accessor expandRowByClick: boolean | undefined;\n\n /**\n * 优化渲染的列(输入对应的 dataIndex),针对配置了 useBrick 的列。当前 antd 在更新 state 的时候,会全量渲染单元格,如果确定某一列在后续操作中不需要重新渲染,例如仅作为展示的单元格,可通过该属性设置以优化性能。注意,在树形表格中,当某一列内包含展开/收起按钮,则不应该设置该列。\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor optimizedColumns: Array<string | number> | undefined;\n\n /**\n * 树形数据展示时是否需要去除空数组\n * @group expand\n */\n @property({\n attribute: false,\n })\n accessor stripEmptyExpandableChildren = false;\n\n /**\n * 初始时,是否展开所有行\n * @group expand\n */\n @property({\n type: Boolean,\n })\n accessor defaultExpandAllRows: boolean | undefined;\n\n /**\n * 是否显示省略信息\n * @group basic\n */\n @property({ type: Boolean })\n accessor ellipsisInfo: boolean | undefined;\n\n /**\n * 展开的行的 rowKey\n * @group expand\n */\n @property({\n attribute: false,\n })\n accessor expandedRowKeys: string[] | undefined;\n\n // end -- 行展开相关属性\n\n /**\n * 表格树形数据展示的时候,行选择父节点的时候是否同步勾选/取消勾选所有子节点,并且被同步勾选的子节点不能单独取消。注意,该属性必须设置 `rowKey` 属性。\n * @group expand\n */\n @property({\n type: Boolean,\n })\n accessor selectAllChildren: boolean | undefined;\n\n /**\n * 是否默认选择所有行。注意,该属性必须设置 `rowKey` 属性。\n * @group expand\n */\n @property({\n type: Boolean,\n })\n accessor defaultSelectAll: boolean | undefined;\n\n private _disabledChildrenKeys: React.Key[] = [];\n\n /**\n * 指定树形结构的列名\n * @default children\n * @group expand\n */\n @property({\n attribute: false,\n })\n accessor childrenColumnName = \"children\";\n\n /**\n * 是否支持排序。默认开启,当对应列的sorter设置成true时则可排序。sortable为false时则排序都不生效。\n * @default true\n * @group paginationAndFilter\n */\n @property({\n attribute: false,\n })\n accessor sortable = true;\n\n /**\n * 设置相关字段取自哪里,具体描述见下表\n * @group advanced\n */\n set fields(value: any) {\n this._fields = { ...this._fields, ...value };\n this._render();\n }\n\n /**\n * 是否前端进行搜索,配合`presentational-bricks.brick-input`使用\n * @group paginationAndFilter\n */\n @property({\n type: Boolean,\n })\n accessor frontSearch: boolean | undefined;\n\n /**\n * 前端搜索参数\n * @group paginationAndFilter\n */\n @property()\n accessor frontSearchQuery = \"\";\n\n /**\n * 是否精确搜索\n * @group paginationAndFilter\n */\n @property({\n type: Boolean,\n })\n accessor exactSearch: boolean | undefined;\n\n /**\n * 进行前端搜索的字段,支持嵌套的写法如[\"name\",\"value.a\"],不配置的时候默认为对所有 columns 的 dataIndex[]进行前端搜索\n * @group paginationAndFilter\n */\n @property({\n attribute: false,\n })\n accessor frontSearchFilterKeys: string[] | undefined;\n\n /**\n * 页码。后台搜索的时候一般不需要配置,列表接口返回格式通常为{list:[],page:1,pageSize:10,total:20},即默认取自 page;前台搜索的时候,一般配置成 \"${query.page=1|number}\"\n * @group paginationAndFilter\n */\n @property({\n type: Number,\n })\n accessor page: number | undefined;\n\n /**\n * 页码条数。后台搜索的时候一般不需要配置,列表接口返回格式通常为{list:[],page:1,pageSize:10,total:20},即默认取自 pageSize/page_size;前台搜索的时候,一般配置成 \"${query.pageSize=10|number}\"\n * @group paginationAndFilter\n */\n @property({\n type: Number,\n })\n accessor pageSize: number | undefined;\n\n /**\n * @kind {\n * x?: string | number | true;\n * y?: number | string;\n * } & {\n * scrollToFirstRowOnChange?: boolean;\n * }\n * 表格是否可滚动,也可以指定滚动区域的宽、高,配置项。详见 [scroll](https://ant.design/components/table-cn/#scroll)\n * @required false\n * @default { x: true }\n * @group other\n */\n @property({\n attribute: false,\n })\n accessor scrollConfigs: TableProps<unknown>[\"scroll\"] = { x: true };\n\n /**\n * 把过滤条件更新到 url 时的字段名\n * @default \"q\"\n * @group paginationAndFilter\n */\n @property()\n accessor qField = \"q\";\n\n /**\n * 表格行是否可拖拽,注意,树形数据的表格不支持该功能\n * @group basic\n */\n @property({\n type: Boolean,\n })\n accessor tableDraggable: boolean | undefined;\n\n /**\n * 是否展示斑马纹\n * @group ui\n */\n @property({\n type: Boolean,\n })\n accessor zebraPattern: boolean | undefined;\n\n /**\n * 翻页时是否记住之前选中的项。注意,选中项的rowKey将保存在url中,如果不设置rowKey,该设置不生效。如果选择太多可能会造成url过长,请谨慎使用\n * @group other\n */\n @property({ type: Boolean })\n accessor storeCheckedByUrl: boolean | undefined;\n\n /**\n * 额外的行,通常为跨页勾选时,不在当前页的行\n * @group other\n */\n @property({ attribute: false })\n accessor extraRows: Record<string, unknown>[] = [];\n\n /**\n * 当所有子节点选中时,自动选中父节点\n * @group expand\n */\n @property({ type: Boolean })\n accessor autoSelectParentWhenAllChildrenSelected: boolean | undefined;\n\n /**\n * 表格表头是否透明\n * @group ui\n */\n @property({ type: Boolean })\n accessor thTransparent: boolean | undefined;\n\n /**\n * 是否显示表头\n * @default true\n * @group ui\n */\n @property({\n type: Boolean,\n })\n accessor showHeader = true;\n\n /**\n * 是否显示分页\n * @group paginationAndFilter\n */\n @property({\n attribute: false,\n })\n accessor pagination: false | TablePaginationConfig | undefined;\n\n /**\n * 表格大小(antd原生size)\n * @group ui\n */\n @property()\n accessor size: SizeType | \"x-small\";\n\n /**\n * 选框类型(单选/多选)\n * @group rowSelection\n */\n @property({\n attribute: false,\n })\n accessor type: RowSelectionType | undefined;\n\n /**\n * 是否更新 url 参数。设置为否之后,如果是后台进行分页/排序等功能,则需要结合事件进行编排。如果是前台进行分页/排序,则不需要。\n * @default true\n * @group other\n */\n @property({ type: Boolean })\n accessor shouldUpdateUrlParams = true;\n\n /**\n * 更新 url 参数时是否触发页面重新渲染。仅在`shouldUpdateUrlParams`为true时有效。\n * @default true\n * @group other\n */\n @property({\n type: Boolean,\n })\n accessor shouldRenderWhenUrlParamsUpdate = true;\n\n // 对外获取内部 _dataSource 的值\n // istanbul ignore next\n get processedDataSource() {\n return this._dataSource;\n }\n\n // 对外获取内部 _finalConfigProps 的值\n // istanbul ignore next\n get processConfigProps() {\n return this._finalConfigProps;\n }\n\n // 对外获取内部 _columns 的值\n // istanbul ignore next\n get processedColumns() {\n return this.getModifyColumns();\n }\n\n private _originalDataSource: Record<string, any>[] = [];\n private _dataSource: Record<string, any>[] = [];\n private _pureSource: Record<string, any>[] | undefined;\n private _columns: CustomColumn[] | undefined;\n private _finalConfigProps: any = {}; //处理过的配置,主要处理分页和rowSelect\n private _error: any;\n\n #total?: number | undefined;\n\n private _selectUpdateEventName = \"\";\n private _selectUpdateEventDetailKeys: string[] = [];\n private _selectUpdateEventDetailField = \"\";\n private _selectUpdateEventDetailExtra: any = {};\n\n private _fields: {\n dataSource: string; // 指定 dataSource 从哪里来,默认为列表接口返回格式是{list:[],page:1,pageSize:10,total:20},即默认取自 list\n total: string; // 指定 total 从哪里来,默认为列表接口返回格式是{list:[],page:1,pageSize:10,total:20},即默认取自 total\n page: string; // 指定请求后台 page 参数 path\n pageSize: string; // 指定请求后台 pageSize 参数 path\n rowKey?: string; // 指定每一行的 key,不指定则默认为 index\n ascend?: string | number; // 指定 ascend 排序对应字段,例如有些后台对应为 1 ,有些对应为 \"asc\"。这里默认为 \"ascend\"。\n descend?: string | number; // 指定 descend 排序对应字段,例如有些后台对应为 0 ,有些对应为 \"desc\"。这里默认为 \"descend\"。\n order?: number;\n } = {\n page: \"page\",\n pageSize: \"pageSize\",\n dataSource: \"list\",\n total: \"total\",\n ascend: \"ascend\",\n descend: \"descend\",\n };\n\n /**\n * 指定选中项的 key 数组\n * @default []\n * @group rowSelection\n */\n @property({\n attribute: false,\n })\n accessor selectedRowKeys: React.Key[] = [];\n\n private _selected = false;\n private _selectedRow: Record<string, unknown> | undefined;\n private _selectedRows: Record<string, any>[] = [];\n private _allChildren: Record<string, any>[] = [];\n private _isInSelect = false;\n /**\n * 搜索过滤\n */\n @method()\n filterSourceData(event: CustomEvent): void {\n const q = this.exactSearch\n ? event.detail.q.trim()\n : event.detail.q.trim().toLowerCase();\n if (this.shouldUpdateUrlParams) {\n const history = getHistory();\n const urlSearchParams = new URLSearchParams(history.location.search);\n urlSearchParams.set(\"page\", \"1\");\n if (q) {\n urlSearchParams.set(this.qField, q);\n history.push(`?${urlSearchParams}`, { notify: !this.frontSearch });\n } else {\n urlSearchParams.delete(this.qField);\n history.push(`?${urlSearchParams}`, { notify: !this.frontSearch });\n }\n this.page = 1;\n }\n this.frontSearchQuery = q;\n }\n\n handleFrontendDataChange(\n data: Record<string, any>[] = [],\n columns: CustomColumn[] = []\n ): Record<string, any>[] {\n if (this.shouldUpdateUrlParams) {\n const history = getHistory();\n const urlSearchParams = new URLSearchParams(history.location.search);\n this.frontSearchQuery = urlSearchParams.get(this.qField) as string;\n }\n let tempDataSource: Record<string, any>[] = [];\n tempDataSource = this.handleFrontendFilterSource(\n data,\n this.frontSearchQuery || \"\",\n columns\n );\n const order = isNil(this.order)\n ? null\n : this._fields.ascend === this.order\n ? \"ascend\"\n : \"descend\";\n tempDataSource = this.handleFrontendSorter(tempDataSource, {\n columnKey: this.sort as string,\n order,\n });\n tempDataSource = this.handleFrontendFilters(tempDataSource);\n this.#total = tempDataSource.length;\n return tempDataSource;\n }\n\n // 前端过滤\n handleFrontendFilterSource(\n data: Record<string, any>[],\n q: string,\n columns: CustomColumn[],\n filterKeys?: DataIndex[]\n ): Record<string, any>[] {\n if (!q) {\n return data;\n }\n\n const dataSource: Record<string, any>[] = [];\n\n if (!filterKeys) {\n filterKeys = (this.frontSearchFilterKeys ||\n columns.map((column) => column.dataIndex)) as DataIndex[];\n }\n\n data.forEach((item) => {\n const children = item[this.childrenColumnName];\n\n if (children) {\n const filteredChildren = this.handleFrontendFilterSource(\n children,\n q,\n columns,\n filterKeys\n );\n\n if (filteredChildren.length > 0) {\n dataSource.push({\n ...item,\n [this.childrenColumnName]: filteredChildren,\n });\n return;\n }\n }\n\n const valid = filterKeys?.some((key) => {\n const value = get(item, key);\n if (isNil(value)) {\n return false;\n }\n if (this.exactSearch) {\n return value === q;\n }\n return JSON.stringify(value).toLowerCase().includes(q);\n });\n\n if (valid) {\n dataSource.push(item);\n }\n });\n return dataSource;\n }\n\n private _getRowKey = (): string =>\n this.rowKey ?? this._fields.rowKey ?? this.configProps?.rowKey ?? \"key\";\n\n private _findParentByChildKeyValue = (\n value: string,\n rowKey: string,\n list: Record<string, unknown>[],\n parent?: Record<string, unknown>\n ): Record<string, unknown> | undefined => {\n let matchedParent: Record<string, unknown> | undefined;\n\n list.some((item) => {\n if (item[rowKey] === value) {\n matchedParent = parent;\n } else {\n const children = item[this.childrenColumnName] as Record<\n string,\n unknown\n >[];\n\n if (children) {\n matchedParent = this._findParentByChildKeyValue(\n value,\n rowKey,\n children,\n item\n );\n }\n }\n\n return matchedParent ? true : false;\n });\n\n return matchedParent;\n };\n\n // istanbul ignore next\n private _handleRowSelectChange = (\n selectedRowKeys: string[],\n selectedRows: any[]\n ): void => {\n const rowKey = this._getRowKey();\n const rowKeyRowMap = keyBy(selectedRows, rowKey);\n if (this._selected) {\n const _selectedRowKeys = [...selectedRowKeys];\n this._allChildren.forEach((child) => {\n const rowKeyValue = child[rowKey];\n _selectedRowKeys.push(rowKeyValue);\n rowKeyRowMap[rowKeyValue] = child;\n });\n if (this.autoSelectParentWhenAllChildrenSelected && this._selectedRow) {\n const selectedRowKeySet = new Set(selectedRowKeys);\n const parent = this._findParentByChildKeyValue(\n this._selectedRow[rowKey] as string,\n rowKey,\n this._dataSource as Record<string, unknown>[]\n );\n\n if (\n parent &&\n (parent[this.childrenColumnName] as Record<string, unknown>[]).every(\n (item) => selectedRowKeySet.has(item[rowKey] as string)\n )\n ) {\n const rowKeyValue = parent[rowKey] as string;\n _selectedRowKeys.push(rowKeyValue);\n rowKeyRowMap[rowKeyValue] = parent;\n }\n }\n this.selectedRowKeys = uniq(_selectedRowKeys);\n } else {\n let parent: Record<string, unknown> | undefined;\n\n if (this.autoSelectParentWhenAllChildrenSelected && this._selectedRow) {\n parent = this._findParentByChildKeyValue(\n this._selectedRow[rowKey] as string,\n rowKey,\n this._dataSource as Record<string, unknown>[]\n );\n }\n this.selectedRowKeys = pullAll(\n selectedRowKeys,\n map(\n this._allChildren.concat(\n parent as unknown as Record<string, unknown>[]\n ),\n rowKey\n )\n );\n }\n this._selectedRow = undefined;\n const extraRowKeyRowMap = keyBy(this.extraRows, rowKey);\n this._selectedRows = this.selectedRowKeys.map(\n (key) =>\n rowKeyRowMap[key as string | number] ||\n extraRowKeyRowMap[key as string | number]\n );\n\n let detail = null;\n const data = isEmpty(this._selectUpdateEventDetailField)\n ? this._selectedRows\n : map(this._selectedRows, (row) =>\n get(row, this._selectUpdateEventDetailField)\n );\n detail =\n isEmpty(this._selectUpdateEventDetailKeys) || isEmpty(data)\n ? data\n : set({}, this._selectUpdateEventDetailKeys, data);\n if (!isEmpty(detail)) {\n detail = merge(detail, this._selectUpdateEventDetailExtra);\n }\n if (!this._selectUpdateEventName) {\n this.#selectUpdate.emit(detail);\n } else {\n this.dispatchEvent(\n new CustomEvent(this._selectUpdateEventName, { detail })\n );\n }\n this.#selectRowKeysUpdate.emit(selectedRowKeys);\n };\n\n // istanbul ignore next\n private _getSelectedRowsWithChildren = (\n row: Record<string, any>\n ): Record<string, any>[] => {\n const result: Record<string, any>[] = [];\n if (\n !isEmpty(row[this.childrenColumnName]) &&\n isArray(row[this.childrenColumnName])\n ) {\n forEach(row[this.childrenColumnName], (item) => {\n result.push(item);\n result.push(...this._getSelectedRowsWithChildren(item));\n });\n }\n return result;\n };\n\n // istanbul ignore next\n private _handleOnSelect = (\n row: Record<string, any>,\n checked: boolean\n ): void => {\n this._selected = checked;\n this._selectedRow = row;\n this._isInSelect = true;\n const rowKey = this._getRowKey();\n const allChildren = this.selectAllChildren\n ? this._getSelectedRowsWithChildren(row)\n : [];\n\n this._allChildren = allChildren;\n if (!this.autoSelectParentWhenAllChildrenSelected) {\n if (checked) {\n this._disabledChildrenKeys = uniq([\n ...this._disabledChildrenKeys,\n ...map(allChildren, rowKey),\n ]);\n } else {\n this._disabledChildrenKeys = pullAll(this._disabledChildrenKeys, [\n ...map(allChildren, rowKey),\n ]);\n }\n }\n if (this.storeCheckedByUrl && !!rowKey) {\n this._updateUrlChecked([row[rowKey]], checked);\n }\n };\n\n // istanbul ignore next\n private _handleSelectAll = (\n selected: boolean,\n selectedRows: Record<string, any>[],\n changeRows: Record<string, any>[]\n ): void => {\n this._selected = selected;\n this._isInSelect = true;\n const rowKey = this._getRowKey();\n if (this.selectAllChildren) {\n const allParentKeys = map(this._dataSource, rowKey);\n const changedParentRows = changeRows.filter((v) =>\n allParentKeys.includes(v[rowKey])\n );\n const toChangedChildrenKeys = flatten(\n map(changedParentRows, (r) =>\n map(this._getSelectedRowsWithChildren(r), (cr) => cr[rowKey])\n )\n );\n const allChildren = flatten(\n map(changedParentRows, (r) =>\n map(this._getSelectedRowsWithChildren(r), (cr) => cr)\n )\n );\n this._allChildren = allChildren;\n\n if (!this.autoSelectParentWhenAllChildrenSelected) {\n if (selected) {\n this._disabledChildrenKeys = uniq(\n this._disabledChildrenKeys.concat(toChangedChildrenKeys)\n );\n } else {\n // disabled children in changeRows should be removed\n this._disabledChildrenKeys = this._disabledChildrenKeys.filter(\n (v) => !toChangedChildrenKeys.includes(v)\n );\n }\n }\n }\n if (this.storeCheckedByUrl && !!rowKey) {\n this._updateUrlChecked(map(changeRows, rowKey), selected);\n }\n };\n\n private _getCheckedFromUrl = () => {\n const history = getHistory();\n const urlSearchParams = new URLSearchParams(history.location.search);\n const checked = urlSearchParams.get(\"checked\");\n return isEmpty(checked) ? [] : (checked as string).split(\",\");\n };\n\n private _updateUrlChecked = (options: any[], checked: boolean) => {\n const history = getHistory();\n let checkedOptions: string[] = this._getCheckedFromUrl();\n if (checked) {\n checkedOptions = [...checkedOptions, ...options];\n } else {\n pull(checkedOptions, ...options);\n }\n if (this.shouldUpdateUrlParams) {\n history.pushQuery(\n { checked: checkedOptions.join(\",\") },\n { notify: false }\n );\n }\n };\n private _handleOnChange = (\n pagination: TablePaginationConfig,\n filters: Record<string, string[]>,\n sorter: SorterResult<Record<string, any>>\n ): void => {\n const history = getHistory();\n const urlSearchParams = new URLSearchParams(history.location.search);\n // 分页\n if (!isEmpty(pagination)) {\n if (pagination.pageSize !== this.pageSize) {\n pagination.current = 1;\n urlSearchParams.set(\"page\", \"1\");\n urlSearchParams.set(\n \"pageSize\",\n (pagination?.pageSize as number).toString()\n );\n this.#filterUpdate.emit({\n [this._fields.pageSize]: pagination.pageSize as number,\n [this._fields.page]: 1,\n });\n this.page = 1;\n this.pageSize = pagination.pageSize;\n } else if (pagination.current !== this.page) {\n const newPage = pagination.current || 1;\n urlSearchParams.set(\"page\", newPage.toString());\n this.#pageUpdate.emit({\n [this._fields.page]: newPage, // 可配置的 path\n });\n this.page = newPage;\n }\n }\n this.filters = filters;\n // 过滤\n if (!isEmpty(filters)) {\n forEach(filters, (value: any, key) => {\n isNil(value) || value.length === 0\n ? urlSearchParams.delete(key)\n : urlSearchParams.set(key, value);\n });\n }\n // 排序: 切换分页和页码的时候不应该触发sort.update事件 排序触发/取消的时候,order的类型 'descend' | 'ascend' | null,没触发是false\n if (\n sorter.order &&\n isNil(sorter.order) &&\n (sorter.columnKey !== this.sort ||\n this._fields[sorter.order] !== this.order)\n ) {\n if (sorter.columnKey && sorter.order) {\n urlSearchParams.set(\"sort\", sorter.columnKey as string);\n urlSearchParams.set(\n \"order\",\n (this._fields[sorter.order] as number).toString()\n );\n this.sort = sorter.columnKey as string;\n this.order = this._fields[sorter.order];\n } else {\n urlSearchParams.delete(\"sort\");\n urlSearchParams.delete(\"order\");\n this.sort = null;\n this.order = null;\n }\n this.#sortUpdate.emit({\n sort: this.sort as string,\n order: this.order as unknown as string,\n });\n }\n if (this.frontSearch) {\n if (this.shouldUpdateUrlParams) {\n history.push(`?${urlSearchParams}`, { notify: false });\n }\n this.frontendSearch(pagination, filters, sorter);\n } else {\n if (this.shouldUpdateUrlParams) {\n history.push(`?${urlSearchParams}`, {\n notify: !!this.shouldRenderWhenUrlParamsUpdate,\n });\n }\n }\n };\n\n // istanbul ignore next\n private renderSelectInfo = () => {\n // eslint-disable-next-line react/display-name\n return (\n <span style={{ marginLeft: 20 }}>\n <span>已选择{this.selectedRowKeys.length}项</span>\n <a\n role=\"button\"\n style={{ marginLeft: \"10px\" }}\n onClick={() => {\n this.selectedRowKeys = [];\n this._selectedRows = [];\n this._disabledChildrenKeys = [];\n this._allChildren = [];\n if (!this._selectUpdateEventName) {\n this.#selectUpdate.emit([]);\n } else {\n this.dispatchEvent(\n new CustomEvent(this._selectUpdateEventName, { detail: [] })\n );\n }\n }}\n >\n 清空\n </a>\n </span>\n );\n };\n\n // 对前端搜索数据进行排序\n private handleFrontendSorter(\n dataSource: Record<string, any>[],\n sorter: Partial<SorterResult<Record<string, any>>>\n ): Record<string, any>[] {\n const tempDataSource: Record<string, any>[] = dataSource || [];\n const { columnKey, order } = sorter;\n\n if (!columnKey || !order) {\n return dataSource;\n }\n\n let direction: 1 | -1 = 1;\n\n if (order === \"descend\") {\n direction = -1;\n } else if (order === \"ascend\") {\n direction = 1;\n }\n\n if (direction !== undefined) {\n tempDataSource.sort((a, b) => {\n const aValue = get(a, columnKey as string | number);\n const bValue = get(b, columnKey as string | number);\n\n if (isNil(aValue)) {\n if (!isNil(bValue)) {\n return 1;\n }\n } else {\n if (isNil(bValue)) {\n return -1;\n }\n }\n\n if (aValue == bValue) {\n return 0;\n }\n\n if (aValue > bValue) {\n return direction;\n }\n\n return -direction;\n });\n tempDataSource.forEach((item) => {\n const children = item[this.childrenColumnName];\n\n if (children) {\n this.handleFrontendSorter(children, sorter);\n }\n });\n }\n\n return tempDataSource;\n }\n\n // 对前端搜索数据进行表头筛选项过滤\n private handleFrontendFilters(\n dataSource: Record<string, any>[]\n ): Record<string, any>[] {\n let tempDataSource: Record<string, any>[] = dataSource || [];\n const filtersArray = map(this.filters, (item, k) => ({\n key: k,\n value: item,\n })).filter((item) => !isNil(item.value) && item.value.length !== 0);\n tempDataSource = tempDataSource.filter((item) => {\n return every(filtersArray, (filter) => {\n return filter.value?.includes(get(item, filter.key)) ?? true;\n });\n });\n return tempDataSource;\n }\n\n // istanbul ignore next\n private frontendSearch(\n pagination: TablePaginationConfig,\n filters: Record<string, string[]>,\n sorter: SorterResult<Record<string, any>>\n ): void {\n this.sort = isNil(sorter.order) ? null : (sorter.columnKey as string);\n this.order = isNil(sorter.order) ? null : this._fields[sorter.order];\n }\n\n // 点击展开图标时触发的事件\n // istanbul ignore next\n private _handleOnExpand = (\n expanded: boolean,\n record: Record<string, any>\n ): void => {\n if (this.expandedRowKeys) {\n const rowKey = this._getRowKey();\n const pullKeys: string[] = [get(record, rowKey)];\n const recordChildren = get(record, this.childrenColumnName);\n if (!isEmpty(recordChildren)) {\n const keysToPull = map(\n filter(recordChildren, (c) =>\n isEmpty(get(c, this.childrenColumnName))\n ),\n rowKey\n );\n pullKeys.push(...keysToPull);\n }\n this.expandedRowKeys = expanded\n ? [...this.expandedRowKeys, ...pullKeys]\n : pull(this.expandedRowKeys, ...pullKeys);\n this._render();\n }\n this.#rowExpand.emit({\n expanded,\n record,\n });\n };\n\n // 展开的行变化时触发的事件\n // istanbul ignore next\n private _handleOnExpandedRowsChange = (expandedRows: React.Key[]): void => {\n this.#expandRowsChange.emit({\n expandedRows,\n });\n };\n\n // 拖拽排序后触发的事件\n // istanbul ignore next\n private _handleOnDrag = (data: Record<string, any>[]): void => {\n this.#rowDrag.emit({\n data,\n });\n };\n\n /**\n * 展开所有行\n */\n @method()\n expandAll() {\n const allKeys: string[] = [];\n const rowKey = this._getRowKey();\n if (this._dataSource)\n getKeysOfData(this._dataSource, rowKey, this.childrenColumnName, allKeys);\n this.expandedRowKeys = allKeys;\n }\n\n getModifyColumns(): CustomColumn[] {\n let columns = this._columns;\n if (this._columns && this.hiddenColumns) {\n columns = this._columns.filter((column) => {\n return !this.hiddenColumns?.includes(\n (column.dataIndex as string) ?? column.key\n );\n });\n }\n if (this.sortable === false) {\n columns = map(columns, (column) => {\n column.sorter = false;\n return column;\n });\n }\n return columns as CustomColumn[];\n }\n\n render() {\n // 前端搜索的参数处理\n if (this.frontSearch) {\n this._dataSource = this.handleFrontendDataChange(\n this._pureSource,\n this._columns\n );\n }\n this._initConfigProps();\n return (\n // https://github.com/ant-design/ant-design/issues/38911\n <BrickTable\n shadowRoot={this.shadowRoot}\n dataSource={this._dataSource || []}\n columns={this.getModifyColumns()}\n configProps={this._finalConfigProps}\n error={this._error}\n onChange={this._handleOnChange}\n showCard={this.showCard}\n showHeader={this.showHeader}\n expandedRowBrick={this.expandedRowBrick}\n expandIconAsCell={this.expandIconAsCell}\n expandIconColumnIndex={this.expandIconColumnIndex}\n expandRowByClick={this.expandRowByClick}\n defaultExpandAllRows={this.defaultExpandAllRows}\n onExpand={this._handleOnExpand}\n onExpandedRowsChange={this._handleOnExpandedRowsChange}\n expandedRowKeys={this.expandedRowKeys}\n rowKey={this._getRowKey()}\n childrenColumnName={this.childrenColumnName}\n tableDraggable={this.tableDraggable || this.draggable}\n onDrag={this._handleOnDrag}\n zebraPattern={this.zebraPattern}\n expandIcon={this.expandIcon}\n scroll={this.scrollConfigs}\n optimizedColumns={this.optimizedColumns}\n ellipsisInfo={this.ellipsisInfo}\n thTransparent={this.thTransparent}\n xSmallSizeTable={this.size == \"x-small\"}\n />\n );\n }\n\n // istanbul ignore next\n private _getAllRows = (): Record<string, any>[] => {\n const allRows: Record<string, any>[] = [];\n getRowsOfData(this._dataSource, this.childrenColumnName, allRows);\n return allRows;\n };\n\n // istanbul ignore next\n private _handleDefaultSelectAll = () => {\n this._isInSelect = true;\n const rowKey = this._getRowKey();\n this._selectedRows = this._getAllRows();\n this.selectedRowKeys = map(this._selectedRows, rowKey);\n return this.selectedRowKeys;\n };\n\n private _initConfigProps = () => {\n // 默认分页配置\n const defaultPagination: TablePaginationConfig = {\n current: this.page,\n pageSize: this.pageSize,\n total: this.#total,\n showSizeChanger: true,\n pageSizeOptions: [\"10\", \"20\", \"50\"],\n // eslint-disable-next-line react/display-name\n showTotal: (totals) => (\n <>\n <span className=\"totalText\">\n 共 <strong className=\"total\">{totals}</strong> 条\n </span>\n {(this.configProps?.rowSelection || this.rowSelection) &&\n this.showSelectInfo &&\n this.selectedRowKeys.length !== 0 &&\n this.renderSelectInfo()}\n </>\n ),\n };\n\n const rowKey = this._getRowKey();\n let rowDisabledConfig: RowDisabledProps[];\n\n if (this.rowDisabledConfig) {\n rowDisabledConfig = Array.isArray(this.rowDisabledConfig)\n ? this.rowDisabledConfig\n : [this.rowDisabledConfig];\n }\n\n // 当 rowSelection 为 true 或者有相关配置的时候的默认行选择配置\n const defaultRowSelection: TableRowSelection<any> = {\n ...(rowKey\n ? ({\n selectedRowKeys: this._isInSelect\n ? this.selectedRowKeys\n : this.storeCheckedByUrl\n ? this._getCheckedFromUrl()\n : this.defaultSelectAll\n ? this._handleDefaultSelectAll()\n : this.selectedRowKeys,\n onSelect: this._handleOnSelect,\n onSelectAll: this._handleSelectAll,\n onChange: this._handleRowSelectChange,\n preserveSelectedRowKeys: true,\n } as any)\n : {\n // 当用户没有设置rowKey时的兼容处理\n onChange: this._handleRowSelectChange,\n preserveSelectedRowKeys: true,\n }),\n getCheckboxProps: (record: any) => {\n if (\n !isEmpty(this._disabledChildrenKeys) &&\n this._disabledChildrenKeys.includes(get(record, rowKey))\n ) {\n return {\n disabled: true,\n };\n }\n if (!rowDisabledConfig) return {};\n\n return {\n disabled: rowDisabledConfig.some((config) => {\n const { field, value, operator } = config;\n const fun = compareFunMap[operator];\n\n return fun?.(value, get(record, field));\n }),\n };\n },\n };\n if (this.configProps) {\n this._finalConfigProps = cloneDeep(this.configProps);\n if (this.configProps.pagination !== false) {\n this._finalConfigProps.pagination = {\n ...defaultPagination,\n ...this.pagination,\n ...this.configProps.pagination,\n };\n if (\n (this.configProps.pagination === undefined ||\n this.configProps.pagination === null) &&\n this.pagination === false\n ) {\n this._finalConfigProps.pagination = false;\n }\n }\n if (!this.configProps.size) {\n this._finalConfigProps.size = this.size == \"x-small\" ? \"\" : this.size;\n }\n } else {\n this._finalConfigProps = {};\n this._finalConfigProps.pagination =\n this.pagination !== false ? defaultPagination : false;\n this._finalConfigProps.size = this.size == \"x-small\" ? \"\" : this.size;\n }\n const rowSelec = this.configProps?.rowSelection ?? this.rowSelection;\n if (rowSelec) {\n if (rowSelec === true) {\n this._finalConfigProps.rowSelection = {\n ...defaultRowSelection,\n type: this.type ?? \"checkbox\",\n };\n } else {\n this._finalConfigProps.rowSelection = {\n ...defaultRowSelection,\n type: this.type ?? \"checkbox\",\n ...rowSelec,\n ...(defaultRowSelection.selectedRowKeys\n ? { selectedRowKeys: defaultRowSelection.selectedRowKeys }\n : {}),\n };\n }\n } else if (this.type) {\n this._finalConfigProps.rowSelection = {\n ...defaultRowSelection,\n type: this.type,\n };\n } else {\n this._finalConfigProps.rowSelection = false;\n }\n\n // 初始化列排序\n if (this._columns) {\n this._columns = this._columns.map((item) => {\n if (isNil(item.key)) {\n item.key = item.dataIndex as string;\n }\n if (item.sorter) {\n item.sortOrder = (this.sort === item.key &&\n !isNil(this.order) &&\n (this._fields.ascend === this.order\n ? \"ascend\"\n : \"descend\")) as SortOrder;\n }\n // 初始化表头过滤值\n if (item.filters) {\n const history = getHistory();\n const urlSearchParams = new URLSearchParams(history.location.search);\n const filteredValue =\n urlSearchParams.get(item.key as string) ??\n get(this.filters, item.key as string | number)?.join(\",\");\n if (!isNil(filteredValue) && !isEmpty(filteredValue)) {\n item.filtered = true;\n item.filteredValue = filteredValue\n .split(\",\")\n .map(\n (v: any) =>\n find(item.filters, (f) => String(f.value) === v)?.value ?? v\n );\n } else {\n item.filtered = false;\n item.filteredValue = [];\n }\n }\n return item;\n });\n }\n };\n\n _test_only_getOriginalDataSource(): Record<string, any>[] {\n return this._originalDataSource;\n }\n\n updateData(event: CustomEvent): void {\n this._dataSource = event.detail;\n this._error = null;\n this._render();\n }\n\n updateError(event: CustomEvent): void {\n this._error = event.detail;\n this._render();\n }\n\n set selectUpdateEventName(value: string) {\n this._selectUpdateEventName = value;\n }\n\n set selectUpdateEventDetailKeys(value: string[]) {\n this._selectUpdateEventDetailKeys = value;\n }\n\n set selectUpdateEventDetailField(value: string) {\n this._selectUpdateEventDetailField = value;\n }\n\n set selectUpdateEventDetailExtra(value: any) {\n this._selectUpdateEventDetailExtra = value;\n }\n}\n\nexport { TableComponent };\n","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","import React, { CSSProperties, useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { Cascader, ConfigProvider, theme } from \"antd\";\nimport {\n CascaderProps as AntdCascaderProps,\n DefaultOptionType,\n} from \"antd/lib/cascader\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface CascaderProps\n extends Pick<\n AntdCascaderProps,\n \"options\" | \"fieldNames\" | \"value\" | \"expandTrigger\" | \"size\"\n > {\n shadowRoot: ShadowRoot | null;\n multiple?: boolean;\n placeholder?: string;\n disabled?: boolean;\n allowClear?: boolean;\n showSearch?: boolean;\n limit?: number;\n suffixIcon?: GeneralIconProps;\n popupPlacement?: AntdCascaderProps[\"placement\"];\n cascaderStyle?: CSSProperties;\n maxTagCount?: number | \"responsive\";\n onChange?: (\n value: AntdCascaderProps[\"value\"],\n selectedOptions: DefaultOptionType[] | DefaultOptionType[][]\n ) => void;\n}\n\n/**\n * 级联选择器\n * @author nlicroshan\n * @category form-input-basic\n */\n@defineElement(\"eo-cascader\", {\n alias: [\"advanced.general-cascader\"],\n styleTexts: [styleText],\n})\nclass CascaderBrick extends FormItemElementBase implements CascaderProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor options: AntdCascaderProps[\"options\"];\n\n @property({\n attribute: false,\n })\n accessor fieldNames: AntdCascaderProps[\"fieldNames\"] = {\n label: \"label\",\n value: \"value\",\n children: \"children\",\n };\n\n @property({\n attribute: false,\n })\n accessor value: AntdCascaderProps[\"value\"];\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor allowClear: boolean | undefined = true;\n\n @property({\n type: Boolean,\n })\n accessor showSearch: boolean | undefined = true;\n\n @property({\n attribute: false,\n })\n accessor suffixIcon: GeneralIconProps | undefined;\n\n @property()\n accessor expandTrigger: AntdCascaderProps[\"expandTrigger\"] = \"click\";\n\n @property()\n accessor popupPlacement: AntdCascaderProps[\"placement\"] = \"bottomLeft\";\n\n @property()\n accessor size: AntdCascaderProps[\"size\"];\n\n @property({\n type: Number,\n })\n accessor limit: number | undefined = 50;\n\n @property({\n attribute: false,\n })\n accessor maxTagCount: number | \"responsive\" | undefined;\n\n @property({\n attribute: false,\n })\n accessor cascaderStyle: CSSProperties | undefined;\n\n /**\n * @detail { value: AntdCascaderProps[\"value\"], selectedOptions: DefaultOptionType[] | DefaultOptionType[][] }\n * @description 级联选择项输入变化时触发,value 为选择的值,selectedOptions 为选择的值所对应的 options\n */\n @event({ type: \"cascader.change\" })\n accessor #changeEvent!: EventEmitter<{\n value: AntdCascaderProps[\"value\"];\n selectedOptions: DefaultOptionType[] | DefaultOptionType[][];\n }>;\n\n handleOnChange = (\n value: AntdCascaderProps[\"value\"],\n selectedOptions: DefaultOptionType[] | DefaultOptionType[][]\n ): void => {\n this.value = value;\n Promise.resolve().then(() => {\n this.#changeEvent.emit({ value, selectedOptions });\n });\n };\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this as HTMLElement}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n notRender={this.notRender}\n trigger=\"handleOnChange\"\n >\n <CascaderElement\n shadowRoot={this.shadowRoot}\n options={this.options}\n fieldNames={this.fieldNames}\n value={this.value}\n multiple={this.multiple}\n placeholder={this.placeholder}\n disabled={this.disabled}\n allowClear={this.allowClear}\n showSearch={this.showSearch}\n expandTrigger={this.expandTrigger}\n suffixIcon={this.suffixIcon}\n size={this.size}\n limit={this.limit}\n popupPlacement={this.popupPlacement}\n maxTagCount={this.maxTagCount}\n cascaderStyle={this.cascaderStyle}\n onChange={this.handleOnChange}\n />\n </WrappedFormItem>\n );\n }\n}\n\nfunction CascaderElement(props: CascaderProps): React.ReactElement {\n const {\n shadowRoot,\n options,\n fieldNames,\n value,\n placeholder,\n disabled,\n multiple,\n allowClear,\n showSearch,\n expandTrigger,\n size,\n limit,\n popupPlacement,\n cascaderStyle,\n suffixIcon,\n maxTagCount,\n onChange,\n } = props;\n\n const currentTheme = useCurrentTheme();\n\n const cache = useMemo(() => {\n return createCache();\n }, []);\n\n const filter = (inputValue: string, path: DefaultOptionType[]): boolean => {\n const label = fieldNames?.label || \"label\";\n const filterValues = inputValue\n .split(\" \")\n .filter((item) => item)\n .map((item) => item.toLocaleLowerCase());\n for (let j = 0; j < filterValues.length; j++) {\n if (\n !path.some((option) =>\n (option[label] as string).toLowerCase().includes(filterValues[j])\n )\n ) {\n return false;\n }\n }\n return true;\n };\n\n return (\n <ConfigProvider\n theme={{\n algorithm:\n /* istanbul ignore next */\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider\n container={shadowRoot as ShadowRoot}\n cache={cache}\n // Set hashPriority to \"high\" to disable `:where()` usage for compatibility\n hashPriority=\"high\"\n >\n <Cascader\n getPopupContainer={(trigger) => trigger.parentElement}\n allowClear={allowClear}\n disabled={disabled}\n multiple={multiple as true | undefined}\n expandTrigger={expandTrigger}\n fieldNames={fieldNames}\n placeholder={placeholder}\n size={size}\n showSearch={showSearch && { limit, filter }}\n placement={popupPlacement}\n style={cascaderStyle}\n suffixIcon={suffixIcon && <WrappedIcon {...suffixIcon} />}\n maxTagCount={maxTagCount}\n value={value as any}\n options={options}\n onChange={\n ((\n value: AntdCascaderProps[\"value\"],\n selectedOptions: DefaultOptionType[] | DefaultOptionType[][]\n ) => onChange?.(value, selectedOptions)) as any\n }\n />\n </StyleProvider>\n </ConfigProvider>\n );\n}\n\nexport { CascaderBrick };\n","import React, { createRef } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { NextTableComponent, NextTableComponentRef } from \"./Table.js\";\nimport type {\n CellConfig,\n Column,\n DataSource,\n ExpandableType,\n PaginationType,\n RecordType,\n RowSelectionType,\n Sort,\n} from \"./interface.js\";\nimport { RowSelectMethod } from \"antd/es/table/interface.js\";\nimport type { TableProps } from \"antd/es/table\";\nimport type { NextTableComponentProps } from \"./Table.js\";\nimport \"./host-context.css\";\nimport chartStyleText from \"./chart-v2.shadow.css\";\n\nconst { defineElement, property, method, event } = createDecorators();\n\n/**\n * 大型表格\n * @author nlicro\n * @category table\n */\nexport\n@defineElement(\"eo-next-table\", {\n styleTexts: [styleText],\n})\nclass EoNextTable extends ReactNextElement {\n #tableRef = createRef<NextTableComponentRef>();\n\n /**\n * 指定表格行的 key\n */\n @property()\n accessor rowKey: string = \"key\";\n\n /**\n * 列定义\n */\n @property({\n attribute: false,\n })\n accessor columns: Column[] | undefined;\n\n /**\n * 单元格\n */\n @property({\n attribute: false,\n })\n accessor cell: CellConfig | undefined;\n\n /**\n * 数据源\n */\n @property({\n attribute: false,\n })\n accessor dataSource: DataSource | undefined;\n\n /**\n * 是否前端搜索\n */\n @property({\n type: Boolean,\n })\n accessor frontSearch: boolean | undefined;\n\n /**\n * 分页配置\n */\n @property({\n attribute: false,\n })\n accessor pagination: PaginationType;\n\n /**\n * 显示加载中状态\n */\n @property({\n type: Boolean,\n })\n accessor loading: boolean | undefined;\n\n /**\n * 是否支持多列排序,前端搜索时需设置 column.sortPriority 优先级\n */\n @property({\n type: Boolean,\n })\n accessor multiSort: boolean | undefined;\n\n /**\n * 排序信息\n */\n @property({\n attribute: false,\n })\n accessor sort: Sort | Sort[] | undefined;\n\n /**\n * 表格行可选择配置\n */\n @property({\n attribute: false,\n })\n accessor rowSelection: RowSelectionType;\n\n /**\n * 选中项的 key\n */\n @property({\n attribute: false,\n })\n accessor selectedRowKeys: (string | number)[] | undefined;\n\n /**\n * 隐藏的列(输入对应的 column.key)\n */\n @property({\n attribute: false,\n })\n accessor hiddenColumns: (string | number)[] | undefined;\n\n /**\n * 表格行展开配置\n */\n @property({\n attribute: false,\n })\n accessor expandable: ExpandableType;\n\n /**\n * 展开项的 key\n */\n @property({\n attribute: false,\n })\n accessor expandedRowKeys: (string | number)[] | undefined;\n\n /**\n * 树形结构的列名\n */\n @property()\n accessor childrenColumnName: string = \"children\";\n\n /**\n * 表格行拖拽配置\n */\n @property({\n type: Boolean,\n })\n accessor rowDraggable: boolean | undefined;\n\n /**\n * 进行前端搜索的字段,支持嵌套的写法。不配置的时候默认为对所有 column.dataIndex 进行前端搜索\n */\n @property({\n attribute: false,\n })\n accessor searchFields: (string | string[])[] | undefined;\n\n /**\n * 表格大小\n */\n @property()\n accessor size: TableProps<RecordType>[\"size\"] = \"large\";\n\n /**\n * 是否显示表头\n */\n @property({\n type: Boolean,\n })\n accessor showHeader: boolean = true;\n\n /**\n * 是否显示边框\n */\n @property({ type: Boolean })\n accessor bordered: boolean | undefined;\n\n /**\n * 滚动配置\n */\n @property({\n attribute: false,\n })\n accessor scrollConfig: TableProps<RecordType>[\"scroll\"] = { x: true };\n\n /**\n * 优化渲染的列(输入对应的 column.key)\n */\n @property({\n attribute: false,\n })\n accessor optimizedColumns: (string | number)[] | undefined;\n\n /**\n * 注入 chart-v2 所需的样式(因其使用 light DOM 实现),仅 EasyOps 内部使用。\n *\n * @internal\n */\n @property({ type: Boolean })\n accessor injectChartV2Styles: boolean | undefined;\n\n /**\n * 前端搜索\n */\n @method()\n search(params: { q: string }) {\n this.#tableRef.current?.search(params);\n }\n\n /**\n * page 或 pageSize 改变的回调\n * @detail 改变后的页码及每页条数\n */\n @event({ type: \"page.change\" })\n accessor #pageChangeEvent!: EventEmitter<{ page: number; pageSize: number }>;\n #handlePageChange = (detail: { page: number; pageSize: number }): void => {\n this.#pageChangeEvent.emit(detail);\n };\n\n /**\n * pageSize 变化的回调\n * @detail 改变后的页码及每页条数\n * @deprecated 统一用 `page.change` 事件\n */\n @event({ type: \"page.size.change\" })\n accessor #pageSizeChangeEvent!: EventEmitter<{\n page: number;\n pageSize: number;\n }>;\n #handlePageSizeChange = (detail: {\n page: number;\n pageSize: number;\n }): void => {\n this.#pageSizeChangeEvent.emit(detail);\n };\n\n /**\n * 排序变化的回调\n * @detail 当前排序的信息\n */\n @event({ type: \"sort.change\" })\n accessor #sortChangeEvent!: EventEmitter<Sort | Sort[] | undefined>;\n #handleSort = (detail: Sort | Sort[] | undefined): void => {\n this.#sortChangeEvent.emit(detail);\n };\n\n /**\n * 行选中项发生变化时的回调\n * @detail 改变后的 rowKey 及行数据\n */\n @event({ type: \"row.select\" })\n accessor #rowSelectEvent!: EventEmitter<{\n keys: (string | number)[];\n rows: RecordType[];\n info: { type: RowSelectMethod };\n }>;\n #handleRowSelect = (detail: {\n keys: (string | number)[];\n rows: RecordType[];\n info: { type: RowSelectMethod };\n }): void => {\n this.#rowSelectEvent.emit(detail);\n };\n\n /**\n * 点击展开图标时触发\n * @detail 当前行的展开情况及数据\n */\n @event({ type: \"row.expand\" })\n accessor #rowExpandEvent!: EventEmitter<{\n expanded: boolean;\n record: RecordType;\n }>;\n #handleRowExpand = (detail: {\n expanded: boolean;\n record: RecordType;\n }): void => {\n this.#rowExpandEvent.emit(detail);\n };\n\n /**\n * 展开的行变化时触发\n * @detail 所有展开行的 key\n */\n @event({ type: \"expanded.rows.change\" })\n accessor #expandedRowsChangeEvent!: EventEmitter<(string | number)[]>;\n #handleExpandedRowsChange = (detail: (string | number)[]): void => {\n this.#expandedRowsChangeEvent.emit(detail);\n };\n\n /**\n * 表格行拖拽结束发生的事件\n * @detail 重新排序的行数据、拖拽的行数据、放下位置的行数据\n */\n @event({ type: \"row.drag\" })\n accessor #rowDragEvent!: EventEmitter<{\n list: RecordType[];\n active: RecordType;\n over: RecordType;\n }>;\n // istanbul ignore next\n #handleRowDrag = (detail: {\n list: RecordType[];\n active: RecordType;\n over: RecordType;\n }): void => {\n this.#rowDragEvent.emit(detail);\n };\n\n render() {\n return (\n <>\n {this.injectChartV2Styles && <style>{chartStyleText}</style>}\n <NextTableComponent\n ref={this.#tableRef}\n shadowRoot={this.shadowRoot}\n rowKey={this.rowKey}\n columns={this.columns}\n cell={this.cell}\n dataSource={this.dataSource}\n frontSearch={this.frontSearch}\n pagination={this.pagination}\n loading={this.loading}\n multiSort={this.multiSort}\n sort={this.sort}\n rowSelection={this.rowSelection}\n selectedRowKeys={this.selectedRowKeys}\n hiddenColumns={this.hiddenColumns}\n expandable={this.expandable}\n expandedRowKeys={this.expandedRowKeys}\n childrenColumnName={this.childrenColumnName}\n rowDraggable={this.rowDraggable}\n searchFields={this.searchFields}\n size={this.size}\n showHeader={this.showHeader}\n bordered={this.bordered}\n scrollConfig={this.scrollConfig}\n optimizedColumns={this.optimizedColumns}\n onPageChange={this.#handlePageChange}\n onPageSizeChange={this.#handlePageSizeChange}\n onSort={this.#handleSort}\n onRowSelect={this.#handleRowSelect}\n onRowExpand={this.#handleRowExpand}\n onExpandedRowsChange={this.#handleExpandedRowsChange}\n onRowDrag={this.#handleRowDrag}\n />\n </>\n );\n }\n}\n\nexport { NextTableComponentProps };\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutProps {\n cardTitle?: string;\n layouts?: Layout[];\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutComponentProps\n extends EoWorkbenchLayoutProps {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutComponentRef,\n EoWorkbenchLayoutComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div className=\"edit-mask\" onMouseDown={handleEditMaskClick} />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className=\"delete-icon\"\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className=\"grid-layout-wrapper\" ref={gridLayoutRef}>\n {isEdit && (\n <div className=\"component-wrapper\">\n <div className=\"component-title\">{cardTitle}</div>\n <div className=\"component-list\">\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\n />\n <slot name=\"toolbar\"></slot>\n </div>\n </div>\n )}\n <div\n className=\"layout-wrapper\"\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className=\"actions-wrapper\">\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className=\"layout\"\n draggableCancel=\".delete-icon,.edit-actions,.ignore-item\"\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局\n * @deprecated Please use eo-workbench-layout-v2 which support global styles instead\n */\nexport\n@defineElement(\"eo-workbench-layout\", {\n styleTexts: [styleText],\n})\nclass EoWorkbenchLayout extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\n\nimport styles from \"./DroppableComponentLayoutItem.module.css\";\nimport { cloneDeep } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface DroppableComponentLayoutItemProps {\n component: WorkbenchComponent;\n layout?: ExtraLayout;\n isEdit?: boolean;\n onDelete?(): void;\n}\n\nexport function DroppableComponentLayoutItem(\n props: DroppableComponentLayoutItemProps\n): React.ReactElement {\n const { component, isEdit, onDelete, layout } = props;\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const handleDeleteClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onDelete?.();\n };\n\n return (\n <div className={styles.component} style={component.style}>\n {isEdit && (\n <div\n className={styles.editMask}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={cloneDeep(component.useBrick)} data={layout} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n EoSidebarMenuItem,\n EoSidebarMenuItemProps,\n} from \"@next-bricks/nav/sidebar/sidebar-menu-item\";\n\nimport { WorkbenchComponent } from \"../interfaces\";\n\nconst WrappedSidebarMenuItem = wrapBrick<\n EoSidebarMenuItem,\n EoSidebarMenuItemProps\n>(\"eo-sidebar-menu-item\");\n\nexport interface DraggableComponentMenuItemProps {\n component: WorkbenchComponent;\n onClick?(): void;\n onDragStart?(): void;\n onDragEnd?(): void;\n}\n\nexport function DraggableComponentMenuItem(\n props: DraggableComponentMenuItemProps\n): React.ReactElement {\n const { component, onClick, onDragStart, onDragEnd } = props;\n const { key, title } = component;\n\n return (\n <WrappedSidebarMenuItem\n icon={{\n lib: \"antd\",\n icon: \"menu\",\n }}\n title={title}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", key);\n onDragStart?.();\n }}\n onDragEnd={onDragEnd}\n onClick={onClick}\n data-testid=\"draggable-component-menu-item\"\n >\n {title}\n </WrappedSidebarMenuItem>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport {\n EoSidebarMenu,\n EoSidebarMenuProps,\n} from \"@next-bricks/nav/sidebar/sidebar-menu\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport { keyBy, pick } from \"lodash\";\n\nimport {\n WorkbenchComponent,\n ExtraLayout,\n CardStyleConfig,\n} from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedSidebarMenu = wrapBrick<EoSidebarMenu, EoSidebarMenuProps>(\n \"eo-sidebar-menu\"\n);\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", { onActionClick: \"action.click\" });\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\n/* istanbul ignore next */\nexport const defaultCardConfig: CardStyleConfig = {\n cardWidth: 2,\n showMoreIcon: false,\n cardBorderStyle: \"solid\",\n cardTitleFontSize: 16,\n cardBorderWidth: 1,\n cardBorderRadius: 6,\n cardTitleColor: \"#262626\",\n cardBorderColor: \"#e8e8e8\",\n cardBgType: \"none\",\n};\n\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n onChange?: (layout: ExtraLayout[]) => void;\n onSave?: (layout: ExtraLayout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: ExtraLayout[]) => void;\n onSetting?: () => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<ExtraLayout[]>(layoutsProps ?? []);\n const [layouts, _setLayouts] = useState<ExtraLayout[]>(\n layoutCacheRef.current\n );\n const keyComponentMap = useMemo(\n () => keyBy(componentList, \"key\"),\n [componentList]\n );\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n const draggingComponentRef = useRef<WorkbenchComponent>();\n\n const setLayouts = useCallback((layouts: ExtraLayout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({ setLayouts }));\n\n const handleChange = useCallback(\n (layouts: ExtraLayout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n /* istanbul ignore next */\n const handleLayoutChange = useCallback(\n (currentLayout: ExtraLayout[]) => {\n if (!isEdit) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n\n let isAllowAction = true;\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, type, i } = item;\n // should update key to refresh layout\n const key = i ?? `${getRealKey(type as string)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return { ...item, x, i: key };\n })\n : currentLayout.map((v) => {\n const layoutItem = currentLayoutsMap?.[v.i];\n return { ...layoutItem, ...v, type: getRealKey(v.i) };\n })\n );\n },\n [handleChange, isEdit, layouts]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(layouts);\n }, [layouts, onSave]);\n\n const handleSetting = () => {\n onSetting?.();\n };\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({ ...item, i: getRealKey(item.i) }))\n );\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n layout?: Layout\n ): void => {\n handleChange(\n layouts.concat({\n ...defaultCardConfig,\n ...component.position,\n type: component.key,\n ...(layout\n ? pick(layout, [\"x\", \"y\"])\n : {\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }),\n })\n );\n };\n\n const handleDeleteItem = useCallback(\n (deletedItem: WorkbenchComponent) => {\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const renderChild = useMemo(() => {\n return layouts\n .map((layout) => {\n const component = keyComponentMap[getRealKey(layout.type as string)];\n if (!component) {\n return null;\n }\n return (\n <div\n className=\"drag-box\"\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n w: layout.cardWidth || layout.w,\n }}\n key={layout.i}\n >\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={() => handleDeleteItem(component)}\n />\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem]);\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper} style={layoutWrapperStyle}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n <WrappedSidebarMenu>\n {componentList?.map((component, index) => (\n <DraggableComponentMenuItem\n component={component}\n onClick={() => {\n addComponent(component);\n }}\n onDragStart={() => {\n draggingComponentRef.current = component;\n }}\n onDragEnd={() => {\n draggingComponentRef.current = undefined;\n }}\n key={component.key || index}\n />\n ))}\n </WrappedSidebarMenu>\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n 设置\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={styles.layout}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n onDrag={handleDragCallback}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout, item) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, item);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2,未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n /**\n * description: 用于设置页面样式和布局的按钮\n */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n onSetting={this.#handleSetting}\n ref={this.#componentRef}\n />\n );\n }\n}\n","// istanbul ignore file: nothing logical except calling html2canvas.\nimport { http } from \"@next-core/http\";\nimport html2canvas from \"html2canvas\";\nimport { getBasePath } from \"@next-core/runtime\";\n\nexport type UploadStatus = \"uploading\" | \"done\" | \"error\";\n\nexport function capture(\n selector?: string,\n backgroundColor?: string\n): Promise<HTMLCanvasElement> {\n const target: HTMLElement | null = selector\n ? document.querySelector(`${selector}`)\n : document.body;\n if (!target) {\n throw new Error(`target not found: ${selector}`);\n }\n return new Promise(function (resolve, reject) {\n html2canvas(target, {\n backgroundColor: backgroundColor || null,\n useCORS: true,\n allowTaint: true,\n scale: window.devicePixelRatio < 3 ? window.devicePixelRatio : 2,\n })\n .then(function (canvas: HTMLCanvasElement) {\n resolve(canvas);\n })\n .catch(reject);\n });\n}\n\nexport function downloadImage(\n canvas: HTMLCanvasElement,\n name = \"image\"\n): Promise<string> {\n return new Promise((resolve, reject) => {\n try {\n const url = canvas.toDataURL(\"image/png\");\n const image = new Image();\n image.onload = function () {\n const canvas = document.createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n const ctx = canvas.getContext(\"2d\");\n ctx?.drawImage(image, 0, 0, image.width, image.height);\n\n const url = canvas.toDataURL(\"image/png\");\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = name;\n const event = new MouseEvent(\"click\");\n a.dispatchEvent(event);\n };\n image.src = url;\n resolve(\"succeed\");\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n reject(\"failed\");\n }\n });\n}\n\nexport function getCanvasBlob(canvas: HTMLCanvasElement): Promise<Blob> {\n return new Promise(function (resolve, reject) {\n canvas.toBlob(function (blob: Blob | null) {\n if (blob) {\n resolve(blob);\n } else {\n reject();\n }\n });\n });\n}\n\nexport function uploadFile(\n file: File,\n bucketName: string\n): Promise<{ data: { objectName: string } }> {\n const formData = new FormData();\n formData.append(\"file\", file, file.name);\n\n const url = `${getBasePath()}api/gateway/object_store.object_store.PutObject/api/v1/objectStore/bucket/${bucketName}/object`;\n\n return http.request(url, {\n method: \"PUT\",\n body: formData,\n });\n}\nexport function buildImageUrl(bucketName: string, objectName: string) {\n return `${getBasePath()}api/gateway/logic.object_store_service/api/v1/objectStore/bucket/${bucketName}/object/${objectName}`;\n}\n","// istanbul ignore file: nothing logical except calling html2canvas.\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport {\n capture,\n downloadImage,\n getCanvasBlob,\n uploadFile,\n buildImageUrl,\n} from \"./snapshot.js\";\nexport type SnapshotOptions = {\n /** 文件名称 */\n name: string;\n /** 文件类型 */\n fileType: \"image\" | \"pdf\";\n /** 选择器 */\n selector?: string;\n /** 对象存储桶名字, fileType只能为 `image` */\n bucketName?: string;\n /** 画布背景颜色, 默认透明 */\n backgroundColor?: string;\n};\n/**\n * 截图,保存或上传\n *\n * @param options 选项\n */\nexport async function captureSnapshot(\n options: SnapshotOptions\n): Promise<void | string> {\n const { name, fileType, bucketName, selector, backgroundColor } = options;\n switch (fileType) {\n case \"image\":\n {\n const canvas = await capture(selector, backgroundColor);\n if (bucketName) {\n const blob = await getCanvasBlob(canvas);\n const files = new File([blob], `${name}.png`, { type: blob.type });\n const result = await uploadFile(files, bucketName);\n return buildImageUrl(bucketName, result.data.objectName);\n } else {\n await downloadImage(canvas, name);\n }\n }\n break;\n case \"pdf\": {\n const { jsPDF } = await import(\"jspdf\");\n const canvas = await capture(selector, backgroundColor);\n const imageData = canvas.toDataURL(\"image/jpeg\", 1.0);\n const orientation =\n canvas.width > canvas.height ? \"landscape\" : \"portrait\";\n const pdf = new jsPDF(orientation, \"pt\", [canvas.width, canvas.height]);\n pdf.addImage(imageData, \"JPEG\", 0, 0, canvas.width, canvas.height);\n await pdf.save(`${name}.pdf`, { returnPromise: true });\n break;\n }\n default:\n break;\n }\n}\n\ncustomElements.define(\n \"advanced.capture-snapshot\",\n createProviderClass(captureSnapshot)\n);\n","import React, { useMemo } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { Tree, ConfigProvider, theme } from \"antd\";\nimport type { TreeProps } from \"antd\";\nimport type { BasicDataNode } from \"antd/es/tree\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { DownOutlined } from \"@ant-design/icons\";\nimport {\n useCurrentTheme,\n ReactUseMultipleBricks,\n} from \"@next-core/react-runtime\";\nimport { UseBrickConf } from \"@next-core/types\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface EoTreeProps {\n dataSource?: TreeNode[];\n checkable?: boolean;\n selectable?: boolean;\n defaultExpandAll?: boolean;\n showLine?: boolean;\n expandedKeys?: TreeNodeKey[];\n checkedKeys?: TreeNodeKey[];\n nodeDraggable?: boolean | { icon?: false };\n switcherIcon?: \"auto\" | \"chevron\" | false;\n allowDrop?: (info: AllowDropInfo) => boolean;\n titleSuffixBrick?: { useBrick: UseBrickConf };\n}\n\nexport interface TreeNode extends BasicDataNode {\n title: string;\n key: TreeNodeKey;\n children?: TreeNode[];\n}\n\nexport type TreeNodeKey = string | number;\n\nexport interface CheckDetail {\n checkedKeys: TreeNodeKey[];\n halfCheckedKeys: TreeNodeKey[];\n}\n\nexport interface AllowDropInfo {\n dragNode: TreeNode;\n dropNode: TreeNode;\n /**\n * The drop position is relative to the drop node, inside 0, top -1, bottom 1\n */\n dropPosition: number;\n}\n\nexport interface DropDetail {\n dragNode: TreeNode;\n dropNode: TreeNode;\n /**\n * The drop position is relative to the drop node, inside 0, top -1, bottom 1\n */\n dropPosition: number;\n}\n\nexport type RawDropInfo = Parameters<\n Exclude<TreeProps<TreeNode>[\"onDrop\"], undefined>\n>[0];\n\n/**\n * 树形构件\n * @author steve\n */\nexport\n@defineElement(\"eo-tree\", {\n styleTexts: [styleText],\n})\nclass EoTree extends ReactNextElement implements EoTreeProps {\n @property({ attribute: false })\n accessor dataSource: TreeNode[] | undefined;\n\n @property({ type: Boolean })\n accessor checkable: boolean | undefined;\n\n /**\n * @default true\n */\n @property({ type: Boolean })\n accessor selectable: boolean | undefined;\n\n @property({ type: Boolean })\n accessor defaultExpandAll: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showLine: boolean | undefined;\n\n @property({ attribute: false })\n accessor expandedKeys: TreeNodeKey[] | undefined;\n\n @property({ attribute: false })\n accessor checkedKeys: TreeNodeKey[] | undefined;\n\n @property({ attribute: false })\n accessor nodeDraggable: boolean | { icon?: false } | undefined;\n\n @property({ attribute: false })\n accessor switcherIcon: \"auto\" | \"chevron\" | false | undefined;\n\n @property({ attribute: false })\n accessor allowDrop: ((info: AllowDropInfo) => boolean) | undefined;\n\n @property({ attribute: false })\n accessor titleSuffixBrick: { useBrick: UseBrickConf } | undefined;\n\n @event({ type: \"check\" })\n accessor #checkEvent!: EventEmitter<TreeNodeKey[]>;\n\n @event({ type: \"check.detail\" })\n accessor #checkDetailEvent!: EventEmitter<CheckDetail>;\n\n #handleCheck: TreeProps<TreeNode>[\"onCheck\"] = (checkedKeys, info) => {\n this.#checkEvent.emit(checkedKeys as TreeNodeKey[]);\n this.#checkDetailEvent.emit({\n checkedKeys: checkedKeys as TreeNodeKey[],\n halfCheckedKeys: info.halfCheckedKeys as TreeNodeKey[],\n });\n };\n\n @event({ type: \"expand\" })\n accessor #expandEvent!: EventEmitter<TreeNodeKey[]>;\n\n #handleExpand: TreeProps<TreeNode>[\"onExpand\"] = (expandedKeys) => {\n this.#expandEvent.emit(expandedKeys as TreeNodeKey[]);\n };\n\n @event({ type: \"node.drop\" })\n accessor #dropEvent!: EventEmitter<DropDetail>;\n\n // istanbul ignore next\n #handleDrop = ({ dragNode, node: dropNode, dropPosition }: RawDropInfo) => {\n this.#dropEvent.emit({\n dragNode,\n dropNode,\n dropPosition,\n });\n };\n\n render() {\n return (\n <EoTreeComponent\n dataSource={this.dataSource}\n shadowRoot={this.shadowRoot!}\n checkable={this.checkable}\n selectable={this.selectable}\n defaultExpandAll={this.defaultExpandAll}\n showLine={this.showLine}\n nodeDraggable={this.nodeDraggable}\n switcherIcon={this.switcherIcon}\n expandedKeys={this.expandedKeys}\n checkedKeys={this.checkedKeys}\n titleSuffixBrick={this.titleSuffixBrick}\n onCheck={this.#handleCheck}\n onExpand={this.#handleExpand}\n allowDrop={this.allowDrop}\n onDrop={this.#handleDrop}\n />\n );\n }\n}\n\nexport interface EoTreeComponentProps extends EoTreeProps {\n shadowRoot: ShadowRoot;\n onCheck: TreeProps<TreeNode>[\"onCheck\"];\n onExpand: TreeProps<TreeNode>[\"onExpand\"];\n onDrop: TreeProps<TreeNode>[\"onDrop\"];\n allowDrop?: (info: AllowDropInfo) => boolean;\n}\n\nexport function EoTreeComponent({\n dataSource,\n shadowRoot,\n checkable,\n selectable,\n defaultExpandAll,\n showLine,\n expandedKeys,\n checkedKeys,\n nodeDraggable,\n switcherIcon,\n titleSuffixBrick,\n onCheck,\n onExpand,\n onDrop,\n allowDrop,\n}: EoTreeComponentProps) {\n const currentTheme = useCurrentTheme();\n\n const cache = useMemo(() => createCache(), []);\n\n return (\n <ConfigProvider\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider\n container={shadowRoot}\n // Auto clear injected styles after unmount\n autoClear\n cache={cache}\n // Set hashPriority to \"high\" to disable `:where()` usage for compatibility\n hashPriority=\"high\"\n >\n <Tree\n switcherIcon={\n switcherIcon === false ? (\n false\n ) : switcherIcon === \"chevron\" ? (\n <DownOutlined />\n ) : undefined\n }\n {...(titleSuffixBrick?.useBrick\n ? {\n titleRender: (nodeData: TreeNode) => {\n return (\n <>\n {nodeData.title}\n <span onClick={(e) => e.stopPropagation()}>\n <ReactUseMultipleBricks\n useBrick={titleSuffixBrick.useBrick}\n data={nodeData}\n />\n </span>\n </>\n );\n },\n }\n : null)}\n treeData={dataSource}\n checkable={checkable}\n selectable={selectable}\n defaultExpandAll={defaultExpandAll}\n showLine={showLine}\n draggable={nodeDraggable}\n {...(expandedKeys ? { expandedKeys } : null)}\n {...(checkedKeys ? { checkedKeys } : null)}\n onCheck={onCheck}\n onExpand={onExpand}\n allowDrop={allowDrop}\n onDrop={onDrop}\n />\n </StyleProvider>\n </ConfigProvider>\n );\n}\n","import React, { CSSProperties, useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { TreeSelect, ConfigProvider, theme } from \"antd\";\nimport { TreeSelectProps as AntdTreeSelectProps } from \"antd/lib/tree-select\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface TreeSelectProps\n extends Pick<\n AntdTreeSelectProps,\n | \"value\"\n | \"allowClear\"\n | \"disabled\"\n | \"fieldNames\"\n | \"filterTreeNode\"\n | \"maxTagCount\"\n | \"multiple\"\n | \"onSearch\"\n | \"onSelect\"\n | \"onChange\"\n | \"onTreeExpand\"\n | \"loading\"\n | \"placeholder\"\n | \"size\"\n | \"showSearch\"\n | \"searchValue\"\n | \"treeData\"\n | \"treeDefaultExpandAll\"\n | \"treeExpandedKeys\"\n > {\n shadowRoot: ShadowRoot | null;\n checkable?: boolean;\n suffixIcon?: GeneralIconProps;\n popupPlacement?: AntdTreeSelectProps[\"placement\"];\n dropdownStyle?: CSSProperties;\n maxTagCount?: number | \"responsive\";\n onChange?: (value: AntdTreeSelectProps[\"value\"]) => void;\n}\n\n/**\n * 树选择器\n * @author sailor\n * @category form-input-basic\n */\nexport\n@defineElement(\"eo-tree-select\", {\n styleTexts: [styleText],\n})\nclass TreeSelectBrick extends FormItemElementBase implements TreeSelectProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor treeData: AntdTreeSelectProps[\"treeData\"];\n\n @property({ type: Boolean })\n accessor treeDefaultExpandAll: boolean | undefined;\n\n @property({ attribute: false })\n accessor treeExpandedKeys: string[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor fieldNames: AntdTreeSelectProps[\"fieldNames\"];\n\n @property({\n attribute: false,\n })\n accessor value: AntdTreeSelectProps[\"value\"];\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor checkable: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor allowClear: boolean | undefined = true;\n\n @property({\n type: Boolean,\n })\n accessor loading: boolean | undefined = false;\n\n @property({\n attribute: false,\n })\n accessor filterTreeNode: AntdTreeSelectProps[\"filterTreeNode\"];\n\n @property({\n type: Boolean,\n })\n accessor showSearch: boolean | undefined = true;\n\n @property({\n attribute: false,\n })\n accessor suffixIcon: GeneralIconProps | undefined;\n\n @property()\n accessor popupPlacement: AntdTreeSelectProps[\"placement\"] = \"bottomLeft\";\n\n @property()\n accessor size: AntdTreeSelectProps[\"size\"];\n\n @property({\n attribute: false,\n })\n accessor maxTagCount: number | \"responsive\" | undefined;\n\n @property({\n attribute: false,\n })\n accessor dropdownStyle: CSSProperties | undefined;\n\n /**\n * @detail { value: AntdTreeSelectProps[\"value\"], selectedOptions: DefaultOptionType[] | DefaultOptionType[][] }\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<{\n value: AntdTreeSelectProps[\"value\"];\n }>;\n\n handleOnChange = (value: AntdTreeSelectProps[\"value\"]): void => {\n this.value = value;\n this.#changeEvent.emit({ value });\n };\n\n @event({ type: \"search\" })\n accessor #searchEvent!: EventEmitter<string>;\n\n #handleSearch = (value: string): void => {\n this.#searchEvent.emit(value);\n };\n\n @event({ type: \"select\" })\n accessor #selectEvent!: EventEmitter<{ value: AntdTreeSelectProps[\"value\"] }>;\n\n #handleSelect = (value: AntdTreeSelectProps[\"value\"]): void => {\n this.#selectEvent.emit({ value });\n };\n\n @event({ type: \"expand\" })\n accessor #expandEvent!: EventEmitter<{ keys: React.Key[] }>;\n\n #handleExpand = (keys: React.Key[]): void => {\n this.#expandEvent.emit({ keys });\n };\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this as HTMLElement}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n notRender={this.notRender}\n trigger=\"handleOnChange\"\n >\n <TreeSelectElement\n shadowRoot={this.shadowRoot}\n checkable={this.checkable}\n treeData={this.treeData}\n treeDefaultExpandAll={this.treeDefaultExpandAll}\n fieldNames={this.fieldNames}\n filterTreeNode={this.filterTreeNode}\n value={this.value}\n multiple={this.multiple}\n placeholder={this.placeholder}\n loading={this.loading}\n disabled={this.disabled}\n allowClear={this.allowClear}\n showSearch={this.showSearch}\n suffixIcon={this.suffixIcon}\n size={this.size}\n popupPlacement={this.popupPlacement}\n treeExpandedKeys={this.treeExpandedKeys}\n maxTagCount={this.maxTagCount}\n dropdownStyle={this.dropdownStyle}\n onChange={this.handleOnChange}\n onSearch={this.#handleSearch}\n onSelect={this.#handleSelect}\n onTreeExpand={this.#handleExpand}\n />\n </WrappedFormItem>\n );\n }\n}\n\nfunction TreeSelectElement(props: TreeSelectProps): React.ReactElement {\n const {\n shadowRoot,\n checkable,\n loading,\n treeData,\n treeExpandedKeys,\n treeDefaultExpandAll,\n fieldNames,\n value,\n placeholder,\n disabled,\n multiple,\n allowClear,\n popupPlacement,\n dropdownStyle,\n suffixIcon,\n size,\n maxTagCount,\n onChange,\n onSearch,\n onSelect,\n onTreeExpand,\n } = props;\n\n const currentTheme = useCurrentTheme();\n\n const cache = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <ConfigProvider\n theme={{\n algorithm:\n /* istanbul ignore next */\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={shadowRoot as ShadowRoot} cache={cache}>\n <TreeSelect\n getPopupContainer={(trigger) => trigger.parentElement}\n allowClear={allowClear}\n loading={loading}\n disabled={disabled}\n multiple={multiple}\n fieldNames={fieldNames}\n placeholder={placeholder}\n placement={popupPlacement}\n dropdownStyle={dropdownStyle}\n suffixIcon={suffixIcon && <WrappedIcon {...suffixIcon} />}\n maxTagCount={maxTagCount}\n value={value}\n size={size}\n treeData={treeData}\n treeCheckable={checkable}\n treeExpandedKeys={treeExpandedKeys}\n treeDefaultExpandAll={treeDefaultExpandAll}\n onChange={onChange}\n onSelect={onSelect}\n onSearch={onSearch}\n onTreeExpand={onTreeExpand}\n virtual={false}\n />\n </StyleProvider>\n </ConfigProvider>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { Tooltip, ConfigProvider } from \"antd\";\nimport {\n StyleProvider,\n createCache,\n legacyLogicalPropertiesTransformer,\n} from \"@ant-design/cssinjs\";\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * 超出宽度鼠标悬浮显示tooltip\n * 构件 `eo-text-tooltip`\n */\nexport\n@defineElement(\"eo-text-tooltip\", {\n styleTexts: [styleText],\n})\nclass EoTextTooltip extends ReactNextElement {\n /**\n * 文案\n * @default\n */\n @property({ type: String })\n accessor label: string | undefined;\n\n /**\n * 省略行数\n * @default 1\n */\n @property({ type: Number })\n accessor lineClamp: number = 1;\n\n render() {\n return (\n <EoTextTooltipComponent label={this.label} lineClamp={this.lineClamp} />\n );\n }\n}\n\ninterface TooltipPropsEoTextTooltipProps {\n label?: string;\n lineClamp?: number;\n}\n\nexport function EoTextTooltipComponent(props: TooltipPropsEoTextTooltipProps) {\n const { lineClamp, label } = props;\n const ref = useRef<HTMLDivElement>(null);\n // 是否显示tooltip\n const [show, setShow] = useState(false);\n // 判断是否需要显示省略号\n const isEllipsis = useCallback(() => {\n const parentDom = ref.current;\n /* istanbul ignore if */\n if (!parentDom) return false;\n const { offsetWidth, offsetHeight, scrollWidth, scrollHeight } = parentDom;\n return offsetWidth < scrollWidth || offsetHeight < scrollHeight;\n }, [lineClamp, label]);\n\n const cache = useMemo(() => {\n return createCache();\n }, []);\n\n useEffect(() => {\n setShow(isEllipsis());\n }, [isEllipsis]);\n return (\n <ConfigProvider prefixCls=\"antdV5\">\n <StyleProvider\n cache={cache}\n hashPriority=\"high\"\n transformers={[legacyLogicalPropertiesTransformer]}\n >\n <Tooltip\n title={\n /* istanbul ignore next */\n show ? label : null\n }\n >\n <div\n ref={ref}\n className=\"ellipsisWrap\"\n style={\n {\n \"--line-clamp\": lineClamp,\n } as React.CSSProperties\n }\n >\n {label}\n </div>\n </Tooltip>\n </StyleProvider>\n </ConfigProvider>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { Worker, Viewer } from \"@react-pdf-viewer/core\";\n\n// Plugins\nimport { defaultLayoutPlugin } from \"@react-pdf-viewer/default-layout\";\n\n// Import styles\nimport \"@react-pdf-viewer/core/lib/styles/index.css\";\nimport \"@react-pdf-viewer/default-layout/lib/styles/index.css\";\n\nconst { defineElement, property } = createDecorators();\n\nexport interface PdfViewerProps {\n url: string;\n page?: number;\n search?: string;\n viewerStyle?: React.CSSProperties | undefined;\n}\n\n/**\n * 构件 `advanced.pdf-viewer`\n */\nexport\n@defineElement(\"advanced.pdf-viewer\", {\n // 样式文件引入报错,使用非shadow dom模式正常\n shadowOptions: false,\n})\nclass PdfViewer extends ReactNextElement implements PdfViewerProps {\n @property()\n accessor url!: string;\n\n @property({\n type: Number,\n })\n accessor page: number | undefined;\n\n @property()\n accessor search: string | undefined;\n\n @property({\n attribute: false,\n })\n accessor viewerStyle: React.CSSProperties | undefined;\n\n render() {\n return (\n <PdfViewerComponent\n url={this.url}\n page={this.page ? this.page - 1 : 0}\n search={this.search}\n viewerStyle={this.viewerStyle}\n />\n );\n }\n}\n\nexport interface PdfViewerComponentProps extends PdfViewerProps {\n // Define event handlers here.\n}\n\nexport function PdfViewerComponent({\n url,\n search,\n page,\n viewerStyle,\n}: PdfViewerComponentProps) {\n // https://react-pdf-viewer.dev/examples/jump-to-the-first-match-of-pre-defined-keywords-automatically/\n const [isDocumentLoaded, setDocumentLoaded] = useState(false);\n\n const defaultLayoutPluginInstance = defaultLayoutPlugin();\n\n useEffect(() => {\n if (isDocumentLoaded && search) {\n defaultLayoutPluginInstance.toolbarPluginInstance.searchPluginInstance.highlight(\n {\n keyword: search,\n }\n );\n }\n }, [isDocumentLoaded, search]);\n\n return (\n // See: https://react-pdf-viewer.dev/examples/compile-and-set-the-worker-source-with-webpack/\n <Worker\n workerUrl={`${process.env.NODE_ENV === \"test\" ? \"\" : __webpack_public_path__}workers/pdf.worker.min.js`}\n >\n <div style={viewerStyle}>\n <Viewer\n fileUrl={url}\n initialPage={page}\n plugins={[defaultLayoutPluginInstance]}\n onDocumentLoad={() => setDocumentLoaded(true)}\n />\n </div>\n </Worker>\n );\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","locals","i","compareFunMap","$eq","isEqual","$lt","lt","$lte","lte","$gt","gt","$gte","gte","$ne","value","fieldValue","$isEqual","$notEqual","$in","includes","$nin","$exists","isUndefined","getCellStyle","cellStatus","item","dataIndex","mapping","list","finalValue","undefined","get","ret","find","borderLeft","leftBorderColor","getKeysOfData","data","rowKey","childrenColumnName","keys","forEach","children","key","length","getRowsOfData","rows","stripEmptyExpandableChildrenByName","name","arguments","_value$name","initializeReactI18n","en","zh","type","downMenuIcon","lib","icon","theme","rightMenuIcon","WrappedIcon","wrapBrick","DraggableBodyRow","_ref","index","moveRow","className","style","restProps","ref","React","isOver","dropClassName","drop","useDrop","accept","collect","monitor","dragIndex","getItem","drag","useDrag","isDragging","_extends","classNames","cursor","BrickTable","props","locale","i18n","language","split","zhCN","enUS","error","configProps","pagination","sortBy","columns","expandIconAsCell","expandIconColumnIndex","scroll","onDelete","ellipsisInfo","showHeader","initData","useMemo","_props$dataSource","dataSource","map","isNil","setData","useState","rowKeyExpandIconMapRef","useRef","Map","columnTitleBrickDataMapRef","useBrickItemBrickDataMapRef","itemExpandedRowBrickDataMapRef","useEffect","current","clear","expandIconColumnIndexOffset","rowSelection","customColumns","column","useBrick","valueSuffix","cellStyle","headerBrick","colSpanKey","rowSpanKey","filterDropdownBrick","columnConf","title","set","getCustomHeader","ReactUseMultipleBricks","filterDropdown","itemBrickDataMap","render","getCustomComp","brickData","cellData","rowData","columnIndex","shouldCellUpdate","record","prevRecord","Number","innerRender","colSpan","rowSpan","toPath","verticalAlign","components","body","row","hoverIndex","dragRow","newData","update","$splice","onDrag","pickExpandProps","pickBy","expandRowByClick","expandedRowKeys","defaultExpandAllRows","table","Table","expandIconCellHidden","customDropTable","tableDraggable","tableThTransparent","thTransparent","zebraPatternTable","zebraPattern","xSmallSizeTable","onRow","onChange","expandedRowBrick","expandedRowRender","_props$expandedRowBri","rowIndex","onExpand","expanded","showSorterTooltip","onExpandedRowsChange","expandedRows","rowClassName","invalidRow","disabledRow","expandIcon","iconProps","_props$expandIcon","expandable","iconNode","collapsedIcon","_props$expandIcon2","expandedIcon","onClick","e","visibility","DndProvider","backend","HTML5Backend","context","window","cahce","createCache","ConfigProvider","StyleProvider","container","shadowRoot","cache","defineElement","property","event","method","createDecorators","_TableComponent","_A","WeakMap","_TableComponent_brand","WeakSet","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_total","_AA","TableComponent","ReactNextElement","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_pageUpdate","_init_extra_pageUpdate","_init_filterUpdate","_init_extra_filterUpdate","_init_selectUpdate","_init_extra_selectUpdate","_init_selectRowKeysUpdate","_init_extra_selectRowKeysUpdate","_init_sortUpdate","_init_extra_sortUpdate","_init_rowExpand","_init_extra_rowExpand","_init_expandRowsChange","_init_extra_expandRowsChange","_init_rowDrag","_init_extra_rowDrag","_init_showCard","_init_extra_showCard","_init_rowSelection","_init_extra_rowSelection","_init_rowKey","_init_extra_rowKey","_init_hiddenColumns","_init_extra_hiddenColumns","_init_showSelectInfo","_init_extra_showSelectInfo","_init_filters","_init_extra_filters","_init_configProps","_init_extra_configProps","_init_sort","_init_extra_sort","_init_order","_init_extra_order","_init_rowDisabledConfig","_init_extra_rowDisabledConfig","_init_expandedRowBrick","_init_extra_expandedRowBrick","_init_expandIcon","_init_extra_expandIcon","_init_expandIconAsCell","_init_extra_expandIconAsCell","_init_expandIconColumnIndex","_init_extra_expandIconColumnIndex","_init_expandRowByClick","_init_extra_expandRowByClick","_init_optimizedColumns","_init_extra_optimizedColumns","_init_stripEmptyExpandableChildren","_init_extra_stripEmptyExpandableChildren","_init_defaultExpandAllRows","_init_extra_defaultExpandAllRows","_init_ellipsisInfo","_init_extra_ellipsisInfo","_init_expandedRowKeys","_init_extra_expandedRowKeys","_init_selectAllChildren","_init_extra_selectAllChildren","_init_defaultSelectAll","_defineProperty","_init_extra_defaultSelectAll","_init_childrenColumnName","_init_extra_childrenColumnName","_init_sortable","_init_extra_sortable","_init_frontSearch","_init_extra_frontSearch","_init_frontSearchQuery","_init_extra_frontSearchQuery","_init_exactSearch","_init_extra_exactSearch","_init_frontSearchFilterKeys","_init_extra_frontSearchFilterKeys","_init_page","_init_extra_page","_init_pageSize","_init_extra_pageSize","_init_scrollConfigs","x","_init_extra_scrollConfigs","_init_qField","_init_extra_qField","_init_tableDraggable","_init_extra_tableDraggable","_init_zebraPattern","_init_extra_zebraPattern","_init_storeCheckedByUrl","_init_extra_storeCheckedByUrl","_init_extraRows","_init_extra_extraRows","_init_autoSelectParentWhenAllChildrenSelected","_init_extra_autoSelectParentWhenAllChildrenSelected","_init_thTransparent","_init_extra_thTransparent","_init_showHeader","_init_extra_showHeader","_init_pagination","_init_extra_pagination","_init_size","_init_extra_size","_init_type","_init_extra_type","_init_shouldUpdateUrlParams","_init_extra_shouldUpdateUrlParams","_init_shouldRenderWhenUrlParamsUpdate","_init_extra_shouldRenderWhenUrlParamsUpdate","page","pageSize","total","ascend","descend","_init_selectedRowKeys","_init_extra_selectedRowKeys","_ref2","_this$rowKey","_this$configProps","this","_fields","parent","matchedParent","some","_findParentByChildKeyValue","selectedRowKeys","selectedRows","_getRowKey","rowKeyRowMap","keyBy","_selected","_selectedRowKeys","_allChildren","child","rowKeyValue","autoSelectParentWhenAllChildrenSelected","_selectedRow","selectedRowKeySet","Set","_dataSource","every","has","uniq","pullAll","concat","extraRowKeyRowMap","extraRows","_selectedRows","detail","isEmpty","_selectUpdateEventDetailField","_selectUpdateEventDetailKeys","merge","_selectUpdateEventDetailExtra","_selectUpdateEventName","dispatchEvent","CustomEvent","_classPrivateGetter","_get_selectUpdate","emit","_get_selectRowKeysUpdate","result","isArray","_getSelectedRowsWithChildren","checked","_isInSelect","allChildren","selectAllChildren","_disabledChildrenKeys","storeCheckedByUrl","_updateUrlChecked","selected","changeRows","allParentKeys","changedParentRows","filter","v","toChangedChildrenKeys","flatten","r","cr","history","getHistory","URLSearchParams","location","search","options","checkedOptions","_getCheckedFromUrl","pull","shouldUpdateUrlParams","pushQuery","join","notify","filters","sorter","urlSearchParams","_get_filterUpdate","newPage","_get_pageUpdate","delete","order","columnKey","sort","_get_sortUpdate","frontSearch","frontendSearch","shouldRenderWhenUrlParamsUpdate","marginLeft","role","pullKeys","recordChildren","keysToPull","c","_render","_get_rowExpand","_get_expandRowsChange","_get_rowDrag","allRows","_getAllRows","_this$configProps$row","_this$configProps3","defaultPagination","_classPrivateFieldGet","showSizeChanger","pageSizeOptions","showTotal","totals","_this$configProps2","showSelectInfo","renderSelectInfo","rowDisabledConfig","Array","defaultRowSelection","defaultSelectAll","_handleDefaultSelectAll","onSelect","_handleOnSelect","onSelectAll","_handleSelectAll","_handleRowSelectChange","preserveSelectedRowKeys","getCheckboxProps","disabled","config","field","operator","fun","_finalConfigProps","cloneDeep","size","rowSelec","_this$type","_this$type2","_columns","sortOrder","_urlSearchParams$get","_get","filteredValue","filtered","_find$value","_find","f","String","_ref3","_get2","_ref4","_ref5","_get3","_this$configProps4","_originalDataSource","_pureSource","stripEmptyExpandableChildren","_classPrivateFieldSet","showCard","hiddenColumns","optimizedColumns","sortable","fields","frontSearchQuery","exactSearch","frontSearchFilterKeys","scrollConfigs","qField","processedDataSource","processConfigProps","processedColumns","getModifyColumns","filterSourceData","q","trim","toLowerCase","handleFrontendDataChange","tempDataSource","handleFrontendFilterSource","handleFrontendSorter","handleFrontendFilters","filterKeys","_filterKeys","filteredChildren","JSON","stringify","direction","a","b","aValue","bValue","filtersArray","k","_filter$value$include","_filter$value","expandAll","allKeys","_this$hiddenColumns","_ref6","_initConfigProps","_error","_handleOnChange","_handleOnExpand","_handleOnExpandedRowsChange","draggable","_handleOnDrag","_test_only_getOriginalDataSource","updateData","updateError","selectUpdateEventName","selectUpdateEventDetailKeys","selectUpdateEventDetailField","selectUpdateEventDetailExtra","_TableComponent2","_set_pageUpdate","_set_filterUpdate","_set_selectUpdate","_set_selectRowKeysUpdate","_set_sortUpdate","_set_rowExpand","_set_expandRowsChange","_set_rowDrag","_initClass","_applyDecs","styleTexts","styleText","alias","o","cancelable","Boolean","attribute","_","_checkInRHS","_FormItemElementBase_brand","FormItemElementBase","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","_classPrivateSetter","_set_validate","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_this","_this2","_this3","_this4","_this5","_this6","_FormItemElementBase","WrappedFormItem","_CascaderBrick","_CascaderBrick_brand","CascaderElement","fieldNames","placeholder","multiple","allowClear","showSearch","expandTrigger","limit","popupPlacement","cascaderStyle","suffixIcon","maxTagCount","currentTheme","useCurrentTheme","algorithm","darkAlgorithm","defaultAlgorithm","hashPriority","Cascader","getPopupContainer","trigger","parentElement","inputValue","path","label","filterValues","toLocaleLowerCase","j","option","placement","selectedOptions","_CascaderBrick2","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_required","_init_extra_required","_init_options","_init_extra_options","_init_fieldNames","_init_extra_fieldNames","_init_value","_init_extra_value","_init_placeholder","_init_extra_placeholder","_init_multiple","_init_extra_multiple","_init_disabled","_init_extra_disabled","_init_allowClear","_init_extra_allowClear","_init_showSearch","_init_extra_showSearch","_init_suffixIcon","_init_extra_suffixIcon","_init_expandTrigger","_init_extra_expandTrigger","_init_popupPlacement","_init_extra_popupPlacement","_init_limit","_init_extra_limit","_init_maxTagCount","_init_extra_maxTagCount","_init_cascaderStyle","_init_extra_cascaderStyle","_init_changeEvent","_init_extra_changeEvent","Promise","resolve","then","_get_changeEvent","required","exportparts","curElement","formElement","handleOnChange","_set_changeEvent","_EoNextTable","_tableRef","_EoNextTable_brand","_handlePageChange","_handlePageSizeChange","_handleSort","_handleRowSelect","_handleRowExpand","_handleExpandedRowsChange","_handleRowDrag","EoNextTable","createRef","_init_columns","_init_extra_columns","_init_cell","_init_extra_cell","_init_dataSource","_init_extra_dataSource","_init_loading","_init_extra_loading","_init_multiSort","_init_extra_multiSort","_init_expandable","_init_extra_expandable","_init_rowDraggable","_init_extra_rowDraggable","_init_searchFields","_init_extra_searchFields","_init_bordered","_init_extra_bordered","_init_scrollConfig","_init_extra_scrollConfig","_init_injectChartV2Styles","_init_extra_injectChartV2Styles","_init_pageChangeEvent","_init_extra_pageChangeEvent","_get_pageChangeEvent","_init_pageSizeChangeEvent","_init_extra_pageSizeChangeEvent","_get_pageSizeChangeEvent","_init_sortChangeEvent","_init_extra_sortChangeEvent","_get_sortChangeEvent","_init_rowSelectEvent","_init_extra_rowSelectEvent","_get_rowSelectEvent","_init_rowExpandEvent","_init_extra_rowExpandEvent","_get_rowExpandEvent","_init_expandedRowsChangeEvent","_init_extra_expandedRowsChangeEvent","_get_expandedRowsChangeEvent","_init_rowDragEvent","_init_extra_rowDragEvent","_get_rowDragEvent","cell","loading","multiSort","rowDraggable","searchFields","bordered","scrollConfig","injectChartV2Styles","params","_classPrivateFieldGet2","chartStyleText","NextTableComponent","onPageChange","onPageSizeChange","onSort","onRowSelect","onRowExpand","onRowDrag","_EoNextTable2","_set_pageChangeEvent","_set_pageSizeChangeEvent","_set_sortChangeEvent","_set_rowSelectEvent","_set_rowExpandEvent","_set_expandedRowsChangeEvent","_set_rowDragEvent","WrappedButton","WrappedDropdownButton","onActionClick","WrappedCheckbox","showDialog","unwrapProvider","getRealKey","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","cardTitle","layouts","layoutsProps","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","WidthProvider","Responsive","gridLayoutRef","layoutWrapperRef","layoutCacheRef","_setLayouts","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","w","y","h","minH","matchItem","_currentLayout$t$minH","Math","max","random","handleCheckBoxChange","checkedKeys","layoutsKeys","addItems","position","Infinity","layout","handleClearLayout","handleSave","handleDeleteItem","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","onMouseDown","ReactUseBrick","computedOptions","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","document","clientHeight","overflow","addEventListener","removeEventListener","handleCancel","btnText","actions","text","danger","action","content","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","remove","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayout","_componentRef","_EoWorkbenchLayout_brand","_handleChange","_handleSave","_handleCancel","_handleActionClick","EoWorkbenchLayout","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_componentList","_init_extra_componentList","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","_EoWorkbenchLayout2","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","DroppableComponentLayoutItem","styles","editMask","deleteIcon","WrappedSidebarMenuItem","DraggableComponentMenuItem","onDragStart","onDragEnd","dataTransfer","WrappedSidebarMenu","defaultCardConfig","cardWidth","showMoreIcon","cardBorderStyle","cardTitleFontSize","cardBorderWidth","cardBorderRadius","cardTitleColor","cardBorderColor","cardBgType","toolbarBricks","showSettingButton","onSetting","keyComponentMap","draggingComponentRef","currentLayoutsMap","addComponent","pick","gridLayoutWrapper","componentWrapper","componentTitle","layoutWrapper","actionsWrapper","handleSetting","layoutItemStyles","isDroppable","onDropDragOver","onDrop","_EoWorkbenchLayoutV","_EoWorkbenchLayoutV2_brand","_handleSetting","EoWorkbenchLayoutV2","_init_toolbarBricks","_init_extra_toolbarBricks","_init_showSettingButton","_init_extra_showSettingButton","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","connectedCallback","display","super","_EoWorkbenchLayoutV2","_set_settingEvent","shadowOptions","capture","selector","backgroundColor","target","Error","reject","html2canvas","useCORS","allowTaint","scale","devicePixelRatio","canvas","catch","customElements","define","createProviderClass","async","fileType","bucketName","blob","toBlob","getCanvasBlob","files","File","file","formData","FormData","append","url","getBasePath","http","request","uploadFile","objectName","buildImageUrl","toDataURL","image","Image","onload","createElement","width","ctx","getContext","drawImage","href","download","MouseEvent","src","downloadImage","jsPDF","imageData","pdf","addImage","save","returnPromise","_EoTree","_EoTree_brand","_handleCheck","_handleExpand","_handleDrop","EoTree","_init_checkable","_init_extra_checkable","_init_selectable","_init_extra_selectable","_init_defaultExpandAll","_init_extra_defaultExpandAll","_init_showLine","_init_extra_showLine","_init_expandedKeys","_init_extra_expandedKeys","_init_checkedKeys","_init_extra_checkedKeys","_init_nodeDraggable","_init_extra_nodeDraggable","_init_switcherIcon","_init_extra_switcherIcon","_init_allowDrop","_init_extra_allowDrop","_init_titleSuffixBrick","_init_extra_titleSuffixBrick","_init_checkEvent","_init_extra_checkEvent","_init_checkDetailEvent","_init_extra_checkDetailEvent","info","_get_checkEvent","_get_checkDetailEvent","halfCheckedKeys","_init_expandEvent","_init_extra_expandEvent","expandedKeys","_get_expandEvent","_init_dropEvent","_init_extra_dropEvent","dragNode","node","dropNode","dropPosition","_get_dropEvent","checkable","selectable","defaultExpandAll","showLine","nodeDraggable","switcherIcon","allowDrop","titleSuffixBrick","EoTreeComponent","onCheck","autoClear","Tree","DownOutlined","titleRender","nodeData","treeData","_EoTree2","_set_checkEvent","_set_checkDetailEvent","_set_expandEvent","_set_dropEvent","_TreeSelectBrick","_TreeSelectBrick_brand","_handleSearch","_handleSelect","TreeSelectElement","treeExpandedKeys","treeDefaultExpandAll","dropdownStyle","onSearch","onTreeExpand","TreeSelect","treeCheckable","virtual","_TreeSelectBrick2","_init_treeData","_init_extra_treeData","_init_treeDefaultExpandAll","_init_extra_treeDefaultExpandAll","_init_treeExpandedKeys","_init_extra_treeExpandedKeys","_init_filterTreeNode","_init_extra_filterTreeNode","_init_dropdownStyle","_init_extra_dropdownStyle","_init_searchEvent","_init_extra_searchEvent","_get_searchEvent","_init_selectEvent","_init_extra_selectEvent","_get_selectEvent","filterTreeNode","_set_searchEvent","_set_selectEvent","_EoTextTooltip","EoTextTooltip","_init_lineClamp","_init_extra_lineClamp","lineClamp","EoTextTooltipComponent","show","setShow","isEllipsis","parentDom","offsetWidth","offsetHeight","scrollWidth","scrollHeight","prefixCls","transformers","legacyLogicalPropertiesTransformer","Tooltip","_EoTextTooltip2","_PdfViewer","PdfViewer","_init_url","_init_extra_url","_init_search","_init_extra_search","_init_viewerStyle","_init_extra_viewerStyle","viewerStyle","PdfViewerComponent","isDocumentLoaded","setDocumentLoaded","defaultLayoutPluginInstance","defaultLayoutPlugin","toolbarPluginInstance","searchPluginInstance","highlight","keyword","Worker","workerUrl","__webpack_public_path__","Viewer","fileUrl","initialPage","plugins","onDocumentLoad","_PdfViewer2"],"sourceRoot":""}