@next-bricks/data-view 1.12.10 → 1.12.12
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/{2145.105c2d97.js → 2145.65311b68.js} +2 -2
- package/dist/chunks/2145.65311b68.js.map +1 -0
- package/dist/chunks/app-wall-card-item.7c32b915.js.map +1 -1
- package/dist/chunks/app-wall-relation-line.0445cf9d.js.map +1 -1
- package/dist/chunks/app-wall-system-card.aa2b5b84.js.map +1 -1
- package/dist/chunks/app-wall.126608d6.js.map +1 -1
- package/dist/chunks/basic-index-group.c555b165.js.map +1 -1
- package/dist/chunks/battery-chart.554d378f.js.map +1 -1
- package/dist/chunks/brick-notification.ae523413.js.map +1 -1
- package/dist/chunks/{bubbles-indicator.ab761540.js → bubbles-indicator.e7b47e1e.js} +2 -2
- package/dist/chunks/bubbles-indicator.e7b47e1e.js.map +1 -0
- package/dist/chunks/cabinet-app-layer.6a1a78c4.js.map +1 -1
- package/dist/chunks/cabinet-container.49872d09.js.map +1 -1
- package/dist/chunks/cabinet-graph.6aa32783.js.map +1 -1
- package/dist/chunks/china-map-chart.56dc9a9f.js.map +1 -1
- package/dist/chunks/china-map.a7c98bf0.js.map +1 -1
- package/dist/chunks/complex-search.cbeec078.js.map +1 -1
- package/dist/chunks/dropdown-menu.5c9a12d7.js.map +1 -1
- package/dist/chunks/globe-with-gear-indicator.123e65c1.js.map +1 -1
- package/dist/chunks/globe-with-halo-indicator.01b2c9a2.js.map +1 -1
- package/dist/chunks/globe-with-orbit-indicator.45415b04.js.map +1 -1
- package/dist/chunks/lights-component-title.0cccad81.js.map +1 -1
- package/dist/chunks/{main.7ab73e54.js → main.71e1cf26.js} +2 -2
- package/dist/chunks/{main.7ab73e54.js.map → main.71e1cf26.js.map} +1 -1
- package/dist/chunks/modern-style-treemap.24ddab63.js.map +1 -1
- package/dist/chunks/progress-bar-list.8b0651c1.js.map +1 -1
- package/dist/chunks/tabs-drawer.ae7c57ad.js.map +1 -1
- package/dist/chunks/tabs-page-title.c696bb65.js.map +1 -1
- package/dist/chunks/tech-mesh-base-view.4c3b548e.js.map +1 -1
- package/dist/examples.json +47 -47
- package/dist/{index.dcc586d1.js → index.09e27086.js} +2 -2
- package/dist/{index.dcc586d1.js.map → index.09e27086.js.map} +1 -1
- package/dist/manifest.json +92 -67
- package/dist/types.json +8 -9
- package/dist-types/app-wall/card-item/index.d.ts +1 -0
- package/dist-types/app-wall/relation-line/index.d.ts +2 -4
- package/dist-types/app-wall/system-card/index.d.ts +6 -30
- package/dist-types/basic-index-group/index.d.ts +1 -0
- package/dist-types/battery-chart/index.d.ts +7 -20
- package/dist-types/brick-notification/index.d.ts +4 -4
- package/dist-types/bubbles-indicator/index.d.ts +1 -0
- package/dist-types/cabinet/cabinet-app-layer/index.d.ts +3 -8
- package/dist-types/cabinet/index.d.ts +3 -12
- package/dist-types/china-map/index.d.ts +1 -1
- package/dist-types/globe-with-gear-indicator/index.d.ts +2 -0
- package/dist-types/globe-with-halo-indicator/index.d.ts +2 -0
- package/dist-types/globe-with-orbit-indicator/index.d.ts +2 -0
- package/dist-types/lights-component-title/index.d.ts +4 -4
- package/dist-types/progress-bar-list/index.d.ts +6 -4
- package/dist-types/tabs-page-title/index.d.ts +1 -1
- package/dist-types/tech-mesh-base-view/index.d.ts +2 -1
- package/docs/app-wall-card-item.md +23 -1
- package/docs/app-wall-card-item.react.md +52 -0
- package/docs/app-wall-relation-line.md +19 -1
- package/docs/app-wall-relation-line.react.md +36 -0
- package/docs/app-wall-system-card.md +35 -2
- package/docs/app-wall-system-card.react.md +89 -0
- package/docs/app-wall.md +118 -1469
- package/docs/app-wall.react.md +235 -0
- package/docs/basic-index-group.md +22 -1
- package/docs/basic-index-group.react.md +132 -0
- package/docs/battery-chart.md +44 -1
- package/docs/battery-chart.react.md +137 -0
- package/docs/brick-notification.md +22 -1
- package/docs/brick-notification.react.md +45 -0
- package/docs/bubbles-indicator.md +23 -1
- package/docs/bubbles-indicator.react.md +52 -0
- package/docs/cabinet-app-layer.md +49 -1
- package/docs/cabinet-app-layer.react.md +58 -0
- package/docs/cabinet-button.md +19 -1
- package/docs/cabinet-button.react.md +39 -0
- package/docs/cabinet-container.md +55 -1
- package/docs/cabinet-container.react.md +84 -0
- package/docs/cabinet-graph.md +61 -1
- package/docs/cabinet-graph.react.md +131 -0
- package/docs/cabinet-node.md +39 -1
- package/docs/cabinet-node.react.md +66 -0
- package/docs/cabinet-thumbnail.md +44 -1
- package/docs/cabinet-thumbnail.react.md +88 -0
- package/docs/china-map-chart.md +42 -2
- package/docs/china-map-chart.react.md +117 -0
- package/docs/china-map.md +26 -1
- package/docs/china-map.react.md +78 -0
- package/docs/complex-search.md +77 -1
- package/docs/complex-search.react.md +101 -0
- package/docs/crystal-ball-indicator.md +57 -1
- package/docs/crystal-ball-indicator.react.md +70 -0
- package/docs/data-display-flipper-fifth.md +76 -1
- package/docs/data-display-flipper-fifth.react.md +89 -0
- package/docs/data-display-flipper-sixth.md +39 -5
- package/docs/data-display-flipper-sixth.react.md +47 -0
- package/docs/data-display-flipper.md +68 -2
- package/docs/data-display-flipper.react.md +91 -0
- package/docs/dropdown-menu.md +62 -13
- package/docs/dropdown-menu.react.md +68 -0
- package/docs/gauge-chart.md +68 -19
- package/docs/gauge-chart.react.md +80 -0
- package/docs/gear-background.md +41 -8
- package/docs/gear-background.react.md +56 -0
- package/docs/globe-with-gear-indicator.md +67 -1
- package/docs/globe-with-gear-indicator.react.md +69 -0
- package/docs/globe-with-halo-indicator.md +67 -1
- package/docs/globe-with-halo-indicator.react.md +69 -0
- package/docs/globe-with-orbit-indicator.md +67 -1
- package/docs/globe-with-orbit-indicator.react.md +70 -0
- package/docs/graph-layout-grid.md +108 -85
- package/docs/graph-layout-grid.react.md +172 -0
- package/docs/graph-node.md +25 -7
- package/docs/graph-node.react.md +36 -0
- package/docs/graph-text.md +24 -6
- package/docs/graph-text.react.md +34 -0
- package/docs/grid-background.md +21 -1
- package/docs/grid-background.react.md +45 -0
- package/docs/hi-tech-button.md +63 -2
- package/docs/hi-tech-button.react.md +106 -0
- package/docs/indicator-card.md +26 -1
- package/docs/indicator-card.react.md +86 -0
- package/docs/lights-component-title.md +23 -1
- package/docs/lights-component-title.react.md +49 -0
- package/docs/loading-panel.md +31 -1
- package/docs/loading-panel.react.md +62 -0
- package/docs/modern-style-component-title.md +39 -2
- package/docs/modern-style-component-title.react.md +76 -0
- package/docs/modern-style-page-title.md +43 -1
- package/docs/modern-style-page-title.react.md +56 -0
- package/docs/modern-style-treemap.md +71 -373
- package/docs/modern-style-treemap.react.md +131 -0
- package/docs/particle-animation.md +45 -1
- package/docs/particle-animation.react.md +64 -0
- package/docs/progress-bar-list.md +19 -1
- package/docs/progress-bar-list.react.md +47 -0
- package/docs/radar-chart.md +97 -31
- package/docs/radar-chart.react.md +75 -0
- package/docs/simple-card-item.md +79 -3
- package/docs/simple-card-item.react.md +83 -0
- package/docs/tabs-drawer.md +81 -2
- package/docs/tabs-drawer.react.md +117 -0
- package/docs/tabs-page-title.md +40 -1
- package/docs/tabs-page-title.react.md +87 -0
- package/docs/tech-mesh-base-view.md +22 -1
- package/docs/tech-mesh-base-view.react.md +55 -0
- package/docs/title-text.md +41 -1
- package/docs/title-text.react.md +67 -0
- package/docs/top-title-bar.md +25 -2
- package/docs/top-title-bar.react.md +50 -0
- package/package.json +2 -2
- package/dist/chunks/2145.105c2d97.js.map +0 -1
- package/dist/chunks/bubbles-indicator.ab761540.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/cabinet-container.49872d09.js","mappings":"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","sources":["webpack:///./src/cabinet/cabinet-container/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/cabinet/cabinet-container/cabinet-container.shadow.css","webpack:///./src/hooks/useResizeObserver/resizeObserverUtil.ts","webpack:///./src/hooks/useResizeObserver/index.ts","webpack:///./src/hooks/usePrevious/index.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/data-view-variables.shadow.css"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from \"react\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport variablesText from \"../../data-view-variables.shadow.css\";\nimport styleText from \"./cabinet-container.shadow.css\";\nimport classNames from \"classnames\";\nimport { CabinetNodeProps, CabinetNode } from \"../cabinet-node/index.js\";\nimport { useResizeObserver } from \"../../hooks/index.js\";\n\nconst { defineElement, property, event } = createDecorators();\nexport type ContainerType = \"host\" | \"k8s\" | \"k8s-blue\";\nconst WrappedNode = wrapBrick<CabinetNode, CabinetNodeProps>(\n \"data-view.cabinet-node\"\n);\nexport interface ClickEventDataType {\n type: \"node\" | \"container\";\n data: CabinetNodeProps | undefined;\n}\n\nexport interface CabinetContainerProps {\n data: CabinetNodeProps[];\n type?: ContainerType;\n customTitle?: string | undefined;\n status?: \"active\" | \"faded\";\n handleClick?: (params: ClickEventDataType) => void;\n handleDbClick?: (params: ClickEventDataType) => void;\n}\n\n/**\n * 大屏集群容器构件\n * @author astrid\n */\n@defineElement(\"data-view.cabinet-container\", {\n styleTexts: [variablesText, styleText],\n})\nclass CabinetContainer\n extends ReactNextElement\n implements CabinetContainerProps\n{\n /**\n * @kind ContainerType\n * @required true\n * @default host\n * @description 容器类型,host、k8s(主题橙色)、k8s-blue(蓝色主题)\n */\n @property({ attribute: false })\n accessor type: ContainerType = \"host\";\n\n /**\n * @kind CabinetNodeProps[]\n * @required true\n * @default -\n * @description 数据\n */\n @property({ attribute: false })\n accessor data: CabinetNodeProps[] = [];\n\n /**\n * @kind \"active\" | \"faded\"\n * @required false\n * @default\n * @description 当前状态,是否高亮或者淡化\n */\n @property()\n accessor status: \"active\" | \"faded\";\n\n /**\n * @kind string|undefined\n * @required false\n * @default -\n * @description 容器标题\n */\n @property()\n accessor customTitle: string | undefined;\n\n /**\n * @detail\n * @description 节点或者container 点击事件\n */\n @event({ type: \"container.click\" })\n accessor #onHandleClick!: EventEmitter<ClickEventDataType>;\n\n /**\n * @detail\n * @description 节点或者container 双击击事件\n */\n @event({ type: \"container.dbclick\" })\n accessor #onHandleDbClick!: EventEmitter<ClickEventDataType>;\n\n handleClick = (params: ClickEventDataType) => {\n this.#onHandleClick.emit(params);\n };\n handleDbClick = (params: ClickEventDataType) => {\n this.#onHandleDbClick.emit(params);\n };\n\n render(): React.ReactNode {\n return (\n <CabinetContainerComponent\n type={this.type}\n data={this.data}\n status={this.status}\n customTitle={this.customTitle}\n handleClick={this.handleClick}\n handleDbClick={this.handleDbClick}\n />\n );\n }\n}\n\nexport function CabinetContainerComponent(\n props: CabinetContainerProps\n): React.ReactElement {\n const { type, data, status, customTitle, handleClick, handleDbClick } = props;\n const isDbClick = useRef<boolean>(false);\n const timerRef = useRef<number>();\n\n const [containerRef, { clientWidth, clientHeight }] =\n useResizeObserver<HTMLDivElement>();\n const binarySearch = useCallback(\n (\n maxSizeCol: number,\n minSizeCol: number,\n maxSizeRow: number,\n minSizeRow: number\n ): { col: number; row: number } => {\n // 利用二分法,去找到一个合适大小;\n const maxRow = Math.max(minSizeRow, maxSizeRow), // 2\n minRow = Math.min(minSizeRow, maxSizeRow), // 1\n minCol = Math.min(minSizeCol, maxSizeCol),\n maxCol = Math.max(minSizeCol, maxSizeCol);\n const centerCol = Math.ceil((maxSizeCol + minSizeCol) / 2); // 希望col多一些\n const centerRow = Math.ceil((maxSizeRow + minSizeRow) / 2);\n const needRow = Math.ceil(data.length / centerCol);\n if (centerCol <= 1) {\n return {\n col: 1,\n row: data.length,\n };\n }\n if (\n needRow === centerRow ||\n minCol === maxCol ||\n minCol === centerCol ||\n maxCol === centerCol\n ) {\n return {\n col: centerCol,\n row: needRow,\n };\n }\n if (needRow > centerRow) {\n // 那么col要放大,row减少\n return binarySearch(centerCol, maxCol, needRow, minRow);\n }\n if (needRow < centerRow) {\n // 那么col要缩小,row增加\n return binarySearch(minCol, centerCol, maxRow, needRow);\n }\n },\n [data.length]\n );\n const layoutWidth = useMemo(() => {\n if (!data.length) {\n return;\n }\n\n //数据总量: A, 整个屏幕最大尺寸可以放 B, 整个屏幕最小尺寸可以放C,\n // B>=A,用 最大尺寸\n // C>=A: 用最小尺寸\n // B< A <C: 反推尺寸,\n const maxWidth = 118,\n minWidth = 56,\n maxHeight = 105,\n minHeight = 63;\n const realWidth = clientWidth - 27;\n const realHeight = clientHeight - 84;\n if (realWidth <= 0 || realHeight <= 0) {\n return;\n }\n const maxSizeCol = Math.floor(realWidth / maxWidth),\n maxSizeRow = Math.floor(realHeight / maxHeight),\n minSizeCol = Math.floor(realWidth / minWidth),\n minSizeRow = Math.floor(realHeight / minHeight);\n const maxSizeNum = maxSizeCol * maxSizeRow,\n minSizeNum = minSizeCol * minSizeRow;\n const allNum = data.length;\n if (allNum <= maxSizeNum) {\n return {\n width: Math.floor(realWidth / maxSizeCol),\n itemWidth: maxWidth,\n };\n } else if (allNum >= minSizeNum) {\n return {\n width: Math.floor(realWidth / minSizeCol),\n itemWidth: minWidth,\n };\n } else {\n // 在区间内, 希望撑满整个屏幕, 尺寸肯定在最大和最小之间\n const { col } = binarySearch(\n maxSizeCol,\n minSizeCol,\n maxSizeRow,\n minSizeRow\n );\n return {\n width: Math.floor(realWidth / col),\n itemWidth: Math.max(realWidth / col - 10, minWidth),\n };\n }\n }, [data.length, clientWidth, clientHeight, binarySearch]);\n\n const handleOnClick = (\n e: React.MouseEvent<HTMLDivElement>,\n data: CabinetNodeProps | undefined,\n type: \"node\" | \"container\"\n ) => {\n e.stopPropagation();\n window.clearTimeout(timerRef.current);\n isDbClick.current = false;\n timerRef.current = window.setTimeout(function () {\n if (!isDbClick.current) {\n handleClick?.({\n data,\n type,\n });\n }\n }, 200);\n };\n const handleOnDBClick = (\n e: React.MouseEvent<HTMLDivElement>,\n data: CabinetNodeProps | undefined,\n type: \"node\" | \"container\"\n ) => {\n window.clearTimeout(timerRef.current);\n isDbClick.current = true;\n e.stopPropagation();\n handleDbClick?.({\n data,\n type,\n });\n };\n\n return (\n <div\n className={classNames(\n \"wrapper\",\n {\n hostWrapper: type === \"host\" || type === \"k8s-blue\",\n k8sWrapper: type === \"k8s\",\n },\n status && `wrapper-${status}`\n )}\n ref={containerRef}\n onClick={(e) => handleOnClick(e, undefined, \"container\")}\n onDoubleClick={(e) => handleOnDBClick(e, undefined, \"container\")}\n >\n <div\n className={classNames(\n \"container\",\n {\n hostContainer: type === \"host\" || type === \"k8s-blue\",\n k8sContainer: type === \"k8s\",\n },\n status && `container-${status}`\n )}\n >\n <div className=\"content\">\n <div className=\"contentLayout\">\n {data.map((item, index) => (\n <div\n key={index}\n className=\"itemContent\"\n style={{ width: layoutWidth?.width }}\n >\n <div\n className=\"item\"\n style={{ width: layoutWidth?.itemWidth }}\n onClick={(e) => handleOnClick(e, item, \"node\")}\n onDoubleClick={(e) => handleOnDBClick(e, item, \"node\")}\n >\n <WrappedNode\n type={item.type}\n nodeTitle={item.nodeTitle}\n status={item.status}\n isAlert={item.isAlert}\n />\n </div>\n </div>\n ))}\n </div>\n </div>\n {customTitle && (\n <div className=\"footer\">\n <div className=\"footerTitle\">{customTitle}</div>\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport { CabinetContainer };\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../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, `*,\n*:after,\n*:before{box-sizing:border-box}.wrapper{width:100%;height:100%;position:relative}.container{width:100%;height:100%;border:3px solid;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;flex-direction:column;cursor:pointer;overflow:hidden}.wrapper:after,\n.wrapper:before{content:\"\";position:absolute;left:50%;border:3px solid;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);transform:translateX(-50%)}.wrapper:before{width:calc(100% - 10px);height:100%;bottom:-14px;z-index:-1;opacity:0.6}.wrapper:after{width:calc(100% - 30px);height:100%;bottom:-24px;z-index:-10;opacity:0.4}.hostWrapper:before,\n.hostWrapper:after{border-image:radial-gradient(circle,rgba(55,229,252,1),#007aca) 3 3}.hostWrapper:not(:has(.item:hover)):hover:before,\n.hostWrapper.wrapper-active:before{border-image:radial-gradient(circle,rgba(55,229,252,1),#45e4ff) 3 3}.k8sWrapper:after,\n.k8sWrapper:before{border-image:radial-gradient(circle,rgba(255,102,51,1),#ff663380) 3 3}.hostContainer{background:rgba(7,4,21,0.85);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-image:radial-gradient(circle,rgba(55,229,252,1),#007aca) 3 3}.hostContainer:not(:has(.item:hover)):hover,\n.hostContainer.container-active{border-image:radial-gradient(circle,rgba(55,229,252,1),#45e4ff) 3 3;box-shadow:inset 0 0 30px 0 #45e4ff,inset 0 0 20px 0 #45e4ff}.hostWrapper.wrapper-faded:after,\n.hostWrapper.wrapper-faded:before,\n.k8sWrapper.wrapper-faded:after,\n.k8sWrapper.wrapper-faded:before{opacity:0.1}.k8sContainer{background:rgba(7,4,21,0.8);border-image:radial-gradient(circle,rgba(255,102,51,1),#ff663399) 3 3}.k8sContainer:not(:has(.item:hover)):hover,\n.k8sContainer.container-active{box-shadow:inset 0 0 30px 0 #ff6633,inset 0 0 20px 0 #ff6633}.hostContainer.container-faded,\n.k8sContainer.container-faded{opacity:0.4}.content{flex:1;padding:20px 10px;width:100%;box-sizing:border-box;overflow:hidden;display:flex}.contentLayout{overflow:auto;height:100%}.itemContent{display:inline-block;vertical-align:middle}.item{min-width:56px;min-height:63px;max-width:118px;margin:auto}.footer{width:100%;height:57px;text-align:center;line-height:57px;font-size:var(--auxiliary-font-size);font-weight:var(--font-weight-400);color:var(--color-normal-text);position:relative;display:flex}.footerTitle{flex:1;width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.footer:after{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1}.hostContainer > .footer:after{background:linear-gradient(180deg,rgba(26,103,157,0.2) 0%,#1b69a0 100%)}.k8sContainer > .footer:after{background:linear-gradient(180deg,rgba(255,102,51,0.1) 0%,rgba(255,102,51,0.55) 100%)}.hostContainer:not(:has(.item:hover)):hover > .footer:after,\n.hostContainer.container-active > .footer:after,\n.k8sContainer:not(:has(.item:hover)):hover > .footer:after,\n.k8sContainer.container-active > .footer:after{opacity:0.65}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import ResizeObserver from \"resize-observer-polyfill\";\n\nexport type ResizeCallback = (entry: ResizeObserverEntry) => void;\n\nconst elementListeners = new Map<Element, Set<ResizeCallback>>();\n\nexport const elementListeners_only_for_test =\n process.env.NODE_ENV === \"test\"\n ? elementListeners\n : /* istanbul ignore next */ null;\n\nconst resizeObserverCallback = (entries: ResizeObserverEntry[]): void => {\n entries.forEach((entry) => {\n const { target } = entry;\n elementListeners.get(target)?.forEach((callback) => callback(entry));\n });\n};\n\nconst resizeObserver: ResizeObserver = new (ResizeObserver as any)(resizeObserverCallback);\n\nexport const observe = (element: Element, callback: ResizeCallback): void => {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n resizeObserver.observe(element);\n }\n\n elementListeners.get(element).add(callback);\n};\n\nexport const unobserve = (element: Element, callback: ResizeCallback): void => {\n if (elementListeners.has(element)) {\n elementListeners.get(element).delete(callback);\n\n if (elementListeners.get(element).size === 0) {\n resizeObserver.unobserve(element);\n elementListeners.delete(element);\n }\n }\n};\n","import {\n useState,\n useCallback,\n useRef,\n type RefObject,\n useEffect,\n} from \"react\";\nimport { observe, unobserve } from \"./resizeObserverUtil.js\";\n\ninterface ElementSize {\n clientWidth: number;\n clientHeight: number;\n}\n\nexport interface ResizeObserveProps<T extends Element = Element> {\n targetRef?: RefObject<T>;\n onResize?: (size: ResizeObserverEntry) => void;\n}\n\nexport function useResizeObserver<T extends Element = Element>(\n props?: ResizeObserveProps<T>\n): [RefObject<T>, ElementSize] {\n const {\n targetRef,\n onResize,\n } = props || {};\n\n const localRef = useRef<T>();\n const ref = targetRef ?? localRef;\n const [size, setSize] = useState<ElementSize>({ clientWidth: 0, clientHeight: 0 });\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n const { target } = entry;\n const { clientWidth = 0, clientHeight = 0 } = target;\n\n setSize((prev) => {\n // skip if same size\n if (prev.clientWidth === clientWidth && prev.clientHeight === clientHeight) {\n return prev;\n }\n\n onResize?.(entry);\n\n return { clientWidth, clientHeight };\n });\n },\n [onResize]\n );\n\n useEffect(() => {\n if (\n typeof ref !== \"object\" ||\n ref === null ||\n !(ref.current instanceof Element)\n ) {\n throw new Error(\"ResizeObserver must observe an Element\");\n }\n\n const element = ref.current;\n observe(element, handleResize);\n\n return () => {\n unobserve(element, handleResize);\n };\n }, [handleResize, ref]);\n\n return [ref, { ...size }];\n}\n","import {useRef, useEffect} from 'react';\nexport function usePrevious<T>(data?: T):T|undefined{\n const ref = useRef<T>();\n useEffect(()=>{\n ref.current = data\n })\n return ref.current;\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\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 checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--palette-rgba-white-1:rgba(255,255,255,10%);--palette-rgba-white-2:rgba(255,255,255,20%);--palette-rgba-white-3:rgba(255,255,255,30%);--palette-rgba-white-4:rgba(255,255,255,40%);--palette-rgba-white-5:rgba(255,255,255,50%);--palette-rgba-white-6:rgba(255,255,255,60%);--palette-rgba-white-7:rgba(255,255,255,70%);--palette-rgba-white-8:rgba(255,255,255,80%);--palette-rgba-white-9:rgba(255,255,255,90%);--palette-rgba-white-10:rgba(255,255,255,100%);--palette-rgba-gray-1:rgba(0,0,0,10%);--palette-rgba-gray-2:rgba(0,0,0,20%);--palette-rgba-gray-3:rgba(0,0,0,30%);--palette-rgba-gray-4:rgba(0,0,0,40%);--palette-rgba-gray-5:rgba(0,0,0,50%);--palette-rgba-gray-6:rgba(0,0,0,60%);--palette-rgba-gray-7:rgba(0,0,0,70%);--palette-rgba-gray-8:rgba(0,0,0,80%);--palette-rgba-gray-9:rgba(0,0,0,90%);--palette-rgba-gray-10:rgba(0,0,0,100%);--palette-rgba-blue-gray-2:rgba(101,106,134,20%);--palette-rgba-blue-gray-3:rgba(101,106,134,30%);--palette-rgba-blue-gray-8:rgba(101,106,134,80%);--palette-tech-blue-4-channel:67,127,255;--palette-tech-blue-4:rgb(var(--palette-tech-blue-4-channel));--palette-tech-blue-6-channel:51,102,255;--palette-tech-blue-6:rgb(var(--palette-tech-blue-6-channel));--palette-tech-blue-8-channel:40,69,159;--palette-tech-blue-8:rgb(var(--palette-tech-blue-8-channel));--palette-sea-green-4-channel:131,245,225;--palette-sea-green-4:rgb(var(--palette-sea-green-4-channel));--palette-green-6-channel:81,235,73;--palette-green-6:rgb(var(--palette-green-6-channel));--palette-green-2:rgba(var(--palette-green-6-channel),20%);--palette-lotus-pink-7-channel:204,0,102;--palette-lotus-pink-7:rgb(var(--palette-lotus-pink-7-channel));--palette-red-6-channel:242,39,39;--palette-red-6:rgb(var(--palette-red-6-channel));--palette-red-2:rgba(var(--palette-red-6-channel),20%);--color-fill-global-bg:#0f1014;--color-fill-bg-container-1:var(--palette-rgba-white-1);--color-fill-bg-container-2:var(--palette-rgba-blue-gray-2);--color-fill-bg-container-3:var(--palette-rgba-blue-gray-8);--color-fill-bg-base-1:var(--palette-rgba-blue-gray-2);--color-fill-bg-base-2:rgba(15,16,20,0%);--color-fill-bg-base-3:rgba(0,0,0,20%);--color-fill-bg-base-4:rgba(40,46,58,100%);--color-fill-bg-base-5:rgba(19,25,47,80%);--color-fill-bg-base-6:var(--palette-rgba-blue-gray-3);--color-brand:var(--palette-tech-blue-6);--color-brand-hover:var(--palette-tech-blue-4);--color-brand-active:var(--palette-tech-blue-8);--color-contrast-1:var(--palette-sea-green-4);--color-error:var(--palette-red-6);--color-error-bg:var(--palette-red-2);--color-success:var(--palette-green-6);--color-success-bg:var(--palette-green-2);--color-header-text-big:var(--palette-rgba-white-10);--color-header-text:var(--palette-rgba-white-10);--color-normal-text:var(--palette-rgba-white-10);--color-strong-text:var(--palette-rgba-white-9);--color-auxiliary-text:var(--palette-rgba-white-8);--color-secondary-text:var(--palette-rgba-white-6);--color-disabled-text:var(--palette-rgba-white-4);--color-border-divider-line:var(--palette-rgba-white-1);--color-text-divider-line-1:var(--palette-rgba-white-2);--color-text-divider-line-2:var(--palette-rgba-white-2);--small-border-radius:2px;--medius-border-radius:5px;--larger-border-radius:12px;--container-border-radius:9999px;--no-border-radius:0px;--mask-bg:var(--palette-rgba-gray-7);--title-font-size-larger:30px;--title-font-size-strong:22px;--title-font-size:18px;--normal-font-size:14px;--auxiliary-font-size:16px;--auxiliary-font-size-small:12px;--overview-data-font-size:34px;--statistics-data-font-size:28px;--normal-data-font-size-larger:20px;--normal-data-font-size:16px;--chart-legend-font-size:12px;--chart-tooltips-font-size-1:12px;--chart-tooltips-font-size-2:12px;--chart-axis-x-font-size:12px;--chart-axis-x-font-size-larger:14px;--chart-axis-y-font-size:12px;--chart-axis-y-font-size-larger:14px;--font-weight-600:600;--font-weight-500:500;--font-weight-400:400;--text-shadow:0px 1px 4px #2863ee;--border-width-base:1px;--border-width-double-base:2px;--border-width-tribble-base:3px;--punctate-width-base:1px;--paragraph-width-base:1px;--button-text-color:#40d0db}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["defineElement","property","event","createDecorators","WrappedNode","wrapBrick","_CabinetContainer","_A","WeakMap","_B","_C","_D","_E","_CabinetContainer_brand","WeakSet","_F","CabinetContainer","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_type","_init_extra_type","_init_data","_init_extra_data","_init_status","_init_extra_status","_init_customTitle","_init_extra_customTitle","_init_onHandleClick","_init_extra_onHandleClick","_init_onHandleDbClick","_defineProperty","_init_extra_onHandleDbClick","params","_classPrivateGetter","this","_get_onHandleClick","emit","_get_onHandleDbClick","type","_classPrivateFieldGet","v","_classPrivateFieldSet","data","status","customTitle","render","React","CabinetContainerComponent","handleClick","handleDbClick","props","isDbClick","useRef","timerRef","containerRef","clientWidth","clientHeight","useResizeObserver","binarySearch","useCallback","maxSizeCol","minSizeCol","maxSizeRow","minSizeRow","maxRow","Math","max","minRow","min","minCol","maxCol","centerCol","ceil","centerRow","needRow","length","col","row","layoutWidth","useMemo","realWidth","realHeight","floor","maxSizeNum","minSizeNum","allNum","width","itemWidth","handleOnClick","e","stopPropagation","window","clearTimeout","current","setTimeout","handleOnDBClick","className","classNames","hostWrapper","k8sWrapper","ref","onClick","undefined","onDoubleClick","hostContainer","k8sContainer","map","item","index","key","style","nodeTitle","isAlert","_CabinetContainer2","_set_onHandleClick","_set_onHandleDbClick","c","_initClass","_applyDecs","styleTexts","variablesText","styleText","attribute","o","_","has","_checkInRHS","s","r","a","___CSS_LOADER_EXPORT___","push","module","id","toString","elementListeners","Map","resizeObserver","ResizeObserver","entries","forEach","entry","_elementListeners$get","target","get","callback","observe","element","set","Set","add","unobserve","delete","size","targetRef","onResize","localRef","setSize","useState","handleResize","prev","useEffect","Element","Error","usePrevious","obj","value","Object","defineProperty","enumerable","configurable","writable","hasOwn","hasOwnProperty","classes","i","arg","appendClass","parseValue","Array","isArray","apply","prototype","includes","call","newClass","exports","default","privateSet"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/cabinet-container.49872d09.js","mappings":"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","sources":["webpack:///./src/cabinet/cabinet-container/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/cabinet/cabinet-container/cabinet-container.shadow.css","webpack:///./src/hooks/useResizeObserver/resizeObserverUtil.ts","webpack:///./src/hooks/useResizeObserver/index.ts","webpack:///./src/hooks/usePrevious/index.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/data-view-variables.shadow.css"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from \"react\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport variablesText from \"../../data-view-variables.shadow.css\";\nimport styleText from \"./cabinet-container.shadow.css\";\nimport classNames from \"classnames\";\nimport { CabinetNodeProps, CabinetNode } from \"../cabinet-node/index.js\";\nimport { useResizeObserver } from \"../../hooks/index.js\";\n\nconst { defineElement, property, event } = createDecorators();\nexport type ContainerType = \"host\" | \"k8s\" | \"k8s-blue\";\nconst WrappedNode = wrapBrick<CabinetNode, CabinetNodeProps>(\n \"data-view.cabinet-node\"\n);\nexport interface ClickEventDataType {\n type: \"node\" | \"container\";\n data: CabinetNodeProps | undefined;\n}\n\nexport interface CabinetContainerProps {\n data: CabinetNodeProps[];\n type?: ContainerType;\n customTitle?: string | undefined;\n status?: \"active\" | \"faded\";\n handleClick?: (params: ClickEventDataType) => void;\n handleDbClick?: (params: ClickEventDataType) => void;\n}\n\n/**\n * 大屏集群容器构件\n * @author astrid\n */\n@defineElement(\"data-view.cabinet-container\", {\n styleTexts: [variablesText, styleText],\n})\nclass CabinetContainer\n extends ReactNextElement\n implements CabinetContainerProps\n{\n /**\n * @kind ContainerType\n * @required true\n * @default host\n * @description 容器类型,host、k8s(主题橙色)、k8s-blue(蓝色主题)\n */\n @property({ attribute: false })\n accessor type: ContainerType = \"host\";\n\n /**\n * @kind CabinetNodeProps[]\n * @required true\n * @default -\n * @description 数据\n */\n @property({ attribute: false })\n accessor data: CabinetNodeProps[] = [];\n\n /**\n * @kind \"active\" | \"faded\"\n * @required false\n * @default\n * @description 当前状态,是否高亮或者淡化\n */\n @property()\n accessor status: \"active\" | \"faded\";\n\n /**\n * @kind string|undefined\n * @required false\n * @default -\n * @description 容器标题\n */\n @property()\n accessor customTitle: string | undefined;\n\n /**\n * @detail { type: 点击对象类型(\"node\" 或 \"container\"), data: 被点击节点的数据(点击容器本身时为 undefined) }\n * @description 节点或者container 点击事件\n */\n @event({ type: \"container.click\" })\n accessor #onHandleClick!: EventEmitter<ClickEventDataType>;\n\n /**\n * @detail { type: 点击对象类型(\"node\" 或 \"container\"), data: 被双击节点的数据(双击容器本身时为 undefined) }\n * @description 节点或者container 双击事件\n */\n @event({ type: \"container.dbclick\" })\n accessor #onHandleDbClick!: EventEmitter<ClickEventDataType>;\n\n handleClick = (params: ClickEventDataType) => {\n this.#onHandleClick.emit(params);\n };\n handleDbClick = (params: ClickEventDataType) => {\n this.#onHandleDbClick.emit(params);\n };\n\n render(): React.ReactNode {\n return (\n <CabinetContainerComponent\n type={this.type}\n data={this.data}\n status={this.status}\n customTitle={this.customTitle}\n handleClick={this.handleClick}\n handleDbClick={this.handleDbClick}\n />\n );\n }\n}\n\nexport function CabinetContainerComponent(\n props: CabinetContainerProps\n): React.ReactElement {\n const { type, data, status, customTitle, handleClick, handleDbClick } = props;\n const isDbClick = useRef<boolean>(false);\n const timerRef = useRef<number>();\n\n const [containerRef, { clientWidth, clientHeight }] =\n useResizeObserver<HTMLDivElement>();\n const binarySearch = useCallback(\n (\n maxSizeCol: number,\n minSizeCol: number,\n maxSizeRow: number,\n minSizeRow: number\n ): { col: number; row: number } => {\n // 利用二分法,去找到一个合适大小;\n const maxRow = Math.max(minSizeRow, maxSizeRow), // 2\n minRow = Math.min(minSizeRow, maxSizeRow), // 1\n minCol = Math.min(minSizeCol, maxSizeCol),\n maxCol = Math.max(minSizeCol, maxSizeCol);\n const centerCol = Math.ceil((maxSizeCol + minSizeCol) / 2); // 希望col多一些\n const centerRow = Math.ceil((maxSizeRow + minSizeRow) / 2);\n const needRow = Math.ceil(data.length / centerCol);\n if (centerCol <= 1) {\n return {\n col: 1,\n row: data.length,\n };\n }\n if (\n needRow === centerRow ||\n minCol === maxCol ||\n minCol === centerCol ||\n maxCol === centerCol\n ) {\n return {\n col: centerCol,\n row: needRow,\n };\n }\n if (needRow > centerRow) {\n // 那么col要放大,row减少\n return binarySearch(centerCol, maxCol, needRow, minRow);\n }\n if (needRow < centerRow) {\n // 那么col要缩小,row增加\n return binarySearch(minCol, centerCol, maxRow, needRow);\n }\n },\n [data.length]\n );\n const layoutWidth = useMemo(() => {\n if (!data.length) {\n return;\n }\n\n //数据总量: A, 整个屏幕最大尺寸可以放 B, 整个屏幕最小尺寸可以放C,\n // B>=A,用 最大尺寸\n // C>=A: 用最小尺寸\n // B< A <C: 反推尺寸,\n const maxWidth = 118,\n minWidth = 56,\n maxHeight = 105,\n minHeight = 63;\n const realWidth = clientWidth - 27;\n const realHeight = clientHeight - 84;\n if (realWidth <= 0 || realHeight <= 0) {\n return;\n }\n const maxSizeCol = Math.floor(realWidth / maxWidth),\n maxSizeRow = Math.floor(realHeight / maxHeight),\n minSizeCol = Math.floor(realWidth / minWidth),\n minSizeRow = Math.floor(realHeight / minHeight);\n const maxSizeNum = maxSizeCol * maxSizeRow,\n minSizeNum = minSizeCol * minSizeRow;\n const allNum = data.length;\n if (allNum <= maxSizeNum) {\n return {\n width: Math.floor(realWidth / maxSizeCol),\n itemWidth: maxWidth,\n };\n } else if (allNum >= minSizeNum) {\n return {\n width: Math.floor(realWidth / minSizeCol),\n itemWidth: minWidth,\n };\n } else {\n // 在区间内, 希望撑满整个屏幕, 尺寸肯定在最大和最小之间\n const { col } = binarySearch(\n maxSizeCol,\n minSizeCol,\n maxSizeRow,\n minSizeRow\n );\n return {\n width: Math.floor(realWidth / col),\n itemWidth: Math.max(realWidth / col - 10, minWidth),\n };\n }\n }, [data.length, clientWidth, clientHeight, binarySearch]);\n\n const handleOnClick = (\n e: React.MouseEvent<HTMLDivElement>,\n data: CabinetNodeProps | undefined,\n type: \"node\" | \"container\"\n ) => {\n e.stopPropagation();\n window.clearTimeout(timerRef.current);\n isDbClick.current = false;\n timerRef.current = window.setTimeout(function () {\n if (!isDbClick.current) {\n handleClick?.({\n data,\n type,\n });\n }\n }, 200);\n };\n const handleOnDBClick = (\n e: React.MouseEvent<HTMLDivElement>,\n data: CabinetNodeProps | undefined,\n type: \"node\" | \"container\"\n ) => {\n window.clearTimeout(timerRef.current);\n isDbClick.current = true;\n e.stopPropagation();\n handleDbClick?.({\n data,\n type,\n });\n };\n\n return (\n <div\n className={classNames(\n \"wrapper\",\n {\n hostWrapper: type === \"host\" || type === \"k8s-blue\",\n k8sWrapper: type === \"k8s\",\n },\n status && `wrapper-${status}`\n )}\n ref={containerRef}\n onClick={(e) => handleOnClick(e, undefined, \"container\")}\n onDoubleClick={(e) => handleOnDBClick(e, undefined, \"container\")}\n >\n <div\n className={classNames(\n \"container\",\n {\n hostContainer: type === \"host\" || type === \"k8s-blue\",\n k8sContainer: type === \"k8s\",\n },\n status && `container-${status}`\n )}\n >\n <div className=\"content\">\n <div className=\"contentLayout\">\n {data.map((item, index) => (\n <div\n key={index}\n className=\"itemContent\"\n style={{ width: layoutWidth?.width }}\n >\n <div\n className=\"item\"\n style={{ width: layoutWidth?.itemWidth }}\n onClick={(e) => handleOnClick(e, item, \"node\")}\n onDoubleClick={(e) => handleOnDBClick(e, item, \"node\")}\n >\n <WrappedNode\n type={item.type}\n nodeTitle={item.nodeTitle}\n status={item.status}\n isAlert={item.isAlert}\n />\n </div>\n </div>\n ))}\n </div>\n </div>\n {customTitle && (\n <div className=\"footer\">\n <div className=\"footerTitle\">{customTitle}</div>\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport { CabinetContainer };\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../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, `*,\n*:after,\n*:before{box-sizing:border-box}.wrapper{width:100%;height:100%;position:relative}.container{width:100%;height:100%;border:3px solid;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;flex-direction:column;cursor:pointer;overflow:hidden}.wrapper:after,\n.wrapper:before{content:\"\";position:absolute;left:50%;border:3px solid;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);transform:translateX(-50%)}.wrapper:before{width:calc(100% - 10px);height:100%;bottom:-14px;z-index:-1;opacity:0.6}.wrapper:after{width:calc(100% - 30px);height:100%;bottom:-24px;z-index:-10;opacity:0.4}.hostWrapper:before,\n.hostWrapper:after{border-image:radial-gradient(circle,rgba(55,229,252,1),#007aca) 3 3}.hostWrapper:not(:has(.item:hover)):hover:before,\n.hostWrapper.wrapper-active:before{border-image:radial-gradient(circle,rgba(55,229,252,1),#45e4ff) 3 3}.k8sWrapper:after,\n.k8sWrapper:before{border-image:radial-gradient(circle,rgba(255,102,51,1),#ff663380) 3 3}.hostContainer{background:rgba(7,4,21,0.85);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-image:radial-gradient(circle,rgba(55,229,252,1),#007aca) 3 3}.hostContainer:not(:has(.item:hover)):hover,\n.hostContainer.container-active{border-image:radial-gradient(circle,rgba(55,229,252,1),#45e4ff) 3 3;box-shadow:inset 0 0 30px 0 #45e4ff,inset 0 0 20px 0 #45e4ff}.hostWrapper.wrapper-faded:after,\n.hostWrapper.wrapper-faded:before,\n.k8sWrapper.wrapper-faded:after,\n.k8sWrapper.wrapper-faded:before{opacity:0.1}.k8sContainer{background:rgba(7,4,21,0.8);border-image:radial-gradient(circle,rgba(255,102,51,1),#ff663399) 3 3}.k8sContainer:not(:has(.item:hover)):hover,\n.k8sContainer.container-active{box-shadow:inset 0 0 30px 0 #ff6633,inset 0 0 20px 0 #ff6633}.hostContainer.container-faded,\n.k8sContainer.container-faded{opacity:0.4}.content{flex:1;padding:20px 10px;width:100%;box-sizing:border-box;overflow:hidden;display:flex}.contentLayout{overflow:auto;height:100%}.itemContent{display:inline-block;vertical-align:middle}.item{min-width:56px;min-height:63px;max-width:118px;margin:auto}.footer{width:100%;height:57px;text-align:center;line-height:57px;font-size:var(--auxiliary-font-size);font-weight:var(--font-weight-400);color:var(--color-normal-text);position:relative;display:flex}.footerTitle{flex:1;width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.footer:after{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1}.hostContainer > .footer:after{background:linear-gradient(180deg,rgba(26,103,157,0.2) 0%,#1b69a0 100%)}.k8sContainer > .footer:after{background:linear-gradient(180deg,rgba(255,102,51,0.1) 0%,rgba(255,102,51,0.55) 100%)}.hostContainer:not(:has(.item:hover)):hover > .footer:after,\n.hostContainer.container-active > .footer:after,\n.k8sContainer:not(:has(.item:hover)):hover > .footer:after,\n.k8sContainer.container-active > .footer:after{opacity:0.65}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import ResizeObserver from \"resize-observer-polyfill\";\n\nexport type ResizeCallback = (entry: ResizeObserverEntry) => void;\n\nconst elementListeners = new Map<Element, Set<ResizeCallback>>();\n\nexport const elementListeners_only_for_test =\n process.env.NODE_ENV === \"test\"\n ? elementListeners\n : /* istanbul ignore next */ null;\n\nconst resizeObserverCallback = (entries: ResizeObserverEntry[]): void => {\n entries.forEach((entry) => {\n const { target } = entry;\n elementListeners.get(target)?.forEach((callback) => callback(entry));\n });\n};\n\nconst resizeObserver: ResizeObserver = new (ResizeObserver as any)(resizeObserverCallback);\n\nexport const observe = (element: Element, callback: ResizeCallback): void => {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n resizeObserver.observe(element);\n }\n\n elementListeners.get(element).add(callback);\n};\n\nexport const unobserve = (element: Element, callback: ResizeCallback): void => {\n if (elementListeners.has(element)) {\n elementListeners.get(element).delete(callback);\n\n if (elementListeners.get(element).size === 0) {\n resizeObserver.unobserve(element);\n elementListeners.delete(element);\n }\n }\n};\n","import {\n useState,\n useCallback,\n useRef,\n type RefObject,\n useEffect,\n} from \"react\";\nimport { observe, unobserve } from \"./resizeObserverUtil.js\";\n\ninterface ElementSize {\n clientWidth: number;\n clientHeight: number;\n}\n\nexport interface ResizeObserveProps<T extends Element = Element> {\n targetRef?: RefObject<T>;\n onResize?: (size: ResizeObserverEntry) => void;\n}\n\nexport function useResizeObserver<T extends Element = Element>(\n props?: ResizeObserveProps<T>\n): [RefObject<T>, ElementSize] {\n const {\n targetRef,\n onResize,\n } = props || {};\n\n const localRef = useRef<T>();\n const ref = targetRef ?? localRef;\n const [size, setSize] = useState<ElementSize>({ clientWidth: 0, clientHeight: 0 });\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n const { target } = entry;\n const { clientWidth = 0, clientHeight = 0 } = target;\n\n setSize((prev) => {\n // skip if same size\n if (prev.clientWidth === clientWidth && prev.clientHeight === clientHeight) {\n return prev;\n }\n\n onResize?.(entry);\n\n return { clientWidth, clientHeight };\n });\n },\n [onResize]\n );\n\n useEffect(() => {\n if (\n typeof ref !== \"object\" ||\n ref === null ||\n !(ref.current instanceof Element)\n ) {\n throw new Error(\"ResizeObserver must observe an Element\");\n }\n\n const element = ref.current;\n observe(element, handleResize);\n\n return () => {\n unobserve(element, handleResize);\n };\n }, [handleResize, ref]);\n\n return [ref, { ...size }];\n}\n","import {useRef, useEffect} from 'react';\nexport function usePrevious<T>(data?: T):T|undefined{\n const ref = useRef<T>();\n useEffect(()=>{\n ref.current = data\n })\n return ref.current;\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\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 checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--palette-rgba-white-1:rgba(255,255,255,10%);--palette-rgba-white-2:rgba(255,255,255,20%);--palette-rgba-white-3:rgba(255,255,255,30%);--palette-rgba-white-4:rgba(255,255,255,40%);--palette-rgba-white-5:rgba(255,255,255,50%);--palette-rgba-white-6:rgba(255,255,255,60%);--palette-rgba-white-7:rgba(255,255,255,70%);--palette-rgba-white-8:rgba(255,255,255,80%);--palette-rgba-white-9:rgba(255,255,255,90%);--palette-rgba-white-10:rgba(255,255,255,100%);--palette-rgba-gray-1:rgba(0,0,0,10%);--palette-rgba-gray-2:rgba(0,0,0,20%);--palette-rgba-gray-3:rgba(0,0,0,30%);--palette-rgba-gray-4:rgba(0,0,0,40%);--palette-rgba-gray-5:rgba(0,0,0,50%);--palette-rgba-gray-6:rgba(0,0,0,60%);--palette-rgba-gray-7:rgba(0,0,0,70%);--palette-rgba-gray-8:rgba(0,0,0,80%);--palette-rgba-gray-9:rgba(0,0,0,90%);--palette-rgba-gray-10:rgba(0,0,0,100%);--palette-rgba-blue-gray-2:rgba(101,106,134,20%);--palette-rgba-blue-gray-3:rgba(101,106,134,30%);--palette-rgba-blue-gray-8:rgba(101,106,134,80%);--palette-tech-blue-4-channel:67,127,255;--palette-tech-blue-4:rgb(var(--palette-tech-blue-4-channel));--palette-tech-blue-6-channel:51,102,255;--palette-tech-blue-6:rgb(var(--palette-tech-blue-6-channel));--palette-tech-blue-8-channel:40,69,159;--palette-tech-blue-8:rgb(var(--palette-tech-blue-8-channel));--palette-sea-green-4-channel:131,245,225;--palette-sea-green-4:rgb(var(--palette-sea-green-4-channel));--palette-green-6-channel:81,235,73;--palette-green-6:rgb(var(--palette-green-6-channel));--palette-green-2:rgba(var(--palette-green-6-channel),20%);--palette-lotus-pink-7-channel:204,0,102;--palette-lotus-pink-7:rgb(var(--palette-lotus-pink-7-channel));--palette-red-6-channel:242,39,39;--palette-red-6:rgb(var(--palette-red-6-channel));--palette-red-2:rgba(var(--palette-red-6-channel),20%);--color-fill-global-bg:#0f1014;--color-fill-bg-container-1:var(--palette-rgba-white-1);--color-fill-bg-container-2:var(--palette-rgba-blue-gray-2);--color-fill-bg-container-3:var(--palette-rgba-blue-gray-8);--color-fill-bg-base-1:var(--palette-rgba-blue-gray-2);--color-fill-bg-base-2:rgba(15,16,20,0%);--color-fill-bg-base-3:rgba(0,0,0,20%);--color-fill-bg-base-4:rgba(40,46,58,100%);--color-fill-bg-base-5:rgba(19,25,47,80%);--color-fill-bg-base-6:var(--palette-rgba-blue-gray-3);--color-brand:var(--palette-tech-blue-6);--color-brand-hover:var(--palette-tech-blue-4);--color-brand-active:var(--palette-tech-blue-8);--color-contrast-1:var(--palette-sea-green-4);--color-error:var(--palette-red-6);--color-error-bg:var(--palette-red-2);--color-success:var(--palette-green-6);--color-success-bg:var(--palette-green-2);--color-header-text-big:var(--palette-rgba-white-10);--color-header-text:var(--palette-rgba-white-10);--color-normal-text:var(--palette-rgba-white-10);--color-strong-text:var(--palette-rgba-white-9);--color-auxiliary-text:var(--palette-rgba-white-8);--color-secondary-text:var(--palette-rgba-white-6);--color-disabled-text:var(--palette-rgba-white-4);--color-border-divider-line:var(--palette-rgba-white-1);--color-text-divider-line-1:var(--palette-rgba-white-2);--color-text-divider-line-2:var(--palette-rgba-white-2);--small-border-radius:2px;--medius-border-radius:5px;--larger-border-radius:12px;--container-border-radius:9999px;--no-border-radius:0px;--mask-bg:var(--palette-rgba-gray-7);--title-font-size-larger:30px;--title-font-size-strong:22px;--title-font-size:18px;--normal-font-size:14px;--auxiliary-font-size:16px;--auxiliary-font-size-small:12px;--overview-data-font-size:34px;--statistics-data-font-size:28px;--normal-data-font-size-larger:20px;--normal-data-font-size:16px;--chart-legend-font-size:12px;--chart-tooltips-font-size-1:12px;--chart-tooltips-font-size-2:12px;--chart-axis-x-font-size:12px;--chart-axis-x-font-size-larger:14px;--chart-axis-y-font-size:12px;--chart-axis-y-font-size-larger:14px;--font-weight-600:600;--font-weight-500:500;--font-weight-400:400;--text-shadow:0px 1px 4px #2863ee;--border-width-base:1px;--border-width-double-base:2px;--border-width-tribble-base:3px;--punctate-width-base:1px;--paragraph-width-base:1px;--button-text-color:#40d0db}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["defineElement","property","event","createDecorators","WrappedNode","wrapBrick","_CabinetContainer","_A","WeakMap","_B","_C","_D","_E","_CabinetContainer_brand","WeakSet","_F","CabinetContainer","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_type","_init_extra_type","_init_data","_init_extra_data","_init_status","_init_extra_status","_init_customTitle","_init_extra_customTitle","_init_onHandleClick","_init_extra_onHandleClick","_init_onHandleDbClick","_defineProperty","_init_extra_onHandleDbClick","params","_classPrivateGetter","this","_get_onHandleClick","emit","_get_onHandleDbClick","type","_classPrivateFieldGet","v","_classPrivateFieldSet","data","status","customTitle","render","React","CabinetContainerComponent","handleClick","handleDbClick","props","isDbClick","useRef","timerRef","containerRef","clientWidth","clientHeight","useResizeObserver","binarySearch","useCallback","maxSizeCol","minSizeCol","maxSizeRow","minSizeRow","maxRow","Math","max","minRow","min","minCol","maxCol","centerCol","ceil","centerRow","needRow","length","col","row","layoutWidth","useMemo","realWidth","realHeight","floor","maxSizeNum","minSizeNum","allNum","width","itemWidth","handleOnClick","e","stopPropagation","window","clearTimeout","current","setTimeout","handleOnDBClick","className","classNames","hostWrapper","k8sWrapper","ref","onClick","undefined","onDoubleClick","hostContainer","k8sContainer","map","item","index","key","style","nodeTitle","isAlert","_CabinetContainer2","_set_onHandleClick","_set_onHandleDbClick","c","_initClass","_applyDecs","styleTexts","variablesText","styleText","attribute","o","_","has","_checkInRHS","s","r","a","___CSS_LOADER_EXPORT___","push","module","id","toString","elementListeners","Map","resizeObserver","ResizeObserver","entries","forEach","entry","_elementListeners$get","target","get","callback","observe","element","set","Set","add","unobserve","delete","size","targetRef","onResize","localRef","setSize","useState","handleResize","prev","useEffect","Element","Error","usePrevious","obj","value","Object","defineProperty","enumerable","configurable","writable","hasOwn","hasOwnProperty","classes","i","arg","appendClass","parseValue","Array","isArray","apply","prototype","includes","call","newClass","exports","default","privateSet"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/cabinet-graph.6aa32783.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///./src/cabinet/index.tsx","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/data-view-variables.shadow.css","webpack:///./src/cabinet/cabinet.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","import React, { useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport variablesStyleText from \"../data-view-variables.shadow.css\";\nimport styleText from \"./cabinet.shadow.css\";\nimport type {\n CabinetAppLayer,\n CabinetAppLayerProps,\n} from \"./cabinet-app-layer/index.jsx\";\nimport type {\n CabinetButton,\n CabinetButtonProps,\n} from \"./cabinet-button/index.jsx\";\nimport type {\n CabinetContainer,\n CabinetContainerProps,\n} from \"./cabinet-container/index.jsx\";\n\nconst WrappedCabinetAppLayer = wrapBrick<CabinetAppLayer, CabinetAppLayerProps>(\n \"data-view.cabinet-app-layer\"\n);\nconst WrappedCabinetButton = wrapBrick<CabinetButton, CabinetButtonProps>(\n \"data-view.cabinet-button\"\n);\nconst WrappedCabinetContainer = wrapBrick<\n CabinetContainer,\n CabinetContainerProps\n>(\"data-view.cabinet-container\");\n\nconst { defineElement, property, event } = createDecorators();\n\ninterface Node {\n nodeTitle: string;\n key: string;\n type: \"container-group\" | \"physical-machine\" | \"virtual-machine\";\n isAlert?: boolean;\n}\n\ninterface Clusters {\n clusterName: string;\n key: string;\n type: \"host\" | \"k8s\" | \"k8s-blue\";\n nodes: Node[];\n}\n\nexport interface AppData {\n appName: string;\n key: string;\n clusters: Clusters[];\n}\ntype ChangeType = \"node\" | \"cluster\" | \"layer\";\n\nexport interface CabinetGraphProps {\n dataSource: AppData;\n activeKey?: string | string[];\n hiddenCloseBtn?: boolean;\n onCloseBtnClick?: () => void;\n onActiveKeyChange?: (\n key: string,\n type?: ChangeType,\n data?: Record<string, any>\n ) => void;\n handleDbClick?: (\n key: string,\n type?: ChangeType,\n data?: Record<string, any>\n ) => void;\n}\n\n/**\n * cabinet 部署架构拓扑\n * @author nlicroshan\n * @category big-screen-content\n */\n@defineElement(\"data-view.cabinet-graph\", {\n styleTexts: [variablesStyleText, styleText],\n})\nclass CabinetGraph extends ReactNextElement implements CabinetGraphProps {\n /**\n * @kind AppData\n * @required true\n * @default\n * @description 数据源\n */\n @property({\n attribute: false,\n })\n accessor dataSource: AppData;\n\n /**\n * @kind string |string[]\n * @required false\n * @default\n * @description 选中项, 支持数组\n */\n @property({ attribute: false })\n accessor activeKey: string | string[];\n\n /**\n * @kind boolean\n * @required false\n * @default true\n * @description 取消按钮是否需要展示\n */\n @property({ type: Boolean })\n accessor hiddenCloseBtn: boolean;\n\n /**\n * @detail\n * @description 关闭按钮点击事件\n */\n @event({ type: \"close.button.click\" })\n accessor #closeBtnClickEvent!: EventEmitter<void>;\n\n /**\n * @detail\n * @description 节点或者外层的点击的事件\n */\n @event({ type: \"cabinet.click\" })\n accessor #cabinetClickEvent!: EventEmitter<{\n type: ChangeType;\n data: Record<string, any>;\n }>;\n\n /**\n * @detail\n * @description 节点或者外层的双击的事件,目前不支持应用层\n */\n @event({ type: \"cabinet.dbclick\" })\n accessor #cabinetDbClickEvent!: EventEmitter<{\n type: ChangeType;\n data: Record<string, any>;\n }>;\n\n #handleCloseBtnClick = (): void => {\n this.#closeBtnClickEvent.emit();\n };\n #handleDbClick = (\n newKey: string,\n type: ChangeType,\n data?: Record<string, any>\n ): void => {\n this.activeKey = newKey;\n if (newKey) {\n this.#cabinetDbClickEvent.emit({\n type,\n data,\n });\n }\n };\n\n #handleActiveKeyChange = (\n newKey: string,\n type: ChangeType,\n data?: Record<string, any>\n ) => {\n this.activeKey = newKey;\n if (newKey) {\n this.#cabinetClickEvent.emit({\n type,\n data,\n });\n }\n };\n\n render() {\n return (\n <CabinetGraphElement\n activeKey={this.activeKey}\n dataSource={this.dataSource}\n onCloseBtnClick={this.#handleCloseBtnClick}\n onActiveKeyChange={this.#handleActiveKeyChange}\n handleDbClick={this.#handleDbClick}\n hiddenCloseBtn={this.hiddenCloseBtn}\n />\n );\n }\n}\n\nfunction CabinetGraphElement(props: CabinetGraphProps): React.ReactElement {\n const {\n dataSource,\n activeKey,\n onCloseBtnClick,\n onActiveKeyChange,\n handleDbClick,\n hiddenCloseBtn,\n } = props;\n const activeKeys = useMemo(() => {\n return [].concat(activeKey);\n }, [activeKey]);\n //过滤 activeKey 有效数据 & 已经去除layer层的高亮数据,由于layer 高亮,所有都需要展示\n const filterKeys = useMemo(() => {\n const keys: string[] = [];\n dataSource.clusters.map((clu) => {\n if (activeKeys.includes(clu.key)) {\n keys.push(clu.key);\n }\n clu.nodes.map((node) => {\n if (activeKeys.includes(node.key)) {\n keys.push(node.key);\n }\n });\n });\n return keys;\n }, [dataSource, activeKeys]);\n\n return (\n <div\n className=\"wrapper\"\n onClick={() => {\n onActiveKeyChange(null);\n }}\n >\n <div className=\"container\">\n <WrappedCabinetAppLayer\n className=\"app-layer\"\n appTitle={dataSource.appName}\n onClick={(e) => {\n e.stopPropagation();\n onActiveKeyChange(dataSource.key, \"layer\");\n }}\n status={activeKeys.includes(dataSource.key) ? \"active\" : undefined}\n />\n <div\n className=\"cluster-container\"\n style={{\n gridTemplateColumns: `repeat(${dataSource.clusters.length}, 1fr)`,\n }}\n >\n {dataSource.clusters.map((clu) => {\n const includeClu = filterKeys.includes(clu.key);\n return (\n <WrappedCabinetContainer\n key={clu.key}\n type={clu.type}\n className=\"cluster-content\"\n customTitle={clu.clusterName}\n data={clu.nodes.map((node) => {\n const includeNode = filterKeys.includes(node.key);\n return {\n nodeTitle: node.nodeTitle,\n type: node.type,\n key: node.key,\n isAlert: node.isAlert,\n status:\n includeNode || includeClu\n ? includeClu\n ? undefined\n : \"active\"\n : filterKeys.length\n ? \"faded\"\n : undefined,\n };\n })}\n handleClick={({ type, data }) => {\n switch (type) {\n case \"container\": {\n onActiveKeyChange(clu.key, \"cluster\", clu);\n break;\n }\n case \"node\": {\n onActiveKeyChange((data as any).key, \"node\", data);\n break;\n }\n }\n }}\n status={(() => {\n const includeNode = clu.nodes.some((node) =>\n filterKeys.includes(node.key)\n );\n return includeNode || includeClu\n ? includeClu\n ? \"active\"\n : undefined\n : filterKeys.length\n ? \"faded\"\n : undefined;\n })()}\n handleDbClick={({ type, data }) => {\n switch (type) {\n case \"container\": {\n handleDbClick(clu.key, \"cluster\", clu);\n break;\n }\n case \"node\": {\n handleDbClick((data as any).key, \"node\", data);\n break;\n }\n }\n }}\n />\n );\n })}\n </div>\n {!hiddenCloseBtn && (\n <WrappedCabinetButton\n className=\"close-button\"\n onClick={(e) => {\n e.stopPropagation();\n onCloseBtnClick?.();\n }}\n />\n )}\n </div>\n </div>\n );\n}\n\nexport { CabinetGraph };\n","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--palette-rgba-white-1:rgba(255,255,255,10%);--palette-rgba-white-2:rgba(255,255,255,20%);--palette-rgba-white-3:rgba(255,255,255,30%);--palette-rgba-white-4:rgba(255,255,255,40%);--palette-rgba-white-5:rgba(255,255,255,50%);--palette-rgba-white-6:rgba(255,255,255,60%);--palette-rgba-white-7:rgba(255,255,255,70%);--palette-rgba-white-8:rgba(255,255,255,80%);--palette-rgba-white-9:rgba(255,255,255,90%);--palette-rgba-white-10:rgba(255,255,255,100%);--palette-rgba-gray-1:rgba(0,0,0,10%);--palette-rgba-gray-2:rgba(0,0,0,20%);--palette-rgba-gray-3:rgba(0,0,0,30%);--palette-rgba-gray-4:rgba(0,0,0,40%);--palette-rgba-gray-5:rgba(0,0,0,50%);--palette-rgba-gray-6:rgba(0,0,0,60%);--palette-rgba-gray-7:rgba(0,0,0,70%);--palette-rgba-gray-8:rgba(0,0,0,80%);--palette-rgba-gray-9:rgba(0,0,0,90%);--palette-rgba-gray-10:rgba(0,0,0,100%);--palette-rgba-blue-gray-2:rgba(101,106,134,20%);--palette-rgba-blue-gray-3:rgba(101,106,134,30%);--palette-rgba-blue-gray-8:rgba(101,106,134,80%);--palette-tech-blue-4-channel:67,127,255;--palette-tech-blue-4:rgb(var(--palette-tech-blue-4-channel));--palette-tech-blue-6-channel:51,102,255;--palette-tech-blue-6:rgb(var(--palette-tech-blue-6-channel));--palette-tech-blue-8-channel:40,69,159;--palette-tech-blue-8:rgb(var(--palette-tech-blue-8-channel));--palette-sea-green-4-channel:131,245,225;--palette-sea-green-4:rgb(var(--palette-sea-green-4-channel));--palette-green-6-channel:81,235,73;--palette-green-6:rgb(var(--palette-green-6-channel));--palette-green-2:rgba(var(--palette-green-6-channel),20%);--palette-lotus-pink-7-channel:204,0,102;--palette-lotus-pink-7:rgb(var(--palette-lotus-pink-7-channel));--palette-red-6-channel:242,39,39;--palette-red-6:rgb(var(--palette-red-6-channel));--palette-red-2:rgba(var(--palette-red-6-channel),20%);--color-fill-global-bg:#0f1014;--color-fill-bg-container-1:var(--palette-rgba-white-1);--color-fill-bg-container-2:var(--palette-rgba-blue-gray-2);--color-fill-bg-container-3:var(--palette-rgba-blue-gray-8);--color-fill-bg-base-1:var(--palette-rgba-blue-gray-2);--color-fill-bg-base-2:rgba(15,16,20,0%);--color-fill-bg-base-3:rgba(0,0,0,20%);--color-fill-bg-base-4:rgba(40,46,58,100%);--color-fill-bg-base-5:rgba(19,25,47,80%);--color-fill-bg-base-6:var(--palette-rgba-blue-gray-3);--color-brand:var(--palette-tech-blue-6);--color-brand-hover:var(--palette-tech-blue-4);--color-brand-active:var(--palette-tech-blue-8);--color-contrast-1:var(--palette-sea-green-4);--color-error:var(--palette-red-6);--color-error-bg:var(--palette-red-2);--color-success:var(--palette-green-6);--color-success-bg:var(--palette-green-2);--color-header-text-big:var(--palette-rgba-white-10);--color-header-text:var(--palette-rgba-white-10);--color-normal-text:var(--palette-rgba-white-10);--color-strong-text:var(--palette-rgba-white-9);--color-auxiliary-text:var(--palette-rgba-white-8);--color-secondary-text:var(--palette-rgba-white-6);--color-disabled-text:var(--palette-rgba-white-4);--color-border-divider-line:var(--palette-rgba-white-1);--color-text-divider-line-1:var(--palette-rgba-white-2);--color-text-divider-line-2:var(--palette-rgba-white-2);--small-border-radius:2px;--medius-border-radius:5px;--larger-border-radius:12px;--container-border-radius:9999px;--no-border-radius:0px;--mask-bg:var(--palette-rgba-gray-7);--title-font-size-larger:30px;--title-font-size-strong:22px;--title-font-size:18px;--normal-font-size:14px;--auxiliary-font-size:16px;--auxiliary-font-size-small:12px;--overview-data-font-size:34px;--statistics-data-font-size:28px;--normal-data-font-size-larger:20px;--normal-data-font-size:16px;--chart-legend-font-size:12px;--chart-tooltips-font-size-1:12px;--chart-tooltips-font-size-2:12px;--chart-axis-x-font-size:12px;--chart-axis-x-font-size-larger:14px;--chart-axis-y-font-size:12px;--chart-axis-y-font-size-larger:14px;--font-weight-600:600;--font-weight-500:500;--font-weight-400:400;--text-shadow:0px 1px 4px #2863ee;--border-width-base:1px;--border-width-double-base:2px;--border-width-tribble-base:3px;--punctate-width-base:1px;--paragraph-width-base:1px;--button-text-color:#40d0db}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.wrapper{transform-style:preserve-3d;perspective-origin:50% 50%;perspective:4000px;height:100%}.container{display:flex;position:relative;height:100%;flex-direction:column;transform-origin:50% 50%;transform:rotateX(45deg)}.app-layer{width:40%;margin-bottom:28px;align-self:center}.cluster-container{flex:1;display:grid;grid-gap:17px;height:calc(100% - 60px)}.cluster-content{display:block;height:100%;overflow:hidden}.close-button{position:absolute;top:0;right:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}"],"names":["_classPrivateGetter","s","r","a","toPropertyKey","t","i","e","Symbol","toPrimitive","call","TypeError","String","_assertClassBrand","n","has","arguments","length","_typeof","o","iterator","constructor","prototype","_checkInRHS","Object","WrappedCabinetAppLayer","wrapBrick","WrappedCabinetButton","WrappedCabinetContainer","defineElement","property","event","createDecorators","_CabinetGraph","_A","WeakMap","_B","_C","_D","_CabinetGraph_brand","WeakSet","_E","_F","_handleCloseBtnClick","_handleDbClick","_handleActiveKeyChange","CabinetGraph","ReactNextElement","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_dataSource","_init_extra_dataSource","_init_activeKey","_init_extra_activeKey","_init_hiddenCloseBtn","_init_extra_hiddenCloseBtn","_init_closeBtnClickEvent","_init_extra_closeBtnClickEvent","_init_cabinetClickEvent","_init_extra_cabinetClickEvent","_init_cabinetDbClickEvent","_init_extra_cabinetDbClickEvent","this","_get_closeBtnClickEvent","emit","newKey","type","data","activeKey","_get_cabinetDbClickEvent","_get_cabinetClickEvent","dataSource","_classPrivateFieldGet","v","_classPrivateFieldSet","hiddenCloseBtn","render","React","CabinetGraphElement","onCloseBtnClick","onActiveKeyChange","handleDbClick","props","activeKeys","useMemo","concat","filterKeys","keys","clusters","map","clu","includes","key","push","nodes","node","className","onClick","appTitle","appName","stopPropagation","status","undefined","style","gridTemplateColumns","includeClu","customTitle","clusterName","includeNode","nodeTitle","isAlert","handleClick","_ref","some","_ref2","_CabinetGraph2","_set_closeBtnClickEvent","_set_cabinetClickEvent","_set_cabinetDbClickEvent","c","_initClass","_applyDecs","styleTexts","variablesStyleText","styleText","attribute","Boolean","_","module","exports","cssWithMappingToString","list","toString","item","content","needLayer","join","modules","media","dedupe","supports","layer","alreadyImportedModules","k","id","_k","setFunctionName","description","defineProperty","configurable","value","applyDecs2311","u","f","l","p","d","metadata","m","h","create","y","g","apply","b","applyDec","w","D","S","j","E","I","P","F","get","set","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","checkInRHS","_classPrivateFieldGet2","obj","privateMap","_checkPrivateRedeclaration","privateCollection","privateSet","add","___CSS_LOADER_EXPORT___","_classPrivateFieldSet2"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/cabinet-graph.6aa32783.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///./src/cabinet/index.tsx","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/data-view-variables.shadow.css","webpack:///./src/cabinet/cabinet.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","import React, { useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport variablesStyleText from \"../data-view-variables.shadow.css\";\nimport styleText from \"./cabinet.shadow.css\";\nimport type {\n CabinetAppLayer,\n CabinetAppLayerProps,\n} from \"./cabinet-app-layer/index.jsx\";\nimport type {\n CabinetButton,\n CabinetButtonProps,\n} from \"./cabinet-button/index.jsx\";\nimport type {\n CabinetContainer,\n CabinetContainerProps,\n} from \"./cabinet-container/index.jsx\";\n\nconst WrappedCabinetAppLayer = wrapBrick<CabinetAppLayer, CabinetAppLayerProps>(\n \"data-view.cabinet-app-layer\"\n);\nconst WrappedCabinetButton = wrapBrick<CabinetButton, CabinetButtonProps>(\n \"data-view.cabinet-button\"\n);\nconst WrappedCabinetContainer = wrapBrick<\n CabinetContainer,\n CabinetContainerProps\n>(\"data-view.cabinet-container\");\n\nconst { defineElement, property, event } = createDecorators();\n\ninterface Node {\n nodeTitle: string;\n key: string;\n type: \"container-group\" | \"physical-machine\" | \"virtual-machine\";\n isAlert?: boolean;\n}\n\ninterface Clusters {\n clusterName: string;\n key: string;\n type: \"host\" | \"k8s\" | \"k8s-blue\";\n nodes: Node[];\n}\n\nexport interface AppData {\n appName: string;\n key: string;\n clusters: Clusters[];\n}\ntype ChangeType = \"node\" | \"cluster\" | \"layer\";\n\nexport interface CabinetGraphProps {\n dataSource: AppData;\n activeKey?: string | string[];\n hiddenCloseBtn?: boolean;\n onCloseBtnClick?: () => void;\n onActiveKeyChange?: (\n key: string,\n type?: ChangeType,\n data?: Record<string, any>\n ) => void;\n handleDbClick?: (\n key: string,\n type?: ChangeType,\n data?: Record<string, any>\n ) => void;\n}\n\n/**\n * cabinet 部署架构拓扑\n * @author nlicroshan\n * @category big-screen-content\n */\n@defineElement(\"data-view.cabinet-graph\", {\n styleTexts: [variablesStyleText, styleText],\n})\nclass CabinetGraph extends ReactNextElement implements CabinetGraphProps {\n /**\n * 数据源\n */\n @property({\n attribute: false,\n })\n accessor dataSource: AppData;\n\n /**\n * 选中项,支持数组\n */\n @property({ attribute: false })\n accessor activeKey: string | string[];\n\n /**\n * 取消按钮是否需要展示\n */\n @property({ type: Boolean })\n accessor hiddenCloseBtn: boolean;\n\n /**\n * @detail `void`\n * @description 关闭按钮点击事件\n */\n @event({ type: \"close.button.click\" })\n accessor #closeBtnClickEvent!: EventEmitter<void>;\n\n /**\n * @detail `{ type: ChangeType, data: Record<string, any> }` — { type: 点击类型(node/cluster/layer),data: 对应节点或集群数据 }\n * @description 节点或外层的点击事件\n */\n @event({ type: \"cabinet.click\" })\n accessor #cabinetClickEvent!: EventEmitter<{\n type: ChangeType;\n data: Record<string, any>;\n }>;\n\n /**\n * @detail `{ type: ChangeType, data: Record<string, any> }` — { type: 双击类型(node/cluster),data: 对应节点或集群数据 }\n * @description 节点或外层的双击事件,目前不支持应用层\n */\n @event({ type: \"cabinet.dbclick\" })\n accessor #cabinetDbClickEvent!: EventEmitter<{\n type: ChangeType;\n data: Record<string, any>;\n }>;\n\n #handleCloseBtnClick = (): void => {\n this.#closeBtnClickEvent.emit();\n };\n #handleDbClick = (\n newKey: string,\n type: ChangeType,\n data?: Record<string, any>\n ): void => {\n this.activeKey = newKey;\n if (newKey) {\n this.#cabinetDbClickEvent.emit({\n type,\n data,\n });\n }\n };\n\n #handleActiveKeyChange = (\n newKey: string,\n type: ChangeType,\n data?: Record<string, any>\n ) => {\n this.activeKey = newKey;\n if (newKey) {\n this.#cabinetClickEvent.emit({\n type,\n data,\n });\n }\n };\n\n render() {\n return (\n <CabinetGraphElement\n activeKey={this.activeKey}\n dataSource={this.dataSource}\n onCloseBtnClick={this.#handleCloseBtnClick}\n onActiveKeyChange={this.#handleActiveKeyChange}\n handleDbClick={this.#handleDbClick}\n hiddenCloseBtn={this.hiddenCloseBtn}\n />\n );\n }\n}\n\nfunction CabinetGraphElement(props: CabinetGraphProps): React.ReactElement {\n const {\n dataSource,\n activeKey,\n onCloseBtnClick,\n onActiveKeyChange,\n handleDbClick,\n hiddenCloseBtn,\n } = props;\n const activeKeys = useMemo(() => {\n return [].concat(activeKey);\n }, [activeKey]);\n //过滤 activeKey 有效数据 & 已经去除layer层的高亮数据,由于layer 高亮,所有都需要展示\n const filterKeys = useMemo(() => {\n const keys: string[] = [];\n dataSource.clusters.map((clu) => {\n if (activeKeys.includes(clu.key)) {\n keys.push(clu.key);\n }\n clu.nodes.map((node) => {\n if (activeKeys.includes(node.key)) {\n keys.push(node.key);\n }\n });\n });\n return keys;\n }, [dataSource, activeKeys]);\n\n return (\n <div\n className=\"wrapper\"\n onClick={() => {\n onActiveKeyChange(null);\n }}\n >\n <div className=\"container\">\n <WrappedCabinetAppLayer\n className=\"app-layer\"\n appTitle={dataSource.appName}\n onClick={(e) => {\n e.stopPropagation();\n onActiveKeyChange(dataSource.key, \"layer\");\n }}\n status={activeKeys.includes(dataSource.key) ? \"active\" : undefined}\n />\n <div\n className=\"cluster-container\"\n style={{\n gridTemplateColumns: `repeat(${dataSource.clusters.length}, 1fr)`,\n }}\n >\n {dataSource.clusters.map((clu) => {\n const includeClu = filterKeys.includes(clu.key);\n return (\n <WrappedCabinetContainer\n key={clu.key}\n type={clu.type}\n className=\"cluster-content\"\n customTitle={clu.clusterName}\n data={clu.nodes.map((node) => {\n const includeNode = filterKeys.includes(node.key);\n return {\n nodeTitle: node.nodeTitle,\n type: node.type,\n key: node.key,\n isAlert: node.isAlert,\n status:\n includeNode || includeClu\n ? includeClu\n ? undefined\n : \"active\"\n : filterKeys.length\n ? \"faded\"\n : undefined,\n };\n })}\n handleClick={({ type, data }) => {\n switch (type) {\n case \"container\": {\n onActiveKeyChange(clu.key, \"cluster\", clu);\n break;\n }\n case \"node\": {\n onActiveKeyChange((data as any).key, \"node\", data);\n break;\n }\n }\n }}\n status={(() => {\n const includeNode = clu.nodes.some((node) =>\n filterKeys.includes(node.key)\n );\n return includeNode || includeClu\n ? includeClu\n ? \"active\"\n : undefined\n : filterKeys.length\n ? \"faded\"\n : undefined;\n })()}\n handleDbClick={({ type, data }) => {\n switch (type) {\n case \"container\": {\n handleDbClick(clu.key, \"cluster\", clu);\n break;\n }\n case \"node\": {\n handleDbClick((data as any).key, \"node\", data);\n break;\n }\n }\n }}\n />\n );\n })}\n </div>\n {!hiddenCloseBtn && (\n <WrappedCabinetButton\n className=\"close-button\"\n onClick={(e) => {\n e.stopPropagation();\n onCloseBtnClick?.();\n }}\n />\n )}\n </div>\n </div>\n );\n}\n\nexport { CabinetGraph };\n","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--palette-rgba-white-1:rgba(255,255,255,10%);--palette-rgba-white-2:rgba(255,255,255,20%);--palette-rgba-white-3:rgba(255,255,255,30%);--palette-rgba-white-4:rgba(255,255,255,40%);--palette-rgba-white-5:rgba(255,255,255,50%);--palette-rgba-white-6:rgba(255,255,255,60%);--palette-rgba-white-7:rgba(255,255,255,70%);--palette-rgba-white-8:rgba(255,255,255,80%);--palette-rgba-white-9:rgba(255,255,255,90%);--palette-rgba-white-10:rgba(255,255,255,100%);--palette-rgba-gray-1:rgba(0,0,0,10%);--palette-rgba-gray-2:rgba(0,0,0,20%);--palette-rgba-gray-3:rgba(0,0,0,30%);--palette-rgba-gray-4:rgba(0,0,0,40%);--palette-rgba-gray-5:rgba(0,0,0,50%);--palette-rgba-gray-6:rgba(0,0,0,60%);--palette-rgba-gray-7:rgba(0,0,0,70%);--palette-rgba-gray-8:rgba(0,0,0,80%);--palette-rgba-gray-9:rgba(0,0,0,90%);--palette-rgba-gray-10:rgba(0,0,0,100%);--palette-rgba-blue-gray-2:rgba(101,106,134,20%);--palette-rgba-blue-gray-3:rgba(101,106,134,30%);--palette-rgba-blue-gray-8:rgba(101,106,134,80%);--palette-tech-blue-4-channel:67,127,255;--palette-tech-blue-4:rgb(var(--palette-tech-blue-4-channel));--palette-tech-blue-6-channel:51,102,255;--palette-tech-blue-6:rgb(var(--palette-tech-blue-6-channel));--palette-tech-blue-8-channel:40,69,159;--palette-tech-blue-8:rgb(var(--palette-tech-blue-8-channel));--palette-sea-green-4-channel:131,245,225;--palette-sea-green-4:rgb(var(--palette-sea-green-4-channel));--palette-green-6-channel:81,235,73;--palette-green-6:rgb(var(--palette-green-6-channel));--palette-green-2:rgba(var(--palette-green-6-channel),20%);--palette-lotus-pink-7-channel:204,0,102;--palette-lotus-pink-7:rgb(var(--palette-lotus-pink-7-channel));--palette-red-6-channel:242,39,39;--palette-red-6:rgb(var(--palette-red-6-channel));--palette-red-2:rgba(var(--palette-red-6-channel),20%);--color-fill-global-bg:#0f1014;--color-fill-bg-container-1:var(--palette-rgba-white-1);--color-fill-bg-container-2:var(--palette-rgba-blue-gray-2);--color-fill-bg-container-3:var(--palette-rgba-blue-gray-8);--color-fill-bg-base-1:var(--palette-rgba-blue-gray-2);--color-fill-bg-base-2:rgba(15,16,20,0%);--color-fill-bg-base-3:rgba(0,0,0,20%);--color-fill-bg-base-4:rgba(40,46,58,100%);--color-fill-bg-base-5:rgba(19,25,47,80%);--color-fill-bg-base-6:var(--palette-rgba-blue-gray-3);--color-brand:var(--palette-tech-blue-6);--color-brand-hover:var(--palette-tech-blue-4);--color-brand-active:var(--palette-tech-blue-8);--color-contrast-1:var(--palette-sea-green-4);--color-error:var(--palette-red-6);--color-error-bg:var(--palette-red-2);--color-success:var(--palette-green-6);--color-success-bg:var(--palette-green-2);--color-header-text-big:var(--palette-rgba-white-10);--color-header-text:var(--palette-rgba-white-10);--color-normal-text:var(--palette-rgba-white-10);--color-strong-text:var(--palette-rgba-white-9);--color-auxiliary-text:var(--palette-rgba-white-8);--color-secondary-text:var(--palette-rgba-white-6);--color-disabled-text:var(--palette-rgba-white-4);--color-border-divider-line:var(--palette-rgba-white-1);--color-text-divider-line-1:var(--palette-rgba-white-2);--color-text-divider-line-2:var(--palette-rgba-white-2);--small-border-radius:2px;--medius-border-radius:5px;--larger-border-radius:12px;--container-border-radius:9999px;--no-border-radius:0px;--mask-bg:var(--palette-rgba-gray-7);--title-font-size-larger:30px;--title-font-size-strong:22px;--title-font-size:18px;--normal-font-size:14px;--auxiliary-font-size:16px;--auxiliary-font-size-small:12px;--overview-data-font-size:34px;--statistics-data-font-size:28px;--normal-data-font-size-larger:20px;--normal-data-font-size:16px;--chart-legend-font-size:12px;--chart-tooltips-font-size-1:12px;--chart-tooltips-font-size-2:12px;--chart-axis-x-font-size:12px;--chart-axis-x-font-size-larger:14px;--chart-axis-y-font-size:12px;--chart-axis-y-font-size-larger:14px;--font-weight-600:600;--font-weight-500:500;--font-weight-400:400;--text-shadow:0px 1px 4px #2863ee;--border-width-base:1px;--border-width-double-base:2px;--border-width-tribble-base:3px;--punctate-width-base:1px;--paragraph-width-base:1px;--button-text-color:#40d0db}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.wrapper{transform-style:preserve-3d;perspective-origin:50% 50%;perspective:4000px;height:100%}.container{display:flex;position:relative;height:100%;flex-direction:column;transform-origin:50% 50%;transform:rotateX(45deg)}.app-layer{width:40%;margin-bottom:28px;align-self:center}.cluster-container{flex:1;display:grid;grid-gap:17px;height:calc(100% - 60px)}.cluster-content{display:block;height:100%;overflow:hidden}.close-button{position:absolute;top:0;right:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}"],"names":["_classPrivateGetter","s","r","a","toPropertyKey","t","i","e","Symbol","toPrimitive","call","TypeError","String","_assertClassBrand","n","has","arguments","length","_typeof","o","iterator","constructor","prototype","_checkInRHS","Object","WrappedCabinetAppLayer","wrapBrick","WrappedCabinetButton","WrappedCabinetContainer","defineElement","property","event","createDecorators","_CabinetGraph","_A","WeakMap","_B","_C","_D","_CabinetGraph_brand","WeakSet","_E","_F","_handleCloseBtnClick","_handleDbClick","_handleActiveKeyChange","CabinetGraph","ReactNextElement","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_dataSource","_init_extra_dataSource","_init_activeKey","_init_extra_activeKey","_init_hiddenCloseBtn","_init_extra_hiddenCloseBtn","_init_closeBtnClickEvent","_init_extra_closeBtnClickEvent","_init_cabinetClickEvent","_init_extra_cabinetClickEvent","_init_cabinetDbClickEvent","_init_extra_cabinetDbClickEvent","this","_get_closeBtnClickEvent","emit","newKey","type","data","activeKey","_get_cabinetDbClickEvent","_get_cabinetClickEvent","dataSource","_classPrivateFieldGet","v","_classPrivateFieldSet","hiddenCloseBtn","render","React","CabinetGraphElement","onCloseBtnClick","onActiveKeyChange","handleDbClick","props","activeKeys","useMemo","concat","filterKeys","keys","clusters","map","clu","includes","key","push","nodes","node","className","onClick","appTitle","appName","stopPropagation","status","undefined","style","gridTemplateColumns","includeClu","customTitle","clusterName","includeNode","nodeTitle","isAlert","handleClick","_ref","some","_ref2","_CabinetGraph2","_set_closeBtnClickEvent","_set_cabinetClickEvent","_set_cabinetDbClickEvent","c","_initClass","_applyDecs","styleTexts","variablesStyleText","styleText","attribute","Boolean","_","module","exports","cssWithMappingToString","list","toString","item","content","needLayer","join","modules","media","dedupe","supports","layer","alreadyImportedModules","k","id","_k","setFunctionName","description","defineProperty","configurable","value","applyDecs2311","u","f","l","p","d","metadata","m","h","create","y","g","apply","b","applyDec","w","D","S","j","E","I","P","F","get","set","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","checkInRHS","_classPrivateFieldGet2","obj","privateMap","_checkPrivateRedeclaration","privateCollection","privateSet","add","___CSS_LOADER_EXPORT___","_classPrivateFieldSet2"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/china-map-chart.56dc9a9f.js","mappings":"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","sources":["webpack:///./src/china-map-chart/styles.shadow.css","webpack:///./src/shared/useContainerScale.ts","webpack:///./src/china-map-chart/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./assets/label.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([fill-container]){display:block;height:100%;position:relative;overflow:hidden}:host([hidden]){display:none}.text{position:absolute;z-index:6;height:22px;line-height:22px;font-size:12px;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat center left;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transform:translate(20px,-150%)!important;color:rgba(255,255,255,1);text-indent:10px}.iconImg{position:absolute;z-index:5;src:\"./assets/default.png\";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.detailContent{position:absolute;opacity:0.8;z-index:20}:host(:not([fill-container])) .map{position:absolute;top:0;left:0;right:0;bottom:0}:host([fill-container]) .map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.leftText{margin-left:-20px;transform:translate(-100%,-150%)!important}.topText{margin-top:-10px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { useEffect, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 根据容器尺寸进行缩放\n */\nexport function useContainerScale({\n width: baseWidth,\n height: baseHeight,\n root,\n maxScale,\n disabled,\n}: {\n width: number;\n height: number;\n root: HTMLElement;\n /** 最大缩放比例,默认为 1 */\n maxScale?: number;\n disabled?: boolean;\n}): number | null {\n const [scale, setScale] = useState<number | null>(null);\n\n useEffect(() => {\n if (disabled) {\n setScale(null);\n return;\n }\n // 当容器宽高低于预设值时,图形会自动缩小\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === root) {\n const { width, height } = entry.contentRect;\n setScale(\n Math.min(maxScale ?? 1, width / baseWidth, height / baseHeight)\n );\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [baseHeight, baseWidth, disabled, maxScale, root]);\n\n return scale;\n}\n","import React, { useEffect, useRef, useState, CSSProperties } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport {\n Scene,\n PolygonLayer,\n LineLayer,\n Marker,\n ImageLayer,\n type ILayer,\n type Point,\n} from \"@antv/l7\";\nimport { Map } from \"@antv/l7-maps\";\nimport { cloneDeep, isEmpty, isEqual, toNumber } from \"lodash\";\nimport defaultSvg from \"./assets/default.svg?url\";\nimport selectedSvg from \"./assets/selected.svg?url\";\nimport chinaPng from \"./assets/china.png\";\nimport texturePng from \"./assets/texture.png\";\nimport styleText from \"./styles.shadow.css\";\nimport { useContainerScale } from \"../shared/useContainerScale\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst BASE_WIDTH = 825;\nconst BASE_HEIGHT = 600;\n\ninterface FeatureCollection {\n type: \"FeatureCollection\";\n features: Feature[];\n}\n\ninterface Feature {\n type: \"Feature\";\n id?: string;\n properties: {\n name: string;\n center?: Point;\n province_adcode: number;\n province: string;\n };\n geometry: Polygon | MultiPolygon;\n}\n\ninterface Polygon {\n type: \"Polygon\";\n coordinates: Point[][];\n}\n\ninterface MultiPolygon {\n type: \"MultiPolygon\";\n coordinates: Point[][][];\n}\n\ninterface Area {\n name: string;\n level: \"country\" | \"province\" | \"city\" | \"district\";\n adcode: number;\n lng: number;\n lat: number;\n parent: number;\n}\n\n/**\n * 中国地图图表构件,可以显示省级指标数据\n *\n * @deprecated 已废弃,请使用 `data-view.china-map`\n */\nexport\n@defineElement(\"data-view.china-map-chart\", {\n styleTexts: [styleText],\n})\nclass ChinaMapChart extends ReactNextElement {\n /**\n * 省份名称,例如“广东”。如果设置,则只显示该省份的地图,否则显示全国地图\n */\n @property()\n accessor province: string | undefined;\n\n /**\n * 数据源\n */\n @property({ attribute: false })\n accessor dataSource: DataSource[] | undefined;\n\n /**\n * 描述内容样式\n */\n @property({ attribute: false })\n accessor detailContentStyle: CSSProperties | undefined;\n\n /**\n * 是否铺满容器\n *\n * 注意:该属性不同时兼容 detail 插槽\n */\n @property({ type: Boolean })\n accessor fillContainer: boolean | undefined;\n\n /**\n * 当提示可见性开始变化时触发\n * @detail 当前是否可见\n */\n @event({ type: \"detail.open.change\" })\n accessor #openChangeEvent!: EventEmitter<{\n open: boolean;\n data: Record<string, any>;\n }>;\n #handleOpenChange = (open: boolean, data: Record<string, any>): void => {\n this.#openChangeEvent.emit({ open, data });\n };\n\n render() {\n return (\n <ChinaMapChartComponent\n root={this}\n province={this.province}\n dataSource={this.dataSource}\n onDetailOpenChange={this.#handleOpenChange}\n detailContentStyle={this.detailContentStyle}\n fillContainer={this.fillContainer}\n />\n );\n }\n}\n\ninterface DataSource {\n /** 省级行政区域名,例如:四川、北京 */\n city: string;\n detailDisplayLocation: \"pageCenter\" | \"textBottom\";\n text: string;\n [x: string]: any;\n}\n\nexport interface ChinaMapChartProps {\n root: HTMLElement;\n province?: string;\n onDetailOpenChange: (open: boolean, data: Record<string, any>) => void;\n dataSource: DataSource[];\n detailContentStyle?: CSSProperties;\n fillContainer?: boolean;\n // Define props here.\n}\n\nexport function ChinaMapChartComponent(props: ChinaMapChartProps) {\n const {\n root,\n province,\n onDetailOpenChange,\n dataSource = [],\n detailContentStyle = {},\n fillContainer,\n } = props;\n const mapRef = useRef<HTMLDivElement>();\n const slotRef = useRef<HTMLSlotElement>();\n const [showData, setShowData] = useState<DataSource>();\n const showDataRef = useRef<DataSource>();\n const [textPosition, setTextPosition] = useState<{\n left: string;\n top: string;\n }>();\n\n const scale = useContainerScale({\n width: BASE_WIDTH,\n height: BASE_HEIGHT,\n root,\n maxScale: 10,\n disabled: !fillContainer,\n });\n\n const textClick = (e: MouseEvent, data: any) => {\n e.stopPropagation();\n if (isEqual(data, showDataRef.current)) {\n setShowData(null);\n return;\n }\n setShowData(data);\n setTextPosition({\n left: `${toNumber((e.target as any).style.left.replace(\"px\", \"\")) + 24}px`,\n top: `${toNumber((e.target as any).style.top.replace(\"px\", \"\")) + 28}px`,\n });\n };\n useEffect(() => {\n const scene = new Scene({\n id: mapRef.current,\n logoVisible: false,\n map: new Map({\n // center: [90.268, 40.3628],\n pitch: 35,\n zoom: 1,\n }),\n });\n scene.setMapStatus({ doubleClickZoom: false, zoomEnable: false });\n const defaultImg = new Image();\n defaultImg.src = defaultSvg;\n\n const selectedImg = new Image();\n selectedImg.src = selectedSvg;\n\n scene.addImage(\"default\", defaultImg);\n scene.addImage(\"selected\", selectedImg);\n if (!province) {\n scene.addImage(\"chinaBg\", chinaPng);\n } else {\n scene.addImage(\"texture\", texturePng);\n }\n\n scene.on(\"loaded\", async () => {\n let data: FeatureCollection;\n let southSeaData: FeatureCollection;\n let matchedProvince: Area | undefined;\n let AreaList: Area[] | undefined;\n if (province) {\n const [CitiesImport, AreaListImport] = await Promise.all([\n import(\"./cities.json\"),\n import(\"./area-list.json\"),\n ]);\n const Cities = CitiesImport.default as unknown as FeatureCollection;\n AreaList = AreaListImport.default as unknown as Area[];\n matchedProvince = AreaList.find(\n (a) => a.level === \"province\" && a.name.includes(province)\n );\n\n if (!matchedProvince) {\n throw new Error(`没有找到省份:\"${province}\"`);\n }\n\n data = {\n type: \"FeatureCollection\",\n features: (Cities as FeatureCollection).features.filter(\n (f) => f.properties.province_adcode === matchedProvince.adcode\n ),\n };\n } else {\n const ChinaImport = await import(\"./map.json\");\n const CHINA = ChinaImport.default as unknown as FeatureCollection;\n data = {\n type: \"FeatureCollection\",\n features: (CHINA as unknown as FeatureCollection).features.slice(\n 0,\n CHINA.features.length - 2\n ),\n };\n southSeaData = {\n ...CHINA,\n features: CHINA.features.slice(\n CHINA.features.length - 2,\n CHINA.features.length\n ),\n };\n }\n\n const seventhPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n let labelDivideLng: number | undefined;\n // 根据坐标范围设置 3D 图层升起的高度\n let raisingHeightBase: number;\n if (province) {\n let top = Infinity;\n let left = Infinity;\n let bottom = -Infinity;\n let right = -Infinity;\n const points = data.features.flatMap(\n (f) =>\n f.geometry.coordinates.flat(\n f.geometry.type === \"MultiPolygon\" ? 2 : 1\n ) as Point[]\n );\n points.forEach(([lng, lat]) => {\n top = Math.min(top, lat);\n left = Math.min(left, lng);\n bottom = Math.max(bottom, lat);\n right = Math.max(right, lng);\n });\n const lngRange = right - left;\n const latRange = bottom - top;\n raisingHeightBase = Math.max(2000 * lngRange, 3000 * latRange);\n // 在经度范围的 3/4 处设置分界线,左边的文字向右排,右边的文字向左排\n labelDivideLng = left + (lngRange * 3) / 4;\n } else {\n raisingHeightBase = 100000;\n }\n\n seventhPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(84, 239, 241, 0.20)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -13 * raisingHeightBase,\n });\n\n const sixthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n sixthPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(14, 11, 75, 0.58)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -11 * raisingHeightBase,\n });\n\n const fifthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n fifthPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(190, 225, 226, 1)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -9 * raisingHeightBase,\n });\n const fourthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n fourthPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(18, 26, 45, 1)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -7 * raisingHeightBase,\n });\n\n const thirdPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n thirdPolygonLayer\n .shape(\"extrude\")\n .color(\"#111D3C\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -5 * raisingHeightBase,\n });\n const secondPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n secondPolygonLayer\n .shape(\"extrude\")\n .color(\"#121A2D\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -3 * raisingHeightBase,\n });\n\n const firstPolygonLayer = new PolygonLayer({\n autoFit: true,\n }).source(data);\n\n firstPolygonLayer.shape(\"fill\").color(\"rgba(8, 77, 255, 0.60)\");\n // .select({\n // color: \"rgba(177, 254, 254, 1)\",\n // });//编排上层缩放会影响到高亮功能,还不知道怎么解决,暂时不实现。\n\n let chinaImgLayer: ILayer | undefined;\n if (!province) {\n chinaImgLayer = new ImageLayer({\n autoFit: false,\n zIndex: 1,\n }).source(chinaPng, {\n parser: {\n type: \"image\",\n extent: [73.33, 17.9, 134.85, 53.73],\n },\n });\n\n chinaImgLayer.shape(\"img\").style({\n opacity: 1,\n });\n }\n\n const fourthLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(43, 100, 255, 1)\")\n .size(1)\n .style({\n raisingHeight: -16 * raisingHeightBase,\n });\n\n const thirdLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(84, 239, 241, 1)\")\n .size(1)\n .style({\n raisingHeight: -12 * raisingHeightBase,\n });\n\n const secondLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(43, 100, 255, 1)\")\n .size(1)\n .style({\n raisingHeight: -6 * raisingHeightBase,\n });\n\n const firstLineLayer = new LineLayer({ zIndex: 2 })\n .source(data)\n .shape(\"line\")\n .color(\"#3DC6FF\")\n .size(1)\n .style({\n raisingHeight: 0,\n })\n .scale(\"density\", {\n type: \"quantile\",\n });\n\n // const hightLayer = new LineLayer({\n // zIndex: 10, // 设置显示层级\n // name: \"hightlight\",\n // })\n // .source({\n // type: \"FeatureCollection\",\n // features: [],\n // })\n // .shape(\"line\")\n // .size(2)\n // .color(\"rgba(177, 254, 254, 1)\")\n // .style({\n // opacity: 1,\n // });\n // const hightPolygonLayer = new PolygonLayer({zIndex: 10})\n // .source({\n // type: \"FeatureCollection\",\n // features: [],\n // })\n // .shape(\"fill\")\n // .color(\"rgba(177, 254, 254, 1)\")\n // .style({\n // heightfixed: true,\n // pickLight: true,\n // opacity: 1,\n // raisingHeight: 0,\n // }); //自定义选择高亮\n\n scene.addLayer(seventhPolygonLayer);\n // scene.addLayer(sixthPolygonLayer);\n // scene.addLayer(fifthPolygonLayer);\n // // scene.addLayer(fourthPolygonLayer);\n // scene.addLayer(thirdPolygonLayer);\n scene.addLayer(secondPolygonLayer);\n if (chinaImgLayer) {\n scene.addLayer(chinaImgLayer);\n }\n // scene.addLayer(hightLayer);\n // scene.addLayer(hightPolygonLayer);\n scene.addLayer(firstPolygonLayer);\n\n scene.addLayer(fourthLineLayer);\n scene.addLayer(thirdLineLayer);\n scene.addLayer(secondLineLayer);\n scene.addLayer(firstLineLayer);\n\n // firstPolygonLayer.on(\"click\", (e) => {\n // const { feature } = e;\n // hightPolygonLayer.setData({\n // type: \"FeatureCollection\",\n // features: [feature],\n // });\n // hightLayer.setData({\n // type: \"FeatureCollection\",\n // features: [feature],\n // });\n // });\n\n if (!province) {\n const southSeaPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(southSeaData);\n\n southSeaPolygonLayer.shape(\"fill\").color(\"black\");\n\n const southSeaLineLayer = new LineLayer({ zIndex: 2 })\n .source(southSeaData)\n .shape(\"line\")\n .color(\"rgba(30, 144, 255, 1)\")\n .size(0.5)\n .style({\n raisingHeight: 0,\n })\n .scale(\"density\", {\n type: \"quantile\",\n });\n scene.addLayer(southSeaPolygonLayer);\n scene.addLayer(southSeaLineLayer);\n }\n\n dataSource.forEach((i) => {\n const el = document.createElement(\"div\");\n let classNameText = \"text\";\n el.textContent = i.text;\n let coord: Point;\n\n // 计算标签的排列方向,全国地图保持原有逻辑,省份地图根据经度所在比例自动适应排列方向\n if (!province) {\n const city = data.features.find((f) =>\n f.properties.name.includes(i.city)\n );\n if (!city) {\n return;\n }\n coord = city.properties.center;\n //先手动调整位置,缓解重叠的问题\n if (\n [\n \"410000\",\n \"820000\",\n \"140000\",\n \"110000\",\n \"420000\",\n \"430000\",\n \"450000\",\n \"500000\",\n \"520000\",\n \"530000\",\n \"510000\",\n \"610000\",\n \"640000\",\n \"150000\",\n \"630000\",\n \"540000\",\n \"340000\",\n ].includes(city.id)\n ) {\n classNameText = `${classNameText} leftText`;\n i.isLeftOffset = true;\n }\n if (\n [\n \"620000\",\n \"640000\",\n \"450000\",\n \"440000\",\n \"120000\",\n \"340000\",\n \"510000\",\n \"150000\",\n \"320000\",\n ].includes(city.id)\n ) {\n classNameText = `${classNameText} topText`;\n i.isTopOffset = true;\n }\n\n if (\n [\n \"530000\",\n \"520000\",\n \"430000\",\n \"360000\",\n \"330000\",\n \"610000\",\n \"370000\",\n \"130000\",\n ].includes(city.id)\n ) {\n coord[1] -= 1;\n }\n } else {\n const area = AreaList.find(\n (a) =>\n a.parent === matchedProvince.adcode && a.name.includes(i.city)\n );\n if (!area) {\n return;\n }\n coord = [area.lng, area.lat];\n if (area.lng > labelDivideLng) {\n classNameText = `${classNameText} leftText`;\n i.isLeftOffset = true;\n }\n }\n\n el.className = classNameText;\n\n el.onclick = (e) => {\n i.width = el.getBoundingClientRect().width;\n textClick(e, i);\n };\n\n const imgEl = document.createElement(\"img\");\n imgEl.src = defaultSvg;\n imgEl.className = \"iconImg\";\n\n const marker = new Marker({\n element: el,\n }).setLnglat({ lng: coord[0], lat: coord[1] });\n const imgMarker = new Marker({\n element: imgEl,\n }).setLnglat({ lng: coord[0], lat: coord[1] });\n scene.addMarker(marker);\n scene.addMarker(imgMarker);\n });\n\n setTimeout(() => {\n const bounds = scene.getBounds();\n // 进行适当平移和缩放,因为设置了倾角 pitch,地图默认没有铺满并居中\n scene.panTo([\n (bounds[0][0] + bounds[1][0]) / 2 + (province ? 0 : 1.6),\n (bounds[0][1] + bounds[1][1]) / 2 - (bounds[1][1] - bounds[0][1]) / 9,\n ]);\n if (province) {\n scene.setZoom(scene.getZoom() * 0.97);\n }\n\n // 省份贴图\n if (province) {\n const provinceImgLayer = new ImageLayer({\n autoFit: false,\n zIndex: 1,\n maskLayers: [firstPolygonLayer],\n }).source(texturePng, {\n parser: {\n type: \"image\",\n extent: [...bounds[0], ...bounds[1]],\n },\n });\n\n provinceImgLayer.shape(\"img\").style({\n opacity: 1,\n });\n scene.addLayer(provinceImgLayer);\n }\n });\n });\n\n return () => {\n scene.destroy();\n };\n }, []);\n\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (slotRef.current && e.composedPath().includes(slotRef.current)) return;\n setShowData(null);\n };\n document?.addEventListener(\"click\", handleClick);\n return () => {\n document?.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n showDataRef.current = cloneDeep(showData);\n onDetailOpenChange(!isEmpty(showData), showData);\n }, [showData]);\n return (\n <div\n style={\n fillContainer\n ? {\n height: \"100%\",\n transform: `scale(${scale ?? 1})`,\n }\n : null\n }\n >\n <div\n id=\"map\"\n ref={mapRef}\n className=\"map\"\n style={\n fillContainer\n ? {\n width: BASE_WIDTH,\n height: BASE_HEIGHT,\n }\n : null\n }\n ></div>\n {showData && (\n <div\n className=\"detailContent\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n style={{\n ...(showData.detailDisplayLocation === \"textBottom\"\n ? {\n left: textPosition.left,\n top: textPosition.top,\n transform: `translate(${showData.isLeftOffset ? -showData.width : 0}px, ${showData.isTopOffset ? -50 : -40}px)`,\n }\n : {\n transform: \"translate(-50%, 0%)\",\n top: \"50%\",\n left: \"50%\",\n }),\n ...detailContentStyle,\n }}\n >\n <slot name=\"detail\" ref={slotRef}></slot>\n </div>\n )}\n </div>\n );\n}\n"],"names":["___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","useContainerScale","_ref","width","baseWidth","height","baseHeight","root","maxScale","disabled","scale","setScale","useState","useEffect","observer","ResizeObserver","entries","entry","target","contentRect","Math","min","observe","disconnect","defineElement","property","event","createDecorators","BASE_WIDTH","BASE_HEIGHT","_ChinaMapChart","_A","WeakMap","_B","_C","_D","_E","_ChinaMapChart_brand","WeakSet","_handleOpenChange","ChinaMapChart","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_province","_init_extra_province","_init_dataSource","_init_extra_dataSource","_init_detailContentStyle","_init_extra_detailContentStyle","_init_fillContainer","_init_extra_fillContainer","_init_openChangeEvent","_init_extra_openChangeEvent","open","data","_classPrivateGetter","this","_get_openChangeEvent","emit","province","_classPrivateFieldGet","v","_classPrivateFieldSet","dataSource","detailContentStyle","fillContainer","render","React","ChinaMapChartComponent","onDetailOpenChange","props","mapRef","useRef","slotRef","showData","setShowData","showDataRef","textPosition","setTextPosition","scene","Scene","current","logoVisible","map","Map","pitch","zoom","setMapStatus","doubleClickZoom","zoomEnable","defaultImg","Image","src","defaultSvg","selectedImg","selectedSvg","addImage","texturePng","chinaPng","on","async","southSeaData","matchedProvince","AreaList","CitiesImport","AreaListImport","Promise","all","Cities","default","find","a","level","name","includes","Error","type","features","filter","f","properties","province_adcode","adcode","CHINA","slice","length","seventhPolygonLayer","PolygonLayer","autoFit","source","labelDivideLng","raisingHeightBase","top","Infinity","left","bottom","right","flatMap","geometry","coordinates","flat","forEach","lng","lat","max","lngRange","latRange","shape","color","style","heightfixed","pickLight","opacity","raisingHeight","secondPolygonLayer","firstPolygonLayer","chinaImgLayer","ImageLayer","zIndex","parser","extent","fourthLineLayer","LineLayer","size","thirdLineLayer","secondLineLayer","firstLineLayer","addLayer","southSeaPolygonLayer","southSeaLineLayer","i","el","document","createElement","coord","classNameText","textContent","text","area","parent","city","isLeftOffset","center","isTopOffset","className","onclick","e","getBoundingClientRect","textClick","stopPropagation","isEqual","toNumber","replace","imgEl","marker","Marker","element","setLnglat","imgMarker","addMarker","setTimeout","bounds","getBounds","panTo","setZoom","getZoom","provinceImgLayer","maskLayers","destroy","_document","handleClick","composedPath","addEventListener","_document2","removeEventListener","cloneDeep","isEmpty","transform","ref","onClick","detailDisplayLocation","_ChinaMapChart2","_set_openChangeEvent","c","_initClass","_applyDecs","styleTexts","styleText","attribute","Boolean","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/china-map-chart.56dc9a9f.js","mappings":"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","sources":["webpack:///./src/china-map-chart/styles.shadow.css","webpack:///./src/shared/useContainerScale.ts","webpack:///./src/china-map-chart/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./assets/label.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([fill-container]){display:block;height:100%;position:relative;overflow:hidden}:host([hidden]){display:none}.text{position:absolute;z-index:6;height:22px;line-height:22px;font-size:12px;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat center left;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transform:translate(20px,-150%)!important;color:rgba(255,255,255,1);text-indent:10px}.iconImg{position:absolute;z-index:5;src:\"./assets/default.png\";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.detailContent{position:absolute;opacity:0.8;z-index:20}:host(:not([fill-container])) .map{position:absolute;top:0;left:0;right:0;bottom:0}:host([fill-container]) .map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.leftText{margin-left:-20px;transform:translate(-100%,-150%)!important}.topText{margin-top:-10px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { useEffect, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 根据容器尺寸进行缩放\n */\nexport function useContainerScale({\n width: baseWidth,\n height: baseHeight,\n root,\n maxScale,\n disabled,\n}: {\n width: number;\n height: number;\n root: HTMLElement;\n /** 最大缩放比例,默认为 1 */\n maxScale?: number;\n disabled?: boolean;\n}): number | null {\n const [scale, setScale] = useState<number | null>(null);\n\n useEffect(() => {\n if (disabled) {\n setScale(null);\n return;\n }\n // 当容器宽高低于预设值时,图形会自动缩小\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === root) {\n const { width, height } = entry.contentRect;\n setScale(\n Math.min(maxScale ?? 1, width / baseWidth, height / baseHeight)\n );\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [baseHeight, baseWidth, disabled, maxScale, root]);\n\n return scale;\n}\n","import React, { useEffect, useRef, useState, CSSProperties } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport {\n Scene,\n PolygonLayer,\n LineLayer,\n Marker,\n ImageLayer,\n type ILayer,\n type Point,\n} from \"@antv/l7\";\nimport { Map } from \"@antv/l7-maps\";\nimport { cloneDeep, isEmpty, isEqual, toNumber } from \"lodash\";\nimport defaultSvg from \"./assets/default.svg?url\";\nimport selectedSvg from \"./assets/selected.svg?url\";\nimport chinaPng from \"./assets/china.png\";\nimport texturePng from \"./assets/texture.png\";\nimport styleText from \"./styles.shadow.css\";\nimport { useContainerScale } from \"../shared/useContainerScale\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst BASE_WIDTH = 825;\nconst BASE_HEIGHT = 600;\n\ninterface FeatureCollection {\n type: \"FeatureCollection\";\n features: Feature[];\n}\n\ninterface Feature {\n type: \"Feature\";\n id?: string;\n properties: {\n name: string;\n center?: Point;\n province_adcode: number;\n province: string;\n };\n geometry: Polygon | MultiPolygon;\n}\n\ninterface Polygon {\n type: \"Polygon\";\n coordinates: Point[][];\n}\n\ninterface MultiPolygon {\n type: \"MultiPolygon\";\n coordinates: Point[][][];\n}\n\ninterface Area {\n name: string;\n level: \"country\" | \"province\" | \"city\" | \"district\";\n adcode: number;\n lng: number;\n lat: number;\n parent: number;\n}\n\n/**\n * 中国地图图表构件,可以显示省级指标数据\n *\n * @deprecated 已废弃,请使用 `data-view.china-map`\n */\nexport\n@defineElement(\"data-view.china-map-chart\", {\n styleTexts: [styleText],\n})\nclass ChinaMapChart extends ReactNextElement {\n /**\n * 省份名称,例如“广东”。如果设置,则只显示该省份的地图,否则显示全国地图\n */\n @property()\n accessor province: string | undefined;\n\n /**\n * 数据源\n */\n @property({ attribute: false })\n accessor dataSource: DataSource[] | undefined;\n\n /**\n * 描述内容样式\n */\n @property({ attribute: false })\n accessor detailContentStyle: CSSProperties | undefined;\n\n /**\n * 是否铺满容器\n *\n * 注意:该属性不同时兼容 detail 插槽\n */\n @property({ type: Boolean })\n accessor fillContainer: boolean | undefined;\n\n /**\n * 当提示可见性开始变化时触发\n * @detail { open: 当前是否可见, data: 当前展示的数据项 }\n */\n @event({ type: \"detail.open.change\" })\n accessor #openChangeEvent!: EventEmitter<{\n open: boolean;\n data: Record<string, any>;\n }>;\n #handleOpenChange = (open: boolean, data: Record<string, any>): void => {\n this.#openChangeEvent.emit({ open, data });\n };\n\n render() {\n return (\n <ChinaMapChartComponent\n root={this}\n province={this.province}\n dataSource={this.dataSource}\n onDetailOpenChange={this.#handleOpenChange}\n detailContentStyle={this.detailContentStyle}\n fillContainer={this.fillContainer}\n />\n );\n }\n}\n\ninterface DataSource {\n /** 省级行政区域名,例如:四川、北京 */\n city: string;\n detailDisplayLocation: \"pageCenter\" | \"textBottom\";\n text: string;\n [x: string]: any;\n}\n\nexport interface ChinaMapChartProps {\n root: HTMLElement;\n province?: string;\n onDetailOpenChange: (open: boolean, data: Record<string, any>) => void;\n dataSource: DataSource[];\n detailContentStyle?: CSSProperties;\n fillContainer?: boolean;\n // Define props here.\n}\n\nexport function ChinaMapChartComponent(props: ChinaMapChartProps) {\n const {\n root,\n province,\n onDetailOpenChange,\n dataSource = [],\n detailContentStyle = {},\n fillContainer,\n } = props;\n const mapRef = useRef<HTMLDivElement>();\n const slotRef = useRef<HTMLSlotElement>();\n const [showData, setShowData] = useState<DataSource>();\n const showDataRef = useRef<DataSource>();\n const [textPosition, setTextPosition] = useState<{\n left: string;\n top: string;\n }>();\n\n const scale = useContainerScale({\n width: BASE_WIDTH,\n height: BASE_HEIGHT,\n root,\n maxScale: 10,\n disabled: !fillContainer,\n });\n\n const textClick = (e: MouseEvent, data: any) => {\n e.stopPropagation();\n if (isEqual(data, showDataRef.current)) {\n setShowData(null);\n return;\n }\n setShowData(data);\n setTextPosition({\n left: `${toNumber((e.target as any).style.left.replace(\"px\", \"\")) + 24}px`,\n top: `${toNumber((e.target as any).style.top.replace(\"px\", \"\")) + 28}px`,\n });\n };\n useEffect(() => {\n const scene = new Scene({\n id: mapRef.current,\n logoVisible: false,\n map: new Map({\n // center: [90.268, 40.3628],\n pitch: 35,\n zoom: 1,\n }),\n });\n scene.setMapStatus({ doubleClickZoom: false, zoomEnable: false });\n const defaultImg = new Image();\n defaultImg.src = defaultSvg;\n\n const selectedImg = new Image();\n selectedImg.src = selectedSvg;\n\n scene.addImage(\"default\", defaultImg);\n scene.addImage(\"selected\", selectedImg);\n if (!province) {\n scene.addImage(\"chinaBg\", chinaPng);\n } else {\n scene.addImage(\"texture\", texturePng);\n }\n\n scene.on(\"loaded\", async () => {\n let data: FeatureCollection;\n let southSeaData: FeatureCollection;\n let matchedProvince: Area | undefined;\n let AreaList: Area[] | undefined;\n if (province) {\n const [CitiesImport, AreaListImport] = await Promise.all([\n import(\"./cities.json\"),\n import(\"./area-list.json\"),\n ]);\n const Cities = CitiesImport.default as unknown as FeatureCollection;\n AreaList = AreaListImport.default as unknown as Area[];\n matchedProvince = AreaList.find(\n (a) => a.level === \"province\" && a.name.includes(province)\n );\n\n if (!matchedProvince) {\n throw new Error(`没有找到省份:\"${province}\"`);\n }\n\n data = {\n type: \"FeatureCollection\",\n features: (Cities as FeatureCollection).features.filter(\n (f) => f.properties.province_adcode === matchedProvince.adcode\n ),\n };\n } else {\n const ChinaImport = await import(\"./map.json\");\n const CHINA = ChinaImport.default as unknown as FeatureCollection;\n data = {\n type: \"FeatureCollection\",\n features: (CHINA as unknown as FeatureCollection).features.slice(\n 0,\n CHINA.features.length - 2\n ),\n };\n southSeaData = {\n ...CHINA,\n features: CHINA.features.slice(\n CHINA.features.length - 2,\n CHINA.features.length\n ),\n };\n }\n\n const seventhPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n let labelDivideLng: number | undefined;\n // 根据坐标范围设置 3D 图层升起的高度\n let raisingHeightBase: number;\n if (province) {\n let top = Infinity;\n let left = Infinity;\n let bottom = -Infinity;\n let right = -Infinity;\n const points = data.features.flatMap(\n (f) =>\n f.geometry.coordinates.flat(\n f.geometry.type === \"MultiPolygon\" ? 2 : 1\n ) as Point[]\n );\n points.forEach(([lng, lat]) => {\n top = Math.min(top, lat);\n left = Math.min(left, lng);\n bottom = Math.max(bottom, lat);\n right = Math.max(right, lng);\n });\n const lngRange = right - left;\n const latRange = bottom - top;\n raisingHeightBase = Math.max(2000 * lngRange, 3000 * latRange);\n // 在经度范围的 3/4 处设置分界线,左边的文字向右排,右边的文字向左排\n labelDivideLng = left + (lngRange * 3) / 4;\n } else {\n raisingHeightBase = 100000;\n }\n\n seventhPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(84, 239, 241, 0.20)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -13 * raisingHeightBase,\n });\n\n const sixthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n sixthPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(14, 11, 75, 0.58)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -11 * raisingHeightBase,\n });\n\n const fifthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n fifthPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(190, 225, 226, 1)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -9 * raisingHeightBase,\n });\n const fourthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n fourthPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(18, 26, 45, 1)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -7 * raisingHeightBase,\n });\n\n const thirdPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n thirdPolygonLayer\n .shape(\"extrude\")\n .color(\"#111D3C\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -5 * raisingHeightBase,\n });\n const secondPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n secondPolygonLayer\n .shape(\"extrude\")\n .color(\"#121A2D\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -3 * raisingHeightBase,\n });\n\n const firstPolygonLayer = new PolygonLayer({\n autoFit: true,\n }).source(data);\n\n firstPolygonLayer.shape(\"fill\").color(\"rgba(8, 77, 255, 0.60)\");\n // .select({\n // color: \"rgba(177, 254, 254, 1)\",\n // });//编排上层缩放会影响到高亮功能,还不知道怎么解决,暂时不实现。\n\n let chinaImgLayer: ILayer | undefined;\n if (!province) {\n chinaImgLayer = new ImageLayer({\n autoFit: false,\n zIndex: 1,\n }).source(chinaPng, {\n parser: {\n type: \"image\",\n extent: [73.33, 17.9, 134.85, 53.73],\n },\n });\n\n chinaImgLayer.shape(\"img\").style({\n opacity: 1,\n });\n }\n\n const fourthLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(43, 100, 255, 1)\")\n .size(1)\n .style({\n raisingHeight: -16 * raisingHeightBase,\n });\n\n const thirdLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(84, 239, 241, 1)\")\n .size(1)\n .style({\n raisingHeight: -12 * raisingHeightBase,\n });\n\n const secondLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(43, 100, 255, 1)\")\n .size(1)\n .style({\n raisingHeight: -6 * raisingHeightBase,\n });\n\n const firstLineLayer = new LineLayer({ zIndex: 2 })\n .source(data)\n .shape(\"line\")\n .color(\"#3DC6FF\")\n .size(1)\n .style({\n raisingHeight: 0,\n })\n .scale(\"density\", {\n type: \"quantile\",\n });\n\n // const hightLayer = new LineLayer({\n // zIndex: 10, // 设置显示层级\n // name: \"hightlight\",\n // })\n // .source({\n // type: \"FeatureCollection\",\n // features: [],\n // })\n // .shape(\"line\")\n // .size(2)\n // .color(\"rgba(177, 254, 254, 1)\")\n // .style({\n // opacity: 1,\n // });\n // const hightPolygonLayer = new PolygonLayer({zIndex: 10})\n // .source({\n // type: \"FeatureCollection\",\n // features: [],\n // })\n // .shape(\"fill\")\n // .color(\"rgba(177, 254, 254, 1)\")\n // .style({\n // heightfixed: true,\n // pickLight: true,\n // opacity: 1,\n // raisingHeight: 0,\n // }); //自定义选择高亮\n\n scene.addLayer(seventhPolygonLayer);\n // scene.addLayer(sixthPolygonLayer);\n // scene.addLayer(fifthPolygonLayer);\n // // scene.addLayer(fourthPolygonLayer);\n // scene.addLayer(thirdPolygonLayer);\n scene.addLayer(secondPolygonLayer);\n if (chinaImgLayer) {\n scene.addLayer(chinaImgLayer);\n }\n // scene.addLayer(hightLayer);\n // scene.addLayer(hightPolygonLayer);\n scene.addLayer(firstPolygonLayer);\n\n scene.addLayer(fourthLineLayer);\n scene.addLayer(thirdLineLayer);\n scene.addLayer(secondLineLayer);\n scene.addLayer(firstLineLayer);\n\n // firstPolygonLayer.on(\"click\", (e) => {\n // const { feature } = e;\n // hightPolygonLayer.setData({\n // type: \"FeatureCollection\",\n // features: [feature],\n // });\n // hightLayer.setData({\n // type: \"FeatureCollection\",\n // features: [feature],\n // });\n // });\n\n if (!province) {\n const southSeaPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(southSeaData);\n\n southSeaPolygonLayer.shape(\"fill\").color(\"black\");\n\n const southSeaLineLayer = new LineLayer({ zIndex: 2 })\n .source(southSeaData)\n .shape(\"line\")\n .color(\"rgba(30, 144, 255, 1)\")\n .size(0.5)\n .style({\n raisingHeight: 0,\n })\n .scale(\"density\", {\n type: \"quantile\",\n });\n scene.addLayer(southSeaPolygonLayer);\n scene.addLayer(southSeaLineLayer);\n }\n\n dataSource.forEach((i) => {\n const el = document.createElement(\"div\");\n let classNameText = \"text\";\n el.textContent = i.text;\n let coord: Point;\n\n // 计算标签的排列方向,全国地图保持原有逻辑,省份地图根据经度所在比例自动适应排列方向\n if (!province) {\n const city = data.features.find((f) =>\n f.properties.name.includes(i.city)\n );\n if (!city) {\n return;\n }\n coord = city.properties.center;\n //先手动调整位置,缓解重叠的问题\n if (\n [\n \"410000\",\n \"820000\",\n \"140000\",\n \"110000\",\n \"420000\",\n \"430000\",\n \"450000\",\n \"500000\",\n \"520000\",\n \"530000\",\n \"510000\",\n \"610000\",\n \"640000\",\n \"150000\",\n \"630000\",\n \"540000\",\n \"340000\",\n ].includes(city.id)\n ) {\n classNameText = `${classNameText} leftText`;\n i.isLeftOffset = true;\n }\n if (\n [\n \"620000\",\n \"640000\",\n \"450000\",\n \"440000\",\n \"120000\",\n \"340000\",\n \"510000\",\n \"150000\",\n \"320000\",\n ].includes(city.id)\n ) {\n classNameText = `${classNameText} topText`;\n i.isTopOffset = true;\n }\n\n if (\n [\n \"530000\",\n \"520000\",\n \"430000\",\n \"360000\",\n \"330000\",\n \"610000\",\n \"370000\",\n \"130000\",\n ].includes(city.id)\n ) {\n coord[1] -= 1;\n }\n } else {\n const area = AreaList.find(\n (a) =>\n a.parent === matchedProvince.adcode && a.name.includes(i.city)\n );\n if (!area) {\n return;\n }\n coord = [area.lng, area.lat];\n if (area.lng > labelDivideLng) {\n classNameText = `${classNameText} leftText`;\n i.isLeftOffset = true;\n }\n }\n\n el.className = classNameText;\n\n el.onclick = (e) => {\n i.width = el.getBoundingClientRect().width;\n textClick(e, i);\n };\n\n const imgEl = document.createElement(\"img\");\n imgEl.src = defaultSvg;\n imgEl.className = \"iconImg\";\n\n const marker = new Marker({\n element: el,\n }).setLnglat({ lng: coord[0], lat: coord[1] });\n const imgMarker = new Marker({\n element: imgEl,\n }).setLnglat({ lng: coord[0], lat: coord[1] });\n scene.addMarker(marker);\n scene.addMarker(imgMarker);\n });\n\n setTimeout(() => {\n const bounds = scene.getBounds();\n // 进行适当平移和缩放,因为设置了倾角 pitch,地图默认没有铺满并居中\n scene.panTo([\n (bounds[0][0] + bounds[1][0]) / 2 + (province ? 0 : 1.6),\n (bounds[0][1] + bounds[1][1]) / 2 - (bounds[1][1] - bounds[0][1]) / 9,\n ]);\n if (province) {\n scene.setZoom(scene.getZoom() * 0.97);\n }\n\n // 省份贴图\n if (province) {\n const provinceImgLayer = new ImageLayer({\n autoFit: false,\n zIndex: 1,\n maskLayers: [firstPolygonLayer],\n }).source(texturePng, {\n parser: {\n type: \"image\",\n extent: [...bounds[0], ...bounds[1]],\n },\n });\n\n provinceImgLayer.shape(\"img\").style({\n opacity: 1,\n });\n scene.addLayer(provinceImgLayer);\n }\n });\n });\n\n return () => {\n scene.destroy();\n };\n }, []);\n\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (slotRef.current && e.composedPath().includes(slotRef.current)) return;\n setShowData(null);\n };\n document?.addEventListener(\"click\", handleClick);\n return () => {\n document?.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n showDataRef.current = cloneDeep(showData);\n onDetailOpenChange(!isEmpty(showData), showData);\n }, [showData]);\n return (\n <div\n style={\n fillContainer\n ? {\n height: \"100%\",\n transform: `scale(${scale ?? 1})`,\n }\n : null\n }\n >\n <div\n id=\"map\"\n ref={mapRef}\n className=\"map\"\n style={\n fillContainer\n ? {\n width: BASE_WIDTH,\n height: BASE_HEIGHT,\n }\n : null\n }\n ></div>\n {showData && (\n <div\n className=\"detailContent\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n style={{\n ...(showData.detailDisplayLocation === \"textBottom\"\n ? {\n left: textPosition.left,\n top: textPosition.top,\n transform: `translate(${showData.isLeftOffset ? -showData.width : 0}px, ${showData.isTopOffset ? -50 : -40}px)`,\n }\n : {\n transform: \"translate(-50%, 0%)\",\n top: \"50%\",\n left: \"50%\",\n }),\n ...detailContentStyle,\n }}\n >\n <slot name=\"detail\" ref={slotRef}></slot>\n </div>\n )}\n </div>\n );\n}\n"],"names":["___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","useContainerScale","_ref","width","baseWidth","height","baseHeight","root","maxScale","disabled","scale","setScale","useState","useEffect","observer","ResizeObserver","entries","entry","target","contentRect","Math","min","observe","disconnect","defineElement","property","event","createDecorators","BASE_WIDTH","BASE_HEIGHT","_ChinaMapChart","_A","WeakMap","_B","_C","_D","_E","_ChinaMapChart_brand","WeakSet","_handleOpenChange","ChinaMapChart","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_province","_init_extra_province","_init_dataSource","_init_extra_dataSource","_init_detailContentStyle","_init_extra_detailContentStyle","_init_fillContainer","_init_extra_fillContainer","_init_openChangeEvent","_init_extra_openChangeEvent","open","data","_classPrivateGetter","this","_get_openChangeEvent","emit","province","_classPrivateFieldGet","v","_classPrivateFieldSet","dataSource","detailContentStyle","fillContainer","render","React","ChinaMapChartComponent","onDetailOpenChange","props","mapRef","useRef","slotRef","showData","setShowData","showDataRef","textPosition","setTextPosition","scene","Scene","current","logoVisible","map","Map","pitch","zoom","setMapStatus","doubleClickZoom","zoomEnable","defaultImg","Image","src","defaultSvg","selectedImg","selectedSvg","addImage","texturePng","chinaPng","on","async","southSeaData","matchedProvince","AreaList","CitiesImport","AreaListImport","Promise","all","Cities","default","find","a","level","name","includes","Error","type","features","filter","f","properties","province_adcode","adcode","CHINA","slice","length","seventhPolygonLayer","PolygonLayer","autoFit","source","labelDivideLng","raisingHeightBase","top","Infinity","left","bottom","right","flatMap","geometry","coordinates","flat","forEach","lng","lat","max","lngRange","latRange","shape","color","style","heightfixed","pickLight","opacity","raisingHeight","secondPolygonLayer","firstPolygonLayer","chinaImgLayer","ImageLayer","zIndex","parser","extent","fourthLineLayer","LineLayer","size","thirdLineLayer","secondLineLayer","firstLineLayer","addLayer","southSeaPolygonLayer","southSeaLineLayer","i","el","document","createElement","coord","classNameText","textContent","text","area","parent","city","isLeftOffset","center","isTopOffset","className","onclick","e","getBoundingClientRect","textClick","stopPropagation","isEqual","toNumber","replace","imgEl","marker","Marker","element","setLnglat","imgMarker","addMarker","setTimeout","bounds","getBounds","panTo","setZoom","getZoom","provinceImgLayer","maskLayers","destroy","_document","handleClick","composedPath","addEventListener","_document2","removeEventListener","cloneDeep","isEmpty","transform","ref","onClick","detailDisplayLocation","_ChinaMapChart2","_set_openChangeEvent","c","_initClass","_applyDecs","styleTexts","styleText","attribute","Boolean","o","_","has","_checkInRHS"],"sourceRoot":""}
|