@next-bricks/advanced 0.51.4 → 0.51.5

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.
Files changed (79) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{1889.b0931dce.js → 1889.f8507811.js} +2 -2
  3. package/dist/chunks/{1889.b0931dce.js.map → 1889.f8507811.js.map} +1 -1
  4. package/dist/chunks/3171.5a42835a.js +2 -0
  5. package/dist/chunks/3171.5a42835a.js.map +1 -0
  6. package/dist/chunks/4758.0ee6b1c2.js +3 -0
  7. package/dist/chunks/4758.0ee6b1c2.js.map +1 -0
  8. package/dist/chunks/5399.90afc78f.js +2 -0
  9. package/dist/chunks/5399.90afc78f.js.map +1 -0
  10. package/dist/chunks/5552.3af82478.js +2 -0
  11. package/dist/chunks/5552.3af82478.js.map +1 -0
  12. package/dist/chunks/6376.a5e3cba3.js +2 -0
  13. package/dist/chunks/6376.a5e3cba3.js.map +1 -0
  14. package/dist/chunks/{8382.eba253d7.js → 8382.ade8275e.js} +2 -2
  15. package/dist/chunks/8382.ade8275e.js.map +1 -0
  16. package/dist/chunks/9118.f65d12a9.js +3 -0
  17. package/dist/chunks/9118.f65d12a9.js.map +1 -0
  18. package/dist/chunks/948.c45999d0.js +3 -0
  19. package/dist/chunks/948.c45999d0.js.map +1 -0
  20. package/dist/chunks/{eo-cascader.b5d6ee02.js → eo-cascader.8d423eaa.js} +2 -2
  21. package/dist/chunks/{eo-cascader.b5d6ee02.js.map → eo-cascader.8d423eaa.js.map} +1 -1
  22. package/dist/chunks/{eo-next-table.25f4bf4d.js → eo-next-table.7f8c557a.js} +2 -2
  23. package/dist/chunks/{eo-next-table.25f4bf4d.js.map → eo-next-table.7f8c557a.js.map} +1 -1
  24. package/dist/chunks/{eo-table.5dd09651.js → eo-table.9b4334a3.js} +2 -2
  25. package/dist/chunks/eo-table.9b4334a3.js.map +1 -0
  26. package/dist/chunks/{eo-tree-select.4034b1d9.js → eo-tree-select.49c195a4.js} +2 -2
  27. package/dist/chunks/{eo-tree-select.4034b1d9.js.map → eo-tree-select.49c195a4.js.map} +1 -1
  28. package/dist/chunks/{eo-tree.22180778.js → eo-tree.e8729dea.js} +3 -3
  29. package/dist/chunks/{eo-tree.22180778.js.map → eo-tree.e8729dea.js.map} +1 -1
  30. package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js → eo-workbench-layout-v2.12b31a22.js} +3 -3
  31. package/dist/chunks/eo-workbench-layout-v2.12b31a22.js.map +1 -0
  32. package/dist/chunks/{eo-workbench-layout.1ed8ce80.js → eo-workbench-layout.39666f6e.js} +2 -2
  33. package/dist/chunks/eo-workbench-layout.39666f6e.js.map +1 -0
  34. package/dist/chunks/main.06ea33e1.js +2 -0
  35. package/dist/chunks/main.06ea33e1.js.map +1 -0
  36. package/dist/index.61a04a59.js +2 -0
  37. package/dist/index.61a04a59.js.map +1 -0
  38. package/dist/manifest.json +3 -3
  39. package/dist/types.json +11 -14
  40. package/dist-types/interfaces/workbench.d.ts +2 -2
  41. package/dist-types/next-table/CacheUseBrickItem.d.ts +2 -2
  42. package/dist-types/next-table/interface.d.ts +5 -5
  43. package/dist-types/table/BrickTable.d.ts +2 -2
  44. package/dist-types/table/index.d.ts +6 -5
  45. package/dist-types/tree/index.d.ts +3 -3
  46. package/dist-types/workbench-layout/index.d.ts +2 -2
  47. package/dist-types/workbench-layout-v2/index.d.ts +3 -3
  48. package/package.json +2 -2
  49. package/dist/chunks/3171.a0713c82.js +0 -2
  50. package/dist/chunks/3171.a0713c82.js.map +0 -1
  51. package/dist/chunks/4758.703acb39.js +0 -3
  52. package/dist/chunks/4758.703acb39.js.map +0 -1
  53. package/dist/chunks/4837.04c758cf.js +0 -2
  54. package/dist/chunks/4837.04c758cf.js.map +0 -1
  55. package/dist/chunks/5139.30dacc51.js +0 -2
  56. package/dist/chunks/5139.30dacc51.js.map +0 -1
  57. package/dist/chunks/5399.c6d3cd26.js +0 -2
  58. package/dist/chunks/5399.c6d3cd26.js.map +0 -1
  59. package/dist/chunks/5552.b8201181.js +0 -2
  60. package/dist/chunks/5552.b8201181.js.map +0 -1
  61. package/dist/chunks/7218.bcb25b61.js +0 -2
  62. package/dist/chunks/7218.bcb25b61.js.map +0 -1
  63. package/dist/chunks/8382.eba253d7.js.map +0 -1
  64. package/dist/chunks/9118.cc8511ac.js +0 -3
  65. package/dist/chunks/9118.cc8511ac.js.map +0 -1
  66. package/dist/chunks/948.e02bc040.js +0 -3
  67. package/dist/chunks/948.e02bc040.js.map +0 -1
  68. package/dist/chunks/eo-table.5dd09651.js.map +0 -1
  69. package/dist/chunks/eo-workbench-layout-v2.24da89e7.js.map +0 -1
  70. package/dist/chunks/eo-workbench-layout.1ed8ce80.js.map +0 -1
  71. package/dist/chunks/main.6b40d042.js +0 -2
  72. package/dist/chunks/main.6b40d042.js.map +0 -1
  73. package/dist/index.6f2baf4a.js +0 -2
  74. package/dist/index.6f2baf4a.js.map +0 -1
  75. /package/dist/chunks/{4758.703acb39.js.LICENSE.txt → 4758.0ee6b1c2.js.LICENSE.txt} +0 -0
  76. /package/dist/chunks/{9118.cc8511ac.js.LICENSE.txt → 9118.f65d12a9.js.LICENSE.txt} +0 -0
  77. /package/dist/chunks/{948.e02bc040.js.LICENSE.txt → 948.c45999d0.js.LICENSE.txt} +0 -0
  78. /package/dist/chunks/{eo-tree.22180778.js.LICENSE.txt → eo-tree.e8729dea.js.LICENSE.txt} +0 -0
  79. /package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js.LICENSE.txt → eo-workbench-layout-v2.12b31a22.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/eo-table.5dd09651.js","mappings":"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","sources":["webpack:///./src/table/table.shadow.css","webpack:///./src/table/index.tsx","webpack:///./src/table/BrickTable.tsx","webpack:///./src/table/utils.tsx","webpack:///./src/table/i18n.ts"],"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","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\nexport interface SortUpdateEventDetail {\n sort: string;\n order: string | number;\n}\n\nexport interface RowExpandEventDetail {\n expanded: boolean;\n record: Record<string, any>;\n}\n\nexport interface ExpandRowsChangeEventDetail {\n expandedRows: React.Key[];\n}\n\nexport interface RowDragEventDetail {\n data: Record<string, any>[];\n}\n\nexport interface EoTableEventsMap {\n \"page.update\": CustomEvent<Record<string, number>>;\n \"filter.update\": CustomEvent<Record<string, number>>;\n \"select.update\": CustomEvent<Record<string, any>[]>;\n \"select.row.keys.update\": CustomEvent<string[]>;\n \"sort.update\": CustomEvent<SortUpdateEventDetail>;\n \"row.expand\": CustomEvent<RowExpandEventDetail>;\n \"expand.rows.change\": CustomEvent<ExpandRowsChangeEventDetail>;\n \"row.drag\": CustomEvent<RowDragEventDetail>;\n}\n\nexport interface EoTableEventsMapping {\n onPageChange: \"page.update\";\n onFilterUpdate: \"filter.update\";\n onSelectUpdate: \"select.update\";\n onSelectRowKeysUpdate: \"select.row.keys.update\";\n onSortUpdate: \"sort.update\";\n onRowExpand: \"row.expand\";\n onExpandRowsChange: \"expand.rows.change\";\n onRowDrag: \"row.drag\";\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 * @detail { page: 当前页码, pageSize: 每页条数 }\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 * @detail { page: 当前页码, pageSize: 每页条数 }\n */\n @event({ type: \"filter.update\" }) accessor #filterUpdate!: EventEmitter<\n Record<string, number>\n >;\n\n /**\n * 勾选框变化,detail 中为所选的行数据\n * @detail 选中的行数据数组\n */\n @event({ type: \"select.update\" }) accessor #selectUpdate!: EventEmitter<\n Record<string, any>[]\n >;\n\n /**\n * 勾选框变化,detail 中为所选的行key集合\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 * @detail { sort: 排序列的 key/dataIndex, order: 升序/降序 }\n */\n @event({ type: \"sort.update\", cancelable: true })\n accessor #sortUpdate!: EventEmitter<SortUpdateEventDetail>;\n\n /**\n * 点击展开图标时触发的事件,事件详情中`expanded`为是否展开,`record`被点击的行信息\n * @detail { expanded: 是否展开, record: 被点击的行数据 }\n */\n @event({ type: \"row.expand\" })\n accessor #rowExpand!: EventEmitter<RowExpandEventDetail>;\n\n /**\n * 展开的行变化时触发的事件,事件详情为当前展开的所有行的`rowKey`集合\n * @detail { expandedRows: 当前展开的所有行的 rowKey 集合 }\n */\n @event({ type: \"expand.rows.change\" })\n accessor #expandRowsChange!: EventEmitter<ExpandRowsChangeEventDetail>;\n\n /**\n * 表格行拖拽结束发生的事件,事件详情为拖拽后重新排序的所有行数据\n * @detail { data: 拖拽后重新排序的所有行数据 }\n */\n @event({ type: \"row.drag\" })\n accessor #rowDrag!: EventEmitter<RowDragEventDetail>;\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 * 表格是否可滚动,也可以指定滚动区域的宽、高,配置项。详见 [scroll](https://ant.design/components/table-cn/#scroll)\n * @kind {\n * x?: string | number | true;\n * y?: number | string;\n * } & {\n * scrollToFirstRowOnChange?: boolean;\n * }\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 * @param event - 搜索事件,event.detail.q 为搜索关键词\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 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","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","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"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","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","arguments","_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","dataSource","total","ascend","descend","_init_selectedRowKeys","_init_extra_selectedRowKeys","_ref","_ref2","_this$rowKey","_this$configProps","this","rowKey","_fields","configProps","value","list","parent","matchedParent","some","item","children","childrenColumnName","_findParentByChildKeyValue","selectedRowKeys","selectedRows","_getRowKey","rowKeyRowMap","keyBy","_selected","_selectedRowKeys","_allChildren","forEach","child","rowKeyValue","autoSelectParentWhenAllChildrenSelected","_selectedRow","selectedRowKeySet","Set","_dataSource","every","has","uniq","pullAll","map","concat","undefined","extraRowKeyRowMap","extraRows","_selectedRows","key","detail","data","isEmpty","_selectUpdateEventDetailField","row","get","_selectUpdateEventDetailKeys","set","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","includes","toChangedChildrenKeys","flatten","r","cr","history","getHistory","URLSearchParams","location","search","split","options","checkedOptions","_getCheckedFromUrl","pull","shouldUpdateUrlParams","pushQuery","join","notify","pagination","filters","sorter","urlSearchParams","current","_get_filterUpdate","newPage","_get_pageUpdate","isNil","length","delete","order","columnKey","sort","_get_sortUpdate","frontSearch","frontendSearch","shouldRenderWhenUrlParamsUpdate","React","style","marginLeft","role","onClick","expanded","record","expandedRowKeys","pullKeys","recordChildren","keysToPull","c","_render","_get_rowExpand","expandedRows","_get_expandRowsChange","_get_rowDrag","allRows","getRowsOfData","_getAllRows","_this$configProps$row","_this$configProps3","defaultPagination","_classPrivateFieldGet","showSizeChanger","pageSizeOptions","showTotal","totals","_this$configProps2","className","rowSelection","showSelectInfo","renderSelectInfo","rowDisabledConfig","Array","defaultRowSelection","defaultSelectAll","_handleDefaultSelectAll","onSelect","_handleOnSelect","onSelectAll","_handleSelectAll","onChange","_handleRowSelectChange","preserveSelectedRowKeys","getCheckboxProps","disabled","config","field","operator","fun","compareFunMap","_finalConfigProps","cloneDeep","size","rowSelec","_this$type","_this$type2","type","_columns","dataIndex","sortOrder","_urlSearchParams$get","_get","filteredValue","filtered","_find$value","_find","find","f","String","columns","_ref3","_get2","_ref4","_ref5","_get3","_originalDataSource","_pureSource","stripEmptyExpandableChildren","_this$configProps4","columnName","expandable","stripEmptyExpandableChildrenByName","_classPrivateFieldSet","showCard","hiddenColumns","expandedRowBrick","expandIcon","expandIconAsCell","expandIconColumnIndex","expandRowByClick","optimizedColumns","defaultExpandAllRows","ellipsisInfo","sortable","fields","frontSearchQuery","exactSearch","frontSearchFilterKeys","scrollConfigs","qField","tableDraggable","zebraPattern","thTransparent","showHeader","processedDataSource","processConfigProps","processedColumns","getModifyColumns","filterSourceData","q","trim","toLowerCase","handleFrontendDataChange","tempDataSource","handleFrontendFilterSource","handleFrontendSorter","handleFrontendFilters","filterKeys","column","_filterKeys","filteredChildren","JSON","stringify","direction","a","b","aValue","bValue","filtersArray","k","_filter$value$include","_filter$value","expandAll","allKeys","getKeysOfData","_this$hiddenColumns","_ref6","render","_initConfigProps","BrickTable","shadowRoot","error","_error","_handleOnChange","onExpand","_handleOnExpand","onExpandedRowsChange","_handleOnExpandedRowsChange","draggable","onDrag","_handleOnDrag","scroll","xSmallSizeTable","_test_only_getOriginalDataSource","updateData","updateError","selectUpdateEventName","selectUpdateEventDetailKeys","selectUpdateEventDetailField","selectUpdateEventDetailExtra","_TableComponent2","e","_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","Number","_","_checkInRHS","initializeReactI18n","NS","locales","downMenuIcon","lib","icon","theme","rightMenuIcon","WrappedIcon","wrapBrick","DraggableBodyRow","index","moveRow","restProps","ref","isOver","dropClassName","drop","useDrop","accept","collect","monitor","dragIndex","getItem","drag","useDrag","isDragging","_extends","classNames","cursor","getCustomHeader","useBrick","ReactUseMultipleBricks","getCustomComp","itemBrickDataMap","brickData","cellData","rowData","columnIndex","props","locale","i18n","language","zhCN","enUS","sortBy","onDelete","initData","useMemo","_props$dataSource","setData","useState","rowKeyExpandIconMapRef","useRef","Map","columnTitleBrickDataMapRef","useBrickItemBrickDataMapRef","itemExpandedRowBrickDataMapRef","useEffect","clear","expandIconColumnIndexOffset","customColumns","valueSuffix","cellStatus","cellStyle","headerBrick","colSpanKey","rowSpanKey","filterDropdownBrick","columnConf","title","filterDropdown","shouldCellUpdate","prevRecord","isEqual","innerRender","colSpan","rowSpan","getCellStyle","toPath","verticalAlign","components","body","hoverIndex","dragRow","newData","update","$splice","pickExpandProps","pickBy","table","Table","expandIconCellHidden","customDropTable","tableThTransparent","zebraPatternTable","onRow","expandedRowRender","_props$expandedRowBri","rowIndex","showSorterTooltip","rowClassName","invalidRow","disabledRow","iconProps","_props$expandIcon","iconNode","collapsedIcon","_props$expandIcon2","expandedIcon","visibility","DndProvider","backend","HTML5Backend","context","window","cahce","createCache","ConfigProvider","StyleProvider","container","cache","$eq","$lt","lt","$lte","lte","$gt","gt","$gte","gte","$ne","fieldValue","$isEqual","$notEqual","$in","$nin","$exists","isUndefined","mapping","finalValue","ret","borderLeft","leftBorderColor","keys","rows","name","_value$name","en","zh"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/eo-workbench-layout-v2.24da89e7.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css?66f3","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/i18n.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./src/workbench-layout-v2/utils.ts","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\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]!./DraggableComponentMenuItem.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]!./DraggableComponentMenuItem.module.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 classNames from \"classnames\";\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 { Layout, Responsive, WidthProvider } from \"react-grid-layout\";\nimport \"@next-core/theme\";\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\";\nimport { SizeMe } from \"react-sizeme\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport {\n WorkbenchComponent,\n ExtraLayout,\n CardStyleConfig,\n} from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\nimport { getLayoutDefaultCardConfig } from \"./utils\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\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\nconst ROW_HEIGHT = 1;\nconst MARGIN_WIDTH = 16;\nconst MARGIN_HEIGHT = 16;\nconst URl_PREFIX = `${window.location.origin}${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`;\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n gap?: number;\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 customDefaultCardConfigMap,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n gap,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const { t } = useTranslation(NS);\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 // 占位拖拽不触发 setLayouts\n if (currentLayout.some((v) => v.isDraggable)) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\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 }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\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: t(K.CLEAR_CONFIRM) as string,\n content: t(K.CLEAR_CONFIRM_MESSAGE),\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(action, layouts ?? []);\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n currentLayouts?: Layout[]\n ): void => {\n const defaultCardConfig = getLayoutDefaultCardConfig(\n component.key,\n customDefaultCardConfigMap\n );\n const currentLayoutsMap = keyBy(currentLayouts, \"i\");\n const newLayouts = layouts.map((layout) => {\n return {\n ...layout,\n ...pick(currentLayoutsMap?.[layout.i], [\"x\", \"y\"]),\n };\n });\n let newLayout = {\n ...defaultCardConfig,\n ...component.position,\n i: `${component.key}:${Math.random()}`,\n cardWidth: component.position.w,\n type: component.key,\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n };\n if (currentLayouts) {\n const dropItem = currentLayouts.find((v) => v.i === \"__dropping-elem__\");\n newLayout = {\n ...newLayout,\n ...pick(dropItem, \"x\", \"y\"),\n };\n handleChange([newLayout, ...newLayouts]);\n return;\n }\n handleChange(layouts.concat(newLayout));\n };\n\n const handleDeleteItem = useCallback(\n (i: string) => {\n handleChange(layouts.filter((item) => item.i !== i) ?? []);\n },\n [handleChange, layouts]\n );\n\n /* istanbul ignore next */\n const handleResize = useCallback(\n (i: string, contentHeight: number) => {\n const oldLayout = layouts.find((layout: ExtraLayout) => layout.i === i);\n const initNewH =\n ((oldLayout?.cardBorderStyle === \"solid\"\n ? oldLayout?.cardBorderWidth || 0\n : 0) *\n 2 +\n contentHeight +\n (gap ?? MARGIN_HEIGHT)) /\n ((gap ?? MARGIN_HEIGHT) + ROW_HEIGHT);\n const newH = isEdit ? Math.ceil(initNewH) : initNewH;\n\n if (!oldLayout) return;\n\n const currentH = isEdit ? Math.ceil(oldLayout.h) : oldLayout.h;\n if (currentH !== newH) {\n const newLayouts = layouts.map((item) =>\n item.i === i ? { ...item, h: newH } : item\n );\n handleChange(newLayouts);\n }\n },\n [layouts, handleChange, gap, isEdit]\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 const background =\n layout?.cardBgType === \"picture\"\n ? `url(\"${URl_PREFIX}${layout?.cardBackground}\") no-repeat center / cover`\n : layout?.cardBgType === \"realNone\"\n ? \"none\"\n : layout?.cardBgType === \"color\"\n ? layout?.cardBackground\n : \"#fff\";\n const border =\n layout?.cardBorderStyle === \"solid\"\n ? `${layout?.cardBorderWidth}px ${layout?.cardBorderStyle} ${layout?.cardBorderColor}`\n : (layout?.cardBorderStyle ?? \"1px solid #e8e8e8\");\n const borderRadius = `${layout?.cardBorderRadius ?? 6}px`;\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 style={{\n ...(component.style || {}),\n background,\n border,\n borderRadius,\n backdropFilter: \"blur(10px)\",\n }}\n >\n <SizeMe monitorHeight>\n {({ size }) => {\n if (size.height) {\n handleResize(layout.i, size.height);\n }\n return (\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={handleDeleteItem}\n />\n );\n }}\n </SizeMe>\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem, handleResize]);\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 {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 {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 {t(K.SAVE)}\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>{t(K.CANCEL)}</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n {t(K.SETTING)}\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText={t(K.MORE) as string}\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: t(K.SAVE_AS_TEMPLATE), event: \"saveAsTemplate\" }]\n : []),\n { text: t(K.LOAD_FROM_TEMPLATE), event: \"loadFromTemplate\" },\n { text: t(K.CLEAR_ALL), 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={classNames(styles.layout, {\n [`${styles.layoutEdit}`]: isEdit,\n })}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={ROW_HEIGHT}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n compactType=\"vertical\"\n margin={[gap ?? MARGIN_WIDTH, gap ?? MARGIN_HEIGHT]}\n // onDrag={handleDragCallback}\n useCSSTransforms={false}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, layout);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\nexport interface EoWorkbenchLayoutV2EventsMap {\n change: CustomEvent<ExtraLayout[]>;\n save: CustomEvent<ExtraLayout[]>;\n cancel: CustomEvent<void>;\n setting: CustomEvent<void>;\n \"action.click\": CustomEvent<{ action: SimpleAction; layouts: ExtraLayout[] }>;\n}\n\nexport interface EoWorkbenchLayoutV2EventsMapping {\n onChange: \"change\";\n onSave: \"save\";\n onCancel: \"cancel\";\n onSetting: \"setting\";\n onActionClick: \"action.click\";\n}\n\n/**\n * 工作台布局 V2,支持拖拽式卡片布局与全局样式(不使用 shadow DOM)\n * @author developer\n * @category layout\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n /** 编辑模式下左侧卡片列表面板的标题 */\n @property()\n accessor cardTitle: string | undefined;\n\n /** 是否进入编辑模式,编辑模式下可拖拽调整布局并显示卡片选择面板 */\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n /** 当前布局配置,每项对应一个卡片的位置与大小及样式信息 */\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n /** 编辑模式下工具栏区域的自定义构件 */\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n /** 组件列表,每项包含 key、title、useBrick 和 position 信息 */\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n\n /** 自定义卡片默认配置,用于覆盖默认卡片样式配置 */\n @property({ attribute: false })\n accessor customDefaultCardConfigMap:\n | Record<string, CardStyleConfig>\n | undefined;\n\n /** 是否显示设置按钮,用于触发页面样式和布局设置 */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n /** 卡片之间的间距(px) */\n @property({ type: Number })\n accessor gap: number | undefined;\n\n /**\n * @detail 当前布局配置数组\n * @description 布局发生变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n /**\n * @detail 保存时的布局配置数组\n * @description 点击保存按钮时触发\n */\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n /**\n * @detail -\n * @description 点击取消按钮时触发\n */\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * @detail -\n * @description 点击设置按钮时触发\n */\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * @detail { action: 点击的操作项, layouts: 当前布局配置数组 }\n * @description 更多操作菜单中的操作点击时触发\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n /**\n * 设置布局配置\n * @param layouts - 新的布局配置数组\n */\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\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 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 gap={this.gap}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n customDefaultCardConfigMap={this.customDefaultCardConfigMap}\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","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\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","export enum K {\n CLEAR_CONFIRM = \"CLEAR_CONFIRM\",\n CARD_LIST = \"CARD_LIST\",\n CLEAR_CONFIRM_MESSAGE = \"CLEAR_CONFIRM_MESSAGE\",\n SAVE = \"SAVE\",\n CANCEL = \"CANCEL\",\n SETTING = \"SETTING\",\n MORE = \"MORE\",\n SAVE_AS_TEMPLATE = \"SAVE_AS_TEMPLATE\",\n LOAD_FROM_TEMPLATE = \"LOAD_FROM_TEMPLATE\",\n CLEAR_ALL = \"CLEAR_ALL\"\n}\n\nconst en: Locale = {\n CLEAR_CONFIRM: \"Clear Confirm\",\n CARD_LIST: \"Card List\",\n CLEAR_CONFIRM_MESSAGE: \"All cards will be cleared and editing will start from scratch. This operation cannot be undone.\",\n SAVE: \"Save\",\n CANCEL: \"Cancel\",\n SETTING: \"Setting\",\n MORE: \"More\",\n SAVE_AS_TEMPLATE: \"Save As Template\",\n LOAD_FROM_TEMPLATE: \"Load From Template\",\n CLEAR_ALL: \"Clear All\"\n};\n\nconst zh: Locale = {\n CLEAR_CONFIRM: \"清空确认\",\n CARD_LIST: \"卡片列表\",\n CLEAR_CONFIRM_MESSAGE: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n SAVE: \"保存\",\n CANCEL: \"取消\",\n SETTING: \"设置\",\n MORE: \"更多\",\n SAVE_AS_TEMPLATE: \"另存为模板\",\n LOAD_FROM_TEMPLATE: \"从模板加载\",\n CLEAR_ALL: \"清空所有\"\n};\n\nexport const NS = \"bricks/advanced/eo-workbench-layout-v2\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { memo, useEffect, useMemo, useState } 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, isEqual, omit } 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?(i: string): void;\n}\n\nconst position = [\"x\", \"y\", \"w\", \"h\"];\n\nexport function DroppableComponentLayoutItemElement(\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?.(layout.i);\n };\n /**\n * cloneDeep 操作是为了让 useBrick事件抛出的值是计算后的值\n */\n const useBrick = useMemo(\n () => cloneDeep(component.useBrick),\n [component.useBrick]\n );\n const [cardConfigs, setCardConfigs] = useState(() =>\n omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n cardTitle: component.title,\n },\n position\n )\n );\n\n // todo 用于处理 layout 重新渲染导致页面卡顿\n /* istanbul ignore next */\n useEffect(() => {\n const newCardConfigs = omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n );\n\n if (!isEqual(newCardConfigs, cardConfigs)) {\n setCardConfigs(newCardConfigs);\n }\n }, [layout, cardConfigs, component.position.w]);\n\n const cardBorderWidth = useMemo(() => {\n return cardConfigs?.cardBorderWidth !== 1\n ? (cardConfigs?.cardBorderWidth as any) - 1\n : 0;\n }, [cardConfigs]);\n\n const editMaskTop = useMemo(() => {\n return 45 + cardBorderWidth;\n }, [cardBorderWidth]);\n const noPadding = useMemo(() => {\n return layout.noPadding;\n }, [layout]);\n\n const deleteIconPosition = useMemo(() => {\n const top = 15;\n return {\n top: !noPadding ? top : 0,\n right: top,\n };\n }, [noPadding]);\n\n return (\n <div className={styles.itemWrapper}>\n {isEdit && (\n <div\n className={styles.editMask}\n style={{\n top: editMaskTop,\n }}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={useBrick} data={cardConfigs} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n style={deleteIconPosition}\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n\nexport const DroppableComponentLayoutItem = memo(\n DroppableComponentLayoutItemElement\n);\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, `.componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"componentItemIcon\": `componentItemIcon--znvUWa0v`,\n\t\"componentItemWrapper\": `componentItemWrapper--mLC8xy_9`,\n\t\"componentItemTitle\": `componentItemTitle--zo3KGnys`,\n\t\"componentItemContent\": `componentItemContent--zOG8IL31`,\n\t\"componentItemThumbnail\": `componentItemThumbnail--epDINDMl`\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, `.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)}.itemWrapper--_lUkkTz1{position:relative;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`,\n\t\"itemWrapper\": `itemWrapper--_lUkkTz1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React from \"react\";\nimport { WorkbenchComponent } from \"../interfaces\";\nimport styles from \"./DraggableComponentMenuItem.module.css\";\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, thumbnail } = component;\n\n return (\n <div\n className={styles.componentItemWrapper}\n data-testid=\"draggable-component-menu-item\"\n >\n <div className={styles.componentItemTitle}>{title}</div>\n <div\n className={styles.componentItemContent}\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-thumbnail\"\n >\n <img\n className={styles.componentItemThumbnail}\n src={thumbnail}\n alt={title}\n />\n </div>\n </div>\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","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\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","// 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","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","import { CardStyleConfig } from \"../interfaces\";\n\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 const getLayoutDefaultCardConfig = (\n cardType: string,\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>\n): CardStyleConfig => {\n const moreLinkByCardTypeMap: Record<string, CardStyleConfig> = {\n \"notice-card\": {\n moreIconLink: \"/announcement-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"cmdb-object-collect-card\": {\n moreIconLink: \"/cmdb-model-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"itsm-todos\": {\n moreIconLink: \"/itsc-workbench/workbench?activeKey=run\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalResourceInspectionResults: {\n moreIconLink: \"/automatic-inspection/suites\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalSystemInspectionResults: {\n moreIconLink: \"/automatic-inspection/system/list\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n ...(customDefaultCardConfigMap ?? {}),\n };\n return {\n ...defaultCardConfig,\n ...(moreLinkByCardTypeMap?.[cardType] ?? {}),\n };\n};\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{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.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%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;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\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"layoutEdit\": `layoutEdit--FVqWXNWj`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","_classPrivateGetter","s","r","a","setAttributes","insert","domAPI","locals","undefined","initializeReactI18n","NS","locales","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","showDialog","unwrapProvider","URl_PREFIX","window","location","origin","getBasePath","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","customDefaultCardConfigMap","toolbarBricks","componentList","isEdit","showSettingButton","onChange","onSave","onCancel","onSetting","gap","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","t","useTranslation","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","keyComponentMap","keyBy","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","draggingComponentRef","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","some","v","isDraggable","currentLayoutsMap","x","w","y","h","i","minH","_currentLayout$t$minH","find","item","map","type","handleClearLayout","handleSave","addComponent","component","currentLayouts","defaultCardConfig","getLayoutDefaultCardConfig","newLayouts","layout","pick","newLayout","position","Math","random","cardWidth","Infinity","dropItem","handleDeleteItem","_layouts$filter","filter","handleResize","contentHeight","oldLayout","initNewH","cardBorderStyle","cardBorderWidth","newH","ceil","renderChild","_layout$cardBorderSty","_layout$cardBorderRad","_component$position","background","cardBgType","cardBackground","border","cardBorderColor","borderRadius","cardBorderRadius","React","className","style","backdropFilter","SizeMe","monitorHeight","_ref2","size","height","DroppableComponentLayoutItem","onDelete","Boolean","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","body","clientHeight","useEffect","addEventListener","removeEventListener","styles","gridLayoutWrapper","componentWrapper","componentTitle","index","DraggableComponentMenuItem","onClick","onDragStart","onDragEnd","useBrick","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","K","SAVE","handleCancel","CANCEL","handleSetting","SETTING","btnText","MORE","icon","lib","actions","text","SAVE_AS_TEMPLATE","LOAD_FROM_TEMPLATE","CLEAR_ALL","danger","e","action","title","CLEAR_CONFIRM","content","CLEAR_CONFIRM_MESSAGE","then","handleActionClick","detail","classNames","layoutEdit","draggableCancel","layoutItemStyles","deleteIcon","breakpoints","lg","md","sm","rowHeight","isResizable","isDroppable","compactType","margin","useCSSTransforms","onDropDragOver","onDrop","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_H","_I","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_J","_handleSave","_K","_handleCancel","_L","_handleSetting","_M","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_customDefaultCardConfigMap","_init_extra_customDefaultCardConfigMap","_init_showSettingButton","_init_extra_showSettingButton","_init_gap","_init_extra_gap","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_settingEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","Number","o","_","has","_checkInRHS","nonce","setAttribute","en","CARD_LIST","zh","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","call","value","newClass","default","WrappedIcon","DroppableComponentLayoutItemElement","props","cloneDeep","cardConfigs","setCardConfigs","omit","newCardConfigs","isEqual","editMaskTop","noPadding","deleteIconPosition","right","itemWrapper","editMask","onMouseDown","preventDefault","ReactUseBrick","data","memo","___CSS_LOADER_EXPORT___","push","id","thumbnail","componentItemWrapper","componentItemTitle","componentItemContent","draggable","dataTransfer","setData","componentItemThumbnail","src","alt","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","add","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","showMoreIcon","cardTitleFontSize","cardTitleColor","cardType","_moreLinkByCardTypeMa","moreLinkByCardTypeMap","moreIconLink","moreIconText","abnormalResourceInspectionResults","abnormalSystemInspectionResults","element","createElement","attributes"],"sourceRoot":""}