@next-bricks/data-view 0.24.11 → 0.24.13
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 +2 -2
- package/dist/chunks/{1646.5675f46d.js → 1646.23676a2e.js} +2 -2
- package/dist/chunks/{1646.5675f46d.js.map → 1646.23676a2e.js.map} +1 -1
- package/dist/chunks/2108.7802e66d.js +2 -0
- package/dist/chunks/2108.7802e66d.js.map +1 -0
- package/dist/chunks/238.41ce851b.js +2 -0
- package/dist/chunks/238.41ce851b.js.map +1 -0
- package/dist/chunks/2618.67db3e10.js +2 -0
- package/dist/chunks/2618.67db3e10.js.map +1 -0
- package/dist/chunks/2754.94e9d16c.js +2 -0
- package/dist/chunks/2754.94e9d16c.js.map +1 -0
- package/dist/chunks/3458.ddfd0042.js +2 -0
- package/dist/chunks/{3458.21ecf01c.js.map → 3458.ddfd0042.js.map} +1 -1
- package/dist/chunks/4049.353060ed.js +2 -0
- package/dist/chunks/4049.353060ed.js.map +1 -0
- package/dist/chunks/4504.9b90d9e0.js +2 -0
- package/dist/chunks/4504.9b90d9e0.js.map +1 -0
- package/dist/chunks/4791.ca13047b.js +2 -0
- package/dist/chunks/4791.ca13047b.js.map +1 -0
- package/dist/chunks/5151.0e3d7d9c.js +2 -0
- package/dist/chunks/5151.0e3d7d9c.js.map +1 -0
- package/dist/chunks/5381.c6736c79.js +2 -0
- package/dist/chunks/5381.c6736c79.js.map +1 -0
- package/dist/chunks/{5636.c601ae49.js → 5636.7d8bfe19.js} +2 -2
- package/dist/chunks/{5636.c601ae49.js.map → 5636.7d8bfe19.js.map} +1 -1
- package/dist/chunks/{5725.fa319c62.js → 5725.870c5e8e.js} +2 -2
- package/dist/chunks/{5725.fa319c62.js.map → 5725.870c5e8e.js.map} +1 -1
- package/dist/chunks/6205.c78008cc.js +2 -0
- package/dist/chunks/6205.c78008cc.js.map +1 -0
- package/dist/chunks/{6473.2f312932.js → 6473.5dde770f.js} +2 -2
- package/dist/chunks/{6473.2f312932.js.map → 6473.5dde770f.js.map} +1 -1
- package/dist/chunks/6660.0b4c69f0.js +2 -0
- package/dist/chunks/6660.0b4c69f0.js.map +1 -0
- package/dist/chunks/7067.8447e660.js +2 -0
- package/dist/chunks/7067.8447e660.js.map +1 -0
- package/dist/chunks/7164.21c2fda7.js +2 -0
- package/dist/chunks/7164.21c2fda7.js.map +1 -0
- package/dist/chunks/{7672.0691cd05.js → 7672.7dc21716.js} +2 -2
- package/dist/chunks/{7672.0691cd05.js.map → 7672.7dc21716.js.map} +1 -1
- package/dist/chunks/{7746.20ab5bb5.js → 7746.291bd0f3.js} +2 -2
- package/dist/chunks/{7746.20ab5bb5.js.map → 7746.291bd0f3.js.map} +1 -1
- package/dist/chunks/{8442.5751dc28.js → 8442.7e23a72d.js} +2 -2
- package/dist/chunks/{8442.5751dc28.js.map → 8442.7e23a72d.js.map} +1 -1
- package/dist/chunks/8498.dc88fd37.js +2 -0
- package/dist/chunks/8498.dc88fd37.js.map +1 -0
- package/dist/chunks/8691.ff5bcf91.js +2 -0
- package/dist/chunks/{8691.4ef19088.js.map → 8691.ff5bcf91.js.map} +1 -1
- package/dist/chunks/{9549.69065a0a.js → 9549.3fda6a89.js} +2 -2
- package/dist/chunks/9549.3fda6a89.js.map +1 -0
- package/dist/chunks/{9809.5ce050d2.js → 9809.bf4cea49.js} +2 -2
- package/dist/chunks/{9809.5ce050d2.js.map → 9809.bf4cea49.js.map} +1 -1
- package/dist/chunks/{app-wall-card-item.2a4712ef.js → app-wall-card-item.004ea076.js} +3 -3
- package/dist/chunks/app-wall-card-item.004ea076.js.map +1 -0
- package/dist/chunks/{app-wall-relation-line.dc0c61bf.js → app-wall-relation-line.b4385cca.js} +3 -3
- package/dist/chunks/app-wall-relation-line.b4385cca.js.map +1 -0
- package/dist/chunks/{app-wall-system-card.b20df312.js → app-wall-system-card.7b69929c.js} +2 -2
- package/dist/chunks/app-wall-system-card.7b69929c.js.map +1 -0
- package/dist/chunks/app-wall.8d186bd2.js +2 -0
- package/dist/chunks/app-wall.8d186bd2.js.map +1 -0
- package/dist/chunks/basic-index-group.cfadccea.js +2 -0
- package/dist/chunks/basic-index-group.cfadccea.js.map +1 -0
- package/dist/chunks/{battery-chart.46a4f780.js → battery-chart.f39780a4.js} +2 -2
- package/dist/chunks/battery-chart.f39780a4.js.map +1 -0
- package/dist/chunks/brick-notification.b90d7181.js +2 -0
- package/dist/chunks/brick-notification.b90d7181.js.map +1 -0
- package/dist/chunks/cabinet-app-layer.2f2956eb.js +3 -0
- package/dist/chunks/cabinet-app-layer.2f2956eb.js.map +1 -0
- package/dist/chunks/cabinet-button.3158c2b1.js +2 -0
- package/dist/chunks/cabinet-button.3158c2b1.js.map +1 -0
- package/dist/chunks/{cabinet-container.32763d76.js → cabinet-container.60c6bdf6.js} +3 -3
- package/dist/chunks/{cabinet-container.32763d76.js.map → cabinet-container.60c6bdf6.js.map} +1 -1
- package/dist/chunks/cabinet-graph.a1947f38.js +2 -0
- package/dist/chunks/cabinet-graph.a1947f38.js.map +1 -0
- package/dist/chunks/{cabinet-node.a54abeda.js → cabinet-node.46162271.js} +3 -3
- package/dist/chunks/cabinet-node.46162271.js.map +1 -0
- package/dist/chunks/{cabinet-thumbnail.9b9ed679.js → cabinet-thumbnail.fdbfb16d.js} +3 -3
- package/dist/chunks/{cabinet-thumbnail.9b9ed679.js.map → cabinet-thumbnail.fdbfb16d.js.map} +1 -1
- package/dist/chunks/{complex-search.168ede77.js → complex-search.0e876640.js} +2 -2
- package/dist/chunks/complex-search.0e876640.js.map +1 -0
- package/dist/chunks/data-display-flipper-fifth.107e633c.js +2 -0
- package/dist/chunks/data-display-flipper-fifth.107e633c.js.map +1 -0
- package/dist/chunks/data-display-flipper-sixth.d71374fa.js +2 -0
- package/dist/chunks/data-display-flipper-sixth.d71374fa.js.map +1 -0
- package/dist/chunks/data-display-flipper.8a0b0334.js +2 -0
- package/dist/chunks/data-display-flipper.8a0b0334.js.map +1 -0
- package/dist/chunks/{dropdown-menu.58bd8241.js → dropdown-menu.a17dd1c6.js} +3 -3
- package/dist/chunks/dropdown-menu.a17dd1c6.js.map +1 -0
- package/dist/chunks/gauge-chart.09042561.js +2 -0
- package/dist/chunks/gauge-chart.09042561.js.map +1 -0
- package/dist/chunks/{gear-background.65d1bfed.js → gear-background.3ec64fd9.js} +2 -2
- package/dist/chunks/gear-background.3ec64fd9.js.map +1 -0
- package/dist/chunks/graph-layout-grid.d400cac7.js +2 -0
- package/dist/chunks/graph-layout-grid.d400cac7.js.map +1 -0
- package/dist/chunks/graph-node.4b59571b.js +2 -0
- package/dist/chunks/graph-node.4b59571b.js.map +1 -0
- package/dist/chunks/graph-text.54e3fab5.js +2 -0
- package/dist/chunks/graph-text.54e3fab5.js.map +1 -0
- package/dist/chunks/{grid-background.11eae64c.js → grid-background.fe567f30.js} +2 -2
- package/dist/chunks/grid-background.fe567f30.js.map +1 -0
- package/dist/chunks/{hi-tech-button.f7015f5e.js → hi-tech-button.34f6d7d7.js} +2 -2
- package/dist/chunks/hi-tech-button.34f6d7d7.js.map +1 -0
- package/dist/chunks/indicator-card.da5a6213.js +3 -0
- package/dist/chunks/indicator-card.da5a6213.js.map +1 -0
- package/dist/chunks/lights-component-title.41e13dba.js +2 -0
- package/dist/chunks/lights-component-title.41e13dba.js.map +1 -0
- package/dist/chunks/{loading-panel.a416516b.js → loading-panel.bcd62422.js} +2 -2
- package/dist/chunks/{loading-panel.a416516b.js.map → loading-panel.bcd62422.js.map} +1 -1
- package/dist/chunks/main.9077540d.js +2 -0
- package/dist/chunks/{main.53570ce8.js.map → main.9077540d.js.map} +1 -1
- package/dist/chunks/{modern-style-component-title.868e37d5.js → modern-style-component-title.bc615bc9.js} +2 -2
- package/dist/chunks/modern-style-component-title.bc615bc9.js.map +1 -0
- package/dist/chunks/{modern-style-page-title.ea34a09c.js → modern-style-page-title.2537f451.js} +2 -2
- package/dist/chunks/modern-style-page-title.2537f451.js.map +1 -0
- package/dist/chunks/{modern-style-treemap.7882ecdb.js → modern-style-treemap.82cfc54f.js} +3 -3
- package/dist/chunks/{modern-style-treemap.7882ecdb.js.map → modern-style-treemap.82cfc54f.js.map} +1 -1
- package/dist/chunks/{particle-animation.1b52fc37.js → particle-animation.5119b7ed.js} +2 -2
- package/dist/chunks/particle-animation.5119b7ed.js.map +1 -0
- package/dist/chunks/radar-chart.1767d00d.js +2 -0
- package/dist/chunks/radar-chart.1767d00d.js.map +1 -0
- package/dist/chunks/simple-card-item.26a494b4.js +3 -0
- package/dist/chunks/simple-card-item.26a494b4.js.map +1 -0
- package/dist/chunks/{tabs-drawer.314f831a.js → tabs-drawer.24556263.js} +3 -3
- package/dist/chunks/tabs-drawer.24556263.js.map +1 -0
- package/dist/chunks/{tabs-page-title.1850ce50.js → tabs-page-title.243eaaf7.js} +3 -3
- package/dist/chunks/tabs-page-title.243eaaf7.js.map +1 -0
- package/dist/chunks/tech-mesh-base-view.3f4dd584.js +2 -0
- package/dist/chunks/tech-mesh-base-view.3f4dd584.js.map +1 -0
- package/dist/chunks/title-text.89271378.js +2 -0
- package/dist/chunks/title-text.89271378.js.map +1 -0
- package/dist/chunks/{top-title-bar.2a5f567b.js → top-title-bar.a920f291.js} +2 -2
- package/dist/chunks/top-title-bar.a920f291.js.map +1 -0
- package/dist/examples.json +3 -3
- package/dist/index.cb1150af.js +2 -0
- package/dist/index.cb1150af.js.map +1 -0
- package/dist/manifest.json +18 -18
- package/package.json +4 -4
- package/dist/chunks/2108.10068511.js +0 -2
- package/dist/chunks/2108.10068511.js.map +0 -1
- package/dist/chunks/2502.fc376a5d.js +0 -2
- package/dist/chunks/2502.fc376a5d.js.map +0 -1
- package/dist/chunks/3458.21ecf01c.js +0 -2
- package/dist/chunks/4049.c372388d.js +0 -2
- package/dist/chunks/4049.c372388d.js.map +0 -1
- package/dist/chunks/443.5c72124e.js +0 -2
- package/dist/chunks/443.5c72124e.js.map +0 -1
- package/dist/chunks/4991.d9c05e27.js +0 -2
- package/dist/chunks/4991.d9c05e27.js.map +0 -1
- package/dist/chunks/5151.afc0178c.js +0 -2
- package/dist/chunks/5151.afc0178c.js.map +0 -1
- package/dist/chunks/5381.ec2fb357.js +0 -2
- package/dist/chunks/5381.ec2fb357.js.map +0 -1
- package/dist/chunks/6205.47ceedb0.js +0 -2
- package/dist/chunks/6205.47ceedb0.js.map +0 -1
- package/dist/chunks/6660.1d6aa118.js +0 -2
- package/dist/chunks/6660.1d6aa118.js.map +0 -1
- package/dist/chunks/7067.fcc18874.js +0 -2
- package/dist/chunks/7067.fcc18874.js.map +0 -1
- package/dist/chunks/7164.4f9a2857.js +0 -2
- package/dist/chunks/7164.4f9a2857.js.map +0 -1
- package/dist/chunks/8498.81b59274.js +0 -2
- package/dist/chunks/8498.81b59274.js.map +0 -1
- package/dist/chunks/8561.55a06c6b.js +0 -2
- package/dist/chunks/8561.55a06c6b.js.map +0 -1
- package/dist/chunks/8588.61711702.js +0 -2
- package/dist/chunks/8588.61711702.js.map +0 -1
- package/dist/chunks/8691.4ef19088.js +0 -2
- package/dist/chunks/9549.69065a0a.js.map +0 -1
- package/dist/chunks/app-wall-card-item.2a4712ef.js.map +0 -1
- package/dist/chunks/app-wall-relation-line.dc0c61bf.js.map +0 -1
- package/dist/chunks/app-wall-system-card.b20df312.js.map +0 -1
- package/dist/chunks/app-wall.7e47ab87.js +0 -2
- package/dist/chunks/app-wall.7e47ab87.js.map +0 -1
- package/dist/chunks/basic-index-group.930f5ee7.js +0 -2
- package/dist/chunks/basic-index-group.930f5ee7.js.map +0 -1
- package/dist/chunks/battery-chart.46a4f780.js.map +0 -1
- package/dist/chunks/brick-notification.1df78b13.js +0 -2
- package/dist/chunks/brick-notification.1df78b13.js.map +0 -1
- package/dist/chunks/cabinet-app-layer.522e61c4.js +0 -3
- package/dist/chunks/cabinet-app-layer.522e61c4.js.map +0 -1
- package/dist/chunks/cabinet-button.c01ed2b9.js +0 -2
- package/dist/chunks/cabinet-button.c01ed2b9.js.map +0 -1
- package/dist/chunks/cabinet-graph.dd354e0d.js +0 -2
- package/dist/chunks/cabinet-graph.dd354e0d.js.map +0 -1
- package/dist/chunks/cabinet-node.a54abeda.js.map +0 -1
- package/dist/chunks/complex-search.168ede77.js.map +0 -1
- package/dist/chunks/data-display-flipper-fifth.7ff714bd.js +0 -2
- package/dist/chunks/data-display-flipper-fifth.7ff714bd.js.map +0 -1
- package/dist/chunks/data-display-flipper-sixth.7ef2d216.js +0 -2
- package/dist/chunks/data-display-flipper-sixth.7ef2d216.js.map +0 -1
- package/dist/chunks/data-display-flipper.0fd4e655.js +0 -2
- package/dist/chunks/data-display-flipper.0fd4e655.js.map +0 -1
- package/dist/chunks/dropdown-menu.58bd8241.js.map +0 -1
- package/dist/chunks/gauge-chart.3b432743.js +0 -2
- package/dist/chunks/gauge-chart.3b432743.js.map +0 -1
- package/dist/chunks/gear-background.65d1bfed.js.map +0 -1
- package/dist/chunks/graph-layout-grid.1baebba2.js +0 -2
- package/dist/chunks/graph-layout-grid.1baebba2.js.map +0 -1
- package/dist/chunks/graph-node.df5ea520.js +0 -2
- package/dist/chunks/graph-node.df5ea520.js.map +0 -1
- package/dist/chunks/graph-text.7abbc945.js +0 -2
- package/dist/chunks/graph-text.7abbc945.js.map +0 -1
- package/dist/chunks/grid-background.11eae64c.js.map +0 -1
- package/dist/chunks/hi-tech-button.f7015f5e.js.map +0 -1
- package/dist/chunks/indicator-card.430e0838.js +0 -3
- package/dist/chunks/indicator-card.430e0838.js.map +0 -1
- package/dist/chunks/lights-component-title.82753b9d.js +0 -2
- package/dist/chunks/lights-component-title.82753b9d.js.map +0 -1
- package/dist/chunks/main.53570ce8.js +0 -2
- package/dist/chunks/modern-style-component-title.868e37d5.js.map +0 -1
- package/dist/chunks/modern-style-page-title.ea34a09c.js.map +0 -1
- package/dist/chunks/particle-animation.1b52fc37.js.map +0 -1
- package/dist/chunks/radar-chart.bab0ff9c.js +0 -2
- package/dist/chunks/radar-chart.bab0ff9c.js.map +0 -1
- package/dist/chunks/simple-card-item.4a9c0db4.js +0 -3
- package/dist/chunks/simple-card-item.4a9c0db4.js.map +0 -1
- package/dist/chunks/tabs-drawer.314f831a.js.map +0 -1
- package/dist/chunks/tabs-page-title.1850ce50.js.map +0 -1
- package/dist/chunks/tech-mesh-base-view.10f53604.js +0 -2
- package/dist/chunks/tech-mesh-base-view.10f53604.js.map +0 -1
- package/dist/chunks/title-text.bebb548c.js +0 -2
- package/dist/chunks/title-text.bebb548c.js.map +0 -1
- package/dist/chunks/top-title-bar.2a5f567b.js.map +0 -1
- package/dist/index.abbcb0bd.js +0 -2
- package/dist/index.abbcb0bd.js.map +0 -1
- /package/dist/chunks/{app-wall-card-item.2a4712ef.js.LICENSE.txt → app-wall-card-item.004ea076.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{app-wall-relation-line.dc0c61bf.js.LICENSE.txt → app-wall-relation-line.b4385cca.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-app-layer.522e61c4.js.LICENSE.txt → cabinet-app-layer.2f2956eb.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-container.32763d76.js.LICENSE.txt → cabinet-container.60c6bdf6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-node.a54abeda.js.LICENSE.txt → cabinet-node.46162271.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-thumbnail.9b9ed679.js.LICENSE.txt → cabinet-thumbnail.fdbfb16d.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{dropdown-menu.58bd8241.js.LICENSE.txt → dropdown-menu.a17dd1c6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{indicator-card.430e0838.js.LICENSE.txt → indicator-card.da5a6213.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{modern-style-treemap.7882ecdb.js.LICENSE.txt → modern-style-treemap.82cfc54f.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{simple-card-item.4a9c0db4.js.LICENSE.txt → simple-card-item.26a494b4.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{tabs-drawer.314f831a.js.LICENSE.txt → tabs-drawer.24556263.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{tabs-page-title.1850ce50.js.LICENSE.txt → tabs-page-title.243eaaf7.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/8442.5751dc28.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 {\n Vector3,\n Object3D,\n Quaternion,\n Vector3Tuple,\n PerspectiveCamera,\n} 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 {\n AppWallRelationLine,\n AppWallRelationLineProps,\n} from \"./relation-line/index.js\";\nimport type { SystemCardProps } from \"./system-card/index.js\";\nimport {\n TrapezoidalObjectProps,\n TrapezoidalProps,\n bounds,\n CardSize,\n DistanceConfig,\n Position,\n Target,\n Ele,\n AppWallCardBrickNameType,\n} from \"./interface.js\";\nimport { CabinetThumbnail } from \"../cabinet/cabinet-thumbnail/index.jsx\";\nimport { SimpleCardItemProps } from \"../simple-card-item/index.js\";\n\nexport interface AppData {\n key: string;\n status: \"normal\" | \"warning\";\n cardItemProps: AppWallCardItemProps & SimpleCardItemProps;\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 = (\n sourceVector: Vector3,\n targetVector: Vector3,\n lightColor: AppWallRelationLineProps[\"lightColor\"]\n): CSS3DObject => {\n const subVector = new Vector3().subVectors(targetVector, sourceVector);\n const lineLength = subVector.length();\n\n const lineElement = document.createElement(\n \"data-view.app-wall-relation-line\"\n ) 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(\n sourceVector,\n targetVector,\n 0.5\n );\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(\n new Vector3(0, 1, 0).normalize(),\n subVector.clone().normalize()\n );\n lineObject.setRotationFromQuaternion(quaternion);\n\n return lineObject;\n};\n\nexport const getCenterPointOrSubPoint = (\n start: Vector3Tuple,\n end: Vector3Tuple\n) => {\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 ${\n TH / 2 - BH / 2\n }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(\n new Vector3(1, 0, 0).normalize(),\n subVector.clone().normalize()\n );\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, ${\n TW / 2 - BW / 2 + BW\n }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 { centerVector, subVector } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector);\n const topQuaternion = new Quaternion().setFromUnitVectors(\n new Vector3(0, -1, 0).normalize(),\n subVector.clone().normalize()\n );\n objectCantModel.setRotationFromQuaternion(topQuaternion);\n return objectCantModel;\n};\n/**\n * 创建梯台模型\n * @param props\n * @returns\n */\nexport const createTrapezoidalObject = (props: TrapezoidalObjectProps) => {\n const {\n objectData,\n leftBtnName,\n clusters,\n columns,\n leftOnClick,\n rightBtnName,\n rightOnClick,\n appName,\n } = 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,\n BH: number = objectData.height,\n TW = 1500,\n TH = 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(\n \"data-view.cabinet-thumbnail\"\n ) 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,\n TW,\n BH,\n TH,\n d,\n isLeft: true,\n }); //斜面右边\n const objectCantRightModel = createTrapezoidalRightOrLeftElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isLeft: false,\n }); //斜面右边\n const objectCantTopModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: true,\n }); //斜面前边\n const objectCantBottomModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: false,\n }); //斜面后面\n objectContainer.add(\n objectCantLeftModel,\n objectCantRightModel,\n objectCantBottomModel,\n objectCantTopModel\n );\n if (leftBtnName) {\n const btnLeft = document.createElement(\"div\");\n btnLeft.style.cssText = `\n color: #6BE0FA;\n font-size: 28px;\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.onpointerdown = leftOnClick;\n }\n if (rightBtnName) {\n const btnRight = document.createElement(\"div\");\n btnRight.style.cssText = `\n color: #FFFFFF;\n font-size: 30px;\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 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.onpointerdown = 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 = (\n dataSource: AppData[],\n maxX: number,\n maxY: number\n) => {\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 = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number\n) => {\n const object3D = new Object3D();\n object3D.position.x =\n data.x * cardSize.outerWidth - (maxX / 2 + 0.5) * cardSize.outerWidth;\n object3D.position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n return object3D;\n};\n\nexport const computeCurvePosition = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number\n) => {\n const position: Position = {\n x: 0,\n y: 0,\n z: 0,\n },\n n = parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI),\n a = maxX / 2 + 0.5;\n position.x = n * Math.sin(Math.PI / (180 / ((data.x - a) * (angle / maxX))));\n position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n position.z = n - Math.sqrt(n * n - position.x * position.x);\n return position;\n};\nexport const createCurveTarget = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number,\n radius: number\n) => {\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 computeCameraDistance = (\n camera: PerspectiveCamera,\n bounds: bounds,\n distanceConfig: DistanceConfig[],\n length: number\n) => {\n const n = bounds.height + 2 * bounds.margin,\n a = (bounds.width + 2 * bounds.margin) / camera.aspect,\n i =\n (0.5 * Math.max(a, n)) / Math.tan((camera.fov * Math.PI) / 360) +\n bounds.z;\n let o = 0;\n distanceConfig.forEach(function (t) {\n length >= Math.min.apply(null, t.numRange) &&\n length <= Math.max.apply(null, t.numRange) &&\n (o = t.distance);\n });\n return Math.max(o, i);\n};\nexport const getAppRelations = (\n object: CSS3DObject,\n relationsData: Relation[]\n) => {\n const relations: Relation[] = [];\n const userData = object.userData;\n Array.isArray(relationsData) &&\n relationsData.length &&\n relationsData.forEach(function (i) {\n (userData.key !== i.source && userData.key !== i.target) ||\n relations.push(i);\n });\n return relations;\n};\nexport const findElementByEvent = (\n e: MouseEvent,\n tagName: AppWallCardBrickNameType\n) => {\n const _targetName = tagName.toUpperCase();\n const path = (e.composedPath() as Element[]).find(\n (node) => node?.shadowRoot\n ) as Ele;\n if (path?.tagName === _targetName) return path;\n const customEle = document.elementFromPoint(e.clientX, e.clientY);\n const target = customEle?.shadowRoot.elementFromPoint(\n e.clientX,\n e.clientY\n ) as Ele;\n if (target?.tagName === _targetName) return target;\n return null;\n};\n","import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { debounce } from \"lodash\";\nimport { MathUtils, Object3D, PerspectiveCamera, Scene } from \"three\";\nimport {\n CSS3DObject,\n CSS3DRenderer,\n} 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 {\n AppWallCardBrickEleType,\n BaseConfig,\n CardSize,\n DistanceConfig,\n Ele,\n Position,\n RegisterEvents,\n Target,\n Targets,\n} from \"./interface.js\";\nimport {\n AppData,\n computeCameraDistance,\n createCurveTarget,\n createTableTarget,\n createTrapezoidalObject,\n setAppPosition,\n createRelationLine,\n getAppRelations,\n findElementByEvent,\n} from \"./utils.js\";\n\nimport \"./card-item/index.js\";\nimport { SystemCard, SystemCardProps } from \"./system-card/index.jsx\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nconst distanceConfig: DistanceConfig[] = [\n {\n numRange: [0, 40],\n distance: 3000,\n },\n {\n numRange: [40, 60],\n distance: 2200,\n },\n {\n numRange: [60, 80],\n distance: 2700,\n },\n {\n numRange: [80, 120],\n distance: 3200,\n },\n {\n numRange: [120, 160],\n distance: 3400,\n },\n {\n numRange: [160, 300],\n distance: 3600,\n },\n];\nconst fov = 45;\nconst angle = 100;\nconst panelSpace = 300;\nconst offsetDistance = 500;\n\nconst getViewBounds = (\n length: number,\n cardSize: CardSize,\n margin: number,\n aspectH: number\n) => {\n const maxX = Math.ceil(\n Math.sqrt((length * cardSize.outerHeight) / (aspectH * cardSize.outerWidth))\n );\n const maxY = Math.ceil(length / maxX);\n const radius =\n parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI);\n const width =\n 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,\n z,\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 {\n relations,\n onSystemCardButtonClick,\n useDblclick,\n useDistanceConfig,\n handleCardDbClick,\n rightBtnOnClick,\n leftBtnOnClick,\n cardBrickName,\n cardSize,\n disabledDefaultClickEvent,\n handleCardClick,\n containerId,\n noRotate,\n boundMargin,\n } = props;\n const [curClickCardItemAppData, setCurClickCardItemAppData] =\n useState<AppData>(null);\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 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 const hoverScaleRef = useRef<number>(1);\n const baseCameraDistance = useRef<number>(5000);\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: boundMargin,\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 controlsRef.current.maxDistance =\n baseCameraDistance.current + offsetDistance;\n controlsRef.current.handleResize();\n }, []);\n\n const updateViewBounds = (length: number) => {\n configRef.current = getViewBounds(\n length,\n cardSize,\n boundMargin,\n 1 / cameraRef.current.aspect\n );\n };\n\n const init = () => {\n const containerRect = document\n .getElementById(containerId)\n ?.getBoundingClientRect();\n const width = containerRect?.width || window.innerWidth;\n const height = containerRect?.height || window.innerHeight;\n const aspect = width / height;\n const scene = new Scene();\n const camera = new PerspectiveCamera(fov, aspect, 0.1, 10000);\n\n const renderer = new CSS3DRenderer();\n renderer.setSize(width, height);\n appwallRef.current.replaceChildren(renderer.domElement);\n\n const controls = new TrackballControls(camera, renderer.domElement);\n controls.rotateSpeed = 0.5;\n controls.minDistance = 500;\n controls.maxDistance = 10000;\n controls.noRotate = noRotate;\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 cardBrickName\n ) as AppWallCardBrickEleType & Ele;\n element.status = data.status;\n element.cardTitle = data.cardItemProps?.cardTitle;\n element.description = data.cardItemProps?.description;\n element.background = data.cardItemProps?.background;\n element.color = data.cardItemProps?.color;\n element.titleStyle = data.cardItemProps?.titleStyle;\n element.desStyle = data.cardItemProps?.desStyle;\n element.descriptionList = data.cardItemProps?.descriptionList;\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(\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3\n );\n\n sceneRef.current.add(objectCSS);\n objectsRef.current.push(objectCSS);\n\n const table = createTableTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY\n );\n targetsRef.current.table.push(table);\n const curve = createCurveTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY,\n angle,\n configRef.current.radius\n );\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(\n (o) => o.userData.key === relation.target\n );\n lineObject =\n lineTarget &&\n createRelationLine(object.position, lineTarget.position, \"blue\");\n } else {\n lineTarget = objectsRef.current.find(\n (o) => o.userData.key === relation.source\n );\n lineObject =\n lineTarget &&\n 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 (\n object != item &&\n curRelations.every(\n (r) => r.source != item.userData.key && r.target != item.userData.key\n )\n ) {\n item.element.style.opacity = \"0.2\";\n }\n });\n };\n\n const showElementBetweenRelation = (target: Ele) => {\n const { __objectCSS, __userData } = target;\n const rotationY = __objectCSS.rotation.y;\n const currentEleRect = __objectCSS.element.getBoundingClientRect();\n const position: Position = {\n x: __objectCSS.position.x + 50 * Math.sin(rotationY),\n y: __objectCSS.position.y + 15,\n z: __objectCSS.position.z + 100 * Math.cos(rotationY),\n };\n\n const scale =\n currentEleRect.width >= cardSize.width\n ? hoverScaleRef.current\n : Math.min(\n cardSize.width / currentEleRect.width,\n cardSize.height / currentEleRect.height\n ),\n duration = 100;\n registerEvents.current.isShowRelations = true;\n new Tween(__objectCSS.rotation)\n // .to(\n // {\n // x: 0,\n // y: 0,\n // z: 0,\n // },\n // duration\n // )\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.add(\n `status-${__userData.status || \"normal\"}-card`\n );\n })\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: scale,\n y: scale,\n z: scale,\n },\n duration\n )\n .start();\n\n new Tween(__objectCSS.position)\n .to(position, duration)\n .onUpdate(render)\n .onComplete(function () {\n //创建连线\n createRelationLines(__objectCSS);\n render();\n registerEvents.current.element = target;\n })\n .start();\n };\n\n const restoreElementState = (onComplete?: (ele?: Ele) => void) => {\n if (!registerEvents.current?.element) return onComplete?.();\n const {\n __objectCSS,\n __curve: object3d,\n __userData,\n } = registerEvents.current.element;\n const duration = 100;\n\n new Tween(__objectCSS.rotation)\n .to(\n {\n x: object3d.rotation.x,\n y: object3d.rotation.y,\n z: object3d.rotation.z,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: 1,\n y: 1,\n z: 1,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.position)\n .to(\n {\n x: object3d.position.x,\n y: object3d.position.y,\n z: object3d.position.z,\n },\n duration\n )\n .onUpdate(render)\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.remove(\n `status-${__userData.status || \"normal\"}-card`\n );\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 })\n .onComplete(() => {\n registerEvents.current.isShowRelations = false;\n onComplete?.(registerEvents.current?.element);\n })\n .start();\n };\n\n const transform = (targets: Object3D[], duration: number) => {\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 {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n\n new Tween(object.rotation)\n .to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n }\n\n new Tween({})\n .to({}, duration * 2)\n .onUpdate(render)\n .start()\n .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 {\n z: panelSpace,\n },\n 1e3\n ).chain(a, i, r);\n n.to(\n {\n opacity: 0,\n },\n 1e3\n )\n .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).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 {\n x: 0,\n y: 0,\n z: 0,\n },\n 1e3\n );\n r.to(\n {\n blur: 0,\n spread: 0,\n },\n 1e3\n );\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)\n .easing()\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 {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n 700\n ).easing();\n s.to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n 700\n )\n .easing()\n .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)\n .easing()\n .onStart(() => {\n //为了飞出去的途中,不能在点击其他的卡片飞出来\n maskRef.current.hidden = false;\n systemCardRef.current.hidden = true;\n });\n r.to(h, 700).easing();\n o.to(p, 500)\n .easing()\n .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({})\n .to({}, 1400)\n .onUpdate(() => {\n render();\n if (Math.abs(object.rotation.y) >= Math.PI / 2) {\n const rect = registerEvents.current.element.getBoundingClientRect();\n const scale = 1.35;\n const width = rect.width * scale;\n const height = rect.height * scale;\n systemCardRef.current.style.width = `${width}px`;\n systemCardRef.current.style.height = `${height}px`;\n systemCardRef.current.style.top = `${\n rect.top - ((scale - 1) * height) / 2\n }px`;\n systemCardRef.current.style.left = `${\n rect.left - ((scale - 1) * width) / 2\n }px`;\n }\n })\n .start()\n .onComplete(function () {\n registerEvents.current.enable = true;\n registerEvents.current.isShowAppInfo = !toggle;\n maskRef.current.hidden = toggle;\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 const container = containerId\n ? document.getElementById(containerId)\n : document.body;\n\n const observer = new ResizeObserver(\n debounce(() => {\n const { width, height } = container.getBoundingClientRect();\n cameraRef.current.aspect = width / height;\n cameraRef.current.updateProjectionMatrix();\n rendererRef.current.setSize(width, height);\n render();\n }, 300)\n );\n controlsRef.current.addEventListener(\"change\", render);\n observer.observe(container);\n return () => {\n observer.disconnect();\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 if (length > 0) {\n updateViewBounds(length);\n baseCameraDistance.current = computeCameraDistance(\n cameraRef.current,\n configRef.current.bounds,\n useDistanceConfig ? distanceConfig : [],\n length\n );\n cameraRef.current.position.z = baseCameraDistance.current;\n cameraRef.current.updateProjectionMatrix();\n controlsRef.current.position0.copy(cameraRef.current.position);\n\n const appData = setAppPosition(\n props.dataSource,\n configRef.current.maxX,\n configRef.current.maxY\n );\n createView(appData);\n transform(targetsRef.current.curve, 1000);\n }\n\n return () => {\n resetView();\n };\n }, [props.dataSource, useDistanceConfig]);\n\n useEffect(() => {\n const container = containerRef.current;\n const handleMouseover = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n const target = findElementByEvent(e, cardBrickName);\n registerEvents.current.mouseoverTimer = window.setTimeout(() => {\n restoreElementState(() => {\n target &&\n !registerEvents.current.isShowAppInfo &&\n showElementBetweenRelation(target);\n clearTimeout(registerEvents.current.mouseoverTimer);\n });\n }, 300);\n };\n const handleClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n registerEvents.current.clickTimer = window.setTimeout(function () {\n clearTimeout(registerEvents.current.mouseoverTimer);\n restoreElementState(() => {\n if (target) {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n e.stopPropagation();\n registerEvents.current.element = target;\n if (disabledDefaultClickEvent) {\n handleCardClick?.(target.__userData);\n } else {\n setCurClickCardItemAppData(target.__userData);\n showAppInfoAnimate(false);\n }\n }\n });\n }, 200);\n };\n const handleDbClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n clearTimeout(registerEvents.current.dblClickTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n const { __userData, __objectCSS } = target;\n registerEvents.current.isShowGraph3D = true;\n registerEvents.current.dblClickTimer = window.setTimeout(function () {\n restoreElementState(() => {\n if (\n useDblclick ||\n __userData.trapezoidalProps?.clusters?.length < 1\n ) {\n handleCardDbClick(__userData);\n registerEvents.current.isShowGraph3D = false;\n } else {\n if (target) {\n clearTimeout(registerEvents.current.mouseoverTimer);\n 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:\n 860 +\n 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 {\n x: 0,\n y: -3600,\n z: 1600,\n },\n 1e3\n ).chain(s, a, i);\n a.to(\n {\n opacity: 1,\n },\n 700\n ).onStart(() => {\n const objectContainer = createTrapezoidalObject({\n objectData: {\n width: cardSize.width,\n height: cardSize.height,\n point: [\n __objectCSS.position.x,\n __objectCSS.position.y,\n __objectCSS.position.z,\n ],\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 {\n z: panelSpace,\n },\n 1e3\n )\n .delay(230)\n .chain(r, o);\n\n r.to(\n {\n x: u.x,\n y: -3600 + u.y,\n },\n 1e3\n );\n o.to(\n {\n x: u.x,\n y: u.y,\n },\n 1e3\n ).onComplete(function () {\n closeBtnRef.current.style.visibility = \"visible\";\n });\n n.start();\n }\n }\n });\n }, 200);\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 }, [disabledDefaultClickEvent, handleCardClick]);\n\n return (\n <div className=\"appwall-container\" ref={containerRef}>\n <div className=\"appwall\" ref={appwallRef}></div>\n <div\n className=\"mask\"\n ref={maskRef}\n onClick={() => {\n registerEvents.current.enable && showAppInfoAnimate(true);\n }}\n hidden={true}\n >\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\n className=\"closeBtn\"\n ref={closeBtnRef}\n onClick={() => {\n handeReset();\n }}\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-container{padding:8px}.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;--button-text-color:#40d0db}`, \"\"]);\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","onpointerdown","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","n","a","sin","lookAt","computeCameraDistance","camera","bounds","distanceConfig","margin","aspect","max","tan","fov","o","forEach","t","min","apply","numRange","distance","getAppRelations","object","relationsData","relations","userData","Array","isArray","key","source","target","push","findElementByEvent","e","tagName","_targetName","toUpperCase","path","composedPath","find","node","shadowRoot","customEle","elementFromPoint","clientX","clientY","panelSpace","offsetDistance","getViewBounds","aspectH","ceil","cos","WrappedSystemCard","wrapBrick","AppWallElement","onSystemCardButtonClick","useDblclick","useDistanceConfig","handleCardDbClick","rightBtnOnClick","leftBtnOnClick","cardBrickName","disabledDefaultClickEvent","handleCardClick","containerId","noRotate","boundMargin","curClickCardItemAppData","setCurClickCardItemAppData","useState","containerRef","useRef","appwallRef","closeBtnRef","maskRef","systemCardRef","rendererRef","sceneRef","cameraRef","controlsRef","graph3DViewRef","targetsRef","table","curve","objectsRef","lineCiCodesRef","hoverScaleRef","baseCameraDistance","configRef","registerEvents","element","mouseoverTimer","mouseoutTimer","clickTimer","dblClickTimer","isShowGraph3D","isShowAppInfo","isShowRelations","enable","render","useCallback","current","maxDistance","handleResize","restoreElementState","onComplete","_registerEvents$curre","__objectCSS","__curve","object3d","__userData","Tween","rotation","to","scale","onUpdate","onStart","_objectsRef$current2","remove","status","item","opacity","_registerEvents$curre2","transform","targets","duration","MathUtils","randFloat","easing","Easing","Exponential","InOut","showAppInfoAnimate","toggle","reset","_objectsRef$current4","c","p","r","s","hidden","_objectsRef$current3","transition","chain","abs","rect","getBoundingClientRect","top","left","useEffect","cancel","init","_document$getElementB","containerRect","getElementById","window","innerWidth","innerHeight","scene","Scene","PerspectiveCamera","renderer","CSS3DRenderer","setSize","replaceChildren","domElement","controls","TrackballControls","rotateSpeed","minDistance","animate","requestAnimationFrame","TWEEN","update","body","observer","ResizeObserver","debounce","updateProjectionMatrix","addEventListener","observe","disconnect","removeEventListener","dispose","clear","cancelAnimationFrame","_props$dataSource","updateViewBounds","position0","_data$cardItemProps","_data$cardItemProps2","_data$cardItemProps3","_data$cardItemProps4","_data$cardItemProps5","_data$cardItemProps6","_data$cardItemProps7","cardTitle","cardItemProps","description","background","color","titleStyle","desStyle","descriptionList","statusClass","objectCSS","random","handleMouseover","clearTimeout","setTimeout","rotationY","currentEleRect","_objectsRef$current","lineTarget","curRelations","relation","every","showElementBetweenRelation","handleClick","stopPropagation","handleDbClick","_userData$trapezoida","trapezoidalProps","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","blur","spread","_userData$trapezoida2","_userData$trapezoida3","_userData$trapezoida4","_userData$trapezoida5","_userData$trapezoida6","delay","visibility","React","ref","onClick","_extends","systemCardProps","classNames","infoWrapper","warningWrapper","handeReset","___CSS_LOADER_EXPORT___","module","id","toString"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/8442.7e23a72d.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 {\n Vector3,\n Object3D,\n Quaternion,\n Vector3Tuple,\n PerspectiveCamera,\n} 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 {\n AppWallRelationLine,\n AppWallRelationLineProps,\n} from \"./relation-line/index.js\";\nimport type { SystemCardProps } from \"./system-card/index.js\";\nimport {\n TrapezoidalObjectProps,\n TrapezoidalProps,\n bounds,\n CardSize,\n DistanceConfig,\n Position,\n Target,\n Ele,\n AppWallCardBrickNameType,\n} from \"./interface.js\";\nimport { CabinetThumbnail } from \"../cabinet/cabinet-thumbnail/index.jsx\";\nimport { SimpleCardItemProps } from \"../simple-card-item/index.js\";\n\nexport interface AppData {\n key: string;\n status: \"normal\" | \"warning\";\n cardItemProps: AppWallCardItemProps & SimpleCardItemProps;\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 = (\n sourceVector: Vector3,\n targetVector: Vector3,\n lightColor: AppWallRelationLineProps[\"lightColor\"]\n): CSS3DObject => {\n const subVector = new Vector3().subVectors(targetVector, sourceVector);\n const lineLength = subVector.length();\n\n const lineElement = document.createElement(\n \"data-view.app-wall-relation-line\"\n ) 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(\n sourceVector,\n targetVector,\n 0.5\n );\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(\n new Vector3(0, 1, 0).normalize(),\n subVector.clone().normalize()\n );\n lineObject.setRotationFromQuaternion(quaternion);\n\n return lineObject;\n};\n\nexport const getCenterPointOrSubPoint = (\n start: Vector3Tuple,\n end: Vector3Tuple\n) => {\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 ${\n TH / 2 - BH / 2\n }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(\n new Vector3(1, 0, 0).normalize(),\n subVector.clone().normalize()\n );\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, ${\n TW / 2 - BW / 2 + BW\n }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 { centerVector, subVector } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector);\n const topQuaternion = new Quaternion().setFromUnitVectors(\n new Vector3(0, -1, 0).normalize(),\n subVector.clone().normalize()\n );\n objectCantModel.setRotationFromQuaternion(topQuaternion);\n return objectCantModel;\n};\n/**\n * 创建梯台模型\n * @param props\n * @returns\n */\nexport const createTrapezoidalObject = (props: TrapezoidalObjectProps) => {\n const {\n objectData,\n leftBtnName,\n clusters,\n columns,\n leftOnClick,\n rightBtnName,\n rightOnClick,\n appName,\n } = 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,\n BH: number = objectData.height,\n TW = 1500,\n TH = 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(\n \"data-view.cabinet-thumbnail\"\n ) 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,\n TW,\n BH,\n TH,\n d,\n isLeft: true,\n }); //斜面右边\n const objectCantRightModel = createTrapezoidalRightOrLeftElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isLeft: false,\n }); //斜面右边\n const objectCantTopModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: true,\n }); //斜面前边\n const objectCantBottomModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: false,\n }); //斜面后面\n objectContainer.add(\n objectCantLeftModel,\n objectCantRightModel,\n objectCantBottomModel,\n objectCantTopModel\n );\n if (leftBtnName) {\n const btnLeft = document.createElement(\"div\");\n btnLeft.style.cssText = `\n color: #6BE0FA;\n font-size: 28px;\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.onpointerdown = leftOnClick;\n }\n if (rightBtnName) {\n const btnRight = document.createElement(\"div\");\n btnRight.style.cssText = `\n color: #FFFFFF;\n font-size: 30px;\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 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.onpointerdown = 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 = (\n dataSource: AppData[],\n maxX: number,\n maxY: number\n) => {\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 = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number\n) => {\n const object3D = new Object3D();\n object3D.position.x =\n data.x * cardSize.outerWidth - (maxX / 2 + 0.5) * cardSize.outerWidth;\n object3D.position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n return object3D;\n};\n\nexport const computeCurvePosition = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number\n) => {\n const position: Position = {\n x: 0,\n y: 0,\n z: 0,\n },\n n = parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI),\n a = maxX / 2 + 0.5;\n position.x = n * Math.sin(Math.PI / (180 / ((data.x - a) * (angle / maxX))));\n position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n position.z = n - Math.sqrt(n * n - position.x * position.x);\n return position;\n};\nexport const createCurveTarget = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number,\n radius: number\n) => {\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 computeCameraDistance = (\n camera: PerspectiveCamera,\n bounds: bounds,\n distanceConfig: DistanceConfig[],\n length: number\n) => {\n const n = bounds.height + 2 * bounds.margin,\n a = (bounds.width + 2 * bounds.margin) / camera.aspect,\n i =\n (0.5 * Math.max(a, n)) / Math.tan((camera.fov * Math.PI) / 360) +\n bounds.z;\n let o = 0;\n distanceConfig.forEach(function (t) {\n length >= Math.min.apply(null, t.numRange) &&\n length <= Math.max.apply(null, t.numRange) &&\n (o = t.distance);\n });\n return Math.max(o, i);\n};\nexport const getAppRelations = (\n object: CSS3DObject,\n relationsData: Relation[]\n) => {\n const relations: Relation[] = [];\n const userData = object.userData;\n Array.isArray(relationsData) &&\n relationsData.length &&\n relationsData.forEach(function (i) {\n (userData.key !== i.source && userData.key !== i.target) ||\n relations.push(i);\n });\n return relations;\n};\nexport const findElementByEvent = (\n e: MouseEvent,\n tagName: AppWallCardBrickNameType\n) => {\n const _targetName = tagName.toUpperCase();\n const path = (e.composedPath() as Element[]).find(\n (node) => node?.shadowRoot\n ) as Ele;\n if (path?.tagName === _targetName) return path;\n const customEle = document.elementFromPoint(e.clientX, e.clientY);\n const target = customEle?.shadowRoot.elementFromPoint(\n e.clientX,\n e.clientY\n ) as Ele;\n if (target?.tagName === _targetName) return target;\n return null;\n};\n","import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { debounce } from \"lodash\";\nimport { MathUtils, Object3D, PerspectiveCamera, Scene } from \"three\";\nimport {\n CSS3DObject,\n CSS3DRenderer,\n} 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 {\n AppWallCardBrickEleType,\n BaseConfig,\n CardSize,\n DistanceConfig,\n Ele,\n Position,\n RegisterEvents,\n Target,\n Targets,\n} from \"./interface.js\";\nimport {\n AppData,\n computeCameraDistance,\n createCurveTarget,\n createTableTarget,\n createTrapezoidalObject,\n setAppPosition,\n createRelationLine,\n getAppRelations,\n findElementByEvent,\n} from \"./utils.js\";\n\nimport \"./card-item/index.js\";\nimport { SystemCard, SystemCardProps } from \"./system-card/index.jsx\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nconst distanceConfig: DistanceConfig[] = [\n {\n numRange: [0, 40],\n distance: 3000,\n },\n {\n numRange: [40, 60],\n distance: 2200,\n },\n {\n numRange: [60, 80],\n distance: 2700,\n },\n {\n numRange: [80, 120],\n distance: 3200,\n },\n {\n numRange: [120, 160],\n distance: 3400,\n },\n {\n numRange: [160, 300],\n distance: 3600,\n },\n];\nconst fov = 45;\nconst angle = 100;\nconst panelSpace = 300;\nconst offsetDistance = 500;\n\nconst getViewBounds = (\n length: number,\n cardSize: CardSize,\n margin: number,\n aspectH: number\n) => {\n const maxX = Math.ceil(\n Math.sqrt((length * cardSize.outerHeight) / (aspectH * cardSize.outerWidth))\n );\n const maxY = Math.ceil(length / maxX);\n const radius =\n parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI);\n const width =\n 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,\n z,\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 {\n relations,\n onSystemCardButtonClick,\n useDblclick,\n useDistanceConfig,\n handleCardDbClick,\n rightBtnOnClick,\n leftBtnOnClick,\n cardBrickName,\n cardSize,\n disabledDefaultClickEvent,\n handleCardClick,\n containerId,\n noRotate,\n boundMargin,\n } = props;\n const [curClickCardItemAppData, setCurClickCardItemAppData] =\n useState<AppData>(null);\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 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 const hoverScaleRef = useRef<number>(1);\n const baseCameraDistance = useRef<number>(5000);\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: boundMargin,\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 controlsRef.current.maxDistance =\n baseCameraDistance.current + offsetDistance;\n controlsRef.current.handleResize();\n }, []);\n\n const updateViewBounds = (length: number) => {\n configRef.current = getViewBounds(\n length,\n cardSize,\n boundMargin,\n 1 / cameraRef.current.aspect\n );\n };\n\n const init = () => {\n const containerRect = document\n .getElementById(containerId)\n ?.getBoundingClientRect();\n const width = containerRect?.width || window.innerWidth;\n const height = containerRect?.height || window.innerHeight;\n const aspect = width / height;\n const scene = new Scene();\n const camera = new PerspectiveCamera(fov, aspect, 0.1, 10000);\n\n const renderer = new CSS3DRenderer();\n renderer.setSize(width, height);\n appwallRef.current.replaceChildren(renderer.domElement);\n\n const controls = new TrackballControls(camera, renderer.domElement);\n controls.rotateSpeed = 0.5;\n controls.minDistance = 500;\n controls.maxDistance = 10000;\n controls.noRotate = noRotate;\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 cardBrickName\n ) as AppWallCardBrickEleType & Ele;\n element.status = data.status;\n element.cardTitle = data.cardItemProps?.cardTitle;\n element.description = data.cardItemProps?.description;\n element.background = data.cardItemProps?.background;\n element.color = data.cardItemProps?.color;\n element.titleStyle = data.cardItemProps?.titleStyle;\n element.desStyle = data.cardItemProps?.desStyle;\n element.descriptionList = data.cardItemProps?.descriptionList;\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(\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3\n );\n\n sceneRef.current.add(objectCSS);\n objectsRef.current.push(objectCSS);\n\n const table = createTableTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY\n );\n targetsRef.current.table.push(table);\n const curve = createCurveTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY,\n angle,\n configRef.current.radius\n );\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(\n (o) => o.userData.key === relation.target\n );\n lineObject =\n lineTarget &&\n createRelationLine(object.position, lineTarget.position, \"blue\");\n } else {\n lineTarget = objectsRef.current.find(\n (o) => o.userData.key === relation.source\n );\n lineObject =\n lineTarget &&\n 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 (\n object != item &&\n curRelations.every(\n (r) => r.source != item.userData.key && r.target != item.userData.key\n )\n ) {\n item.element.style.opacity = \"0.2\";\n }\n });\n };\n\n const showElementBetweenRelation = (target: Ele) => {\n const { __objectCSS, __userData } = target;\n const rotationY = __objectCSS.rotation.y;\n const currentEleRect = __objectCSS.element.getBoundingClientRect();\n const position: Position = {\n x: __objectCSS.position.x + 50 * Math.sin(rotationY),\n y: __objectCSS.position.y + 15,\n z: __objectCSS.position.z + 100 * Math.cos(rotationY),\n };\n\n const scale =\n currentEleRect.width >= cardSize.width\n ? hoverScaleRef.current\n : Math.min(\n cardSize.width / currentEleRect.width,\n cardSize.height / currentEleRect.height\n ),\n duration = 100;\n registerEvents.current.isShowRelations = true;\n new Tween(__objectCSS.rotation)\n // .to(\n // {\n // x: 0,\n // y: 0,\n // z: 0,\n // },\n // duration\n // )\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.add(\n `status-${__userData.status || \"normal\"}-card`\n );\n })\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: scale,\n y: scale,\n z: scale,\n },\n duration\n )\n .start();\n\n new Tween(__objectCSS.position)\n .to(position, duration)\n .onUpdate(render)\n .onComplete(function () {\n //创建连线\n createRelationLines(__objectCSS);\n render();\n registerEvents.current.element = target;\n })\n .start();\n };\n\n const restoreElementState = (onComplete?: (ele?: Ele) => void) => {\n if (!registerEvents.current?.element) return onComplete?.();\n const {\n __objectCSS,\n __curve: object3d,\n __userData,\n } = registerEvents.current.element;\n const duration = 100;\n\n new Tween(__objectCSS.rotation)\n .to(\n {\n x: object3d.rotation.x,\n y: object3d.rotation.y,\n z: object3d.rotation.z,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: 1,\n y: 1,\n z: 1,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.position)\n .to(\n {\n x: object3d.position.x,\n y: object3d.position.y,\n z: object3d.position.z,\n },\n duration\n )\n .onUpdate(render)\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.remove(\n `status-${__userData.status || \"normal\"}-card`\n );\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 })\n .onComplete(() => {\n registerEvents.current.isShowRelations = false;\n onComplete?.(registerEvents.current?.element);\n })\n .start();\n };\n\n const transform = (targets: Object3D[], duration: number) => {\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 {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n\n new Tween(object.rotation)\n .to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n }\n\n new Tween({})\n .to({}, duration * 2)\n .onUpdate(render)\n .start()\n .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 {\n z: panelSpace,\n },\n 1e3\n ).chain(a, i, r);\n n.to(\n {\n opacity: 0,\n },\n 1e3\n )\n .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).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 {\n x: 0,\n y: 0,\n z: 0,\n },\n 1e3\n );\n r.to(\n {\n blur: 0,\n spread: 0,\n },\n 1e3\n );\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)\n .easing()\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 {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n 700\n ).easing();\n s.to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n 700\n )\n .easing()\n .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)\n .easing()\n .onStart(() => {\n //为了飞出去的途中,不能在点击其他的卡片飞出来\n maskRef.current.hidden = false;\n systemCardRef.current.hidden = true;\n });\n r.to(h, 700).easing();\n o.to(p, 500)\n .easing()\n .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({})\n .to({}, 1400)\n .onUpdate(() => {\n render();\n if (Math.abs(object.rotation.y) >= Math.PI / 2) {\n const rect = registerEvents.current.element.getBoundingClientRect();\n const scale = 1.35;\n const width = rect.width * scale;\n const height = rect.height * scale;\n systemCardRef.current.style.width = `${width}px`;\n systemCardRef.current.style.height = `${height}px`;\n systemCardRef.current.style.top = `${\n rect.top - ((scale - 1) * height) / 2\n }px`;\n systemCardRef.current.style.left = `${\n rect.left - ((scale - 1) * width) / 2\n }px`;\n }\n })\n .start()\n .onComplete(function () {\n registerEvents.current.enable = true;\n registerEvents.current.isShowAppInfo = !toggle;\n maskRef.current.hidden = toggle;\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 const container = containerId\n ? document.getElementById(containerId)\n : document.body;\n\n const observer = new ResizeObserver(\n debounce(() => {\n const { width, height } = container.getBoundingClientRect();\n cameraRef.current.aspect = width / height;\n cameraRef.current.updateProjectionMatrix();\n rendererRef.current.setSize(width, height);\n render();\n }, 300)\n );\n controlsRef.current.addEventListener(\"change\", render);\n observer.observe(container);\n return () => {\n observer.disconnect();\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 if (length > 0) {\n updateViewBounds(length);\n baseCameraDistance.current = computeCameraDistance(\n cameraRef.current,\n configRef.current.bounds,\n useDistanceConfig ? distanceConfig : [],\n length\n );\n cameraRef.current.position.z = baseCameraDistance.current;\n cameraRef.current.updateProjectionMatrix();\n controlsRef.current.position0.copy(cameraRef.current.position);\n\n const appData = setAppPosition(\n props.dataSource,\n configRef.current.maxX,\n configRef.current.maxY\n );\n createView(appData);\n transform(targetsRef.current.curve, 1000);\n }\n\n return () => {\n resetView();\n };\n }, [props.dataSource, useDistanceConfig]);\n\n useEffect(() => {\n const container = containerRef.current;\n const handleMouseover = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n const target = findElementByEvent(e, cardBrickName);\n registerEvents.current.mouseoverTimer = window.setTimeout(() => {\n restoreElementState(() => {\n target &&\n !registerEvents.current.isShowAppInfo &&\n showElementBetweenRelation(target);\n clearTimeout(registerEvents.current.mouseoverTimer);\n });\n }, 300);\n };\n const handleClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n registerEvents.current.clickTimer = window.setTimeout(function () {\n clearTimeout(registerEvents.current.mouseoverTimer);\n restoreElementState(() => {\n if (target) {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n e.stopPropagation();\n registerEvents.current.element = target;\n if (disabledDefaultClickEvent) {\n handleCardClick?.(target.__userData);\n } else {\n setCurClickCardItemAppData(target.__userData);\n showAppInfoAnimate(false);\n }\n }\n });\n }, 200);\n };\n const handleDbClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n clearTimeout(registerEvents.current.dblClickTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n const { __userData, __objectCSS } = target;\n registerEvents.current.isShowGraph3D = true;\n registerEvents.current.dblClickTimer = window.setTimeout(function () {\n restoreElementState(() => {\n if (\n useDblclick ||\n __userData.trapezoidalProps?.clusters?.length < 1\n ) {\n handleCardDbClick(__userData);\n registerEvents.current.isShowGraph3D = false;\n } else {\n if (target) {\n clearTimeout(registerEvents.current.mouseoverTimer);\n 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:\n 860 +\n 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 {\n x: 0,\n y: -3600,\n z: 1600,\n },\n 1e3\n ).chain(s, a, i);\n a.to(\n {\n opacity: 1,\n },\n 700\n ).onStart(() => {\n const objectContainer = createTrapezoidalObject({\n objectData: {\n width: cardSize.width,\n height: cardSize.height,\n point: [\n __objectCSS.position.x,\n __objectCSS.position.y,\n __objectCSS.position.z,\n ],\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 {\n z: panelSpace,\n },\n 1e3\n )\n .delay(230)\n .chain(r, o);\n\n r.to(\n {\n x: u.x,\n y: -3600 + u.y,\n },\n 1e3\n );\n o.to(\n {\n x: u.x,\n y: u.y,\n },\n 1e3\n ).onComplete(function () {\n closeBtnRef.current.style.visibility = \"visible\";\n });\n n.start();\n }\n }\n });\n }, 200);\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 }, [disabledDefaultClickEvent, handleCardClick]);\n\n return (\n <div className=\"appwall-container\" ref={containerRef}>\n <div className=\"appwall\" ref={appwallRef}></div>\n <div\n className=\"mask\"\n ref={maskRef}\n onClick={() => {\n registerEvents.current.enable && showAppInfoAnimate(true);\n }}\n hidden={true}\n >\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\n className=\"closeBtn\"\n ref={closeBtnRef}\n onClick={() => {\n handeReset();\n }}\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-container{padding:8px}.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;--button-text-color:#40d0db}`, \"\"]);\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","onpointerdown","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","n","a","sin","lookAt","computeCameraDistance","camera","bounds","distanceConfig","margin","aspect","max","tan","fov","o","forEach","t","min","apply","numRange","distance","getAppRelations","object","relationsData","relations","userData","Array","isArray","key","source","target","push","findElementByEvent","e","tagName","_targetName","toUpperCase","path","composedPath","find","node","shadowRoot","customEle","elementFromPoint","clientX","clientY","panelSpace","offsetDistance","getViewBounds","aspectH","ceil","cos","WrappedSystemCard","wrapBrick","AppWallElement","onSystemCardButtonClick","useDblclick","useDistanceConfig","handleCardDbClick","rightBtnOnClick","leftBtnOnClick","cardBrickName","disabledDefaultClickEvent","handleCardClick","containerId","noRotate","boundMargin","curClickCardItemAppData","setCurClickCardItemAppData","useState","containerRef","useRef","appwallRef","closeBtnRef","maskRef","systemCardRef","rendererRef","sceneRef","cameraRef","controlsRef","graph3DViewRef","targetsRef","table","curve","objectsRef","lineCiCodesRef","hoverScaleRef","baseCameraDistance","configRef","registerEvents","element","mouseoverTimer","mouseoutTimer","clickTimer","dblClickTimer","isShowGraph3D","isShowAppInfo","isShowRelations","enable","render","useCallback","current","maxDistance","handleResize","restoreElementState","onComplete","_registerEvents$curre","__objectCSS","__curve","object3d","__userData","Tween","rotation","to","scale","onUpdate","onStart","_objectsRef$current2","remove","status","item","opacity","_registerEvents$curre2","transform","targets","duration","MathUtils","randFloat","easing","Easing","Exponential","InOut","showAppInfoAnimate","toggle","reset","_objectsRef$current4","c","p","r","s","hidden","_objectsRef$current3","transition","chain","abs","rect","getBoundingClientRect","top","left","useEffect","cancel","init","_document$getElementB","containerRect","getElementById","window","innerWidth","innerHeight","scene","Scene","PerspectiveCamera","renderer","CSS3DRenderer","setSize","replaceChildren","domElement","controls","TrackballControls","rotateSpeed","minDistance","animate","requestAnimationFrame","TWEEN","update","body","observer","ResizeObserver","debounce","updateProjectionMatrix","addEventListener","observe","disconnect","removeEventListener","dispose","clear","cancelAnimationFrame","_props$dataSource","updateViewBounds","position0","_data$cardItemProps","_data$cardItemProps2","_data$cardItemProps3","_data$cardItemProps4","_data$cardItemProps5","_data$cardItemProps6","_data$cardItemProps7","cardTitle","cardItemProps","description","background","color","titleStyle","desStyle","descriptionList","statusClass","objectCSS","random","handleMouseover","clearTimeout","setTimeout","rotationY","currentEleRect","_objectsRef$current","lineTarget","curRelations","relation","every","showElementBetweenRelation","handleClick","stopPropagation","handleDbClick","_userData$trapezoida","trapezoidalProps","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","blur","spread","_userData$trapezoida2","_userData$trapezoida3","_userData$trapezoida4","_userData$trapezoida5","_userData$trapezoida6","delay","visibility","React","ref","onClick","_extends","systemCardProps","classNames","infoWrapper","warningWrapper","handeReset","___CSS_LOADER_EXPORT___","module","id","toString"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[8498,4795,6653],{4795:(e,r,t)=>{function n(e,r,t,n,o,i,a){try{var c=e[i](a),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,o)}function o(e){return function(){var r=this,t=arguments;return new Promise((function(o,i){var a=e.apply(r,t);function c(e){n(a,o,i,c,s,"next",e)}function s(e){n(a,o,i,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>o})},6666:(e,r,t)=>{t.d(r,{Z:()=>o});var n=t(5850);function o(e,r,t){return(r=(0,n.Z)(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}},3028:(e,r,t)=>{t.d(r,{Z:()=>i});var n=t(6666);function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){(0,n.Z)(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}},5850:(e,r,t)=>{t.d(r,{Z:()=>o});var n=t(6522);function o(e){var r=function(e,r){if("object"!=(0,n.Z)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,"string");if("object"!=(0,n.Z)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,n.Z)(r)?r:String(r)}},6522:(e,r,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.d(r,{Z:()=>n})},8498:(e,r,t)=>{t.r(r),t.d(r,{enqueueStableLoadBricks:()=>h,enqueueStableLoadProcessors:()=>m,flushStableLoadBricks:()=>y,loadBricksImperatively:()=>b,loadProcessorsImperatively:()=>P,loadScript:()=>a,loadSharedModule:()=>l,loadStyle:()=>c});var n=t(3028),o=new Map;function i(e,r,t,a){if(Array.isArray(r))return Promise.all(r.map((r=>i(e,r,t))));var c=t&&!/^https?:/.test(r)?"".concat(t).concat(r):r,s=o.get(c);if(s)return s;var u=new Promise(((r,t)=>{var o=()=>{window.dispatchEvent(new Event("request.end"))},i=document.createElement("style"===e?"link":"script");"script"===e?Object.assign(i,(0,n.Z)((0,n.Z)({type:"text/javascript",async:!0},a),{},{src:c})):Object.assign(i,(0,n.Z)((0,n.Z)({rel:"stylesheet"},a),{},{href:c})),i.onload=()=>{r(c),o()},i.onerror=e=>{t(e),o()};var s=document.currentScript||document.getElementsByTagName("script")[0];s.parentNode.insertBefore(i,s),window.dispatchEvent(new Event("request.start"))}));return o.set(c,u),u}function a(e,r,t){return i("script",e,r,t)}function c(e,r,t){return i("style",e,r,t)}var s,u=t(4795);function l(e,r){return f.apply(this,arguments)}function f(){return(f=(0,u.Z)((function*(e,r){yield t.I("default");var n=window[e];return yield n.init(t.S.default),(yield n.get(r))()}))).apply(this,arguments)}var p,v=!1,d=new Promise((e=>{s=e}));function y(){v||s()}function h(e,r){return _(j("bricks",e,r))}function m(e,r){return _(j("processors",e,r))}function b(e,r){return w.apply(this,arguments)}function w(){return(w=(0,u.Z)((function*(e,r){var t=j("bricks",e,r);return y(),_(t)}))).apply(this,arguments)}function P(e,r){var t=j("processors",e,r);return y(),_(t)}var g="v2-adapter.load-bricks";function k(e,r,t){var n=new Map,o=new Set,i=r=>{var a;if(!o.has(r)){var c,s,u;if(o.add(r),"processors"===e||r.includes(".")){[s,u]=r.split(".");var l="bricks/".concat("processors"===e?s.replace(/[A-Z]/g,(e=>"-".concat(e[0].toLocaleLowerCase()))).replace(/_[0-9]/g,(e=>"-".concat(e[1]))):s);c=t.get(l)}else{var f;for(var p of(u=r,t.values())){var v;if(null!==(v=p.elements)&&void 0!==v&&v.some((e=>e===u))){var d;if(null===(d=p.deprecatedElements)||void 0===d||!d.includes(r)){c=p;break}f=p}}!c&&f&&(c=f)}if(c){var y=n.get(c);y||(y=[],n.set(c,y)),y.push({fullName:r,lastName:u});var h=null===(a=c.dependencies)||void 0===a?void 0:a[r];if(h)for(var m of h)i(m)}else console.error("Package for ".concat(r," not found."))}};for(var a of r)i(a);return n}function O(e,r,t){return Z.apply(this,arguments)}function Z(){return(Z=(0,u.Z)((function*(e,r,t){var n="".concat("processors"===e?"./processors/":"./").concat(t.lastName);try{yield l(r,n)}catch(r){throw console.error(r),new Error("Load ".concat(e,' of "').concat(t.fullName,'" failed'))}}))).apply(this,arguments)}function S(e,r,t){return r.map(function(){var r=(0,u.Z)((function*(r){var n;return yield a(r.filePath,null!==(n=window.PUBLIC_ROOT)&&void 0!==n?n:""),yield d,Promise.all(t.get(r).map((t=>O(e,r.id,t))))}));return function(e){return r.apply(this,arguments)}}())}function j(e,r,t){return E.apply(this,arguments)}function E(){return E=(0,u.Z)((function*(e,r,t){var n=new Map;for(var o of t){var i,c=null!==(i=o.id)&&void 0!==i?i:B(o.filePath);n.set(c,o)}var l,f,d=k(e,r,n),y=[],h=[];for(var m of d.keys())if(m.id)"bricks/basic"===m.id?l=m:h.push(m);else if(y.push(m),!(f=n.get("bricks/v2-adapter")))throw new Error("Using v2 bricks, but v2-adapter not found");var b,w=f,P=l;if(P){var Z,j=a(P.filePath,null!==(Z=window.PUBLIC_ROOT)&&void 0!==Z?Z:"");v||(v=!0,j.then((()=>Promise.resolve())).then(s)),b=j.then((()=>Promise.all(d.get(P).map((r=>O(e,P.id,r))))))}var E=[b].concat(S(e,h,d));if(w&&y.length>0){if(!p){var _=k("bricks",[g],n),L=[..._.keys()],N=function(){var e=(0,u.Z)((function*(){return yield Promise.all(S("bricks",L,_)),document.createElement(g)}));return function(){return e.apply(this,arguments)}}();p=N()}E.push(p.then((r=>Promise.all(y.map((n=>{var o=B(n.filePath).split("/")[1];return r.resolve(w.filePath,n.filePath,"bricks"===e?d.get(n).map((e=>"".concat(o,".").concat(e.lastName))):[],n.dll,t)}))))))}yield Promise.all(E)})),E.apply(this,arguments)}function _(e){return L.apply(this,arguments)}function L(){return(L=(0,u.Z)((function*(e){window.dispatchEvent(new Event("request.start"));try{yield e}finally{window.dispatchEvent(new Event("request.end"))}}))).apply(this,arguments)}function B(e){return e.split("/").slice(0,2).join("/")}}}]);
|
|
2
|
+
//# sourceMappingURL=8498.dc88fd37.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/8498.dc88fd37.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.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/typeof.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadScriptOrStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadScript.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/stableLoadBricks.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadSharedModule.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\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}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\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 : String(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 _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 _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar cache = new Map();\nexport default function loadScriptOrStyle(type, src, prefix, attrs) {\n if (Array.isArray(src)) {\n return Promise.all(src.map(item => loadScriptOrStyle(type, item, prefix)));\n }\n var fixedSrc = prefix && !/^https?:/.test(src) ? \"\".concat(prefix).concat(src) : src;\n var cachedPromise = cache.get(fixedSrc);\n if (cachedPromise) {\n return cachedPromise;\n }\n var promise = new Promise((resolve, reject) => {\n var end = () => {\n window.dispatchEvent(new Event(\"request.end\"));\n };\n var element = document.createElement(type === \"style\" ? \"link\" : \"script\");\n if (type === \"script\") {\n Object.assign(element, _objectSpread(_objectSpread({\n type: \"text/javascript\",\n async: true\n }, attrs), {}, {\n src: fixedSrc\n }));\n } else {\n Object.assign(element, _objectSpread(_objectSpread({\n rel: \"stylesheet\"\n }, attrs), {}, {\n href: fixedSrc\n }));\n }\n element.onload = () => {\n resolve(fixedSrc);\n end();\n };\n element.onerror = e => {\n reject(e);\n end();\n };\n var firstScript = document.currentScript || document.getElementsByTagName(\"script\")[0];\n firstScript.parentNode.insertBefore(element, firstScript);\n window.dispatchEvent(new Event(\"request.start\"));\n });\n cache.set(fixedSrc, promise);\n return promise;\n}\n//# sourceMappingURL=loadScriptOrStyle.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadScript(src, prefix, attrs) {\n return loadScriptOrStyle(\"script\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadScript.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadStyle(src, prefix, attrs) {\n return loadScriptOrStyle(\"style\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadStyle.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport loadScript from \"./loadScript.js\";\nimport loadSharedModule from \"./loadSharedModule.js\";\nvar resolveBasicPkg;\nvar basicPkgWillBeResolved = false;\nvar waitBasicPkg = new Promise(resolve => {\n resolveBasicPkg = resolve;\n});\nexport function flushStableLoadBricks() {\n if (!basicPkgWillBeResolved) {\n resolveBasicPkg();\n }\n}\n\n/**\n * When loading bundles with webpack module federation concurrently, if\n * these bundles share some modules, webpack will load a singleton module\n * if versions are matched. Webpack will use the first bundle who started\n * to init the shared scope. Generally which bundle to use for a specific\n * module, does not matter. However, it may cause flaky result since the\n * shared module may from different bundles which maybe not exactly the\n * same, especially developers declare dependencies incorrectly sometimes.\n * So in order to make it less flaky, we try to make a BASIC package takes\n * precedence over others. We will always load the shared modules from the\n * basic package bundle if it contains the shared modules.\n */\nexport function enqueueStableLoadBricks(bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function enqueueStableLoadProcessors(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function loadBricksImperatively(_x, _x2) {\n return _loadBricksImperatively.apply(this, arguments);\n}\nfunction _loadBricksImperatively() {\n _loadBricksImperatively = _asyncToGenerator(function* (bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n });\n return _loadBricksImperatively.apply(this, arguments);\n}\nexport function loadProcessorsImperatively(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nvar v2AdapterPromise;\nvar V2_ADAPTER_LOAD_BRICKS = \"v2-adapter.load-bricks\";\n// Get brick/processor items including their dependencies\nfunction getItemsByPkg(type, list, brickPackagesMap) {\n var itemsByPkg = new Map();\n var listToLoad = new Set();\n var add = item => {\n var _pkg$dependencies;\n if (listToLoad.has(item)) {\n return;\n }\n listToLoad.add(item);\n var pkg;\n var namespace;\n var lastName;\n if (type === \"processors\" || item.includes(\".\")) {\n [namespace, lastName] = item.split(\".\");\n var pkgId = \"bricks/\".concat(type === \"processors\" ? getProcessorPackageName(namespace) : namespace);\n pkg = brickPackagesMap.get(pkgId);\n } else {\n lastName = item;\n var deprecatedBrickInThisPkg;\n for (var p of brickPackagesMap.values()) {\n var _p$elements;\n if ((_p$elements = p.elements) !== null && _p$elements !== void 0 && _p$elements.some(e => e === lastName)) {\n var _p$deprecatedElements;\n if ((_p$deprecatedElements = p.deprecatedElements) !== null && _p$deprecatedElements !== void 0 && _p$deprecatedElements.includes(item)) {\n deprecatedBrickInThisPkg = p;\n } else {\n pkg = p;\n break;\n }\n }\n }\n if (!pkg && deprecatedBrickInThisPkg) {\n pkg = deprecatedBrickInThisPkg;\n }\n }\n if (!pkg) {\n // eslint-disable-next-line no-console\n console.error(\"Package for \".concat(item, \" not found.\"));\n return;\n }\n var groupItems = itemsByPkg.get(pkg);\n if (!groupItems) {\n groupItems = [];\n itemsByPkg.set(pkg, groupItems);\n }\n groupItems.push({\n fullName: item,\n lastName\n });\n\n // Load their dependencies too\n var deps = (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies[item];\n if (deps) {\n for (var dep of deps) {\n add(dep);\n }\n }\n };\n for (var item of list) {\n add(item);\n }\n return itemsByPkg;\n}\nfunction loadBrickModule(_x3, _x4, _x5) {\n return _loadBrickModule.apply(this, arguments);\n}\nfunction _loadBrickModule() {\n _loadBrickModule = _asyncToGenerator(function* (type, pkgId, item) {\n var moduleName = \"\".concat(type === \"processors\" ? \"./processors/\" : \"./\").concat(item.lastName);\n try {\n yield loadSharedModule(pkgId, moduleName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n throw new Error(\"Load \".concat(type, \" of \\\"\").concat(item.fullName, \"\\\" failed\"));\n }\n });\n return _loadBrickModule.apply(this, arguments);\n}\nfunction loadRestBricks(type, pkgs, itemsMap) {\n return pkgs.map( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (pkg) {\n var _window$PUBLIC_ROOT;\n yield loadScript(pkg.filePath, (_window$PUBLIC_ROOT = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT !== void 0 ? _window$PUBLIC_ROOT : \"\");\n yield waitBasicPkg;\n return Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsMap.get(pkg).map(item => loadBrickModule(type, pkg.id, item)));\n });\n return function (_x6) {\n return _ref.apply(this, arguments);\n };\n }());\n}\nfunction enqueueStableLoad(_x7, _x8, _x9) {\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction _enqueueStableLoad() {\n _enqueueStableLoad = _asyncToGenerator(function* (type, list, brickPackages) {\n var brickPackagesMap = new Map();\n for (var pkg of brickPackages) {\n var _pkg$id;\n var pkgId = (_pkg$id = pkg.id) !== null && _pkg$id !== void 0 ? _pkg$id : getPkgIdByFilePath(pkg.filePath);\n brickPackagesMap.set(pkgId, pkg);\n }\n var itemsByPkg = getItemsByPkg(type, list, brickPackagesMap);\n var foundBasicPkg;\n var v2Packages = [];\n var v3PackagesOtherThanBasic = [];\n var maybeV2Adapter;\n for (var _pkg of itemsByPkg.keys()) {\n if (_pkg.id) {\n if (_pkg.id === \"bricks/basic\") {\n foundBasicPkg = _pkg;\n } else {\n v3PackagesOtherThanBasic.push(_pkg);\n }\n } else {\n // Brick packages of v2 has no `id`\n v2Packages.push(_pkg);\n maybeV2Adapter = brickPackagesMap.get(\"bricks/v2-adapter\");\n if (!maybeV2Adapter) {\n throw new Error(\"Using v2 bricks, but v2-adapter not found\");\n }\n }\n }\n var v2Adapter = maybeV2Adapter;\n var basicPkgPromise;\n var basicPkg = foundBasicPkg;\n if (basicPkg) {\n var _window$PUBLIC_ROOT2;\n var tempPromise = loadScript(basicPkg.filePath, (_window$PUBLIC_ROOT2 = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT2 !== void 0 ? _window$PUBLIC_ROOT2 : \"\");\n // Packages other than BASIC will wait for an extra micro-task tick.\n if (!basicPkgWillBeResolved) {\n basicPkgWillBeResolved = true;\n tempPromise.then(() => Promise.resolve()).then(resolveBasicPkg);\n }\n basicPkgPromise = tempPromise.then(() => Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(basicPkg).map(item => loadBrickModule(type, basicPkg.id, item))));\n }\n var pkgPromises = [basicPkgPromise].concat(loadRestBricks(type, v3PackagesOtherThanBasic, itemsByPkg));\n if (v2Adapter && v2Packages.length > 0) {\n if (!v2AdapterPromise) {\n // Load `v2-adapter.load-bricks` and its dependencies\n var v2AdapterItemsByPkg = getItemsByPkg(\"bricks\", [V2_ADAPTER_LOAD_BRICKS], brickPackagesMap);\n var v2AdapterPackages = [...v2AdapterItemsByPkg.keys()];\n var loadV2Adapter = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* () {\n yield Promise.all(loadRestBricks(\"bricks\", v2AdapterPackages, v2AdapterItemsByPkg));\n return document.createElement(V2_ADAPTER_LOAD_BRICKS);\n });\n return function loadV2Adapter() {\n return _ref2.apply(this, arguments);\n };\n }();\n v2AdapterPromise = loadV2Adapter();\n }\n pkgPromises.push(v2AdapterPromise.then(adapter => Promise.all(v2Packages.map(pkg => {\n var pkgId = getPkgIdByFilePath(pkg.filePath);\n var pkgNamespace = pkgId.split(\"/\")[1];\n return adapter.resolve(v2Adapter.filePath, pkg.filePath, type === \"bricks\" ?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(pkg).map(item => \"\".concat(pkgNamespace, \".\").concat(item.lastName)) : [], pkg.dll,\n // Todo: remove `brickPackages` as an argument\n brickPackages);\n }))));\n }\n yield Promise.all(pkgPromises);\n });\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction dispatchRequestStatus(_x10) {\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction _dispatchRequestStatus() {\n _dispatchRequestStatus = _asyncToGenerator(function* (promise) {\n window.dispatchEvent(new Event(\"request.start\"));\n try {\n yield promise;\n } finally {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n });\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction getProcessorPackageName(camelPackageName) {\n return camelPackageName.replace(/[A-Z]/g, match => \"-\".concat(match[0].toLocaleLowerCase())).replace(/_[0-9]/g, match => \"-\".concat(match[1]));\n}\nfunction getPkgIdByFilePath(filePath) {\n return filePath.split(\"/\").slice(0, 2).join(\"/\");\n}\n//# sourceMappingURL=stableLoadBricks.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\n// https://github.com/module-federation/module-federation-examples/blob/eda9493f3991a423479fd834cfb1d7b241d9d1f0/advanced-api/dynamic-remotes/app1/src/App.js\nexport default function loadSharedModule(_x, _x2) {\n return _loadSharedModule.apply(this, arguments);\n}\nfunction _loadSharedModule() {\n _loadSharedModule = _asyncToGenerator(function* (scope, module) {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n yield __webpack_init_sharing__(\"default\");\n var container = window[scope]; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n yield container.init(__webpack_share_scopes__.default);\n var factory = yield container.get(module);\n return factory();\n });\n return _loadSharedModule.apply(this, arguments);\n}\n//# sourceMappingURL=loadSharedModule.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","_objectSpread2","length","forEach","getOwnPropertyDescriptors","defineProperties","toPropertyKey","i","Symbol","toPrimitive","call","TypeError","String","_typeof","iterator","constructor","prototype","cache","Map","loadScriptOrStyle","type","src","prefix","attrs","Array","isArray","all","map","item","fixedSrc","test","concat","cachedPromise","get","promise","end","window","dispatchEvent","Event","element","document","createElement","assign","async","rel","href","onload","onerror","firstScript","currentScript","getElementsByTagName","parentNode","insertBefore","set","loadScript","loadStyle","resolveBasicPkg","loadSharedModule","_x","_x2","_loadSharedModule","scope","module","container","init","default","v2AdapterPromise","basicPkgWillBeResolved","waitBasicPkg","flushStableLoadBricks","enqueueStableLoadBricks","bricks","brickPackages","dispatchRequestStatus","enqueueStableLoad","enqueueStableLoadProcessors","processors","loadBricksImperatively","_loadBricksImperatively","loadProcessorsImperatively","V2_ADAPTER_LOAD_BRICKS","getItemsByPkg","list","brickPackagesMap","itemsByPkg","listToLoad","Set","add","_pkg$dependencies","has","pkg","namespace","lastName","includes","split","pkgId","replace","match","toLocaleLowerCase","deprecatedBrickInThisPkg","p","values","_p$elements","elements","some","_p$deprecatedElements","deprecatedElements","groupItems","fullName","deps","dependencies","dep","console","loadBrickModule","_x3","_x4","_x5","_loadBrickModule","moduleName","Error","loadRestBricks","pkgs","itemsMap","_ref","_window$PUBLIC_ROOT","filePath","PUBLIC_ROOT","id","_x6","_x7","_x8","_x9","_enqueueStableLoad","_pkg$id","getPkgIdByFilePath","foundBasicPkg","maybeV2Adapter","v2Packages","v3PackagesOtherThanBasic","_pkg","basicPkgPromise","v2Adapter","basicPkg","_window$PUBLIC_ROOT2","tempPromise","pkgPromises","v2AdapterItemsByPkg","v2AdapterPackages","loadV2Adapter","_ref2","adapter","pkgNamespace","dll","_x10","_dispatchRequestStatus","slice","join"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[8691,3458],{3458:(e,t,r)=>{function o(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(n,a){if("string"==typeof t?n.name===t:t.includes(n.name)){for(var i=[],s=1;s<=r;s++){var c=a[a.length-s];if("MemberExpression"===(null==c?void 0:c.node.type)&&"object"===c.key){var u=c.node;u.computed||"Identifier"!==u.property.type?u.computed&&"Literal"===u.property.type&&"string"==typeof u.property.value?i.push(o?"".concat(n.name,".").concat(u.property.value):u.property.value):e.hasNonStaticUsage=!0:i.push(o?"".concat(n.name,".").concat(u.property.name):u.property.name)}else e.hasNonStaticUsage=!0}i.length===r&&e.usedProperties.add(i.join("."))}}}function n(e,t){return function(r,o,n){if(o.name===e){var a=n[n.length-1],i=n[n.length-2];if("CallExpression"===(null==i?void 0:i.node.type)&&"callee"===(null==i?void 0:i.key)&&"MemberExpression"===(null==a?void 0:a.node.type)&&"object"===a.key&&(a.node.computed?"Literal"===a.node.property.type&&a.node.property.value===t:"Identifier"===a.node.property.type&&a.node.property.name===t)){var s=i.node.arguments;if(s.length>0){var c=s[0];"Literal"===c.type&&"string"==typeof c.value?r.usedArgs.add(c.value):r.hasNonStaticUsage=!0}}}}}r.r(t),r.d(t,{beforeVisitGlobalMember:()=>o,collectAppGetMenuUsage:()=>a,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>g,createProviderClass:()=>c.createProviderClass,scanPermissionActionsInAny:()=>m,scanPermissionActionsInStoryboard:()=>b,strictCollectMemberUsage:()=>l,track:()=>d,trackAll:()=>f,traverseStoryboardExpressions:()=>u,traverseStoryboardFunction:()=>v,traverseStoryboardFunctions:()=>y,unwrapProvider:()=>c.unwrapProvider});var a=n("APP","getMenu"),i=n("INSTALLED_APPS","has"),s=r(4272),c=r(394);function u(e,t,r){var o=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:a,visitNonExpressionString:i,visitObject:u}="string"==typeof r?{matchExpressionString:e=>e.includes(r)}:r;!function e(r){if("string"==typeof r)if((0,s.isEvaluable)(r))if(n(r))try{(0,s.preevaluate)(r,{withParent:!0,hooks:{beforeVisitGlobal(e,o){t(e,o,r)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==a||a(r);else null==i||i(r);else if((0,c.isObject)(r)){if(o.has(r))return;for(var l of(o.add(r),null==u||u(r),Array.isArray(r)?r:Object.values(r)))e(l)}}(e)}function l(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{hasNonStaticUsage:o,nonStaticUsage:n,usedProperties:a}=p(e,t,r);if(o)throw new Error("Non-static usage of ".concat(t,' is prohibited, check your expression: "').concat(n,'"'));return a}function p(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n={usedProperties:new Set,hasNonStaticUsage:!1},a=o(n,t,r);return u(e,((e,t,r)=>{a(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=r)}),t),n}function d(e,t,r){if(e.includes(t)){var n,a={usedProperties:new Set,hasNonStaticUsage:!1},{expression:i}=(0,s.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:o(a,r)}});if("SequenceExpression"===i.type&&(n=i.expressions[0])&&"Literal"===n.type&&n.value===t){if(a.usedProperties.size>0)return a.usedProperties;console.warn('You are using "'.concat(t,'" but no `').concat(r,"` usage found in your expression: ").concat(JSON.stringify(e)))}}return!1}function f(e){if(e){var t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,s.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:o(t,["CTX","STATE","FORM_STATE"],1,!0)}}),t.usedProperties.size>0){var r=[...t.usedProperties],n={context:!1,state:!1,formState:!1},a={CTX:"context",STATE:"state",FORM_STATE:"formState"};return r.forEach((e=>{var[t,r]=e.split(".");n[a[t]]||(n[a[t]]=[]),n[a[t]].push(r)})),n}console.warn('You are using track all but no "CTX" or "STATE" or "FORM_STATE" usage found in your expression: '.concat(JSON.stringify(e)))}return!1}function y(e,t){if(Array.isArray(e))for(var r of e)v(r,t)}function v(e,t,r){try{(0,s.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t}})}catch(t){r||console.error('Parse storyboard function "'.concat(e.name,'" failed:'),t)}}function g(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a={usedProperties:new Set,hasNonStaticUsage:!1};if(v(e,o(a,t,n),r),a.hasNonStaticUsage&&!r)throw new Error("Non-static usage of ".concat(t,' is prohibited, check your function: "').concat(e.name,'"'));return a.usedProperties.delete(e.name),a.usedProperties}var h="PERMISSIONS",S="check";function b(e){var t,r=new Set,o=P(r),{customTemplates:n,functions:a}=null!==(t=e.meta)&&void 0!==t?t:{};return u([e.routes,n],o,h),y(a,o),Array.from(r)}function m(e){var t=new Set;return u(e,P(t),h),Array.from(t)}function P(e){return function(t,r){if(t.name===h){var o=r[r.length-1],n=r[r.length-2];if("CallExpression"===(null==n?void 0:n.node.type)&&"callee"===(null==n?void 0:n.key)&&"MemberExpression"===(null==o?void 0:o.node.type)&&"object"===o.key&&(o.node.computed?"Literal"===o.node.property.type&&o.node.property.value===S:"Identifier"===o.node.property.type&&o.node.property.name===S))for(var a of n.node.arguments)"Literal"===a.type&&"string"==typeof a.value&&e.add(a.value)}}}}}]);
|
|
2
|
+
//# sourceMappingURL=8691.ff5bcf91.js.map
|