@next-bricks/advanced 0.51.2 → 0.51.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/4758.703acb39.js +3 -0
- package/dist/chunks/4758.703acb39.js.map +1 -0
- package/dist/chunks/{6070.74d93326.js → 7039.0ea489d5.js} +2 -2
- package/dist/chunks/7039.0ea489d5.js.map +1 -0
- package/dist/chunks/8382.eba253d7.js +2 -0
- package/dist/chunks/8382.eba253d7.js.map +1 -0
- package/dist/chunks/eo-cascader.b5d6ee02.js +2 -0
- package/dist/chunks/eo-cascader.b5d6ee02.js.map +1 -0
- package/dist/chunks/eo-next-table.25f4bf4d.js.map +1 -1
- package/dist/chunks/eo-table.5dd09651.js.map +1 -1
- package/dist/chunks/eo-text-tooltip.74db365e.js.map +1 -1
- package/dist/chunks/eo-tree-select.4034b1d9.js +2 -0
- package/dist/chunks/eo-tree-select.4034b1d9.js.map +1 -0
- package/dist/chunks/eo-tree.22180778.js.map +1 -1
- package/dist/chunks/eo-workbench-layout-v2.24da89e7.js.map +1 -1
- package/dist/chunks/eo-workbench-layout.1ed8ce80.js.map +1 -1
- package/dist/chunks/{main.f43a8ad8.js → main.6b40d042.js} +2 -2
- package/dist/chunks/{main.f43a8ad8.js.map → main.6b40d042.js.map} +1 -1
- package/dist/chunks/pdf-viewer.036787d7.js.map +1 -1
- package/dist/examples.json +13 -7
- package/dist/{index.d1112026.js → index.6f2baf4a.js} +2 -2
- package/dist/{index.d1112026.js.map → index.6f2baf4a.js.map} +1 -1
- package/dist/manifest.json +145 -52
- package/dist/types.json +466 -414
- package/dist-types/cascader/index.d.ts +23 -4
- package/dist-types/next-table/index.d.ts +43 -29
- package/dist-types/pdf-viewer/index.d.ts +7 -1
- package/dist-types/table/index.d.ts +31 -26
- package/dist-types/text-tooltip/index.d.ts +5 -4
- package/dist-types/tree/index.d.ts +12 -0
- package/dist-types/tree-select/index.d.ts +41 -1
- package/dist-types/workbench-layout/index.d.ts +26 -1
- package/dist-types/workbench-layout-v2/index.d.ts +31 -9
- package/docs/eo-cascader.md +184 -1
- package/docs/eo-cascader.react.md +247 -0
- package/docs/eo-next-table.md +343 -168
- package/docs/eo-next-table.react.md +923 -0
- package/docs/eo-table.md +296 -0
- package/docs/eo-table.react.md +223 -0
- package/docs/eo-text-tooltip.md +46 -1
- package/docs/eo-text-tooltip.react.md +69 -0
- package/docs/eo-tree-select.md +127 -1
- package/docs/eo-tree-select.react.md +206 -0
- package/docs/eo-tree.md +108 -2
- package/docs/eo-tree.react.md +220 -0
- package/docs/eo-workbench-layout-v2.md +204 -0
- package/docs/eo-workbench-layout-v2.react.md +162 -0
- package/docs/eo-workbench-layout.md +45 -3
- package/docs/eo-workbench-layout.react.md +141 -0
- package/docs/pdf-viewer.md +48 -1
- package/docs/pdf-viewer.react.md +63 -0
- package/package.json +2 -2
- package/dist/chunks/4758.5f79e636.js +0 -3
- package/dist/chunks/4758.5f79e636.js.map +0 -1
- package/dist/chunks/6070.74d93326.js.map +0 -1
- package/dist/chunks/8382.d552299f.js +0 -2
- package/dist/chunks/8382.d552299f.js.map +0 -1
- package/dist/chunks/eo-cascader.86a685ca.js +0 -2
- package/dist/chunks/eo-cascader.86a685ca.js.map +0 -1
- package/dist/chunks/eo-tree-select.31dae71f.js +0 -2
- package/dist/chunks/eo-tree-select.31dae71f.js.map +0 -1
- /package/dist/chunks/{4758.5f79e636.js.LICENSE.txt → 4758.703acb39.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/eo-workbench-layout-v2.24da89e7.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css?66f3","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/i18n.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./src/workbench-layout-v2/utils.ts","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { Layout, Responsive, WidthProvider } from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport { keyBy, pick } from \"lodash\";\nimport { SizeMe } from \"react-sizeme\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport {\n WorkbenchComponent,\n ExtraLayout,\n CardStyleConfig,\n} from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\nimport { getLayoutDefaultCardConfig } from \"./utils\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", { onActionClick: \"action.click\" });\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nconst ROW_HEIGHT = 1;\nconst MARGIN_WIDTH = 16;\nconst MARGIN_HEIGHT = 16;\nconst URl_PREFIX = `${window.location.origin}${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`;\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n gap?: number;\n onChange?: (layout: ExtraLayout[]) => void;\n onSave?: (layout: ExtraLayout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: ExtraLayout[]) => void;\n onSetting?: () => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n customDefaultCardConfigMap,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n gap,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const { t } = useTranslation(NS);\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<ExtraLayout[]>(layoutsProps ?? []);\n const [layouts, _setLayouts] = useState<ExtraLayout[]>(\n layoutCacheRef.current\n );\n const keyComponentMap = useMemo(\n () => keyBy(componentList, \"key\"),\n [componentList]\n );\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n const draggingComponentRef = useRef<WorkbenchComponent>();\n\n const setLayouts = useCallback((layouts: ExtraLayout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({ setLayouts }));\n\n const handleChange = useCallback(\n (layouts: ExtraLayout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n // const placeholderDOM = gridLayoutRef.current?.querySelector(\n // \".react-grid-placeholder\"\n // );\n // if (placeholderDOM) {\n // if (newItem.w > 1 && newItem.x > 0) {\n // !placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.add(\"forbidden\");\n // } else {\n // placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.remove(\"forbidden\");\n // }\n // }\n // };\n\n /* istanbul ignore next */\n const handleLayoutChange = useCallback(\n (currentLayout: ExtraLayout[]) => {\n if (!isEdit) {\n return;\n }\n\n // 占位拖拽不触发 setLayouts\n if (currentLayout.some((v) => v.isDraggable)) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n currentLayout.map((v) => {\n const layoutItem = currentLayoutsMap?.[v.i];\n return { ...layoutItem, ...v, type: getRealKey(v.i) };\n })\n );\n },\n [handleChange, isEdit, layouts]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(layouts);\n }, [layouts, onSave]);\n\n const handleSetting = () => {\n onSetting?.();\n };\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: t(K.CLEAR_CONFIRM) as string,\n content: t(K.CLEAR_CONFIRM_MESSAGE),\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(action, layouts ?? []);\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n currentLayouts?: Layout[]\n ): void => {\n const defaultCardConfig = getLayoutDefaultCardConfig(\n component.key,\n customDefaultCardConfigMap\n );\n const currentLayoutsMap = keyBy(currentLayouts, \"i\");\n const newLayouts = layouts.map((layout) => {\n return {\n ...layout,\n ...pick(currentLayoutsMap?.[layout.i], [\"x\", \"y\"]),\n };\n });\n let newLayout = {\n ...defaultCardConfig,\n ...component.position,\n i: `${component.key}:${Math.random()}`,\n cardWidth: component.position.w,\n type: component.key,\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n };\n if (currentLayouts) {\n const dropItem = currentLayouts.find((v) => v.i === \"__dropping-elem__\");\n newLayout = {\n ...newLayout,\n ...pick(dropItem, \"x\", \"y\"),\n };\n handleChange([newLayout, ...newLayouts]);\n return;\n }\n handleChange(layouts.concat(newLayout));\n };\n\n const handleDeleteItem = useCallback(\n (i: string) => {\n handleChange(layouts.filter((item) => item.i !== i) ?? []);\n },\n [handleChange, layouts]\n );\n\n /* istanbul ignore next */\n const handleResize = useCallback(\n (i: string, contentHeight: number) => {\n const oldLayout = layouts.find((layout: ExtraLayout) => layout.i === i);\n const initNewH =\n ((oldLayout?.cardBorderStyle === \"solid\"\n ? oldLayout?.cardBorderWidth || 0\n : 0) *\n 2 +\n contentHeight +\n (gap ?? MARGIN_HEIGHT)) /\n ((gap ?? MARGIN_HEIGHT) + ROW_HEIGHT);\n const newH = isEdit ? Math.ceil(initNewH) : initNewH;\n\n if (!oldLayout) return;\n\n const currentH = isEdit ? Math.ceil(oldLayout.h) : oldLayout.h;\n if (currentH !== newH) {\n const newLayouts = layouts.map((item) =>\n item.i === i ? { ...item, h: newH } : item\n );\n handleChange(newLayouts);\n }\n },\n [layouts, handleChange, gap, isEdit]\n );\n\n const renderChild = useMemo(() => {\n return layouts\n .map((layout) => {\n const component = keyComponentMap[getRealKey(layout.type as string)];\n if (!component) {\n return null;\n }\n const background =\n layout?.cardBgType === \"picture\"\n ? `url(\"${URl_PREFIX}${layout?.cardBackground}\") no-repeat center / cover`\n : layout?.cardBgType === \"realNone\"\n ? \"none\"\n : layout?.cardBgType === \"color\"\n ? layout?.cardBackground\n : \"#fff\";\n const border =\n layout?.cardBorderStyle === \"solid\"\n ? `${layout?.cardBorderWidth}px ${layout?.cardBorderStyle} ${layout?.cardBorderColor}`\n : (layout?.cardBorderStyle ?? \"1px solid #e8e8e8\");\n const borderRadius = `${layout?.cardBorderRadius ?? 6}px`;\n\n return (\n <div\n className=\"drag-box\"\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n w: layout.cardWidth || layout.w,\n }}\n key={layout.i}\n style={{\n ...(component.style || {}),\n background,\n border,\n borderRadius,\n backdropFilter: \"blur(10px)\",\n }}\n >\n <SizeMe monitorHeight>\n {({ size }) => {\n if (size.height) {\n handleResize(layout.i, size.height);\n }\n return (\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={handleDeleteItem}\n />\n );\n }}\n </SizeMe>\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem, handleResize]);\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper} style={layoutWrapperStyle}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n {componentList?.map((component, index) => (\n <DraggableComponentMenuItem\n component={component}\n onClick={() => {\n addComponent(component);\n }}\n onDragStart={() => {\n draggingComponentRef.current = component;\n }}\n onDragEnd={() => {\n draggingComponentRef.current = undefined;\n }}\n key={component.key || index}\n />\n ))}\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n {t(K.SAVE)}\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>{t(K.CANCEL)}</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n {t(K.SETTING)}\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText={t(K.MORE) as string}\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: t(K.SAVE_AS_TEMPLATE), event: \"saveAsTemplate\" }]\n : []),\n { text: t(K.LOAD_FROM_TEMPLATE), event: \"loadFromTemplate\" },\n { text: t(K.CLEAR_ALL), danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={classNames(styles.layout, {\n [`${styles.layoutEdit}`]: isEdit,\n })}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={ROW_HEIGHT}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n compactType=\"vertical\"\n margin={[gap ?? MARGIN_WIDTH, gap ?? MARGIN_HEIGHT]}\n // onDrag={handleDragCallback}\n useCSSTransforms={false}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, layout);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2, 未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n\n /**\n * 自定义卡片默认配置, 用于覆盖默认卡片配置\n */\n @property({ attribute: false })\n accessor customDefaultCardConfigMap:\n | Record<string, CardStyleConfig>\n | undefined;\n\n /**\n * description: 用于设置页面样式和布局的按钮\n */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n /**\n * description: 卡片间隔\n */\n @property({ type: Number })\n accessor gap: number | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n gap={this.gap}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n customDefaultCardConfigMap={this.customDefaultCardConfigMap}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n onSetting={this.#handleSetting}\n ref={this.#componentRef}\n />\n );\n }\n}\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","export enum K {\n CLEAR_CONFIRM = \"CLEAR_CONFIRM\",\n CARD_LIST = \"CARD_LIST\",\n CLEAR_CONFIRM_MESSAGE = \"CLEAR_CONFIRM_MESSAGE\",\n SAVE = \"SAVE\",\n CANCEL = \"CANCEL\",\n SETTING = \"SETTING\",\n MORE = \"MORE\",\n SAVE_AS_TEMPLATE = \"SAVE_AS_TEMPLATE\",\n LOAD_FROM_TEMPLATE = \"LOAD_FROM_TEMPLATE\",\n CLEAR_ALL = \"CLEAR_ALL\"\n}\n\nconst en: Locale = {\n CLEAR_CONFIRM: \"Clear Confirm\",\n CARD_LIST: \"Card List\",\n CLEAR_CONFIRM_MESSAGE: \"All cards will be cleared and editing will start from scratch. This operation cannot be undone.\",\n SAVE: \"Save\",\n CANCEL: \"Cancel\",\n SETTING: \"Setting\",\n MORE: \"More\",\n SAVE_AS_TEMPLATE: \"Save As Template\",\n LOAD_FROM_TEMPLATE: \"Load From Template\",\n CLEAR_ALL: \"Clear All\"\n};\n\nconst zh: Locale = {\n CLEAR_CONFIRM: \"清空确认\",\n CARD_LIST: \"卡片列表\",\n CLEAR_CONFIRM_MESSAGE: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n SAVE: \"保存\",\n CANCEL: \"取消\",\n SETTING: \"设置\",\n MORE: \"更多\",\n SAVE_AS_TEMPLATE: \"另存为模板\",\n LOAD_FROM_TEMPLATE: \"从模板加载\",\n CLEAR_ALL: \"清空所有\"\n};\n\nexport const NS = \"bricks/advanced/eo-workbench-layout-v2\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { memo, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\n\nimport styles from \"./DroppableComponentLayoutItem.module.css\";\nimport { cloneDeep, isEqual, omit } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface DroppableComponentLayoutItemProps {\n component: WorkbenchComponent;\n layout: ExtraLayout;\n isEdit?: boolean;\n onDelete?(i: string): void;\n}\n\nconst position = [\"x\", \"y\", \"w\", \"h\"];\n\nexport function DroppableComponentLayoutItemElement(\n props: DroppableComponentLayoutItemProps\n): React.ReactElement {\n const { component, isEdit, onDelete, layout } = props;\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const handleDeleteClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onDelete?.(layout.i);\n };\n /**\n * cloneDeep 操作是为了让 useBrick事件抛出的值是计算后的值\n */\n const useBrick = useMemo(\n () => cloneDeep(component.useBrick),\n [component.useBrick]\n );\n const [cardConfigs, setCardConfigs] = useState(() =>\n omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n cardTitle: component.title,\n },\n position\n )\n );\n\n // todo 用于处理 layout 重新渲染导致页面卡顿\n /* istanbul ignore next */\n useEffect(() => {\n const newCardConfigs = omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n );\n\n if (!isEqual(newCardConfigs, cardConfigs)) {\n setCardConfigs(newCardConfigs);\n }\n }, [layout, cardConfigs, component.position.w]);\n\n const cardBorderWidth = useMemo(() => {\n return cardConfigs?.cardBorderWidth !== 1\n ? (cardConfigs?.cardBorderWidth as any) - 1\n : 0;\n }, [cardConfigs]);\n\n const editMaskTop = useMemo(() => {\n return 45 + cardBorderWidth;\n }, [cardBorderWidth]);\n const noPadding = useMemo(() => {\n return layout.noPadding;\n }, [layout]);\n\n const deleteIconPosition = useMemo(() => {\n const top = 15;\n return {\n top: !noPadding ? top : 0,\n right: top,\n };\n }, [noPadding]);\n\n return (\n <div className={styles.itemWrapper}>\n {isEdit && (\n <div\n className={styles.editMask}\n style={{\n top: editMaskTop,\n }}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={useBrick} data={cardConfigs} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n style={deleteIconPosition}\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n\nexport const DroppableComponentLayoutItem = memo(\n DroppableComponentLayoutItemElement\n);\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"componentItemIcon\": `componentItemIcon--znvUWa0v`,\n\t\"componentItemWrapper\": `componentItemWrapper--mLC8xy_9`,\n\t\"componentItemTitle\": `componentItemTitle--zo3KGnys`,\n\t\"componentItemContent\": `componentItemContent--zOG8IL31`,\n\t\"componentItemThumbnail\": `componentItemThumbnail--epDINDMl`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`,\n\t\"itemWrapper\": `itemWrapper--_lUkkTz1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React from \"react\";\nimport { WorkbenchComponent } from \"../interfaces\";\nimport styles from \"./DraggableComponentMenuItem.module.css\";\nexport interface DraggableComponentMenuItemProps {\n component: WorkbenchComponent;\n onClick?(): void;\n onDragStart?(): void;\n onDragEnd?(): void;\n}\n\nexport function DraggableComponentMenuItem(\n props: DraggableComponentMenuItemProps\n): React.ReactElement {\n const { component, onClick, onDragStart, onDragEnd } = props;\n const { key, title, thumbnail } = component;\n\n return (\n <div\n className={styles.componentItemWrapper}\n data-testid=\"draggable-component-menu-item\"\n >\n <div className={styles.componentItemTitle}>{title}</div>\n <div\n className={styles.componentItemContent}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", key);\n onDragStart?.();\n }}\n onDragEnd={onDragEnd}\n onClick={onClick}\n data-testid=\"draggable-component-menu-item-thumbnail\"\n >\n <img\n className={styles.componentItemThumbnail}\n src={thumbnail}\n alt={title}\n />\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","import { CardStyleConfig } from \"../interfaces\";\n\nexport const defaultCardConfig: CardStyleConfig = {\n cardWidth: 2,\n showMoreIcon: false,\n cardBorderStyle: \"solid\",\n cardTitleFontSize: 16,\n cardBorderWidth: 1,\n cardBorderRadius: 6,\n cardTitleColor: \"#262626\",\n cardBorderColor: \"#e8e8e8\",\n cardBgType: \"none\",\n};\n\nexport const getLayoutDefaultCardConfig = (\n cardType: string,\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>\n): CardStyleConfig => {\n const moreLinkByCardTypeMap: Record<string, CardStyleConfig> = {\n \"notice-card\": {\n moreIconLink: \"/announcement-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"cmdb-object-collect-card\": {\n moreIconLink: \"/cmdb-model-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"itsm-todos\": {\n moreIconLink: \"/itsc-workbench/workbench?activeKey=run\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalResourceInspectionResults: {\n moreIconLink: \"/automatic-inspection/suites\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalSystemInspectionResults: {\n moreIconLink: \"/automatic-inspection/system/list\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n ...(customDefaultCardConfigMap ?? {}),\n };\n return {\n ...defaultCardConfig,\n ...(moreLinkByCardTypeMap?.[cardType] ?? {}),\n };\n};\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"layoutEdit\": `layoutEdit--FVqWXNWj`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","_classPrivateGetter","s","r","a","setAttributes","insert","domAPI","locals","undefined","initializeReactI18n","NS","locales","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","showDialog","unwrapProvider","URl_PREFIX","window","location","origin","getBasePath","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","customDefaultCardConfigMap","toolbarBricks","componentList","isEdit","showSettingButton","onChange","onSave","onCancel","onSetting","gap","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","t","useTranslation","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","keyComponentMap","keyBy","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","draggingComponentRef","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","some","v","isDraggable","currentLayoutsMap","x","w","y","h","i","minH","_currentLayout$t$minH","find","item","map","type","handleClearLayout","handleSave","addComponent","component","currentLayouts","defaultCardConfig","getLayoutDefaultCardConfig","newLayouts","layout","pick","newLayout","position","Math","random","cardWidth","Infinity","dropItem","handleDeleteItem","_layouts$filter","filter","handleResize","contentHeight","oldLayout","initNewH","cardBorderStyle","cardBorderWidth","newH","ceil","renderChild","_layout$cardBorderSty","_layout$cardBorderRad","_component$position","background","cardBgType","cardBackground","border","cardBorderColor","borderRadius","cardBorderRadius","React","className","style","backdropFilter","SizeMe","monitorHeight","_ref2","size","height","DroppableComponentLayoutItem","onDelete","Boolean","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","body","clientHeight","useEffect","addEventListener","removeEventListener","styles","gridLayoutWrapper","componentWrapper","componentTitle","index","DraggableComponentMenuItem","onClick","onDragStart","onDragEnd","useBrick","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","K","SAVE","handleCancel","CANCEL","handleSetting","SETTING","btnText","MORE","icon","lib","actions","text","SAVE_AS_TEMPLATE","LOAD_FROM_TEMPLATE","CLEAR_ALL","danger","e","action","title","CLEAR_CONFIRM","content","CLEAR_CONFIRM_MESSAGE","then","handleActionClick","detail","classNames","layoutEdit","draggableCancel","layoutItemStyles","deleteIcon","breakpoints","lg","md","sm","rowHeight","isResizable","isDroppable","compactType","margin","useCSSTransforms","onDropDragOver","onDrop","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_H","_I","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_J","_handleSave","_K","_handleCancel","_L","_handleSetting","_M","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_customDefaultCardConfigMap","_init_extra_customDefaultCardConfigMap","_init_showSettingButton","_init_extra_showSettingButton","_init_gap","_init_extra_gap","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_settingEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","Number","o","_","has","_checkInRHS","nonce","setAttribute","en","CARD_LIST","zh","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","call","value","newClass","default","WrappedIcon","DroppableComponentLayoutItemElement","props","cloneDeep","cardConfigs","setCardConfigs","omit","newCardConfigs","isEqual","editMaskTop","noPadding","deleteIconPosition","right","itemWrapper","editMask","onMouseDown","preventDefault","ReactUseBrick","data","memo","___CSS_LOADER_EXPORT___","push","id","thumbnail","componentItemWrapper","componentItemTitle","componentItemContent","draggable","dataTransfer","setData","componentItemThumbnail","src","alt","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","add","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","showMoreIcon","cardTitleFontSize","cardTitleColor","cardType","_moreLinkByCardTypeMa","moreLinkByCardTypeMap","moreIconLink","moreIconText","abnormalResourceInspectionResults","abnormalSystemInspectionResults","element","createElement","attributes"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/eo-workbench-layout-v2.24da89e7.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css?66f3","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/i18n.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./src/workbench-layout-v2/utils.ts","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { Layout, Responsive, WidthProvider } from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport { keyBy, pick } from \"lodash\";\nimport { SizeMe } from \"react-sizeme\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport {\n WorkbenchComponent,\n ExtraLayout,\n CardStyleConfig,\n} from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\nimport { getLayoutDefaultCardConfig } from \"./utils\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", { onActionClick: \"action.click\" });\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nconst ROW_HEIGHT = 1;\nconst MARGIN_WIDTH = 16;\nconst MARGIN_HEIGHT = 16;\nconst URl_PREFIX = `${window.location.origin}${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`;\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n gap?: number;\n onChange?: (layout: ExtraLayout[]) => void;\n onSave?: (layout: ExtraLayout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: ExtraLayout[]) => void;\n onSetting?: () => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n customDefaultCardConfigMap,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n gap,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const { t } = useTranslation(NS);\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<ExtraLayout[]>(layoutsProps ?? []);\n const [layouts, _setLayouts] = useState<ExtraLayout[]>(\n layoutCacheRef.current\n );\n const keyComponentMap = useMemo(\n () => keyBy(componentList, \"key\"),\n [componentList]\n );\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n const draggingComponentRef = useRef<WorkbenchComponent>();\n\n const setLayouts = useCallback((layouts: ExtraLayout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({ setLayouts }));\n\n const handleChange = useCallback(\n (layouts: ExtraLayout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n // const placeholderDOM = gridLayoutRef.current?.querySelector(\n // \".react-grid-placeholder\"\n // );\n // if (placeholderDOM) {\n // if (newItem.w > 1 && newItem.x > 0) {\n // !placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.add(\"forbidden\");\n // } else {\n // placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.remove(\"forbidden\");\n // }\n // }\n // };\n\n /* istanbul ignore next */\n const handleLayoutChange = useCallback(\n (currentLayout: ExtraLayout[]) => {\n if (!isEdit) {\n return;\n }\n\n // 占位拖拽不触发 setLayouts\n if (currentLayout.some((v) => v.isDraggable)) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n currentLayout.map((v) => {\n const layoutItem = currentLayoutsMap?.[v.i];\n return { ...layoutItem, ...v, type: getRealKey(v.i) };\n })\n );\n },\n [handleChange, isEdit, layouts]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(layouts);\n }, [layouts, onSave]);\n\n const handleSetting = () => {\n onSetting?.();\n };\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: t(K.CLEAR_CONFIRM) as string,\n content: t(K.CLEAR_CONFIRM_MESSAGE),\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(action, layouts ?? []);\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n currentLayouts?: Layout[]\n ): void => {\n const defaultCardConfig = getLayoutDefaultCardConfig(\n component.key,\n customDefaultCardConfigMap\n );\n const currentLayoutsMap = keyBy(currentLayouts, \"i\");\n const newLayouts = layouts.map((layout) => {\n return {\n ...layout,\n ...pick(currentLayoutsMap?.[layout.i], [\"x\", \"y\"]),\n };\n });\n let newLayout = {\n ...defaultCardConfig,\n ...component.position,\n i: `${component.key}:${Math.random()}`,\n cardWidth: component.position.w,\n type: component.key,\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n };\n if (currentLayouts) {\n const dropItem = currentLayouts.find((v) => v.i === \"__dropping-elem__\");\n newLayout = {\n ...newLayout,\n ...pick(dropItem, \"x\", \"y\"),\n };\n handleChange([newLayout, ...newLayouts]);\n return;\n }\n handleChange(layouts.concat(newLayout));\n };\n\n const handleDeleteItem = useCallback(\n (i: string) => {\n handleChange(layouts.filter((item) => item.i !== i) ?? []);\n },\n [handleChange, layouts]\n );\n\n /* istanbul ignore next */\n const handleResize = useCallback(\n (i: string, contentHeight: number) => {\n const oldLayout = layouts.find((layout: ExtraLayout) => layout.i === i);\n const initNewH =\n ((oldLayout?.cardBorderStyle === \"solid\"\n ? oldLayout?.cardBorderWidth || 0\n : 0) *\n 2 +\n contentHeight +\n (gap ?? MARGIN_HEIGHT)) /\n ((gap ?? MARGIN_HEIGHT) + ROW_HEIGHT);\n const newH = isEdit ? Math.ceil(initNewH) : initNewH;\n\n if (!oldLayout) return;\n\n const currentH = isEdit ? Math.ceil(oldLayout.h) : oldLayout.h;\n if (currentH !== newH) {\n const newLayouts = layouts.map((item) =>\n item.i === i ? { ...item, h: newH } : item\n );\n handleChange(newLayouts);\n }\n },\n [layouts, handleChange, gap, isEdit]\n );\n\n const renderChild = useMemo(() => {\n return layouts\n .map((layout) => {\n const component = keyComponentMap[getRealKey(layout.type as string)];\n if (!component) {\n return null;\n }\n const background =\n layout?.cardBgType === \"picture\"\n ? `url(\"${URl_PREFIX}${layout?.cardBackground}\") no-repeat center / cover`\n : layout?.cardBgType === \"realNone\"\n ? \"none\"\n : layout?.cardBgType === \"color\"\n ? layout?.cardBackground\n : \"#fff\";\n const border =\n layout?.cardBorderStyle === \"solid\"\n ? `${layout?.cardBorderWidth}px ${layout?.cardBorderStyle} ${layout?.cardBorderColor}`\n : (layout?.cardBorderStyle ?? \"1px solid #e8e8e8\");\n const borderRadius = `${layout?.cardBorderRadius ?? 6}px`;\n\n return (\n <div\n className=\"drag-box\"\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n w: layout.cardWidth || layout.w,\n }}\n key={layout.i}\n style={{\n ...(component.style || {}),\n background,\n border,\n borderRadius,\n backdropFilter: \"blur(10px)\",\n }}\n >\n <SizeMe monitorHeight>\n {({ size }) => {\n if (size.height) {\n handleResize(layout.i, size.height);\n }\n return (\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={handleDeleteItem}\n />\n );\n }}\n </SizeMe>\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem, handleResize]);\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper} style={layoutWrapperStyle}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n {componentList?.map((component, index) => (\n <DraggableComponentMenuItem\n component={component}\n onClick={() => {\n addComponent(component);\n }}\n onDragStart={() => {\n draggingComponentRef.current = component;\n }}\n onDragEnd={() => {\n draggingComponentRef.current = undefined;\n }}\n key={component.key || index}\n />\n ))}\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n {t(K.SAVE)}\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>{t(K.CANCEL)}</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n {t(K.SETTING)}\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText={t(K.MORE) as string}\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: t(K.SAVE_AS_TEMPLATE), event: \"saveAsTemplate\" }]\n : []),\n { text: t(K.LOAD_FROM_TEMPLATE), event: \"loadFromTemplate\" },\n { text: t(K.CLEAR_ALL), danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={classNames(styles.layout, {\n [`${styles.layoutEdit}`]: isEdit,\n })}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={ROW_HEIGHT}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n compactType=\"vertical\"\n margin={[gap ?? MARGIN_WIDTH, gap ?? MARGIN_HEIGHT]}\n // onDrag={handleDragCallback}\n useCSSTransforms={false}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, layout);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\nexport interface EoWorkbenchLayoutV2EventsMap {\n change: CustomEvent<ExtraLayout[]>;\n save: CustomEvent<ExtraLayout[]>;\n cancel: CustomEvent<void>;\n setting: CustomEvent<void>;\n \"action.click\": CustomEvent<{ action: SimpleAction; layouts: ExtraLayout[] }>;\n}\n\nexport interface EoWorkbenchLayoutV2EventsMapping {\n onChange: \"change\";\n onSave: \"save\";\n onCancel: \"cancel\";\n onSetting: \"setting\";\n onActionClick: \"action.click\";\n}\n\n/**\n * 工作台布局 V2,支持拖拽式卡片布局与全局样式(不使用 shadow DOM)\n * @author developer\n * @category layout\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n /** 编辑模式下左侧卡片列表面板的标题 */\n @property()\n accessor cardTitle: string | undefined;\n\n /** 是否进入编辑模式,编辑模式下可拖拽调整布局并显示卡片选择面板 */\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n /** 当前布局配置,每项对应一个卡片的位置与大小及样式信息 */\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n /** 编辑模式下工具栏区域的自定义构件 */\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n /** 组件列表,每项包含 key、title、useBrick 和 position 信息 */\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n\n /** 自定义卡片默认配置,用于覆盖默认卡片样式配置 */\n @property({ attribute: false })\n accessor customDefaultCardConfigMap:\n | Record<string, CardStyleConfig>\n | undefined;\n\n /** 是否显示设置按钮,用于触发页面样式和布局设置 */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n /** 卡片之间的间距(px) */\n @property({ type: Number })\n accessor gap: number | undefined;\n\n /**\n * @detail 当前布局配置数组\n * @description 布局发生变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n /**\n * @detail 保存时的布局配置数组\n * @description 点击保存按钮时触发\n */\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n /**\n * @detail -\n * @description 点击取消按钮时触发\n */\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * @detail -\n * @description 点击设置按钮时触发\n */\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * @detail { action: 点击的操作项, layouts: 当前布局配置数组 }\n * @description 更多操作菜单中的操作点击时触发\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n /**\n * 设置布局配置\n * @param layouts - 新的布局配置数组\n */\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n gap={this.gap}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n customDefaultCardConfigMap={this.customDefaultCardConfigMap}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n onSetting={this.#handleSetting}\n ref={this.#componentRef}\n />\n );\n }\n}\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","export enum K {\n CLEAR_CONFIRM = \"CLEAR_CONFIRM\",\n CARD_LIST = \"CARD_LIST\",\n CLEAR_CONFIRM_MESSAGE = \"CLEAR_CONFIRM_MESSAGE\",\n SAVE = \"SAVE\",\n CANCEL = \"CANCEL\",\n SETTING = \"SETTING\",\n MORE = \"MORE\",\n SAVE_AS_TEMPLATE = \"SAVE_AS_TEMPLATE\",\n LOAD_FROM_TEMPLATE = \"LOAD_FROM_TEMPLATE\",\n CLEAR_ALL = \"CLEAR_ALL\"\n}\n\nconst en: Locale = {\n CLEAR_CONFIRM: \"Clear Confirm\",\n CARD_LIST: \"Card List\",\n CLEAR_CONFIRM_MESSAGE: \"All cards will be cleared and editing will start from scratch. This operation cannot be undone.\",\n SAVE: \"Save\",\n CANCEL: \"Cancel\",\n SETTING: \"Setting\",\n MORE: \"More\",\n SAVE_AS_TEMPLATE: \"Save As Template\",\n LOAD_FROM_TEMPLATE: \"Load From Template\",\n CLEAR_ALL: \"Clear All\"\n};\n\nconst zh: Locale = {\n CLEAR_CONFIRM: \"清空确认\",\n CARD_LIST: \"卡片列表\",\n CLEAR_CONFIRM_MESSAGE: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n SAVE: \"保存\",\n CANCEL: \"取消\",\n SETTING: \"设置\",\n MORE: \"更多\",\n SAVE_AS_TEMPLATE: \"另存为模板\",\n LOAD_FROM_TEMPLATE: \"从模板加载\",\n CLEAR_ALL: \"清空所有\"\n};\n\nexport const NS = \"bricks/advanced/eo-workbench-layout-v2\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { memo, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\n\nimport styles from \"./DroppableComponentLayoutItem.module.css\";\nimport { cloneDeep, isEqual, omit } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface DroppableComponentLayoutItemProps {\n component: WorkbenchComponent;\n layout: ExtraLayout;\n isEdit?: boolean;\n onDelete?(i: string): void;\n}\n\nconst position = [\"x\", \"y\", \"w\", \"h\"];\n\nexport function DroppableComponentLayoutItemElement(\n props: DroppableComponentLayoutItemProps\n): React.ReactElement {\n const { component, isEdit, onDelete, layout } = props;\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const handleDeleteClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onDelete?.(layout.i);\n };\n /**\n * cloneDeep 操作是为了让 useBrick事件抛出的值是计算后的值\n */\n const useBrick = useMemo(\n () => cloneDeep(component.useBrick),\n [component.useBrick]\n );\n const [cardConfigs, setCardConfigs] = useState(() =>\n omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n cardTitle: component.title,\n },\n position\n )\n );\n\n // todo 用于处理 layout 重新渲染导致页面卡顿\n /* istanbul ignore next */\n useEffect(() => {\n const newCardConfigs = omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n );\n\n if (!isEqual(newCardConfigs, cardConfigs)) {\n setCardConfigs(newCardConfigs);\n }\n }, [layout, cardConfigs, component.position.w]);\n\n const cardBorderWidth = useMemo(() => {\n return cardConfigs?.cardBorderWidth !== 1\n ? (cardConfigs?.cardBorderWidth as any) - 1\n : 0;\n }, [cardConfigs]);\n\n const editMaskTop = useMemo(() => {\n return 45 + cardBorderWidth;\n }, [cardBorderWidth]);\n const noPadding = useMemo(() => {\n return layout.noPadding;\n }, [layout]);\n\n const deleteIconPosition = useMemo(() => {\n const top = 15;\n return {\n top: !noPadding ? top : 0,\n right: top,\n };\n }, [noPadding]);\n\n return (\n <div className={styles.itemWrapper}>\n {isEdit && (\n <div\n className={styles.editMask}\n style={{\n top: editMaskTop,\n }}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={useBrick} data={cardConfigs} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n style={deleteIconPosition}\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n\nexport const DroppableComponentLayoutItem = memo(\n DroppableComponentLayoutItemElement\n);\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"componentItemIcon\": `componentItemIcon--znvUWa0v`,\n\t\"componentItemWrapper\": `componentItemWrapper--mLC8xy_9`,\n\t\"componentItemTitle\": `componentItemTitle--zo3KGnys`,\n\t\"componentItemContent\": `componentItemContent--zOG8IL31`,\n\t\"componentItemThumbnail\": `componentItemThumbnail--epDINDMl`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`,\n\t\"itemWrapper\": `itemWrapper--_lUkkTz1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React from \"react\";\nimport { WorkbenchComponent } from \"../interfaces\";\nimport styles from \"./DraggableComponentMenuItem.module.css\";\nexport interface DraggableComponentMenuItemProps {\n component: WorkbenchComponent;\n onClick?(): void;\n onDragStart?(): void;\n onDragEnd?(): void;\n}\n\nexport function DraggableComponentMenuItem(\n props: DraggableComponentMenuItemProps\n): React.ReactElement {\n const { component, onClick, onDragStart, onDragEnd } = props;\n const { key, title, thumbnail } = component;\n\n return (\n <div\n className={styles.componentItemWrapper}\n data-testid=\"draggable-component-menu-item\"\n >\n <div className={styles.componentItemTitle}>{title}</div>\n <div\n className={styles.componentItemContent}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", key);\n onDragStart?.();\n }}\n onDragEnd={onDragEnd}\n onClick={onClick}\n data-testid=\"draggable-component-menu-item-thumbnail\"\n >\n <img\n className={styles.componentItemThumbnail}\n src={thumbnail}\n alt={title}\n />\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","import { CardStyleConfig } from \"../interfaces\";\n\nexport const defaultCardConfig: CardStyleConfig = {\n cardWidth: 2,\n showMoreIcon: false,\n cardBorderStyle: \"solid\",\n cardTitleFontSize: 16,\n cardBorderWidth: 1,\n cardBorderRadius: 6,\n cardTitleColor: \"#262626\",\n cardBorderColor: \"#e8e8e8\",\n cardBgType: \"none\",\n};\n\nexport const getLayoutDefaultCardConfig = (\n cardType: string,\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>\n): CardStyleConfig => {\n const moreLinkByCardTypeMap: Record<string, CardStyleConfig> = {\n \"notice-card\": {\n moreIconLink: \"/announcement-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"cmdb-object-collect-card\": {\n moreIconLink: \"/cmdb-model-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"itsm-todos\": {\n moreIconLink: \"/itsc-workbench/workbench?activeKey=run\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalResourceInspectionResults: {\n moreIconLink: \"/automatic-inspection/suites\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalSystemInspectionResults: {\n moreIconLink: \"/automatic-inspection/system/list\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n ...(customDefaultCardConfigMap ?? {}),\n };\n return {\n ...defaultCardConfig,\n ...(moreLinkByCardTypeMap?.[cardType] ?? {}),\n };\n};\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"layoutEdit\": `layoutEdit--FVqWXNWj`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","_classPrivateGetter","s","r","a","setAttributes","insert","domAPI","locals","undefined","initializeReactI18n","NS","locales","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","showDialog","unwrapProvider","URl_PREFIX","window","location","origin","getBasePath","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","customDefaultCardConfigMap","toolbarBricks","componentList","isEdit","showSettingButton","onChange","onSave","onCancel","onSetting","gap","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","t","useTranslation","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","keyComponentMap","keyBy","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","draggingComponentRef","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","some","v","isDraggable","currentLayoutsMap","x","w","y","h","i","minH","_currentLayout$t$minH","find","item","map","type","handleClearLayout","handleSave","addComponent","component","currentLayouts","defaultCardConfig","getLayoutDefaultCardConfig","newLayouts","layout","pick","newLayout","position","Math","random","cardWidth","Infinity","dropItem","handleDeleteItem","_layouts$filter","filter","handleResize","contentHeight","oldLayout","initNewH","cardBorderStyle","cardBorderWidth","newH","ceil","renderChild","_layout$cardBorderSty","_layout$cardBorderRad","_component$position","background","cardBgType","cardBackground","border","cardBorderColor","borderRadius","cardBorderRadius","React","className","style","backdropFilter","SizeMe","monitorHeight","_ref2","size","height","DroppableComponentLayoutItem","onDelete","Boolean","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","body","clientHeight","useEffect","addEventListener","removeEventListener","styles","gridLayoutWrapper","componentWrapper","componentTitle","index","DraggableComponentMenuItem","onClick","onDragStart","onDragEnd","useBrick","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","K","SAVE","handleCancel","CANCEL","handleSetting","SETTING","btnText","MORE","icon","lib","actions","text","SAVE_AS_TEMPLATE","LOAD_FROM_TEMPLATE","CLEAR_ALL","danger","e","action","title","CLEAR_CONFIRM","content","CLEAR_CONFIRM_MESSAGE","then","handleActionClick","detail","classNames","layoutEdit","draggableCancel","layoutItemStyles","deleteIcon","breakpoints","lg","md","sm","rowHeight","isResizable","isDroppable","compactType","margin","useCSSTransforms","onDropDragOver","onDrop","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_H","_I","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_J","_handleSave","_K","_handleCancel","_L","_handleSetting","_M","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_customDefaultCardConfigMap","_init_extra_customDefaultCardConfigMap","_init_showSettingButton","_init_extra_showSettingButton","_init_gap","_init_extra_gap","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_settingEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","Number","o","_","has","_checkInRHS","nonce","setAttribute","en","CARD_LIST","zh","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","call","value","newClass","default","WrappedIcon","DroppableComponentLayoutItemElement","props","cloneDeep","cardConfigs","setCardConfigs","omit","newCardConfigs","isEqual","editMaskTop","noPadding","deleteIconPosition","right","itemWrapper","editMask","onMouseDown","preventDefault","ReactUseBrick","data","memo","___CSS_LOADER_EXPORT___","push","id","thumbnail","componentItemWrapper","componentItemTitle","componentItemContent","draggable","dataTransfer","setData","componentItemThumbnail","src","alt","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","add","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","showMoreIcon","cardTitleFontSize","cardTitleColor","cardType","_moreLinkByCardTypeMa","moreLinkByCardTypeMap","moreIconLink","moreIconText","abnormalResourceInspectionResults","abnormalSystemInspectionResults","element","createElement","attributes"],"sourceRoot":""}
|