@next-bricks/advanced 0.42.7 → 0.42.8

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 (43) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{2197.f9713b01.js → 2197.b7d70cdc.js} +2 -2
  3. package/dist/chunks/{2197.f9713b01.js.map → 2197.b7d70cdc.js.map} +1 -1
  4. package/dist/chunks/{2252.b9051c28.js → 2252.917ebce8.js} +3 -3
  5. package/dist/chunks/{2252.b9051c28.js.map → 2252.917ebce8.js.map} +1 -1
  6. package/dist/chunks/4306.2eb5235d.js +2 -0
  7. package/dist/chunks/4306.2eb5235d.js.map +1 -0
  8. package/dist/chunks/{4837.66b2346e.js → 4837.a78e6eb3.js} +2 -2
  9. package/dist/chunks/{4837.66b2346e.js.map → 4837.a78e6eb3.js.map} +1 -1
  10. package/dist/chunks/{7218.caff47f5.js → 7218.03bcfedb.js} +2 -2
  11. package/dist/chunks/{7218.caff47f5.js.map → 7218.03bcfedb.js.map} +1 -1
  12. package/dist/chunks/{8609.07f9957d.js → 8609.3ffed8bd.js} +2 -2
  13. package/dist/chunks/{8609.07f9957d.js.map → 8609.3ffed8bd.js.map} +1 -1
  14. package/dist/chunks/9140.8bdb5201.js +3 -0
  15. package/dist/chunks/9140.8bdb5201.js.map +1 -0
  16. package/dist/chunks/{capture-snapshot.9d30965c.js → capture-snapshot.6fc088f3.js} +2 -2
  17. package/dist/chunks/{capture-snapshot.9d30965c.js.map → capture-snapshot.6fc088f3.js.map} +1 -1
  18. package/dist/chunks/{eo-cascader.9bdd8b15.js → eo-cascader.9ed2476a.js} +2 -2
  19. package/dist/chunks/{eo-cascader.9bdd8b15.js.map → eo-cascader.9ed2476a.js.map} +1 -1
  20. package/dist/chunks/{eo-table.2105a273.js → eo-table.be1334ae.js} +2 -2
  21. package/dist/chunks/{eo-table.2105a273.js.map → eo-table.be1334ae.js.map} +1 -1
  22. package/dist/chunks/{eo-tree-select.44e8e00b.js → eo-tree-select.eb2131eb.js} +2 -2
  23. package/dist/chunks/{eo-tree-select.44e8e00b.js.map → eo-tree-select.eb2131eb.js.map} +1 -1
  24. package/dist/chunks/{eo-tree.5969f288.js → eo-tree.080fdd52.js} +3 -3
  25. package/dist/chunks/{eo-tree.5969f288.js.map → eo-tree.080fdd52.js.map} +1 -1
  26. package/dist/chunks/{eo-workbench-layout-v2.d5e63284.js → eo-workbench-layout-v2.6c93b89d.js} +2 -2
  27. package/dist/chunks/{eo-workbench-layout-v2.d5e63284.js.map → eo-workbench-layout-v2.6c93b89d.js.map} +1 -1
  28. package/dist/chunks/{eo-workbench-layout.ae78cc7a.js → eo-workbench-layout.a667a2a9.js} +2 -2
  29. package/dist/chunks/{eo-workbench-layout.ae78cc7a.js.map → eo-workbench-layout.a667a2a9.js.map} +1 -1
  30. package/dist/chunks/main.3d7675a4.js +2 -0
  31. package/dist/chunks/{main.542b7eda.js.map → main.3d7675a4.js.map} +1 -1
  32. package/dist/index.83301ddd.js +2 -0
  33. package/dist/{index.1b8d6137.js.map → index.83301ddd.js.map} +1 -1
  34. package/package.json +2 -2
  35. package/dist/chunks/4185.e4b95e71.js +0 -3
  36. package/dist/chunks/4185.e4b95e71.js.map +0 -1
  37. package/dist/chunks/4306.aa5bb920.js +0 -2
  38. package/dist/chunks/4306.aa5bb920.js.map +0 -1
  39. package/dist/chunks/main.542b7eda.js +0 -2
  40. package/dist/index.1b8d6137.js +0 -2
  41. /package/dist/chunks/{2252.b9051c28.js.LICENSE.txt → 2252.917ebce8.js.LICENSE.txt} +0 -0
  42. /package/dist/chunks/{4185.e4b95e71.js.LICENSE.txt → 9140.8bdb5201.js.LICENSE.txt} +0 -0
  43. /package/dist/chunks/{eo-tree.5969f288.js.LICENSE.txt → eo-tree.080fdd52.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-workbench-layout-v2.d5e63284.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/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../../node_modules/react-resizable/css/styles.css?2de9","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/react-grid-layout/css/styles.css?df02","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","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}","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n ReactUseBrick,\n ReactUseMultipleBricks,\n} from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport styles from \"./styles.module.css\";\nimport \"./styles.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: Layout[];\n toolbarBricks?: {\n useBrick: UseSingleBrickConf[];\n };\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n toolbarBricks,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div\n className={styles.editMask}\n onMouseDown={handleEditMaskClick}\n />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className={styles.deleteIcon}\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\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 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={styles.layout}\n draggableCancel={`.${styles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2,未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", {\n shadowOptions: false,\n})\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor toolbarBricks:\n | {\n useBrick: UseSingleBrickConf[];\n }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","\"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;","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\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","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"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;","// 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}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:170px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:6px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{max-width:1300px;margin:0 auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .editMask--ql2wriZf{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc{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)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:hover{color:var(--color-error)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:active{color:var(--color-error-active)}`, \"\"]);\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\"editMask\": `editMask--ql2wriZf`,\n\t\"deleteIcon\": `deleteIcon--IjEzXZqc`\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","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","toolbarBricks","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","styles","editMask","onMouseDown","ReactUseBrick","useBrick","icon","lib","deleteIcon","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","gridLayoutWrapper","componentWrapper","componentTitle","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_G","_handleSave","_H","_handleCancel","_I","_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_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","has","_checkInRHS","nonce","setAttribute","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","setAttributes","insert","domAPI","locals","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","memo","target","styleTarget","HTMLIFrameElement","contentDocument","head","getTarget","Error","element","createElement","attributes"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-workbench-layout-v2.6c93b89d.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/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../../node_modules/react-resizable/css/styles.css?2de9","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/react-grid-layout/css/styles.css?df02","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","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}","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n ReactUseBrick,\n ReactUseMultipleBricks,\n} from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport styles from \"./styles.module.css\";\nimport \"./styles.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: Layout[];\n toolbarBricks?: {\n useBrick: UseSingleBrickConf[];\n };\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n toolbarBricks,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div\n className={styles.editMask}\n onMouseDown={handleEditMaskClick}\n />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className={styles.deleteIcon}\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\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 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={styles.layout}\n draggableCancel={`.${styles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2,未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", {\n shadowOptions: false,\n})\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor toolbarBricks:\n | {\n useBrick: UseSingleBrickConf[];\n }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","\"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;","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\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","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"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;","// 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}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:170px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:6px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{max-width:1300px;margin:0 auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .editMask--ql2wriZf{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc{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)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:hover{color:var(--color-error)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:active{color:var(--color-error-active)}`, \"\"]);\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\"editMask\": `editMask--ql2wriZf`,\n\t\"deleteIcon\": `deleteIcon--IjEzXZqc`\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","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","toolbarBricks","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","styles","editMask","onMouseDown","ReactUseBrick","useBrick","icon","lib","deleteIcon","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","gridLayoutWrapper","componentWrapper","componentTitle","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_G","_handleSave","_H","_handleCancel","_I","_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_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","has","_checkInRHS","nonce","setAttribute","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","setAttributes","insert","domAPI","locals","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","memo","target","styleTarget","HTMLIFrameElement","contentDocument","head","getTarget","Error","element","createElement","attributes"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_advanced=globalThis.webpackChunk_next_bricks_advanced||[]).push([[9326],{5536:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(12559);function i(e,t,r){return r((0,a.A)(e,t))}},16322:(e,t,r)=>{r.d(t,{A:()=>h});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(20062),l=r.n(s),c=new URL(r(59224),r.b),d=o()(i()),p=l()(c);d.push([e.id,`.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${p});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`,""]);const h=d.toString()},34566:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n)()(i());o.push([e.id,'.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}',""]);const s=o.toString()},55319:(e,t,r)=>{r.r(t),r.d(t,{EoWorkbenchLayout:()=>ie,EoWorkbenchLayoutComponent:()=>ae});var a,i=r(74635),n=r(70918),o=r(26902),s=r(5536),l=r(86121),c=r(70829),d=r(62740),p=r(18769),h=r.n(p),g=r(6192),u=r(99859),m=r(49523),b=r(80151),w=r(69113),v=(r(76477),r(45833)),y=r(91116);let f,x,k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F;const{defineElement:$,property:J,event:U,method:X}=(0,g.createDecorators)(),q=(0,u.wrapBrick)("eo-button"),O=(0,u.wrapBrick)("eo-dropdown-button",{onActionClick:"action.click"}),K=(0,u.wrapBrick)("eo-icon"),V=(0,u.wrapBrick)("eo-checkbox",{onChange:"change"}),ee=(0,m.unwrapProvider)("basic.show-dialog"),te=e=>null!=e&&e.includes(":")?e.split(":")[0]:e,{isAdmin:re}=w.auth.getAuth(),ae=(0,p.forwardRef)((function(e,t){let{cardTitle:r="卡片列表",layouts:a,componentList:i=[],isEdit:n,onChange:o,onSave:s,onCancel:l,onActionClick:c}=e;const d=(0,p.useMemo)((()=>(0,v.WidthProvider)(v.Responsive)),[]),g=(0,p.useRef)(null),u=(0,p.useRef)(null),m=(0,p.useRef)(null!=a?a:[]),[w,y]=(0,p.useState)(m.current),[f,x]=(0,p.useState)(3),[k,z]=(0,p.useState)(),A=(0,p.useCallback)((e=>{m.current=e,y(e)}),[]);(0,p.useImperativeHandle)(t,(()=>({setLayouts:A})));const E=(0,p.useCallback)((e=>{A(e),null==o||o(e)}),[o,A]),C=(0,p.useCallback)((e=>{if(!n)return;let t=!0;for(let a=0;a<e.length;a++){const{x:i,w:n,y:o,h:s,i:l,minH:c}=e[a];if(n>1&&i>0){t=!1;break}if(1===n&&i<2){const t=e.find((e=>e.i!==l&&1===e.w&&e.y===o&&i<2));var r;t&&(e[a].minH=null!==(r=e[a].minH)&&void 0!==r?r:s,e[a].h=Math.max(t.h,s))}else e[a].h=null!=c?c:s,e[a].minH=void 0}E(t?e:m.current.map((e=>{const{w:t,i:r}=e,a=`${te(r)}:${Math.random()}`;let i=e.x;return t>1&&i>0&&(i=0),{...e,x:i,i:a}})))}),[E,n]),M=(0,p.useCallback)((e=>{const t=e.detail.map((e=>e.value)),r=w.map((e=>te(e.i))),a=e.detail.filter((e=>!r.includes(e.key))).map((e=>({...e.position,x:e.w>1?0:2*w.length%f,y:1/0})));E(w.filter((e=>t.includes(te(e.i)))).concat(a))}),[w,E,f]),I=()=>{E([])},L=(0,p.useCallback)((()=>{null==s||s(w.map((e=>({...e,i:te(e.i)}))))}),[w,s]),N=(0,p.useCallback)(((e,t)=>{var r;e.stopPropagation(),E(null!==(r=w.filter((e=>te(e.i)!==t.key)))&&void 0!==r?r:[])}),[E,w]),W=e=>{e.preventDefault()},B=(0,p.useMemo)((()=>w.map((e=>{var t;const r=i.find((t=>t.key===te(e.i)));return r?h().createElement("div",{key:e.i,"data-grid":{...null!==(t=r.position)&&void 0!==t?t:{},...e},style:r.style,className:"drag-box"},n&&h().createElement("div",{className:"edit-mask",onMouseDown:W}),h().createElement(b.ReactUseBrick,{useBrick:r.useBrick}),n&&h().createElement(K,{icon:"delete",lib:"antd",className:"delete-icon",onClick:e=>N(e,r)})):null})).filter(Boolean)),[i,N,w,n]),D=(0,p.useMemo)((()=>i.map((e=>({...e,label:e.title,value:e.key})))),[i]),H=(0,p.useMemo)((()=>w.map((e=>te(e.i)))),[w]),T=(0,p.useCallback)((()=>{if(u&&n){var e,t;const{top:r}=null!==(e=null===(t=u.current)||void 0===t||null===(t=t.getClientRects())||void 0===t?void 0:t[0])&&void 0!==e?e:{};void 0!==r&&z({height:document.body.clientHeight-r,overflow:"scroll"})}}),[n]);return(0,p.useEffect)((()=>{if(n)return T(),A(a||[]),window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}}),[n,T,a,A]),h().createElement("div",{className:"grid-layout-wrapper",ref:g},n&&h().createElement("div",{className:"component-wrapper"},h().createElement("div",{className:"component-title"},r),h().createElement("div",{className:"component-list"},h().createElement(V,{options:D,value:H,onChange:M}),h().createElement("slot",{name:"toolbar"}))),h().createElement("div",{className:"layout-wrapper",ref:u,style:k},n&&h().createElement("div",{className:"actions-wrapper"},h().createElement(q,{type:"primary",onClick:L},"保存"),h().createElement(q,{onClick:()=>{null==l||l()}},"取消"),h().createElement(O,{btnText:"更多",icon:{lib:"antd",icon:"down"},actions:[...re?[{text:"另存为模板",event:"saveAsTemplate"}]:[],{text:"从模版加载",event:"loadFromTemplate"},{text:"清空所有",danger:!0,event:"clear"}],onActionClick:e=>{(e=>{const{event:t}=e;"clear"===t?ee({type:"confirm",title:"清空确认",content:"将清空所有卡片,从零开始编辑,该操作无法撤回。"}).then(I):null==c||c(e,(null!=w?w:[]).map((e=>({...e,i:te(e.i)}))))})(e.detail)},"data-testid":"edit-layout-actions"})),h().createElement(d,{className:"layout",draggableCancel:".delete-icon,.edit-actions,.ignore-item",breakpoints:{lg:1300,md:1024,sm:768},rowHeight:1,cols:{lg:3,md:3,sm:n?3:1},isResizable:!1,isDraggable:n,onDrag:(e,t,r)=>{var a;const i=null===(a=g.current)||void 0===a?void 0:a.querySelector(".react-grid-placeholder");i&&(r.w>1&&r.x>0?!i.classList.contains("forbidden")&&i.classList.add("forbidden"):i.classList.contains("forbidden")&&i.classList.remove("forbidden"))},onLayoutChange:C,onBreakpointChange:(e,t)=>{x(t)}},B)))}));let ie;var ne=new WeakMap,oe=new WeakMap,se=new WeakMap,le=new WeakMap,ce=new WeakMap,de=new WeakMap,pe=new WeakSet,he=new WeakMap,ge=new WeakMap,ue=new WeakMap,me=new WeakMap,be=new WeakMap,we=new WeakMap,ve=new WeakMap;class ye extends u.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,pe),(0,n.A)(this,ne,(f(this),(0,p.createRef)())),(0,n.A)(this,oe,k(this)),(0,n.A)(this,se,(z(this),A(this))),(0,n.A)(this,le,(E(this),C(this))),(0,n.A)(this,ce,(M(this),I(this))),(0,n.A)(this,de,(L(this),N(this))),(0,n.A)(this,he,(D(this),e=>{(0,s.A)(pe,this,W).emit(e)})),(0,n.A)(this,ge,H(this)),(0,n.A)(this,ue,(S(this),e=>{(0,s.A)(pe,this,T).emit(e)})),(0,n.A)(this,me,Z(this)),(0,n.A)(this,be,(G(this),()=>{(0,s.A)(pe,this,P).emit()})),(0,n.A)(this,we,_(this)),(0,n.A)(this,ve,(F(this),(e,t)=>{(0,s.A)(pe,this,Y).emit({action:e,layouts:t}),e.event&&this.dispatchEvent(new CustomEvent(e.event,{detail:t}))}))}get cardTitle(){return(0,c.A)(oe,this)}set cardTitle(e){(0,l.A)(oe,this,e)}get isEdit(){return(0,c.A)(se,this)}set isEdit(e){(0,l.A)(se,this,e)}get layouts(){return(0,c.A)(le,this)}set layouts(e){(0,l.A)(le,this,e)}get componentList(){return(0,c.A)(ce,this)}set componentList(e){(0,l.A)(ce,this,e)}setLayouts(e){var t;null===(t=(0,c.A)(ne,this).current)||void 0===t||t.setLayouts(e)}render(){return h().createElement(ae,{cardTitle:this.cardTitle,layouts:this.layouts,componentList:this.componentList,isEdit:this.isEdit,onChange:(0,c.A)(he,this),onSave:(0,c.A)(ue,this),onCancel:(0,c.A)(be,this),onActionClick:(0,c.A)(ve,this),ref:(0,c.A)(ne,this)})}}a=ye,({e:[k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F,f],c:[ie,x]}=(0,d.A)(a,[$("eo-workbench-layout",{styleTexts:[y.A]})],[[J(),1,"cardTitle"],[J({type:Boolean}),1,"isEdit"],[J({attribute:!1}),1,"layouts"],[J({attribute:!1}),1,"componentList"],[U({type:"change"}),1,"changeEvent",e=>(0,c.A)(de,e),(e,t)=>(0,l.A)(de,e,t)],[U({type:"save"}),1,"saveEvent",e=>(0,c.A)(ge,e),(e,t)=>(0,l.A)(ge,e,t)],[U({type:"cancel"}),1,"cancelEvent",e=>(0,c.A)(me,e),(e,t)=>(0,l.A)(me,e,t)],[U({type:"action.click"}),1,"actionClickEvent",e=>(0,c.A)(we,e),(e,t)=>(0,l.A)(we,e,t)],[X(),2,"setLayouts"]],0,(e=>ve.has((0,o.A)(e))),u.ReactNextElement)),x()},59224:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+"},74635:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(72016);function i(e,t){(0,a.A)(e,t),t.add(e)}},91116:(e,t,r)=>{r.d(t,{A:()=>d});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(34566),l=r(16322),c=o()(i());c.i(s.A),c.i(l.A),c.push([e.id,":host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}",""]);const d=c.toString()}}]);
