@next-bricks/data-view 0.3.1 → 0.4.1
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 +34 -2
- package/dist/chunks/1065.a58e6fc5.js +2 -0
- package/dist/chunks/1065.a58e6fc5.js.map +1 -0
- package/dist/chunks/1646.f9e1c73d.js +2 -0
- package/dist/chunks/1646.f9e1c73d.js.map +1 -0
- package/dist/chunks/2202.746b85c2.js +2 -0
- package/dist/chunks/2202.746b85c2.js.map +1 -0
- package/dist/chunks/2784.2de87a89.js +2 -0
- package/dist/chunks/2784.2de87a89.js.LICENSE.txt +9 -0
- package/dist/chunks/{3494.d359914f.js → 3494.db0f5bb4.js} +2 -2
- package/dist/chunks/{7822.4a63fdd3.js.map → 3494.db0f5bb4.js.map} +1 -1
- package/dist/chunks/{3914.738b0862.js → 3914.0bfee7ff.js} +2 -2
- package/dist/chunks/{3914.738b0862.js.map → 3914.0bfee7ff.js.map} +1 -1
- package/dist/chunks/{4717.ace78c3e.js → 4717.9fe94e34.js} +2 -2
- package/dist/chunks/{4717.ace78c3e.js.map → 4717.9fe94e34.js.map} +1 -1
- package/dist/chunks/4770.dd0cb00b.js +2 -0
- package/dist/chunks/4770.dd0cb00b.js.map +1 -0
- package/dist/chunks/{4791.3791c567.js → 4791.887754ed.js} +2 -2
- package/dist/chunks/{4791.3791c567.js.map → 4791.887754ed.js.map} +1 -1
- package/dist/chunks/5114.4bb7f544.js +2 -0
- package/dist/chunks/5114.4bb7f544.js.map +1 -0
- package/dist/chunks/{5151.f76b1f6a.js → 5151.0c83c1fc.js} +2 -2
- package/dist/chunks/{5151.f76b1f6a.js.map → 5151.0c83c1fc.js.map} +1 -1
- package/dist/chunks/{5202.3225e09f.js → 5202.301749b0.js} +2 -2
- package/dist/chunks/{5202.3225e09f.js.map → 5202.301749b0.js.map} +1 -1
- package/dist/chunks/{5636.6a5194f2.js → 5636.9120bddf.js} +2 -2
- package/dist/chunks/{5636.6a5194f2.js.map → 5636.9120bddf.js.map} +1 -1
- package/dist/chunks/{6205.ad762e76.js → 6205.1ca78240.js} +2 -2
- package/dist/chunks/{6205.ad762e76.js.map → 6205.1ca78240.js.map} +1 -1
- package/dist/chunks/6789.47cc0cb4.js +3 -0
- package/dist/chunks/6789.47cc0cb4.js.LICENSE.txt +11 -0
- package/dist/chunks/6789.47cc0cb4.js.map +1 -0
- package/dist/chunks/7110.7100a2ec.js +2 -0
- package/dist/chunks/7110.7100a2ec.js.map +1 -0
- package/dist/chunks/{7164.679a698f.js → 7164.099e46d8.js} +2 -2
- package/dist/chunks/{7164.679a698f.js.map → 7164.099e46d8.js.map} +1 -1
- package/dist/chunks/7746.a3f7665e.js +2 -0
- package/dist/chunks/7746.a3f7665e.js.map +1 -0
- package/dist/chunks/{7822.4a63fdd3.js → 7822.06e090f9.js} +2 -2
- package/dist/chunks/{3494.d359914f.js.map → 7822.06e090f9.js.map} +1 -1
- package/dist/chunks/{7915.f3e0ede9.js → 7915.0bf6d068.js} +2 -2
- package/dist/chunks/{7915.f3e0ede9.js.map → 7915.0bf6d068.js.map} +1 -1
- package/dist/chunks/{8008.a58de07d.js → 8008.00ab7560.js} +3 -3
- package/dist/chunks/{8008.a58de07d.js.map → 8008.00ab7560.js.map} +1 -1
- package/dist/chunks/8316.573c7eb8.js +2 -0
- package/dist/chunks/{react.48b8771a.js.LICENSE.txt → 8316.573c7eb8.js.LICENSE.txt} +0 -10
- package/dist/chunks/8326.aad48fda.js +2 -0
- package/dist/chunks/8326.aad48fda.js.map +1 -0
- package/dist/chunks/{9549.78bc7312.js → 9549.6ffa306f.js} +2 -2
- package/dist/chunks/{9549.78bc7312.js.map → 9549.6ffa306f.js.map} +1 -1
- package/dist/chunks/9598.5b4f402d.js +3 -0
- package/dist/chunks/9598.5b4f402d.js.LICENSE.txt +9 -0
- package/dist/chunks/9598.5b4f402d.js.map +1 -0
- package/dist/chunks/app-wall-card-item.1558a6a6.js +3 -0
- package/dist/chunks/app-wall-card-item.1558a6a6.js.map +1 -0
- package/dist/chunks/app-wall-relation-line.cfd9940e.js +3 -0
- package/dist/chunks/app-wall-relation-line.cfd9940e.js.map +1 -0
- package/dist/chunks/app-wall-system-card.8aa3df71.js +2 -0
- package/dist/chunks/app-wall-system-card.8aa3df71.js.map +1 -0
- package/dist/chunks/app-wall.f9c4c091.js +2 -0
- package/dist/chunks/app-wall.f9c4c091.js.map +1 -0
- package/dist/chunks/{battery-chart.658a3780.js → battery-chart.93cca2b2.js} +2 -2
- package/dist/chunks/{battery-chart.658a3780.js.map → battery-chart.93cca2b2.js.map} +1 -1
- package/dist/chunks/cabinet-app-layer.98eca353.js +3 -0
- package/dist/chunks/cabinet-app-layer.98eca353.js.map +1 -0
- package/dist/chunks/cabinet-button.0126c915.js +2 -0
- package/dist/chunks/cabinet-button.0126c915.js.map +1 -0
- package/dist/chunks/cabinet-container.52680afc.js +3 -0
- package/dist/chunks/cabinet-container.52680afc.js.map +1 -0
- package/dist/chunks/cabinet-graph.a166c053.js +2 -0
- package/dist/chunks/cabinet-graph.a166c053.js.map +1 -0
- package/dist/chunks/cabinet-node.888717db.js +3 -0
- package/dist/chunks/cabinet-node.888717db.js.map +1 -0
- package/dist/chunks/cabinet-thumbnail.00d41559.js +3 -0
- package/dist/chunks/cabinet-thumbnail.00d41559.js.LICENSE.txt +5 -0
- package/dist/chunks/cabinet-thumbnail.00d41559.js.map +1 -0
- package/dist/chunks/{complex-search.c4405533.js → complex-search.838a9599.js} +2 -2
- package/dist/chunks/{complex-search.c4405533.js.map → complex-search.838a9599.js.map} +1 -1
- package/dist/chunks/dropdown-menu.c903354d.js +3 -0
- package/dist/chunks/dropdown-menu.c903354d.js.LICENSE.txt +5 -0
- package/dist/chunks/dropdown-menu.c903354d.js.map +1 -0
- package/dist/chunks/graph-layout-grid.8e2c1fa8.js +2 -0
- package/dist/chunks/graph-layout-grid.8e2c1fa8.js.map +1 -0
- package/dist/chunks/graph-node.7acbac2d.js +2 -0
- package/dist/chunks/graph-node.7acbac2d.js.map +1 -0
- package/dist/chunks/graph-text.8177275a.js +2 -0
- package/dist/chunks/graph-text.8177275a.js.map +1 -0
- package/dist/chunks/grid-background.0acb596c.js +2 -0
- package/dist/chunks/grid-background.0acb596c.js.map +1 -0
- package/dist/chunks/loading-panel.757cf1ae.js +2 -0
- package/dist/chunks/loading-panel.757cf1ae.js.map +1 -0
- package/dist/chunks/main.4c8eaf8e.js +2 -0
- package/dist/chunks/main.4c8eaf8e.js.map +1 -0
- package/dist/chunks/modern-style-treemap.69ec70c8.js +2 -0
- package/dist/chunks/modern-style-treemap.69ec70c8.js.map +1 -0
- package/dist/images/17ea7260.png +0 -0
- package/dist/images/55a7b5bb.png +0 -0
- package/dist/images/7d6604a8.png +0 -0
- package/dist/images/946b4897.png +0 -0
- package/dist/index.eff429f8.js +2 -0
- package/dist/index.eff429f8.js.map +1 -0
- package/dist-types/app-wall/app-wall.d.ts +4 -0
- package/dist-types/app-wall/index.d.ts +46 -0
- package/dist-types/app-wall/index.spec.d.ts +1 -0
- package/dist-types/app-wall/interface.d.ts +71 -0
- package/dist-types/app-wall/mockData.d.ts +27 -0
- package/dist-types/app-wall/system-card/index.d.ts +1 -1
- package/dist-types/app-wall/utils.d.ts +90 -0
- package/dist-types/app-wall/utils.spec.d.ts +1 -0
- package/dist-types/bootstrap.d.ts +11 -0
- package/dist-types/cabinet/cabinet-app-layer/index.d.ts +32 -0
- package/dist-types/cabinet/cabinet-app-layer/index.spec.d.ts +1 -0
- package/dist-types/cabinet/cabinet-button/index.d.ts +24 -0
- package/dist-types/cabinet/cabinet-button/index.spec.d.ts +1 -0
- package/dist-types/cabinet/cabinet-container/index.d.ts +58 -0
- package/dist-types/cabinet/cabinet-container/index.spec.d.ts +1 -0
- package/dist-types/cabinet/cabinet-node/index.d.ts +40 -0
- package/dist-types/cabinet/cabinet-node/index.spec.d.ts +1 -0
- package/dist-types/cabinet/cabinet-thumbnail/index.d.ts +48 -0
- package/dist-types/cabinet/cabinet-thumbnail/index.spec.d.ts +1 -0
- package/dist-types/cabinet/index.d.ts +52 -0
- package/dist-types/cabinet/index.spec.d.ts +5 -0
- package/dist-types/dropdown-menu/index.d.ts +8 -0
- package/dist-types/graph/layout-grid/index.d.ts +52 -0
- package/dist-types/graph/layout-grid/index.spec.d.ts +1 -0
- package/dist-types/graph/node/index.d.ts +25 -0
- package/dist-types/graph/node/index.spec.d.ts +1 -0
- package/dist-types/graph/text/i18n.d.ts +12 -0
- package/dist-types/graph/text/index.d.ts +33 -0
- package/dist-types/graph/text/index.spec.d.ts +1 -0
- package/dist-types/grid-background/index.d.ts +45 -0
- package/dist-types/grid-background/index.spec.d.ts +1 -0
- package/package.json +5 -14
- package/dist/chunks/1646.840ff4cb.js +0 -2
- package/dist/chunks/1646.840ff4cb.js.map +0 -1
- package/dist/chunks/353.379af925.js +0 -2
- package/dist/chunks/353.379af925.js.map +0 -1
- package/dist/chunks/4512.a6f07874.js +0 -2
- package/dist/chunks/4512.a6f07874.js.map +0 -1
- package/dist/chunks/5746.0603bcc0.js +0 -3
- package/dist/chunks/5746.0603bcc0.js.map +0 -1
- package/dist/chunks/7244.7271f90a.js +0 -2
- package/dist/chunks/7244.7271f90a.js.map +0 -1
- package/dist/chunks/7746.ad47a983.js +0 -2
- package/dist/chunks/7746.ad47a983.js.map +0 -1
- package/dist/chunks/8196.667392f2.js +0 -2
- package/dist/chunks/8196.667392f2.js.map +0 -1
- package/dist/chunks/8843.dcd562e8.js +0 -3
- package/dist/chunks/8843.dcd562e8.js.LICENSE.txt +0 -19
- package/dist/chunks/8843.dcd562e8.js.map +0 -1
- package/dist/chunks/app-wall-card-item.74fb1221.js +0 -3
- package/dist/chunks/app-wall-card-item.74fb1221.js.map +0 -1
- package/dist/chunks/app-wall-relation-line.ff4dd4fc.js +0 -3
- package/dist/chunks/app-wall-relation-line.ff4dd4fc.js.map +0 -1
- package/dist/chunks/app-wall-system-card.331f8176.js +0 -3
- package/dist/chunks/app-wall-system-card.331f8176.js.map +0 -1
- package/dist/chunks/dropdown-menu.43f26f9a.js +0 -3
- package/dist/chunks/dropdown-menu.43f26f9a.js.map +0 -1
- package/dist/chunks/loading-panel.c495be3f.js +0 -2
- package/dist/chunks/loading-panel.c495be3f.js.map +0 -1
- package/dist/chunks/main.8488fbc4.js +0 -2
- package/dist/chunks/main.8488fbc4.js.map +0 -1
- package/dist/chunks/modern-style-treemap.8cfc03bf.js +0 -2
- package/dist/chunks/modern-style-treemap.8cfc03bf.js.map +0 -1
- package/dist/chunks/react.48b8771a.js +0 -2
- package/dist/index.710e5862.js +0 -2
- package/dist/index.710e5862.js.map +0 -1
- /package/dist/chunks/{8008.a58de07d.js.LICENSE.txt → 8008.00ab7560.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5746.0603bcc0.js.LICENSE.txt → app-wall-card-item.1558a6a6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{app-wall-card-item.74fb1221.js.LICENSE.txt → app-wall-relation-line.cfd9940e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{app-wall-relation-line.ff4dd4fc.js.LICENSE.txt → cabinet-app-layer.98eca353.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{app-wall-system-card.331f8176.js.LICENSE.txt → cabinet-container.52680afc.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{dropdown-menu.43f26f9a.js.LICENSE.txt → cabinet-node.888717db.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/5114.4bb7f544.js","mappings":"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","sources":["webpack:///./src/app-wall/utils.ts","webpack:///./src/app-wall/app-wall.tsx","webpack:///./src/app-wall/app-wall.shadow.css","webpack:///./src/app-wall/card-item/card-item.shadow.css","webpack:///./src/app-wall/relation-line/relation-line.shadow.css","webpack:///./src/app-wall/system-card/system-card.shadow.css","webpack:///./src/data-view-variables.shadow.css"],"sourcesContent":["import { Vector3, Object3D, Quaternion, Vector3Tuple, PerspectiveCamera } from \"three\";\nimport { CSS3DObject } from 'three/addons/renderers/CSS3DRenderer.js';\nimport \"./card-item/index.js\";\nimport \"./relation-line/index.js\";\nimport \"./system-card/index.js\";\nimport type { AppWallCardItemProps } from \"./card-item/index.js\";\nimport type { AppWallRelationLine, AppWallRelationLineProps } from \"./relation-line/index.js\";\nimport type { SystemCardProps } from \"./system-card/index.js\";\nimport { TrapezoidalObjectProps, TrapezoidalProps, bounds, CardSize, DistanceConfig, Position, Target,Ele } from \"./interface.js\";\nimport { CabinetThumbnail } from \"../cabinet/cabinet-thumbnail/index.jsx\";\n\n\nexport interface AppData {\n key: string;\n status: \"normal\" | \"warning\";\n cardItemProps: AppWallCardItemProps,\n systemCardProps: SystemCardProps,\n trapezoidalProps: TrapezoidalProps;\n}\n\nexport type Relation = {\n source: string;\n target: string;\n}\n\nexport interface UserData {\n appData: AppData,\n elementStyle: {\n width: number,\n height: number,\n },\n turningStyle: {\n width: number,\n height: number,\n },\n systemCardStyle: {\n width: number,\n height: number,\n },\n hoverStyle: {\n width: number,\n height: number,\n },\n cardItemObject3D: {\n curve: Object3D,\n flat: Object3D,\n hover: Object3D,\n clickTurn: Object3D,\n },\n systemCardObject3D: {\n clickTurn: Object3D,\n front: Object3D,\n }\n}\nexport const createRelationLine = (sourceVector: Vector3, targetVector: Vector3, lightColor: AppWallRelationLineProps[\"lightColor\"]): CSS3DObject => {\n const subVector = new Vector3().subVectors(targetVector, sourceVector);\n const lineLength = subVector.length();\n\n const lineElement = document.createElement('data-view.app-wall-relation-line') as AppWallRelationLine;\n lineElement.style.height = `${lineLength}px`;\n lineElement.classList.add(\"relation-line\");\n lineElement.lightColor = lightColor;\n const lineObject = new CSS3DObject(lineElement);\n\n const centerVector = new Vector3().lerpVectors(sourceVector, targetVector, 0.5);\n lineObject.position.copy(centerVector);\n // lineObject.lookAt(new Vector3(0, 0, 10).add(centerVector));\n // lineObject.lookAt(new Vector3(0, 10000, 0));\n\n const quaternion = new Quaternion().setFromUnitVectors(new Vector3(0, 1, 0).normalize(), subVector.clone().normalize());\n lineObject.setRotationFromQuaternion(quaternion);\n\n return lineObject;\n};\n\nexport const getCenterPointOrSubPoint = (start: Vector3Tuple, end: Vector3Tuple) => {\n const pointA = new Vector3(start[0], start[1], start[2]);\n const pointB = new Vector3(end[0], end[1], end[2]);\n return {\n centerVector: new Vector3().lerpVectors(pointA, pointB, 0.5), //中心点坐标\n subVector: new Vector3().subVectors(pointA, pointB) // a-b向量\n }\n}\nexport const createTrapezoidalRightOrLeftElement = (props: {\n BW: number;\n TW: number;\n d: number;\n TH: number;\n BH: number;\n isLeft: boolean\n}): CSS3DObject => {\n const { BW, TW, d, TH, BH, isLeft } = props;\n const height = Math.sqrt(Math.pow((TW / 2 - BW / 2), 2) + Math.pow(d, 2)); //斜边\n const wrapper = document.createElement(\"div\");\n wrapper.style.cssText = `\n width: ${height}px;\n height:${TH}px;\n position: relative;\n clip-path: polygon(0 0, ${height}px ${(TH / 2 - BH / 2)}px, ${height}px ${(TH / 2 - BH / 2) + BH}px, 0 ${TH}px);\n `;\n const cantCard = document.createElement(\"div\");\n cantCard.className = \"trapezoidalLeftOrRightAnimation\";\n wrapper.appendChild(cantCard);\n const start: Vector3Tuple = isLeft ? [-BW / 2, 0, 0] : [BW / 2, 0, 0];\n const end: Vector3Tuple = isLeft ? [-TW / 2, 0, d] : [TW / 2, 0, d];\n const objectCantModel = new CSS3DObject(wrapper);\n const { centerVector, subVector } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector);\n const quaternion = new Quaternion().setFromUnitVectors(new Vector3(1, 0, 0).normalize(), subVector.clone().normalize());\n objectCantModel.setRotationFromQuaternion(quaternion);\n return objectCantModel;\n}\n\nexport const createTrapezoidalTopOrBottomElement = (props: {\n BW: number;\n TW: number;\n d: number;\n TH: number;\n BH: number;\n isTop: boolean\n}): CSS3DObject => {\n const { BW, TW, d, TH, BH, isTop } = props;\n const height = Math.sqrt(Math.pow((TH / 2 - BH / 2), 2) + Math.pow(d, 2)); //斜边\n const wrapper = document.createElement(\"div\");\n wrapper.style.cssText = `\n width: ${TW}px;\n height:${height}px;\n position: relative;\n clip-path: polygon(0 0, ${TW}px 0, ${(TW / 2 - BW / 2) + BW}px ${height}px, ${TW / 2 - BW / 2}px ${height}px);\n `;\n const cantCard = document.createElement(\"div\");\n cantCard.className = \"trapezoidalTopOrBottomAnimation\";\n wrapper.appendChild(cantCard);\n const objectCantModel = new CSS3DObject(wrapper);\n const start: Vector3Tuple = isTop ? [0, -BH / 2, 0] : [0, BH / 2, 0];\n const end: Vector3Tuple = isTop ? [0, -TH / 2, d] : [0, TH / 2, d];\n const {\n centerVector,\n subVector\n } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector)\n const topQuaternion = new Quaternion().setFromUnitVectors(new Vector3(0, -1, 0).normalize(), subVector.clone().normalize());\n objectCantModel.setRotationFromQuaternion(topQuaternion);\n return objectCantModel;\n}\n/**\n * 创建梯台模型\n * @param props\n * @returns\n */\nexport const createTrapezoidalObject = (props: TrapezoidalObjectProps) => {\n const { objectData, leftBtnName, clusters, columns, leftOnClick, rightBtnName, rightOnClick,appName } = props;\n const d = 600;\n const container = document.createElement('div');\n const objectContainer = new CSS3DObject(container);\n objectContainer.position.set(...objectData.point);\n // 模型为梯形 , 底部和顶部的宽高成一定的比例计算, bw: tw = 1:11; bh:th= 1:4.5\n const BW: number = objectData.width, BH: number = objectData.height, TW: number = 1500, TH: number = 1200;\n // 底部\n const bottomCard = document.createElement('div');\n bottomCard.style.cssText = `\n width: ${BW}px;\n height: ${BH}px;\n box-shadow: inset 0px 1px 2px 0px rgba(255,255,255,0.45);\n border: 1px solid rgba(118,255,255,0.58);\n padding: 16px;\n `\n const objectBottomModel = new CSS3DObject(bottomCard);\n objectBottomModel.position.z = 0;\n objectContainer.add(objectBottomModel);\n\n // 顶部\n const topCard = document.createElement('div');\n topCard.style.cssText = `\n width: ${TW}px;\n height:${TH}px;\n background: linear-gradient(rgb(13, 54, 179,0.6) 0%, rgb(74, 108, 156,0.6) 100%);\n box-sizing: border-box;\n padding: 16px;\n `;\n const thumbnailEle = document.createElement(\"data-view.cabinet-thumbnail\") as CabinetThumbnail;\n thumbnailEle.clusters = clusters ?? [];\n thumbnailEle.columns = columns ?? 4;\n thumbnailEle.appName = appName;\n topCard.className = \"visibilityAnimate\";\n topCard.appendChild(thumbnailEle);\n const objectTopModel = new CSS3DObject(topCard);\n objectTopModel.position.set(0, 0, d);\n\n const objectCantLeftModel = createTrapezoidalRightOrLeftElement({\n BW, TW, BH, TH, d, isLeft: true\n }); //斜面右边\n const objectCantRightModel = createTrapezoidalRightOrLeftElement({\n BW, TW, BH, TH, d, isLeft: false\n }); //斜面右边\n const objectCantTopModel = createTrapezoidalTopOrBottomElement({\n BW, TW, BH, TH, d, isTop: true\n }); //斜面前边\n const objectCantBottomModel = createTrapezoidalTopOrBottomElement({\n BW, TW, BH, TH, d, isTop: false\n }); //斜面后面\n objectContainer.add(objectCantLeftModel, objectCantRightModel, objectCantBottomModel, objectCantTopModel)\n if (leftBtnName) {\n const btnLeft = document.createElement(\"div\");\n btnLeft.style.cssText = `\n color: #6BE0FA;\n font-size: 16px;\n font-weight: 500;\n width: ${TW / 2}px;\n line-height: 16px;\n `;\n btnLeft.className = \"visibilityAnimate\";\n const wordNode = document.createElement(\"span\");\n wordNode.style.cursor = \"pointer\";\n wordNode.innerText = leftBtnName;\n btnLeft.appendChild(wordNode);\n const btnLeftObject = new CSS3DObject(btnLeft);\n btnLeftObject.position.set(-TW / 4 + 10, -TH / 2, 14);\n btnLeftObject.rotateX(Math.PI / 2);\n objectTopModel.add(btnLeftObject);\n wordNode.onclick = leftOnClick;\n }\n if (rightBtnName) {\n const btnRight = document.createElement(\"div\");\n btnRight.style.cssText = `\n color: #FFFFFF;\n font-size: 20px;\n font-weight: 500;\n width: ${TW / 2}px;\n text-shadow: 0px 1px 4px #3366FF;\n text-align: right;\n `;\n btnRight.className = \"visibilityAnimate\";\n const textNode = document.createElement(\"span\");\n textNode.style.cursor = \"pointer\";\n textNode.innerText = rightBtnName;\n\n\n btnRight.appendChild(textNode);\n const btnRightObject = new CSS3DObject(btnRight);\n btnRightObject.position.set(TW / 4 - 10, -TH / 2, 14);\n btnRightObject.rotateX(Math.PI / 2);\n objectTopModel.add(btnRightObject);\n textNode.onclick = rightOnClick\n }\n objectContainer.add(objectTopModel);\n return objectContainer;\n}\n/**\n * 布局计算\n * @param dataSource\n * @param maxX\n * @param maxY\n * @returns\n */\nexport const setAppPosition = (dataSource: AppData[], maxX: number, maxY: number) => {\n if (!dataSource?.length) return [];\n let appData: Target[] = dataSource.map(d => ({ ...d, x: 0, y: 0 }));\n if (appData.length === maxX * maxY) {\n appData = appData.map((d, i) => ({\n ...d,\n x: i % maxX + 1,\n y: parseInt(`${i / maxX}`) + 1\n }));\n } else {\n const offset = maxX * (maxY - 1);\n const leng = appData.length - offset;\n for (let d = 0; d < offset; d++) {\n const u = appData[d];\n u.x = d % maxX + 1;\n u.y = parseInt(`${d / maxX}`) + 1\n }\n for (let h = 0; h < leng / 2; h++) {\n const g = appData[h + offset],\n m = appData[appData.length - 1 - h];\n g.x = h + 1;\n g.y = maxY;\n if (g !== m) {\n m.x = maxX - h;\n m.y = maxY\n }\n }\n }\n return appData\n}\nexport const createTableTarget = (data: Target, cardSize: CardSize, maxX: number, maxY: number) => {\n const object3D = new Object3D();\n object3D.position.x = data.x * cardSize.outerWidth - (maxX / 2 + .5) * cardSize.outerWidth\n object3D.position.y = -data.y * cardSize.outerHeight + (maxY / 2 + .5) * cardSize.outerHeight\n return object3D\n}\nexport const createCurveTarget = (data: Target, cardSize: CardSize, maxX: number, maxY: number, angle: number, radius: number) => {\n const object3D = new Object3D();\n const vector = new Vector3();\n const position = computeCurvePosition(data, cardSize, maxX, maxY, angle);\n object3D.position.x = position.x;\n object3D.position.y = position.y;\n object3D.position.z = position.z;\n vector.x = 0;\n vector.y = object3D.position.y;\n vector.z = radius;\n object3D.lookAt(vector)\n return object3D\n}\nexport const computeCurvePosition = (data: Target, cardSize: CardSize, maxX: number, maxY: number, angle: number) => {\n const position: Position = {\n x: 0, y: 0, z: 0\n },\n n = parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI),\n a = maxX / 2 + .5;\n position.x = n * Math.sin(Math.PI / (180 / ((data.x - a) * (angle / maxX))));\n position.y = -data.y * cardSize\n .outerHeight + (maxY / 2 + .5) * cardSize.outerHeight;\n position.z = n - Math.sqrt(n * n - position.x * position.x);\n return position\n}\nexport const computeCameraDistance = (camera: PerspectiveCamera, bounds: bounds, distanceConfig: DistanceConfig[], length: number) => {\n let n = bounds.height + 2 * bounds.margin,\n a = (bounds.width + 2 * bounds.margin) / camera.aspect,\n i = .5 * Math.max(a, n) / Math.tan(camera.fov * Math.PI / 360) + bounds.z,\n o = 0;\n distanceConfig.forEach(function (t) {\n length >= Math.min.apply(null, t.numRange) && length < Math.max.apply(null, t.numRange) && (o = t\n .distance)\n })\n if (o > 0) return Math.max(o, i);\n const s = 200 * Math.ceil((length - 160) / 40) + 3200;\n return Math.max(s, i)\n\n}\nexport const getAppRelations = (object: CSS3DObject, relationsData: Relation[]) => {\n const relations: Relation[] = [];\n const userData = object.userData;\n Array.isArray(relationsData) && relationsData.length && relationsData.forEach(function (i) {\n userData.key !== i.source && userData.key !== i.target || relations.push(i)\n });\n return relations\n}\nexport const findElementByEvent= (e: MouseEvent) => {\n const path = (e.composedPath() as Element[]).find(node => node?.shadowRoot)as Ele;\n if (path?.tagName === 'DATA-VIEW.APP-WALL-CARD-ITEM') return path\n const customEle = document.elementFromPoint(e.clientX, e.clientY)\n const target = customEle?.shadowRoot.elementFromPoint(e.clientX, e.clientY) as Ele;\n if (target?.tagName === 'DATA-VIEW.APP-WALL-CARD-ITEM') return target\n return null\n}\n","/* istanbul ignore next */\nimport React, { ReactElement, useCallback, useEffect, useRef, useState } from \"react\";\nimport { MathUtils, Object3D, PerspectiveCamera, Scene } from \"three\";\nimport { CSS3DObject, CSS3DRenderer } from 'three/addons/renderers/CSS3DRenderer.js';\nimport { TrackballControls } from 'three/addons/controls/TrackballControls.js';\nimport TWEEN, { Tween, Easing } from \"@tweenjs/tween.js\";\nimport type { AppWallProps } from \"./index.jsx\";\nimport { BaseConfig, CardSize, DistanceConfig, Ele, Position, RegisterEvents, Target, Targets } from \"./interface.js\";\nimport { AppData, computeCameraDistance, createCurveTarget, createTableTarget, createTrapezoidalObject, setAppPosition, createRelationLine, getAppRelations, findElementByEvent } from \"./utils.js\";\nimport { AppWallCardItem } from \"./card-item/index.jsx\";\nimport \"./card-item/index.js\";\nimport { SystemCard, SystemCardProps } from \"./system-card/index.jsx\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\n\n\nconst table = Array.from({\n length: 262\n}).map((v, i) => ({\n key: `${i}`,\n shortName: `shortName-${i}`,\n status: i % 5 ? 'normal' : 'warning',\n cardItemProps: {\n cardTitle: 'cardTitle',\n description: 'description'\n },\n systemCardProps: {\n cardTitle: 'cardTitle',\n description: 'description'\n },\n trapezoidalProps: {\n leftBtnName: 'leftBtnName',\n rightBtnName: 'rightBtnName',\n clusters: Array.from({\n length: 3\n }).map((c, j) => ({\n title: `${j}集群容器`,\n type: j % 2 ? 'host' : 'k8s',\n data: Array.from({\n length: 100\n }).map(p => ({\n type: 'physical-machine',\n nodeTitle: '255.255.255',\n }))\n }))\n }\n})) as any as AppData[];\nconst cardSize: CardSize = {\n width: 120,\n height: 160,\n outerWidth: 140,\n outerHeight: 180,\n lgWidth: 180,\n lgHeight: 240\n};\nconst distanceConfig: DistanceConfig[] = [{\n numRange: [0, 40],\n distance: 3000\n}, {\n numRange: [40, 60],\n distance: 2200\n}, {\n numRange: [60, 80],\n distance: 2700\n}, {\n numRange: [80, 120],\n distance: 3200\n}, {\n numRange: [120, 160],\n distance: 3400\n}, {\n numRange: [160, 300],\n distance: 3600\n}];\nconst fov = 45;\nconst angle = 100;\nconst panelSpace = 300;\n\nconst getViewBounds = (length: number) => {\n const maxX = Math.ceil(Math.sqrt(length * cardSize.outerHeight / (.4 * cardSize.outerWidth)));\n const maxY = Math.ceil(length / maxX);\n const radius = parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI);\n const width = 2 * radius * Math.sin(Math.PI * (angle / 2) / 180) + cardSize.outerWidth;\n const height = maxY * cardSize.outerHeight;\n const z = radius - radius * Math.cos(Math.PI * (angle / 2) / 180);\n return {\n maxX,\n maxY,\n radius,\n bounds: {\n width,\n height,\n margin: 100,\n z\n }\n };\n};\n\n\nconst WrappedSystemCard = wrapBrick<SystemCard, SystemCardProps>(\n \"data-view.app-wall-system-card\"\n);\n\nexport function AppWallElement(props: AppWallProps): ReactElement {\n const { relations, onSystemCardButtonClick, useDblclick, handleCardDbClick, rightBtnOnClick, leftBtnOnClick } = props;\n const [curClickCardItemAppData, setCurClickCardItemAppData] = useState<AppData>(null);\n // props.dataSource=table;\n\n const containerRef = useRef<HTMLDivElement>();\n const appwallRef = useRef<HTMLDivElement>();\n const closeBtnRef = useRef<HTMLDivElement>()\n const maskRef = useRef<HTMLDivElement>();\n const systemCardRef = useRef<SystemCard>();\n\n\n const rendererRef = useRef<CSS3DRenderer>();\n const sceneRef = useRef<Scene>();\n const cameraRef = useRef<PerspectiveCamera>();\n const controlsRef = useRef<TrackballControls>();\n const graph3DViewRef = useRef<CSS3DObject>(); // 梯形模型\n const targetsRef = useRef<Targets>({\n table: [],\n curve: []\n });\n const objectsRef = useRef<CSS3DObject[]>([]);\n const lineCiCodesRef = useRef<CSS3DObject[]>([]);\n\n const configRef = useRef<BaseConfig>({\n maxX: 0,\n maxY: 0,\n radius: 0,\n bounds: {\n width: 0,\n height: 0,\n margin: 100,\n z: 0\n }\n });\n const registerEvents = useRef<RegisterEvents>({\n element: null,\n mouseoverTimer: null,\n mouseoutTimer: null,\n clickTimer: null,\n dblClickTimer: null,\n isShowGraph3D: false,\n isShowAppInfo: false,\n isShowRelations: false,\n enable: true, //是否可以触发事件\n })\n\n const render = useCallback(() => {\n rendererRef.current.render(sceneRef.current, cameraRef.current);\n }, []);\n\n const updateViewBounds = (length: number) => {\n configRef.current = getViewBounds(length)\n };\n\n const init = () => {\n const width = window.innerWidth;\n const height = window.innerHeight;\n const aspect = width / height;\n\n const renderer = new CSS3DRenderer();\n renderer.setSize(width, height);\n appwallRef.current.replaceChildren(renderer.domElement)\n\n const camera = new PerspectiveCamera(fov, aspect, .1, 10000);\n\n const controls = new TrackballControls(camera, renderer.domElement);\n controls.rotateSpeed = .5;\n controls.minDistance = 500;\n controls.maxDistance = 10000;\n const scene = new Scene();\n\n sceneRef.current = scene;\n cameraRef.current = camera;\n controlsRef.current = controls;\n rendererRef.current = renderer\n };\n\n const createView = (table: Target[]) => {\n table.forEach((data, i) => {\n const element = document.createElement(\n \"data-view.app-wall-card-item\"\n ) as AppWallCardItem & Ele;\n element.status = data.status;\n element.cardTitle = data.cardItemProps?.cardTitle;\n element.description = data.cardItemProps?.description;\n const statusClass = `status-${data?.status || 'normal'}`\n element.className = `card-item-container ${statusClass}`;\n element.style.width = `${cardSize.width}px`\n element.style.height = `${cardSize.height}px`\n element.classList.add(\"card-item-wrap\");\n // 随机进入\n const objectCSS = new CSS3DObject(element);\n objectCSS.position.set(4e3 * Math.random() - 2e3, 4e3 * Math.random() - 2e3, 4e3 * Math.random() - 2e3);\n\n sceneRef.current.add(objectCSS);\n objectsRef.current.push(objectCSS);\n\n const table = createTableTarget(data, cardSize, configRef.current.maxX, configRef.current.maxY);\n targetsRef.current.table.push(table)\n const curve = createCurveTarget(data, cardSize, configRef.current.maxX, configRef.current.maxY, angle, configRef.current.radius)\n targetsRef.current.curve.push(curve);\n\n objectCSS.userData = data;\n element.__objectCSS = objectCSS;\n element.__userData = data;\n element.__curve = curve;\n })\n }\n\n const createRelationLines = (object: CSS3DObject) => {\n const curRelations = getAppRelations(object, relations);\n const userData = object.userData;\n let lineObject: CSS3DObject, lineTarget: CSS3DObject;\n curRelations?.forEach(relation => {\n if (relation.source === userData.key) {\n //获取目标target CSS3DObject\n lineTarget = objectsRef.current.find(o => o.userData.key === relation.target);\n lineObject = lineTarget && createRelationLine(object.position, lineTarget.position, \"blue\");\n } else {\n lineTarget = objectsRef.current.find(o => o.userData.key === relation.source);\n lineObject = lineTarget && createRelationLine(lineTarget.position, object.position, \"purple\");\n }\n if (!lineObject) return;\n lineCiCodesRef.current.push(lineObject);\n sceneRef.current.add(lineObject);\n });\n objectsRef.current?.forEach(item => {\n if (object != item && curRelations.every(r => r.source != item.userData.key && r.target != item.userData.key)) {\n item.element.style.opacity = '0.2'\n }\n })\n }\n\n const showElementBetweenRelation = (target: Ele) => {\n const { __objectCSS, __userData } = target\n const position: Position = {\n x: __objectCSS.position.x + 50 * Math.sin(__objectCSS.rotation.y),\n y: __objectCSS.position.y,\n z: __objectCSS.position.z + 100 * Math.cos(__objectCSS.rotation.y)\n }\n const scale = 1.2;\n new Tween(__objectCSS.rotation).to({\n x: 0,\n y: 0,\n z: 0\n }, 300).onStart(() => {\n __objectCSS.element.classList.add(`status-${__userData.status || 'normal'}-card`);\n registerEvents.current.isShowRelations = true;\n }).start();\n new Tween(__objectCSS.scale).to({\n x: scale,\n y: scale,\n z: scale\n }, 300).start();\n new Tween(__objectCSS.position).to(position, 300).onUpdate(render)\n .onComplete(function () {\n //创建连线\n createRelationLines(__objectCSS);\n render()\n registerEvents.current.element = target;\n }).start()\n }\n\n const restoreElementState = (onComplete?: (ele?: Ele) => void) => {\n if (!registerEvents.current?.element) return onComplete?.();\n const { __objectCSS, __curve: object3d, __userData } = registerEvents.current?.element\n new Tween(__objectCSS.rotation).to({\n x: object3d.rotation.x,\n y: object3d.rotation.y,\n z: object3d.rotation.z\n }, 300).start();\n new Tween(__objectCSS.scale).to({\n x: 1,\n y: 1,\n z: 1\n }, 300).start();\n new Tween(__objectCSS.position).to({\n x: object3d.position.x,\n y: object3d.position.y,\n z: object3d.position.z\n }, 300).onUpdate(render).onStart(() => {\n __objectCSS.element.classList.remove(`status-${__userData.status || 'normal'}-card`);\n objectsRef.current?.forEach(item => {\n item.element.style.opacity = '1';\n })\n lineCiCodesRef.current.forEach((lineObject) => {\n sceneRef.current.remove(lineObject);\n });\n lineCiCodesRef.current = []\n render()\n }).onComplete(() => {\n registerEvents.current.isShowRelations = false;\n onComplete?.(registerEvents.current?.element)\n }).start()\n }\n\n const transform = (targets: Object3D[], duration: number) => {\n // const preEnable=registerEvents.current.enable\n registerEvents.current.enable = false;\n for (let i = 0; i < objectsRef.current.length; i++) {\n const object = objectsRef.current[i];\n const target = targets[i];\n\n new Tween(object.position)\n .to({\n x: target.position.x,\n y: target.position.y,\n z: target.position.z\n }, MathUtils.randFloat(duration, duration * 2))\n .easing(Easing.Exponential.InOut)\n .start();\n\n new Tween(object.rotation)\n .to({\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z\n }, MathUtils.randFloat(duration, duration * 2))\n .easing(Easing.Exponential.InOut)\n .start();\n }\n\n new Tween({})\n .to({}, duration * 2)\n .onUpdate(render)\n .start().onComplete(() => {\n registerEvents.current.enable = true;\n });\n }\n\n const handeReset = () => {\n TWEEN.removeAll();\n const o = {\n opacity: 1\n },\n e = new Tween({\n z: 0\n }),\n n = new Tween(o),\n a = new Tween(cameraRef.current.position),\n i = new Tween(controlsRef.current.target),\n r = new Tween({\n blur: 1500,\n spread: 100\n });\n e.to({\n z: panelSpace\n }, 1e3).chain(a, i, r);\n n.to({\n opacity: 0\n }, 1e3).onStart(() => {\n sceneRef.current.remove(graph3DViewRef.current);\n closeBtnRef.current.style.visibility = \"hidden\";\n\n }).delay(300);\n\n a.to(controlsRef.current.position0, 1e3)\n .onComplete(function () {\n controlsRef.current.reset();\n appwallRef.current.classList.remove('mask-container')\n transform(targetsRef.current.curve, 600)\n registerEvents.current.isShowGraph3D = false;\n });\n i.to({\n x: 0,\n y: 0,\n z: 0\n }, 1e3);\n r.to({\n blur: 0,\n spread: 0\n }, 1e3)\n e.start()\n n.start()\n }\n const showAppInfoAnimate = (toggle: boolean) => {\n controlsRef.current.reset();\n const object = registerEvents.current.element.__objectCSS;\n const target = registerEvents.current.element.__curve;\n registerEvents.current.enable = false\n registerEvents.current.isShowAppInfo = true\n //定义四个位置\n const c = {\n x: target.position.x > 0 ? 2 * -cardSize.width : 2 * cardSize.width,\n y: 0,\n z: (cameraRef.current.position.z - 500) / 1.5\n };\n const p = {\n x: 0,\n y: 0,\n z: cameraRef.current.position.z - 500\n }\n const h = {\n x: 0,\n y: target.rotation.y > 0 ? -Math.PI * 90 / 180 : Math.PI * 90 / 180,\n z: 0\n }\n const d = {\n x: 0,\n y: target.rotation.y > 0 ? -Math.PI * 180 / 180 : Math.PI * 180 / 180,\n z: 0\n };\n const i = new Tween(object.position);\n const r = new Tween(object.rotation);\n const o = new Tween(object.position);\n const s = new Tween(object.rotation);\n if (toggle) {\n //收\n i.to(c, 500).easing().onStart(function () {\n\n }).onComplete(() => {\n systemCardRef.current.hidden = true\n registerEvents.current.element.style.opacity = '1';\n });\n r.to(h, 500).easing()\n o.to({\n x: target.position.x,\n y: target.position.y,\n z: target.position.z\n }, 700).easing();\n s.to({\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z\n }, 700).easing().onComplete(() => {\n objectsRef.current?.forEach(item => {\n item.element.style.opacity = '1';\n });\n })\n } else {\n //出\n objectsRef.current?.forEach(item => {\n if (object != item) {\n item.element.style.opacity = '0.2';\n }\n });\n i.to(c, 700).easing().onStart(() => {\n //为了飞出去的途中,不能在点击其他的卡片飞出来\n maskRef.current.hidden = false;\n systemCardRef.current.hidden = true;\n });\n r.to(h, 700).easing();\n o.to(p, 500).easing().onStart(function () {\n registerEvents.current.element.style.opacity = '0';\n systemCardRef.current.style.transition = 'transition: all .3s ease';\n systemCardRef.current.hidden = false;\n })\n s.to(d, 500).easing()\n }\n i.chain(o).start();\n r.chain(s).start();\n new Tween({}).to({}, 1400).onUpdate(() => {\n render()\n if (Math.abs(object.rotation.y) >= Math.PI / 2) {\n const rect = registerEvents.current.element.getBoundingClientRect();\n systemCardRef.current.style.width = `${rect.width}px`\n systemCardRef.current.style.height = `${rect.height}px`;\n systemCardRef.current.style.top = `${rect.top}px`;\n systemCardRef.current.style.left = `${rect.left}px`;\n }\n }).start().onComplete(function () {\n registerEvents.current.enable = true;\n registerEvents.current.isShowAppInfo = !toggle;\n maskRef.current.hidden = toggle\n })\n }\n\n const resetView = () => {\n controlsRef.current.reset();\n TWEEN.removeAll();\n objectsRef.current.map(o => {\n sceneRef.current.remove(o);\n });\n objectsRef.current = [];\n targetsRef.current = {\n table: [],\n curve: []\n };\n //重置交互状态\n registerEvents.current = {\n element: null,\n mouseoverTimer: null,\n mouseoutTimer: null,\n clickTimer: null,\n dblClickTimer: null,\n enable: true,\n isShowAppInfo: false,\n isShowGraph3D: false,\n isShowRelations: false\n }\n }\n\n useEffect(() => {\n init();\n let cancel: number;\n const animate = () => {\n cancel = requestAnimationFrame(animate);\n TWEEN.update();\n controlsRef.current.update();\n }\n animate();\n\n const onWindowResize = () => {\n cameraRef.current.aspect = window.innerWidth / window.innerHeight;\n cameraRef.current.updateProjectionMatrix();\n rendererRef.current.setSize(window.innerWidth, window.innerHeight);\n render();\n };\n\n controlsRef.current.addEventListener('change', render);\n window.addEventListener('resize', onWindowResize);\n\n return () => {\n window.removeEventListener('resize', onWindowResize);\n controlsRef.current.removeEventListener('change', render);\n controlsRef.current.dispose();\n TWEEN.removeAll();\n cameraRef.current.clear();\n sceneRef.current.clear();\n cancelAnimationFrame(cancel);\n }\n }, [])\n\n useEffect(() => {\n const length = props.dataSource?.length || 0;\n updateViewBounds(length);\n cameraRef.current.position.z = computeCameraDistance(cameraRef.current, configRef.current.bounds, distanceConfig, length);\n cameraRef.current.updateProjectionMatrix();\n controlsRef.current.position0.copy(cameraRef.current.position);\n\n const appData = setAppPosition(props.dataSource, configRef.current.maxX, configRef.current.maxY);\n createView(appData);\n transform(targetsRef.current.curve, 1000);\n\n return () => {\n resetView();\n }\n }, [props.dataSource]);\n\n useEffect(() => {\n const container = containerRef.current;\n const handleMouseover = (e: MouseEvent) => {\n if (registerEvents.current.isShowAppInfo || registerEvents.current.isShowGraph3D || !registerEvents.current.enable) return false;\n const target = findElementByEvent(e);\n clearTimeout(registerEvents.current.mouseoverTimer)\n registerEvents.current.mouseoverTimer = window.setTimeout(() => {\n restoreElementState(() => {\n target && !registerEvents.current.isShowRelations && showElementBetweenRelation(target);\n })\n }, 500);\n }\n const handleClick = (e: MouseEvent) => {\n if (registerEvents.current.isShowAppInfo || registerEvents.current.isShowGraph3D || !registerEvents.current.enable) return false;\n restoreElementState();\n clearTimeout(registerEvents.current.clickTimer), clearTimeout(registerEvents.current.mouseoverTimer);\n registerEvents.current.clickTimer = window.setTimeout(function () {\n const target = findElementByEvent(e)\n if (target) {\n (clearTimeout(registerEvents.current.mouseoverTimer))\n e.stopPropagation();\n registerEvents.current.element = target;\n setCurClickCardItemAppData(target.__userData)\n showAppInfoAnimate(false)\n }\n }, 300)\n\n }\n const handleDbClick = (e: MouseEvent) => {\n if (registerEvents.current.isShowAppInfo || registerEvents.current.isShowGraph3D || !registerEvents.current.enable) return false;\n const target = findElementByEvent(e);\n const { __userData, __objectCSS } = target\n clearTimeout(registerEvents.current.clickTimer), clearTimeout(registerEvents.current.mouseoverTimer), clearTimeout(registerEvents.current.dblClickTimer);\n restoreElementState();\n if (useDblclick || __userData.trapezoidalProps?.clusters?.length < 1) {\n registerEvents.current.dblClickTimer = window.setTimeout(function () {\n handleCardDbClick(__userData)\n }, 300)\n } else {\n registerEvents.current.isShowGraph3D = true;\n registerEvents.current.dblClickTimer = window.setTimeout(function () {\n if (target) {\n (clearTimeout(registerEvents.current.mouseoverTimer), clearTimeout(registerEvents.current.clickTimer));\n appwallRef.current.classList.add('mask-container')\n controlsRef.current.reset();\n const basePosition = {\n opacity: 0,\n scale: 0,\n borderLeftWidth: 0,\n borderRightWidth: 0,\n borderTopWidth: 0,\n borderBottomWidth: 0\n }\n const u = {\n x: __objectCSS.position.x,\n y: 860 + cardSize.height * (configRef.current.maxY - __userData.y)\n }\n const n = new Tween(cameraRef.current.position);\n const a = new Tween(basePosition);\n const i = new Tween({\n z: 0\n })\n const r = new Tween(cameraRef.current.position);\n const o = new Tween(controlsRef.current.target);\n const s = new Tween({\n blur: 12,\n spread: 0\n });\n transform(targetsRef.current.table, 600)\n n.to({\n x: 0,\n y: -3600,\n z: 1600\n }, 1e3).chain(s, a, i);\n a.to({\n opacity: 1\n }, 700).onStart(() => {\n const objectContainer = createTrapezoidalObject({\n objectData: {\n width: cardSize.width,\n height: cardSize.height,\n point: [__objectCSS.position.x, __objectCSS.position.y, __objectCSS.position.z]\n },\n clusters: __userData.trapezoidalProps?.clusters,\n columns: __userData.trapezoidalProps?.columns,\n appName: __userData.trapezoidalProps?.appName,\n leftBtnName: __userData.trapezoidalProps?.leftBtnName,\n rightBtnName: __userData.trapezoidalProps?.rightBtnName,\n rightOnClick: () => rightBtnOnClick(__userData),\n leftOnClick: () => leftBtnOnClick(__userData)\n });\n graph3DViewRef.current = objectContainer;\n sceneRef.current.add(objectContainer)\n })\n i.to({\n z: panelSpace\n }, 1e3).delay(230).chain(r, o);\n\n r.to({\n x: u.x,\n y: -3600 + u.y\n }, 1e3);\n o.to({\n x: u.x,\n y: u.y\n }, 1e3).onComplete(function () {\n closeBtnRef.current.style.visibility = \"visible\";\n })\n n.start()\n }\n }, 300)\n }\n\n\n }\n\n container.addEventListener('dblclick', handleDbClick)\n container.addEventListener('click', handleClick)\n container.addEventListener('mouseover', handleMouseover)\n return () => {\n container.removeEventListener('mouseover', handleMouseover)\n container.removeEventListener('click', handleClick)\n container.removeEventListener('dblclick', handleDbClick)\n }\n }, [])\n\n return (\n <div className=\"appwall-container\" ref={containerRef} >\n <div className=\"appwall\" ref={appwallRef} ></div>\n <div className=\"mask\" ref={maskRef} onClick={() => {\n registerEvents.current.enable && showAppInfoAnimate(true)\n }} hidden={true} >\n <WrappedSystemCard\n {...curClickCardItemAppData?.systemCardProps}\n onClick={(e) => e.stopPropagation()}\n handleClick={() => onSystemCardButtonClick(curClickCardItemAppData)}\n ref={systemCardRef}\n className={classNames({\n infoWrapper: curClickCardItemAppData?.status === \"normal\",\n warningWrapper: curClickCardItemAppData?.status === \"warning\"\n })}\n />\n </div>\n <div className=\"closeBtn\" ref={closeBtnRef} onClick={() => {\n handeReset()\n }} />\n </div>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;width:100%;height:100%}:host([hidden]){display:none}*,\\n*::before,\\n*::after{box-sizing:border-box}.mask-container{position:absolute;top:0;left:0;width:100%;height:100%;background:#0c1216;z-index:1000}.appwall{position:relative}.appwall.loading .card-item{pointer-events:none!important}.mask{position:absolute;width:100%;height:100%;top:0;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center}.mask[hidden]{display:none}.infoWrapper{position:absolute;background:var(--color-fill-bg-base-4);box-shadow:0 0 12px 2px rgba(80,255,255,0.45),inset 0 0 22px 0 #20242A;border:2px solid #50FFFF;overflow:hidden}.warningWrapper{position:absolute;background:linear-gradient(180deg,#CC0066 0%,rgba(204,0,102,0.2) 100%),#0F1117FF;box-shadow:0 0 12px 2px rgba(204,0,102,0.4),inset 0 4px 10px 0 rgba(255,255,255,0.65);overflow:hidden}.relation-line{pointer-events:none!important}.closeBtn{visibility:hidden;position:fixed;top:50px;right:50px;width:46px;height:46px;text-align:center;border:1px solid;color:rgb(138 189 255/84%);font-size:20px;line-height:46px;cursor:pointer;background:rgba(138,189,255,0.13);border-image:linear-gradient(135deg,rgba(255,255,255,0.5),rgba(255,255,255,0),rgba(255,255,255,0.33)) 1 1;display:flex;justify-content:center;align-items:center;z-index:1000}.closeBtn:before,\\n.closeBtn:after{content:\\\"\\\";width:2px;height:20px;background:linear-gradient(180deg,#3467FF 0%,#98CBFF 100%);position:absolute}.closeBtn:before{transform:rotateZ(45deg)}.closeBtn:after{transform:rotateZ(-45deg)}.closeBtn:hover:after,\\n.closeBtn:hover:before{background:var(--color-normal-text)}.visibilityAnimate{visibility:hidden;animation:visibility 0.5s both 1s}.trapezoidalLeftOrRightAnimation,\\n.trapezoidalTopOrBottomAnimation{background:linear-gradient(180deg,rgba(51,102,255,0.4) 0%,#99CCFF 100%);opacity:0.2;position:absolute}.trapezoidalTopOrBottomAnimation{bottom:0;width:100%;left:0;animation:animateTop 1s both}.trapezoidalLeftOrRightAnimation{top:0;right:0;height:100%;animation:animateLeft 1s both}@keyframes animateTop{0%{height:0}100%{height:100%}}@keyframes animateLeft{0%{width:0}100%{width:100%}}@keyframes visibility{0%{visibility:hidden}100%{visibility:visible}}.card-item-container{transition:opacity 0.5s}.status-normal-card{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning-card{box-shadow:0 0 100px #CC0066;background:-webkit-gradient(liner,left top,left bottom,from(#CC0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#CC0066 0%,rgba(204,0,102,0.2) 100%)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:inline-block;width:100%;height:100%}:host([hidden]){display:none}*,\\n*::before,\\n*::after{box-sizing:border-box}.card-item-container{position:relative;width:100%;height:100%}.card-item{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;border-radius:var(--no-border-radius);border-color:transparent;transition:border-color 0.5s}.status-normal:hover{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning:hover{box-shadow:0 0 100px #CC0066;background:-webkit-gradient(liner,left top,left bottom,from(#CC0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#CC0066 0%,rgba(204,0,102,0.2) 100%)}.card-item-container.status-normal .card-item{background:var(--color-fill-bg-base-4);box-shadow:inset 0px 1px 2px 0px rgba(255,255,255,0.45)}.card-item-container.status-normal:hover .card-item{border:2px solid rgba(80,255,255,0.58)}.card-item-container.status-warning .card-item{background:linear-gradient(180deg,#CC0066 0%,rgba(204,0,102,0.2) 100%);box-shadow:inset 0px 2px 6px 0px rgba(255,255,255,0.65)}.card-item-container.status-warning:hover .card-item{border:none}.card-item-text-container{width:100%;padding:0 12px}.card-item-title,\\n.card-item-description{font-size:20px;font-weight:var(--font-weight-500);color:var(--color-normal-text)}.card-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-item-description{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:100%}:host([hidden]){display:none}*,\\n*::before,\\n*::after{box-sizing:border-box}.relation-line{position:relative;width:6px;height:100%;background:var(--color-text-divider-line-1);overflow:hidden}.relation-line::after{content:'';position:absolute;width:100%;height:20%;left:0px;top:0px;animation:lightMove 1000ms ease-in-out infinite,lightOpacity 1000ms ease-in-out infinite}.relation-line.light-color-blue::after{background:linear-gradient(rgba(80,255,255,0) 0%,rgba(80,255,255,1) 90%,#DFFFFF 100%)}.relation-line.light-color-purple::after{background:linear-gradient(rgba(102,0,255,0) 0%,rgba(102,0,255,1) 90%,#B07BFF 100%)}@keyframes lightMove{0%{top:0;transform:translateY(-100%)}100%{top:100%;transform:translateY(0)}}@keyframes lightOpacity{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:inline-block}:host([hidden]){display:none}*,\\n*::before,\\n*::after{box-sizing:border-box}.wrapper{position:relative;width:100%;height:100%;padding:30px 24px 35px;left:0;display:flex;flex-direction:column;border-radius:var(--no-border-radius)}.cardName{font-size:var(--title-font-size-strong);line-height:22px;text-align:center;font-weight:var(--font-weight-500);color:var(--color-normal-text);text-shadow:0 1px 4px rgba(51,102,255,0.5);margin-bottom:35px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.descriptions{flex:1;margin-bottom:20px;font-size:var(--auxiliary-font-size-small);overflow:auto;font-weight:var(--font-weight-400)}.descriptionsItem .itemKey{color:var(--color-secondary-text)}.descriptionsItem .itemValue{color:var(--color-strong-text)}.descriptionsItem{display:flex;gap:10px;margin-bottom:12px}.descriptionsItem>div{flex:1;text-align:left;word-break:break-all}.buttonContent{position:absolute;bottom:16px;right:24px;font-size:var(--auxiliary-font-size);color:#99CCFF;cursor:pointer;font-weight:var(--font-weight-500)}.buttonName{margin-left:5px}\", \"\"]);\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{--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}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["createRelationLine","sourceVector","targetVector","lightColor","subVector","Vector3","subVectors","lineLength","length","lineElement","document","createElement","style","height","concat","classList","add","lineObject","CSS3DObject","centerVector","lerpVectors","position","copy","quaternion","Quaternion","setFromUnitVectors","normalize","clone","setRotationFromQuaternion","getCenterPointOrSubPoint","start","end","pointA","pointB","createTrapezoidalRightOrLeftElement","props","BW","TW","d","TH","BH","isLeft","Math","sqrt","pow","wrapper","cssText","cantCard","className","appendChild","objectCantModel","createTrapezoidalTopOrBottomElement","isTop","topQuaternion","createTrapezoidalObject","objectData","leftBtnName","clusters","columns","leftOnClick","rightBtnName","rightOnClick","appName","container","objectContainer","set","point","width","bottomCard","objectBottomModel","z","topCard","thumbnailEle","objectTopModel","objectCantLeftModel","objectCantRightModel","objectCantTopModel","objectCantBottomModel","btnLeft","wordNode","cursor","innerText","btnLeftObject","rotateX","PI","onclick","btnRight","textNode","btnRightObject","setAppPosition","dataSource","maxX","maxY","appData","map","_objectSpread","x","y","i","parseInt","offset","leng","u","h","g","m","createTableTarget","data","cardSize","object3D","Object3D","outerWidth","outerHeight","createCurveTarget","angle","radius","vector","computeCurvePosition","lookAt","n","a","sin","computeCameraDistance","camera","bounds","distanceConfig","margin","aspect","max","tan","fov","o","forEach","t","min","apply","numRange","distance","s","ceil","getAppRelations","object","relationsData","relations","userData","Array","isArray","key","source","target","push","findElementByEvent","e","path","composedPath","find","node","shadowRoot","tagName","customEle","elementFromPoint","clientX","clientY","from","v","shortName","status","cardItemProps","cardTitle","description","systemCardProps","trapezoidalProps","c","j","title","type","p","nodeTitle","lgWidth","lgHeight","panelSpace","getViewBounds","cos","WrappedSystemCard","wrapBrick","AppWallElement","onSystemCardButtonClick","useDblclick","handleCardDbClick","rightBtnOnClick","leftBtnOnClick","curClickCardItemAppData","setCurClickCardItemAppData","useState","containerRef","useRef","appwallRef","closeBtnRef","maskRef","systemCardRef","rendererRef","sceneRef","cameraRef","controlsRef","graph3DViewRef","targetsRef","table","curve","objectsRef","lineCiCodesRef","configRef","registerEvents","element","mouseoverTimer","mouseoutTimer","clickTimer","dblClickTimer","isShowGraph3D","isShowAppInfo","isShowRelations","enable","render","useCallback","current","restoreElementState","onComplete","_registerEvents$curre","_registerEvents$curre2","__objectCSS","__curve","object3d","__userData","Tween","rotation","to","scale","onUpdate","onStart","_objectsRef$current2","remove","item","opacity","_registerEvents$curre3","transform","targets","duration","MathUtils","easing","Easing","showAppInfoAnimate","toggle","reset","_objectsRef$current4","r","hidden","_objectsRef$current3","transition","chain","abs","rect","getBoundingClientRect","top","left","useEffect","cancel","init","window","innerWidth","innerHeight","renderer","CSS3DRenderer","setSize","replaceChildren","domElement","PerspectiveCamera","controls","TrackballControls","rotateSpeed","minDistance","maxDistance","scene","Scene","animate","requestAnimationFrame","TWEEN","update","onWindowResize","updateProjectionMatrix","addEventListener","removeEventListener","dispose","clear","cancelAnimationFrame","_props$dataSource","updateViewBounds","position0","_data$cardItemProps","_data$cardItemProps2","statusClass","objectCSS","random","handleMouseover","clearTimeout","setTimeout","_objectsRef$current","lineTarget","curRelations","relation","every","showElementBetweenRelation","handleClick","stopPropagation","handleDbClick","_userData$trapezoida","_userData$trapezoida$","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","blur","spread","_userData$trapezoida2","_userData$trapezoida3","_userData$trapezoida4","_userData$trapezoida5","_userData$trapezoida6","delay","visibility","React","ref","onClick","_extends","classNames","infoWrapper","warningWrapper","handeReset","___CSS_LOADER_EXPORT___","module","id","toString"],"sourceRoot":""}
|