2
- //# sourceMappingURL=eo-workbench-layout.ae78cc7a.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_advanced=globalThis.webpackChunk_next_bricks_advanced||[]).push([[9326],{5536:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(12559);function i(e,t,r){return r((0,a.A)(e,t))}},16322:(e,t,r)=>{r.d(t,{A:()=>h});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(20062),l=r.n(s),c=new URL(r(59224),r.b),d=o()(i()),p=l()(c);d.push([e.id,`.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${p});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`,""]);const h=d.toString()},34566:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n)()(i());o.push([e.id,'.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}',""]);const s=o.toString()},55319:(e,t,r)=>{r.r(t),r.d(t,{EoWorkbenchLayout:()=>ie,EoWorkbenchLayoutComponent:()=>ae});var a,i=r(74635),n=r(70918),o=r(26902),s=r(5536),l=r(86121),c=r(70829),d=r(62740),p=r(18769),h=r.n(p),g=r(6192),u=r(99859),m=r(49523),b=r(88361),w=r(69113),v=(r(76477),r(45833)),y=r(91116);let f,x,k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F;const{defineElement:$,property:J,event:U,method:X}=(0,g.createDecorators)(),q=(0,u.wrapBrick)("eo-button"),O=(0,u.wrapBrick)("eo-dropdown-button",{onActionClick:"action.click"}),K=(0,u.wrapBrick)("eo-icon"),V=(0,u.wrapBrick)("eo-checkbox",{onChange:"change"}),ee=(0,m.unwrapProvider)("basic.show-dialog"),te=e=>null!=e&&e.includes(":")?e.split(":")[0]:e,{isAdmin:re}=w.auth.getAuth(),ae=(0,p.forwardRef)((function(e,t){let{cardTitle:r="卡片列表",layouts:a,componentList:i=[],isEdit:n,onChange:o,onSave:s,onCancel:l,onActionClick:c}=e;const d=(0,p.useMemo)((()=>(0,v.WidthProvider)(v.Responsive)),[]),g=(0,p.useRef)(null),u=(0,p.useRef)(null),m=(0,p.useRef)(null!=a?a:[]),[w,y]=(0,p.useState)(m.current),[f,x]=(0,p.useState)(3),[k,z]=(0,p.useState)(),A=(0,p.useCallback)((e=>{m.current=e,y(e)}),[]);(0,p.useImperativeHandle)(t,(()=>({setLayouts:A})));const E=(0,p.useCallback)((e=>{A(e),null==o||o(e)}),[o,A]),C=(0,p.useCallback)((e=>{if(!n)return;let t=!0;for(let a=0;a<e.length;a++){const{x:i,w:n,y:o,h:s,i:l,minH:c}=e[a];if(n>1&&i>0){t=!1;break}if(1===n&&i<2){const t=e.find((e=>e.i!==l&&1===e.w&&e.y===o&&i<2));var r;t&&(e[a].minH=null!==(r=e[a].minH)&&void 0!==r?r:s,e[a].h=Math.max(t.h,s))}else e[a].h=null!=c?c:s,e[a].minH=void 0}E(t?e:m.current.map((e=>{const{w:t,i:r}=e,a=`${te(r)}:${Math.random()}`;let i=e.x;return t>1&&i>0&&(i=0),{...e,x:i,i:a}})))}),[E,n]),M=(0,p.useCallback)((e=>{const t=e.detail.map((e=>e.value)),r=w.map((e=>te(e.i))),a=e.detail.filter((e=>!r.includes(e.key))).map((e=>({...e.position,x:e.w>1?0:2*w.length%f,y:1/0})));E(w.filter((e=>t.includes(te(e.i)))).concat(a))}),[w,E,f]),I=()=>{E([])},L=(0,p.useCallback)((()=>{null==s||s(w.map((e=>({...e,i:te(e.i)}))))}),[w,s]),N=(0,p.useCallback)(((e,t)=>{var r;e.stopPropagation(),E(null!==(r=w.filter((e=>te(e.i)!==t.key)))&&void 0!==r?r:[])}),[E,w]),W=e=>{e.preventDefault()},B=(0,p.useMemo)((()=>w.map((e=>{var t;const r=i.find((t=>t.key===te(e.i)));return r?h().createElement("div",{key:e.i,"data-grid":{...null!==(t=r.position)&&void 0!==t?t:{},...e},style:r.style,className:"drag-box"},n&&h().createElement("div",{className:"edit-mask",onMouseDown:W}),h().createElement(b.ReactUseBrick,{useBrick:r.useBrick}),n&&h().createElement(K,{icon:"delete",lib:"antd",className:"delete-icon",onClick:e=>N(e,r)})):null})).filter(Boolean)),[i,N,w,n]),D=(0,p.useMemo)((()=>i.map((e=>({...e,label:e.title,value:e.key})))),[i]),H=(0,p.useMemo)((()=>w.map((e=>te(e.i)))),[w]),T=(0,p.useCallback)((()=>{if(u&&n){var e,t;const{top:r}=null!==(e=null===(t=u.current)||void 0===t||null===(t=t.getClientRects())||void 0===t?void 0:t[0])&&void 0!==e?e:{};void 0!==r&&z({height:document.body.clientHeight-r,overflow:"scroll"})}}),[n]);return(0,p.useEffect)((()=>{if(n)return T(),A(a||[]),window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}}),[n,T,a,A]),h().createElement("div",{className:"grid-layout-wrapper",ref:g},n&&h().createElement("div",{className:"component-wrapper"},h().createElement("div",{className:"component-title"},r),h().createElement("div",{className:"component-list"},h().createElement(V,{options:D,value:H,onChange:M}),h().createElement("slot",{name:"toolbar"}))),h().createElement("div",{className:"layout-wrapper",ref:u,style:k},n&&h().createElement("div",{className:"actions-wrapper"},h().createElement(q,{type:"primary",onClick:L},"保存"),h().createElement(q,{onClick:()=>{null==l||l()}},"取消"),h().createElement(O,{btnText:"更多",icon:{lib:"antd",icon:"down"},actions:[...re?[{text:"另存为模板",event:"saveAsTemplate"}]:[],{text:"从模版加载",event:"loadFromTemplate"},{text:"清空所有",danger:!0,event:"clear"}],onActionClick:e=>{(e=>{const{event:t}=e;"clear"===t?ee({type:"confirm",title:"清空确认",content:"将清空所有卡片,从零开始编辑,该操作无法撤回。"}).then(I):null==c||c(e,(null!=w?w:[]).map((e=>({...e,i:te(e.i)}))))})(e.detail)},"data-testid":"edit-layout-actions"})),h().createElement(d,{className:"layout",draggableCancel:".delete-icon,.edit-actions,.ignore-item",breakpoints:{lg:1300,md:1024,sm:768},rowHeight:1,cols:{lg:3,md:3,sm:n?3:1},isResizable:!1,isDraggable:n,onDrag:(e,t,r)=>{var a;const i=null===(a=g.current)||void 0===a?void 0:a.querySelector(".react-grid-placeholder");i&&(r.w>1&&r.x>0?!i.classList.contains("forbidden")&&i.classList.add("forbidden"):i.classList.contains("forbidden")&&i.classList.remove("forbidden"))},onLayoutChange:C,onBreakpointChange:(e,t)=>{x(t)}},B)))}));let ie;var ne=new WeakMap,oe=new WeakMap,se=new WeakMap,le=new WeakMap,ce=new WeakMap,de=new WeakMap,pe=new WeakSet,he=new WeakMap,ge=new WeakMap,ue=new WeakMap,me=new WeakMap,be=new WeakMap,we=new WeakMap,ve=new WeakMap;class ye extends u.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,pe),(0,n.A)(this,ne,(f(this),(0,p.createRef)())),(0,n.A)(this,oe,k(this)),(0,n.A)(this,se,(z(this),A(this))),(0,n.A)(this,le,(E(this),C(this))),(0,n.A)(this,ce,(M(this),I(this))),(0,n.A)(this,de,(L(this),N(this))),(0,n.A)(this,he,(D(this),e=>{(0,s.A)(pe,this,W).emit(e)})),(0,n.A)(this,ge,H(this)),(0,n.A)(this,ue,(S(this),e=>{(0,s.A)(pe,this,T).emit(e)})),(0,n.A)(this,me,Z(this)),(0,n.A)(this,be,(G(this),()=>{(0,s.A)(pe,this,P).emit()})),(0,n.A)(this,we,_(this)),(0,n.A)(this,ve,(F(this),(e,t)=>{(0,s.A)(pe,this,Y).emit({action:e,layouts:t}),e.event&&this.dispatchEvent(new CustomEvent(e.event,{detail:t}))}))}get cardTitle(){return(0,c.A)(oe,this)}set cardTitle(e){(0,l.A)(oe,this,e)}get isEdit(){return(0,c.A)(se,this)}set isEdit(e){(0,l.A)(se,this,e)}get layouts(){return(0,c.A)(le,this)}set layouts(e){(0,l.A)(le,this,e)}get componentList(){return(0,c.A)(ce,this)}set componentList(e){(0,l.A)(ce,this,e)}setLayouts(e){var t;null===(t=(0,c.A)(ne,this).current)||void 0===t||t.setLayouts(e)}render(){return h().createElement(ae,{cardTitle:this.cardTitle,layouts:this.layouts,componentList:this.componentList,isEdit:this.isEdit,onChange:(0,c.A)(he,this),onSave:(0,c.A)(ue,this),onCancel:(0,c.A)(be,this),onActionClick:(0,c.A)(ve,this),ref:(0,c.A)(ne,this)})}}a=ye,({e:[k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F,f],c:[ie,x]}=(0,d.A)(a,[$("eo-workbench-layout",{styleTexts:[y.A]})],[[J(),1,"cardTitle"],[J({type:Boolean}),1,"isEdit"],[J({attribute:!1}),1,"layouts"],[J({attribute:!1}),1,"componentList"],[U({type:"change"}),1,"changeEvent",e=>(0,c.A)(de,e),(e,t)=>(0,l.A)(de,e,t)],[U({type:"save"}),1,"saveEvent",e=>(0,c.A)(ge,e),(e,t)=>(0,l.A)(ge,e,t)],[U({type:"cancel"}),1,"cancelEvent",e=>(0,c.A)(me,e),(e,t)=>(0,l.A)(me,e,t)],[U({type:"action.click"}),1,"actionClickEvent",e=>(0,c.A)(we,e),(e,t)=>(0,l.A)(we,e,t)],[X(),2,"setLayouts"]],0,(e=>ve.has((0,o.A)(e))),u.ReactNextElement)),x()},59224:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+"},74635:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(72016);function i(e,t){(0,a.A)(e,t),t.add(e)}},91116:(e,t,r)=>{r.d(t,{A:()=>d});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(34566),l=r(16322),c=o()(i());c.i(s.A),c.i(l.A),c.push([e.id,":host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}",""]);const d=c.toString()}}]);
2
+ //# sourceMappingURL=eo-workbench-layout.a667a2a9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-workbench-layout.ae78cc7a.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/react-resizable/css/styles.css","webpack:///../../node_modules/react-grid-layout/css/styles.css","webpack:///./src/workbench-layout/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout/styles.shadow.css"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutProps {\n cardTitle?: string;\n layouts?: Layout[];\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutComponentProps\n extends EoWorkbenchLayoutProps {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutComponentRef,\n EoWorkbenchLayoutComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div className=\"edit-mask\" onMouseDown={handleEditMaskClick} />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className=\"delete-icon\"\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className=\"grid-layout-wrapper\" ref={gridLayoutRef}>\n {isEdit && (\n <div className=\"component-wrapper\">\n <div className=\"component-title\">{cardTitle}</div>\n <div className=\"component-list\">\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\n />\n <slot name=\"toolbar\"></slot>\n </div>\n </div>\n )}\n <div\n className=\"layout-wrapper\"\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className=\"actions-wrapper\">\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className=\"layout\"\n draggableCancel=\".delete-icon,.edit-actions,.ignore-item\"\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局\n * @deprecated Please use eo-workbench-layout-v2 which support global styles instead\n */\nexport\n@defineElement(\"eo-workbench-layout\", {\n styleTexts: [styleText],\n})\nclass EoWorkbenchLayout extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["_classPrivateGetter","s","r","a","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","length","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","concat","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","onMouseDown","ReactUseBrick","useBrick","icon","lib","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","document","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","options","name","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","remove","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayout","_componentRef","WeakMap","_A","_B","_C","_D","_E","_EoWorkbenchLayout_brand","WeakSet","_handleChange","_F","_handleSave","_G","_handleCancel","_H","_handleActionClick","EoWorkbenchLayout","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_componentList","_init_extra_componentList","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","render","_EoWorkbenchLayout2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","styleTexts","styleText","attribute","o","_","has","_checkInRHS","obj","privateSet"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-workbench-layout.a667a2a9.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/react-resizable/css/styles.css","webpack:///../../node_modules/react-grid-layout/css/styles.css","webpack:///./src/workbench-layout/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout/styles.shadow.css"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutProps {\n cardTitle?: string;\n layouts?: Layout[];\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutComponentProps\n extends EoWorkbenchLayoutProps {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutComponentRef,\n EoWorkbenchLayoutComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div className=\"edit-mask\" onMouseDown={handleEditMaskClick} />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className=\"delete-icon\"\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className=\"grid-layout-wrapper\" ref={gridLayoutRef}>\n {isEdit && (\n <div className=\"component-wrapper\">\n <div className=\"component-title\">{cardTitle}</div>\n <div className=\"component-list\">\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\n />\n <slot name=\"toolbar\"></slot>\n </div>\n </div>\n )}\n <div\n className=\"layout-wrapper\"\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className=\"actions-wrapper\">\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className=\"layout\"\n draggableCancel=\".delete-icon,.edit-actions,.ignore-item\"\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局\n * @deprecated Please use eo-workbench-layout-v2 which support global styles instead\n */\nexport\n@defineElement(\"eo-workbench-layout\", {\n styleTexts: [styleText],\n})\nclass EoWorkbenchLayout extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["_classPrivateGetter","s","r","a","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","length","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","concat","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","onMouseDown","ReactUseBrick","useBrick","icon","lib","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","document","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","options","name","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","remove","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayout","_componentRef","WeakMap","_A","_B","_C","_D","_E","_EoWorkbenchLayout_brand","WeakSet","_handleChange","_F","_handleSave","_G","_handleCancel","_H","_handleActionClick","EoWorkbenchLayout","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_componentList","_init_extra_componentList","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","render","_EoWorkbenchLayout2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","styleTexts","styleText","attribute","o","_","has","_checkInRHS","obj","privateSet"],"sourceRoot":""}