@pb33f/cowboy-components 0.7.18 → 0.8.0
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/_basePickBy-DtTwxTrV.js +151 -0
- package/dist/_baseUniq-C5Y4WFmx.js +614 -0
- package/dist/arc-a-7w7y90.js +83 -0
- package/dist/architecture-U656AL7Q-c_zxypEp.js +5 -0
- package/dist/architectureDiagram-VXUJARFQ-CIhQJ6xS.js +4661 -0
- package/dist/assets/elk-layout.worker-B71_NI2D.js +1 -0
- package/dist/assets/equalizer.worker-A8HFNy4g.js +1 -0
- package/dist/assets/graph-dependent.worker-BgWuMZsb.js +1 -0
- package/dist/assets/rule-documentation.worker-BCKuwSgZ.js +1 -0
- package/dist/assets/search-graph.worker-Cwqb-ecv.js +1 -0
- package/dist/blockDiagram-VD42YOAC-BLl5ID-l.js +2261 -0
- package/dist/c4Diagram-YG6GDRKO-BOGfb13x.js +1580 -0
- package/dist/channel-DYeI56io.js +5 -0
- package/dist/chunk-4BX2VUAB-BeHGB7ON.js +8 -0
- package/dist/chunk-55IACEB6-DgHUzWsw.js +8 -0
- package/dist/chunk-B4BG7PRW-Vs7GiQMf.js +1375 -0
- package/dist/chunk-DI55MBZ5-CHjdGXx0.js +1370 -0
- package/dist/chunk-FMBD7UC4-D-H9-bHN.js +19 -0
- package/dist/chunk-QN33PNHL-D7uE2r1Y.js +19 -0
- package/dist/chunk-QZHKN3VN-Cp3sUp7e.js +15 -0
- package/dist/chunk-TZMSLE5B-BmXGcXo9.js +64 -0
- package/dist/classDiagram-2ON5EDUG-9ilqiDEi.js +16 -0
- package/dist/classDiagram-v2-WZHVMYZB-9ilqiDEi.js +16 -0
- package/dist/clone-CybyMoa0.js +8 -0
- package/dist/components/attention-box/attention-box.css.js +8 -0
- package/dist/components/auth/login-button.js +1 -1
- package/dist/components/auth/login-panel.d.ts +4 -0
- package/dist/components/auth/login-panel.js +12 -4
- package/dist/components/auth/oauth-login.css.js +4 -0
- package/dist/components/auth/oauth-login.d.ts +2 -0
- package/dist/components/auth/oauth-login.js +12 -3
- package/dist/components/brokerable.d.ts +21 -0
- package/dist/components/brokerable.js +39 -0
- package/dist/components/bundle-toolbar/bundle-toolbar.css.js +110 -0
- package/dist/components/bundle-toolbar/bundle-toolbar.d.ts +21 -0
- package/dist/components/bundle-toolbar/bundle-toolbar.js +93 -0
- package/dist/components/changelog/changelog.css.js +2 -0
- package/dist/components/changelog/changelog.d.ts +2 -0
- package/dist/components/changelog/changelog.js +10 -1
- package/dist/components/changelog/release.css.js +5 -1
- package/dist/components/charts/beefy-chart.js +0 -2
- package/dist/components/charts/doughnut-chart.d.ts +5 -1
- package/dist/components/charts/doughnut-chart.js +20 -1
- package/dist/components/credit-ticker/credit-ticker.d.ts +3 -0
- package/dist/components/credit-ticker/credit-ticker.js +20 -4
- package/dist/components/details-drawer/details-drawer.css.d.ts +2 -0
- package/dist/components/{problem-list → details-drawer}/details-drawer.css.js +18 -3
- package/dist/components/details-drawer/generic-details-drawer.css.d.ts +1 -0
- package/dist/components/details-drawer/generic-details-drawer.css.js +219 -0
- package/dist/components/details-drawer/generic-details-drawer.d.ts +38 -0
- package/dist/components/details-drawer/generic-details-drawer.js +245 -0
- package/dist/components/details-drawer/handlers/diagram-handler.d.ts +35 -0
- package/dist/components/details-drawer/handlers/diagram-handler.js +248 -0
- package/dist/components/details-drawer/handlers/documentation-handler.d.ts +11 -0
- package/dist/components/details-drawer/handlers/documentation-handler.js +46 -0
- package/dist/components/details-drawer/handlers/example-handler.d.ts +18 -0
- package/dist/components/details-drawer/handlers/example-handler.js +146 -0
- package/dist/components/details-drawer/handlers/howto-handler.d.ts +11 -0
- package/dist/components/details-drawer/handlers/howto-handler.js +36 -0
- package/dist/components/details-drawer/handlers/markdown-handler.d.ts +12 -0
- package/dist/components/details-drawer/handlers/markdown-handler.js +54 -0
- package/dist/components/editor/editor-breadcrumb.css.js +1 -1
- package/dist/components/editor/editor.css.js +42 -0
- package/dist/components/editor/editor.d.ts +29 -3
- package/dist/components/editor/editor.js +495 -73
- package/dist/components/github/github-workspace-view.css.d.ts +2 -0
- package/dist/components/github/github-workspace-view.css.js +165 -0
- package/dist/components/github/github-workspace-view.d.ts +59 -0
- package/dist/components/github/github-workspace-view.js +525 -0
- package/dist/components/global-task/global-task-view.css.d.ts +2 -0
- package/dist/components/global-task/global-task-view.css.js +392 -0
- package/dist/components/global-task/global-task-view.d.ts +48 -0
- package/dist/components/global-task/global-task-view.js +359 -0
- package/dist/components/header/header.css.js +9 -1
- package/dist/components/http-method/http-method.css.js +5 -1
- package/dist/components/indeterminate-loader/indeterminate-loader.css.d.ts +2 -0
- package/dist/components/indeterminate-loader/indeterminate-loader.css.js +135 -0
- package/dist/components/indeterminate-loader/indeterminate-loader.d.ts +35 -0
- package/dist/components/indeterminate-loader/indeterminate-loader.js +201 -0
- package/dist/components/kv-view/kv-view.css.js +2 -0
- package/dist/components/kv-view/kv-view.js +0 -1
- package/dist/components/logo-wall/logo-wall.css.js +9 -0
- package/dist/components/manage-ruleset/manage-ruleset.css.js +14 -1
- package/dist/components/manage-ruleset/manage-ruleset.d.ts +1 -0
- package/dist/components/manage-ruleset/manage-ruleset.js +54 -22
- package/dist/components/manage-ruleset/rule-action.css.js +2 -0
- package/dist/components/manage-ruleset/rule-action.d.ts +10 -3
- package/dist/components/manage-ruleset/rule-action.js +118 -129
- package/dist/components/manage-ruleset/rule-input.d.ts +3 -1
- package/dist/components/manage-ruleset/rule-input.js +38 -34
- package/dist/components/manage-ruleset/rule.css.js +15 -1
- package/dist/components/manage-ruleset/rule.d.ts +4 -1
- package/dist/components/manage-ruleset/rule.js +44 -17
- package/dist/components/mermaid/mermaid-renderer.css.d.ts +1 -0
- package/dist/components/mermaid/mermaid-renderer.css.js +121 -0
- package/dist/components/mermaid/mermaid-renderer.d.ts +75 -0
- package/dist/components/mermaid/mermaid-renderer.js +485 -0
- package/dist/components/model-icon/doctor-icon.d.ts +9 -0
- package/dist/components/model-icon/doctor-icon.js +60 -0
- package/dist/components/model-icon/model-icon.d.ts +2 -1
- package/dist/components/model-icon/model-icon.js +13 -1
- package/dist/components/model-renderer/change.css.js +22 -8
- package/dist/components/model-renderer/changes.d.ts +1 -0
- package/dist/components/model-renderer/changes.js +47 -32
- package/dist/components/model-renderer/clickable-ref.d.ts +9 -3
- package/dist/components/model-renderer/clickable-ref.js +49 -10
- package/dist/components/model-renderer/components.d.ts +2 -0
- package/dist/components/model-renderer/components.js +196 -116
- package/dist/components/model-renderer/contact.js +2 -2
- package/dist/components/model-renderer/description.css.js +2 -0
- package/dist/components/model-renderer/document.d.ts +1 -0
- package/dist/components/model-renderer/document.js +14 -9
- package/dist/components/model-renderer/encoding.d.ts +2 -0
- package/dist/components/model-renderer/encoding.js +16 -7
- package/dist/components/model-renderer/example.css.js +5 -1
- package/dist/components/model-renderer/example.d.ts +4 -1
- package/dist/components/model-renderer/example.js +72 -118
- package/dist/components/model-renderer/extensions.d.ts +2 -0
- package/dist/components/model-renderer/extensions.js +11 -2
- package/dist/components/model-renderer/external-docs.d.ts +2 -0
- package/dist/components/model-renderer/external-docs.js +13 -4
- package/dist/components/model-renderer/has-changes.js +3 -3
- package/dist/components/model-renderer/header.d.ts +2 -0
- package/dist/components/model-renderer/header.js +27 -14
- package/dist/components/model-renderer/info.d.ts +2 -0
- package/dist/components/model-renderer/info.js +20 -7
- package/dist/components/model-renderer/link.d.ts +2 -0
- package/dist/components/model-renderer/link.js +27 -10
- package/dist/components/model-renderer/media-type.js +2 -2
- package/dist/components/model-renderer/model-badge.d.ts +11 -0
- package/dist/components/model-renderer/model-badge.js +59 -0
- package/dist/components/model-renderer/model-shared.css.js +14 -2
- package/dist/components/model-renderer/oauth-flows.js +4 -4
- package/dist/components/model-renderer/operation.d.ts +2 -1
- package/dist/components/model-renderer/operation.js +37 -16
- package/dist/components/model-renderer/param-location.js +3 -3
- package/dist/components/model-renderer/parameter.d.ts +2 -0
- package/dist/components/model-renderer/parameter.js +28 -15
- package/dist/components/model-renderer/path-item.d.ts +3 -0
- package/dist/components/model-renderer/path-item.js +52 -80
- package/dist/components/model-renderer/paths.d.ts +2 -0
- package/dist/components/model-renderer/paths.js +10 -3
- package/dist/components/model-renderer/problem-node.js +10 -10
- package/dist/components/model-renderer/rendered-node.css.js +35 -6
- package/dist/components/model-renderer/rendered-node.d.ts +14 -4
- package/dist/components/model-renderer/rendered-node.js +121 -58
- package/dist/components/model-renderer/rendered-property.js +4 -4
- package/dist/components/model-renderer/request-body.d.ts +2 -0
- package/dist/components/model-renderer/request-body.js +16 -9
- package/dist/components/model-renderer/response.d.ts +2 -0
- package/dist/components/model-renderer/response.js +35 -17
- package/dist/components/model-renderer/schema.css.js +10 -1
- package/dist/components/model-renderer/schema.d.ts +3 -2
- package/dist/components/model-renderer/schema.js +127 -129
- package/dist/components/model-renderer/security-scheme.js +3 -3
- package/dist/components/model-renderer/server.js +18 -8
- package/dist/components/model-renderer/tag.js +1 -1
- package/dist/components/model-tree/tree.css.js +21 -10
- package/dist/components/model-tree/tree.d.ts +39 -22
- package/dist/components/model-tree/tree.js +230 -167
- package/dist/components/paginator/paginator-navigator.css.js +9 -5
- package/dist/components/paginator/paginator-navigator.js +6 -6
- package/dist/components/paginator/paginator.css.js +2 -0
- package/dist/components/paginator/paginator.js +5 -8
- package/dist/components/percent-bar/percent-bar.css.js +133 -13
- package/dist/components/percent-bar/percent-bar.d.ts +2 -0
- package/dist/components/percent-bar/percent-bar.js +28 -24
- package/dist/components/premium-gate/premium-gate.css.d.ts +1 -0
- package/dist/components/premium-gate/premium-gate.css.js +117 -0
- package/dist/components/premium-gate/premium-gate.d.ts +49 -0
- package/dist/components/premium-gate/premium-gate.js +336 -0
- package/dist/components/problem-list/problem-list.css.js +72 -1
- package/dist/components/problem-list/problem-list.d.ts +17 -9
- package/dist/components/problem-list/problem-list.js +222 -226
- package/dist/components/problem-list/problem-mainview.css.js +12 -2
- package/dist/components/problem-list/problem-mainview.d.ts +3 -0
- package/dist/components/problem-list/problem-mainview.js +37 -17
- package/dist/components/problem-list/problem-toolbar.css.js +10 -7
- package/dist/components/problems-overview/diagnostic-evaluation.css.js +11 -1
- package/dist/components/problems-overview/diagnostic-evaluation.js +6 -7
- package/dist/components/problems-overview/document-statistic.css.js +6 -0
- package/dist/components/problems-overview/document-statistic.js +1 -1
- package/dist/components/problems-overview/problem-overview-group.js +5 -5
- package/dist/components/problems-overview/problem-statistic.css.js +24 -5
- package/dist/components/problems-overview/problem-statistic.js +15 -6
- package/dist/components/problems-overview/problem-statistics.css.js +4 -4
- package/dist/components/problems-overview/problem-statistics.js +29 -25
- package/dist/components/problems-overview/problems-overview.css.js +2 -2
- package/dist/components/property-view/property-view.css.js +2 -0
- package/dist/components/render-json-path/render-json-path.css.js +11 -3
- package/dist/components/render-json-path/render-json-path.js +3 -0
- package/dist/components/render-operation-path/render-operation-path.css.js +9 -0
- package/dist/components/render-operation-path/render-operation-path.js +7 -22
- package/dist/components/rodeo/rodeo.d.ts +1 -0
- package/dist/components/rodeo/rodeo.js +5 -0
- package/dist/components/rodeo/roundup.js +2 -2
- package/dist/components/rodeo/statistic.css.js +25 -2
- package/dist/components/rodeo/statistic.js +0 -4
- package/dist/components/shader-canvas/shader-canvas.css.d.ts +2 -0
- package/dist/components/shader-canvas/shader-canvas.css.js +66 -0
- package/dist/components/shader-canvas/shader-canvas.d.ts +36 -0
- package/dist/components/shader-canvas/shader-canvas.js +363 -0
- package/dist/components/shaders/flowing-waves-shader.d.ts +2 -0
- package/dist/components/shaders/flowing-waves-shader.js +70 -0
- package/dist/components/shaders/neon-canyon-shader.d.ts +2 -0
- package/dist/components/shaders/neon-canyon-shader.js +265 -0
- package/dist/components/shaders/neon-lines-shader.d.ts +2 -0
- package/dist/components/shaders/neon-lines-shader.js +181 -0
- package/dist/components/shaders/neon-squircles-shader.d.ts +2 -0
- package/dist/components/shaders/neon-squircles-shader.js +56 -0
- package/dist/components/shaders/retro-grid-shader.d.ts +2 -0
- package/dist/components/shaders/retro-grid-shader.js +53 -0
- package/dist/components/shaders/shader-base.d.ts +9 -0
- package/dist/components/shaders/shader-base.js +11 -0
- package/dist/components/terminal/terminal-example.css.js +4 -0
- package/dist/components/terminal/terminal-example.js +2 -3
- package/dist/components/terminal-emulator/terminal-emulator.css.js +12 -2
- package/dist/components/terminal-emulator/terminal-emulator.d.ts +7 -1
- package/dist/components/terminal-emulator/terminal-emulator.js +10 -5
- package/dist/components/the-doctor/doctor-controls-panel.css.d.ts +2 -0
- package/dist/components/the-doctor/doctor-controls-panel.css.js +53 -0
- package/dist/components/the-doctor/doctor-controls-panel.d.ts +20 -0
- package/dist/components/the-doctor/doctor-controls-panel.js +78 -0
- package/dist/components/the-doctor/doctor-editor-panel.css.d.ts +2 -0
- package/dist/components/the-doctor/doctor-editor-panel.css.js +209 -0
- package/dist/components/the-doctor/doctor-editor-panel.d.ts +41 -0
- package/dist/components/the-doctor/doctor-editor-panel.js +188 -0
- package/dist/components/the-doctor/doctor-navigator-panel.css.d.ts +2 -0
- package/dist/components/the-doctor/doctor-navigator-panel.css.js +134 -0
- package/dist/components/the-doctor/doctor-navigator-panel.d.ts +35 -0
- package/dist/components/the-doctor/doctor-navigator-panel.js +117 -0
- package/dist/components/the-doctor/doctor-sidebar-panel.css.d.ts +2 -0
- package/dist/components/the-doctor/doctor-sidebar-panel.css.js +143 -0
- package/dist/components/the-doctor/doctor-sidebar-panel.d.ts +31 -0
- package/dist/components/the-doctor/doctor-sidebar-panel.js +131 -0
- package/dist/components/the-doctor/doctor-url-overlay.css.d.ts +2 -0
- package/dist/components/the-doctor/doctor-url-overlay.css.js +59 -0
- package/dist/components/the-doctor/doctor-url-overlay.d.ts +23 -0
- package/dist/components/the-doctor/doctor-url-overlay.js +82 -0
- package/dist/components/the-doctor/nuke-workspace.js +4 -3
- package/dist/components/the-doctor/settings.css.js +2 -0
- package/dist/components/the-doctor/settings.js +5 -8
- package/dist/components/the-doctor/status-bar.d.ts +2 -2
- package/dist/components/the-doctor/status-bar.js +32 -31
- package/dist/components/the-doctor/the-doctor.css.js +47 -238
- package/dist/components/the-doctor/the-doctor.d.ts +149 -37
- package/dist/components/the-doctor/the-doctor.js +958 -528
- package/dist/components/the-doctor/upload-archive.css.js +8 -2
- package/dist/components/the-doctor/upload-archive.js +2 -2
- package/dist/components/theme-switcher/theme-switcher.js +5 -1
- package/dist/components/time-vortex/change-list-item.css.js +18 -4
- package/dist/components/time-vortex/change-list-item.d.ts +1 -0
- package/dist/components/time-vortex/change-list-item.js +4 -3
- package/dist/components/time-vortex/history-picker.css.js +60 -1
- package/dist/components/time-vortex/history-picker.d.ts +7 -1
- package/dist/components/time-vortex/history-picker.js +109 -5
- package/dist/components/time-vortex/tardis-control.css.js +339 -14
- package/dist/components/time-vortex/tardis-control.d.ts +31 -3
- package/dist/components/time-vortex/tardis-control.js +296 -58
- package/dist/components/time-vortex/time-vortex.d.ts +8 -2
- package/dist/components/time-vortex/time-vortex.js +54 -13
- package/dist/components/toast/toast-component.css.js +1 -0
- package/dist/components/toast/toast-component.d.ts +1 -0
- package/dist/components/toast/toast-component.js +23 -8
- package/dist/components/toast/toast-manager.d.ts +5 -0
- package/dist/components/toast/toast-manager.js +29 -7
- package/dist/components/visualizer/edge.d.ts +11 -1
- package/dist/components/visualizer/edge.js +27 -22
- package/dist/components/visualizer/equalizer.css.js +118 -76
- package/dist/components/visualizer/equalizer.d.ts +24 -45
- package/dist/components/visualizer/equalizer.js +262 -363
- package/dist/components/visualizer/explorer.d.ts +94 -14
- package/dist/components/visualizer/explorer.js +580 -393
- package/dist/components/visualizer/foreign-object.d.ts +12 -2
- package/dist/components/visualizer/foreign-object.js +21 -10
- package/dist/components/visualizer/key.js +12 -1
- package/dist/components/visualizer/nodes/callback.d.ts +2 -1
- package/dist/components/visualizer/nodes/callback.js +2 -2
- package/dist/components/visualizer/nodes/components.d.ts +2 -1
- package/dist/components/visualizer/nodes/components.js +2 -2
- package/dist/components/visualizer/nodes/contact.d.ts +2 -1
- package/dist/components/visualizer/nodes/contact.js +2 -2
- package/dist/components/visualizer/nodes/document.d.ts +2 -1
- package/dist/components/visualizer/nodes/document.js +2 -2
- package/dist/components/visualizer/nodes/graph-node.d.ts +14 -3
- package/dist/components/visualizer/nodes/graph-node.js +94 -43
- package/dist/components/visualizer/nodes/header.d.ts +2 -1
- package/dist/components/visualizer/nodes/header.js +2 -2
- package/dist/components/visualizer/nodes/info.d.ts +2 -1
- package/dist/components/visualizer/nodes/info.js +2 -2
- package/dist/components/visualizer/nodes/license.d.ts +2 -1
- package/dist/components/visualizer/nodes/license.js +2 -2
- package/dist/components/visualizer/nodes/link.d.ts +2 -1
- package/dist/components/visualizer/nodes/link.js +2 -2
- package/dist/components/visualizer/nodes/media-type.d.ts +2 -1
- package/dist/components/visualizer/nodes/media-type.js +2 -2
- package/dist/components/visualizer/nodes/operation.d.ts +2 -1
- package/dist/components/visualizer/nodes/operation.js +3 -4
- package/dist/components/visualizer/nodes/parameter.d.ts +3 -1
- package/dist/components/visualizer/nodes/parameter.js +3 -4
- package/dist/components/visualizer/nodes/path-item.d.ts +2 -1
- package/dist/components/visualizer/nodes/path-item.js +2 -2
- package/dist/components/visualizer/nodes/request-body.d.ts +2 -1
- package/dist/components/visualizer/nodes/request-body.js +2 -2
- package/dist/components/visualizer/nodes/response.d.ts +2 -1
- package/dist/components/visualizer/nodes/response.js +2 -2
- package/dist/components/visualizer/nodes/schema.d.ts +2 -1
- package/dist/components/visualizer/nodes/schema.js +64 -9
- package/dist/components/visualizer/nodes/security-scheme.d.ts +2 -1
- package/dist/components/visualizer/nodes/security-scheme.js +2 -2
- package/dist/components/visualizer/nodes/server.d.ts +2 -1
- package/dist/components/visualizer/nodes/server.js +3 -4
- package/dist/components/visualizer/nodes/tag.d.ts +2 -1
- package/dist/components/visualizer/nodes/tag.js +4 -5
- package/dist/components/visualizer/nodes/xml.d.ts +2 -1
- package/dist/components/visualizer/nodes/xml.js +2 -2
- package/dist/components/visualizer/orientation-controls.d.ts +6 -1
- package/dist/components/visualizer/orientation-controls.js +65 -7
- package/dist/components/visualizer/search.d.ts +2 -1
- package/dist/components/visualizer/search.js +22 -29
- package/dist/components/visualizer/shared.css.js +55 -18
- package/dist/components/visualizer/templates/svg-markers.d.ts +2 -0
- package/dist/components/visualizer/templates/svg-markers.js +73 -0
- package/dist/components/waiting-line/waiting-line.css.d.ts +2 -0
- package/dist/components/waiting-line/waiting-line.css.js +26 -0
- package/dist/components/waiting-line/waiting-line.d.ts +30 -0
- package/dist/components/waiting-line/waiting-line.js +424 -0
- package/dist/components/workspaces/workspace-view.css.js +89 -8
- package/dist/components/workspaces/workspace-view.d.ts +8 -1
- package/dist/components/workspaces/workspace-view.js +77 -25
- package/dist/controllers/auth-controller.d.ts +9 -0
- package/dist/controllers/auth-controller.js +12 -5
- package/dist/controllers/broker-controller.d.ts +30 -4
- package/dist/controllers/broker-controller.js +148 -25
- package/dist/controllers/bundle-controller.d.ts +21 -0
- package/dist/controllers/bundle-controller.js +122 -0
- package/dist/controllers/countdown-controller.d.ts +17 -0
- package/dist/controllers/countdown-controller.js +59 -0
- package/dist/controllers/diagnostic-controller.d.ts +18 -5
- package/dist/controllers/diagnostic-controller.js +206 -218
- package/dist/controllers/diagramatron-controller.d.ts +33 -0
- package/dist/controllers/diagramatron-controller.js +128 -0
- package/dist/controllers/docs-controller.d.ts +11 -5
- package/dist/controllers/docs-controller.js +97 -97
- package/dist/controllers/github-controller.d.ts +47 -0
- package/dist/controllers/github-controller.js +494 -0
- package/dist/controllers/global-task-controller.d.ts +46 -0
- package/dist/controllers/global-task-controller.js +352 -0
- package/dist/controllers/model-controller.d.ts +26 -4
- package/dist/controllers/model-controller.js +98 -62
- package/dist/controllers/node-clicker-controller.d.ts +121 -4
- package/dist/controllers/node-clicker-controller.js +526 -253
- package/dist/controllers/problem-controller.d.ts +11 -4
- package/dist/controllers/problem-controller.js +98 -39
- package/dist/controllers/rolodex-controller.d.ts +8 -3
- package/dist/controllers/rolodex-controller.js +117 -83
- package/dist/controllers/rule-controller.d.ts +12 -5
- package/dist/controllers/rule-controller.js +154 -161
- package/dist/controllers/spec-controller.d.ts +16 -4
- package/dist/controllers/spec-controller.js +91 -62
- package/dist/controllers/state-controller.d.ts +4 -3
- package/dist/controllers/state-controller.js +201 -154
- package/dist/controllers/tab-cache-controller.d.ts +29 -0
- package/dist/controllers/tab-cache-controller.js +68 -0
- package/dist/controllers/timeline-controller.d.ts +18 -0
- package/dist/controllers/timeline-controller.js +129 -0
- package/dist/controllers/wallet-controller.d.ts +3 -3
- package/dist/controllers/wallet-controller.js +22 -41
- package/dist/controllers/workspace-controller.d.ts +10 -4
- package/dist/controllers/workspace-controller.js +67 -22
- package/dist/cose-bilkent-S5V4N54A-2TG-C-n3.js +2608 -0
- package/dist/cowboy-components-BcyXo9oX.js +68425 -0
- package/dist/cowboy-components.css +1 -1
- package/dist/cowboy-components.umd.cjs +14117 -6601
- package/dist/css/alerts.css.js +2 -0
- package/dist/css/badges.css.js +2 -0
- package/dist/css/button.css.js +34 -1
- package/dist/css/cowboy-components.css +34 -0
- package/dist/css/dialog.css.js +11 -2
- package/dist/css/filter.css.js +17 -5
- package/dist/css/forms.css.js +14 -0
- package/dist/css/pb33f-theme.css +87 -16
- package/dist/css/syntax.css.js +5 -0
- package/dist/css/tabs.css.js +19 -2
- package/dist/css/tooltip.css.js +4 -0
- package/dist/cytoscape.esm-DfdJODL8.js +18735 -0
- package/dist/dagre-6UL2VRFP-BIlmTbhO.js +444 -0
- package/dist/defaultLocale-D7EN2tov.js +171 -0
- package/dist/diagram-PSM6KHXK-CeWby24E.js +531 -0
- package/dist/diagram-QEK2KX5R-DGonyVCK.js +217 -0
- package/dist/diagram-S2PKOQOG-mGn-y1uX.js +142 -0
- package/dist/erDiagram-Q2GNP2WA-BlBBw4Mz.js +841 -0
- package/dist/events/doctor.d.ts +63 -9
- package/dist/events/doctor.js +29 -1
- package/dist/events/drawer-events.d.ts +7 -0
- package/dist/events/drawer-events.js +3 -0
- package/dist/events/theme.d.ts +4 -0
- package/dist/events/theme.js +1 -0
- package/dist/factories/explorer-component-factory.d.ts +49 -0
- package/dist/factories/explorer-component-factory.js +205 -0
- package/dist/factories/state-controller-deps.factory.d.ts +88 -0
- package/dist/factories/state-controller-deps.factory.js +116 -0
- package/dist/flowDiagram-NV44I4VS-BlLzzy1C.js +1620 -0
- package/dist/ganttDiagram-LVOFAZNH-BoQtPC8k.js +2505 -0
- package/dist/gitGraph-F6HP7TQM-CShNSlrW.js +5 -0
- package/dist/gitGraphDiagram-NY62KEGX-BdpWBgHy.js +699 -0
- package/dist/graph-D9HS4Ahd.js +247 -0
- package/dist/helpers/event-wiring.d.ts +72 -0
- package/dist/helpers/event-wiring.js +58 -0
- package/dist/helpers/file-size-formatter.d.ts +3 -0
- package/dist/helpers/file-size-formatter.js +15 -0
- package/dist/helpers/filename-colorizer.d.ts +5 -0
- package/dist/helpers/filename-colorizer.js +30 -0
- package/dist/helpers/navigation-helper.d.ts +54 -0
- package/dist/helpers/navigation-helper.js +159 -0
- package/dist/helpers/typed-events.d.ts +1 -0
- package/dist/helpers/typed-events.js +3 -0
- package/dist/info-NVLQJR56-Bpi6I8up.js +5 -0
- package/dist/infoDiagram-F6ZHWCRC-DmhhbuMJ.js +24 -0
- package/dist/init-DjUOC4st.js +16 -0
- package/dist/interfaces/bundle-interfaces.d.ts +7 -0
- package/dist/interfaces/bundle-interfaces.js +1 -0
- package/dist/interfaces/doctor-interfaces.d.ts +506 -0
- package/dist/interfaces/doctor-interfaces.js +1 -0
- package/dist/journeyDiagram-XKPGCS4Q-CpkhK8vl.js +834 -0
- package/dist/kanban-definition-3W4ZIXB7-BFbucfYE.js +719 -0
- package/dist/katex-SsTUIUTC.js +11688 -0
- package/dist/layout-B8H1_UrM.js +1324 -0
- package/dist/linear-Bo0rJUSQ.js +259 -0
- package/dist/managers/drag-handler.d.ts +28 -0
- package/dist/managers/drag-handler.js +64 -0
- package/dist/managers/event-registration-manager.d.ts +17 -0
- package/dist/managers/event-registration-manager.js +34 -0
- package/dist/managers/expansion-manager.d.ts +58 -0
- package/dist/managers/expansion-manager.js +189 -0
- package/dist/managers/layout-filter-manager.d.ts +31 -0
- package/dist/managers/layout-filter-manager.js +109 -0
- package/dist/managers/panel-divider-manager.d.ts +33 -0
- package/dist/managers/panel-divider-manager.js +71 -0
- package/dist/managers/view-state-manager.d.ts +48 -0
- package/dist/managers/view-state-manager.js +101 -0
- package/dist/managers/viewport-manager.d.ts +53 -0
- package/dist/managers/viewport-manager.js +198 -0
- package/dist/mermaid-parser.core-BPror82d.js +12966 -0
- package/dist/mindmap-definition-VGOIOE7T-VAn-EShH.js +784 -0
- package/dist/mocks/task-mock-generator.d.ts +13 -0
- package/dist/mocks/task-mock-generator.js +200 -0
- package/dist/model/api-response.d.ts +2 -7
- package/dist/model/api-response.js +0 -2
- package/dist/model/bundle.d.ts +35 -0
- package/dist/model/bundle.js +1 -0
- package/dist/model/channels.d.ts +8 -1
- package/dist/model/channels.js +7 -0
- package/dist/model/drawer-content.d.ts +80 -0
- package/dist/model/drawer-content.js +14 -0
- package/dist/model/formable.js +22 -11
- package/dist/model/github.d.ts +125 -0
- package/dist/model/github.js +1 -0
- package/dist/model/graph.d.ts +15 -15
- package/dist/model/graph.js +24 -4
- package/dist/model/media-type.js +2 -2
- package/dist/model/node_type.d.ts +4 -0
- package/dist/model/node_type.js +4 -0
- package/dist/model/panel-state.d.ts +1 -0
- package/dist/model/rolodex.d.ts +3 -0
- package/dist/model/task.d.ts +50 -0
- package/dist/model/task.js +22 -0
- package/dist/model/timeline.d.ts +107 -1
- package/dist/model/tree-icon-config.d.ts +11 -0
- package/dist/model/tree-icon-config.js +46 -0
- package/dist/model/workspace.d.ts +2 -0
- package/dist/ordinal-DfAQgscy.js +61 -0
- package/dist/packet-BFZMPI3H-CXPCK9Q2.js +5 -0
- package/dist/pie-7BOR55EZ-CMcuUZ_S.js +5 -0
- package/dist/pieDiagram-ADFJNKIX-C0kdlQqn.js +161 -0
- package/dist/quadrantDiagram-AYHSOK5B-CRVq6wY3.js +1022 -0
- package/dist/radar-NHE76QYJ-CX_Gyp4h.js +5 -0
- package/dist/requirementDiagram-UZGBJVZJ-B8ZGgMKn.js +850 -0
- package/dist/sankeyDiagram-TZEHDZUN-CWAUJJue.js +810 -0
- package/dist/sequenceDiagram-WL72ISMW-nz81a4Cq.js +2511 -0
- package/dist/services/diagramatron-service.d.ts +20 -0
- package/dist/services/diagramatron-service.js +48 -0
- package/dist/services/doctor-events.d.ts +58 -0
- package/dist/services/doctor-events.js +33 -0
- package/dist/services/drawer-content-registry.d.ts +9 -0
- package/dist/services/drawer-content-registry.js +37 -0
- package/dist/services/github-service.d.ts +9 -0
- package/dist/services/github-service.js +166 -0
- package/dist/services/global-task-service.d.ts +6 -0
- package/dist/services/global-task-service.js +27 -0
- package/dist/services/header-service.d.ts +5 -3
- package/dist/services/header-service.js +13 -0
- package/dist/services/linting-service.d.ts +2 -0
- package/dist/services/linting-service.js +19 -2
- package/dist/services/mermaid-config-service.d.ts +53 -0
- package/dist/services/mermaid-config-service.js +519 -0
- package/dist/services/model-service.d.ts +12 -7
- package/dist/services/model-service.js +64 -11
- package/dist/services/rodeo-service.js +12 -12
- package/dist/services/timeline-service.d.ts +12 -2
- package/dist/services/timeline-service.js +329 -0
- package/dist/services/wallet-service.d.ts +1 -1
- package/dist/services/wallet-service.js +4 -1
- package/dist/services/workspace-service.js +16 -2
- package/dist/stateDiagram-FKZM4ZOC-3PFzJlcG.js +263 -0
- package/dist/stateDiagram-v2-4FDKWEC3-Bp46vM6_.js +16 -0
- package/dist/timeline-definition-IT6M3QCI-utm7jTLb.js +795 -0
- package/dist/treemap-KMMF4GRG-BvEKHn43.js +5 -0
- package/dist/utils/language-utils.d.ts +1 -0
- package/dist/utils/language-utils.js +23 -0
- package/dist/utils/lru-cache.d.ts +11 -0
- package/dist/utils/lru-cache.js +38 -0
- package/dist/utils/node-helpers.d.ts +6 -0
- package/dist/utils/node-helpers.js +62 -0
- package/dist/utils/path-utils.d.ts +5 -0
- package/dist/utils/path-utils.js +22 -0
- package/dist/workers/elk-layout.worker.d.ts +2 -0
- package/dist/workers/elk-layout.worker.js +31 -0
- package/dist/workers/equalizer.worker.d.ts +6 -1
- package/dist/workers/equalizer.worker.js +144 -195
- package/dist/workers/graph-dependent.worker.js +6 -6
- package/dist/workers/rule-documentation.worker.js +12 -48
- package/dist/workers/search-graph.worker.js +8 -23
- package/dist/xychartDiagram-PRI3JC2R-twqDKWMX.js +1340 -0
- package/package.json +17 -10
- package/dist/assets/equalizer.worker-B1FBgh0h.js +0 -1
- package/dist/assets/graph-dependent.worker-CxW1u577.js +0 -1
- package/dist/assets/rule-documentation.worker-B4_JKUg4.js +0 -1
- package/dist/assets/search-graph.worker-DJxOIWLn.js +0 -1
- package/dist/components/problem-list/details-drawer.d.ts +0 -34
- package/dist/components/problem-list/details-drawer.js +0 -200
- /package/dist/components/{problem-list/details-drawer.css.d.ts → bundle-toolbar/bundle-toolbar.css.d.ts} +0 -0
|
@@ -7,36 +7,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import '../';
|
|
8
8
|
import { queryAll, customElement, query, state, property } from "lit/decorators.js";
|
|
9
9
|
import { html, svg } from "lit";
|
|
10
|
+
import { repeat } from "lit/directives/repeat.js";
|
|
10
11
|
import visualizerCss from "./visualizer.css.js";
|
|
11
|
-
import { ForeignObjectComponent } from "./foreign-object.js";
|
|
12
|
-
import { GraphNodeComponent } from "./nodes/graph-node.js";
|
|
13
|
-
import ElkConstructor from 'elkjs';
|
|
14
|
-
import { EdgeComponent } from "./edge.js";
|
|
15
|
-
import { DocumentNodeComponent } from "./nodes/document.js";
|
|
16
|
-
import { NodeType } from "../../model/node_type.js";
|
|
17
|
-
import { InfoNodeComponent } from "./nodes/info.js";
|
|
18
|
-
import { LicenseNodeComponent } from "./nodes/license.js";
|
|
19
|
-
import { ContactNodeComponent } from "./nodes/contact.js";
|
|
20
|
-
import { TagNodeComponent } from "./nodes/tag.js";
|
|
21
|
-
import { ServerNodeComponent } from "./nodes/server.js";
|
|
22
|
-
import { ComponentsNodeComponent } from "./nodes/components.js";
|
|
23
|
-
import { SchemaNodeComponent } from "./nodes/schema.js";
|
|
24
|
-
import { SecuritySchemeNodeComponent } from "./nodes/security-scheme.js";
|
|
25
|
-
import { ParameterNodeComponent } from "./nodes/parameter.js";
|
|
26
|
-
import { HeaderNodeComponent } from "./nodes/header.js";
|
|
27
|
-
import { RequestBodyNodeComponent } from "./nodes/request-body.js";
|
|
28
|
-
import { MediaTypeNodeComponent } from "./nodes/media-type.js";
|
|
29
|
-
import { ResponseNodeComponent } from "./nodes/response.js";
|
|
30
|
-
import { LinkNodeComponent } from "./nodes/link.js";
|
|
31
|
-
import { CallbackNodeComponent } from "./nodes/callback.js";
|
|
32
|
-
import { PathItemNodeComponent } from "./nodes/path-item.js";
|
|
33
|
-
import { OperationNodeComponent } from "./nodes/operation.js";
|
|
34
|
-
import { XMLNodeComponent } from "./nodes/xml.js";
|
|
35
12
|
import { EqualizerComponent } from "./equalizer.js";
|
|
36
|
-
import {
|
|
13
|
+
import { ExplorerComponentFactory } from "../../factories/explorer-component-factory.js";
|
|
14
|
+
import { renderSvgMarkers } from "./templates/svg-markers.js";
|
|
15
|
+
import { ExplorerDependentNodeClicked, ExplorerEqualizerChanged, ExplorerEqualizerFiltered, ExplorerLoadMoreChildren, ExplorerPovModeExit, ExplorerReset, ExplorerRotate, ExplorerZoomIn, ExplorerZoomOut, ModelTreeNodeClicked } from "../../events/doctor.js";
|
|
37
16
|
import { HasEyes } from "./has-eyes.js";
|
|
38
17
|
import GraphDependentWorker from "../../workers/graph-dependent.worker.js?worker";
|
|
39
|
-
import
|
|
18
|
+
import ElkLayoutWorker from "../../workers/elk-layout.worker.js?worker";
|
|
19
|
+
import sharedCss from "../../css/shared.css.js";
|
|
20
|
+
import { ExpansionManager } from "../../managers/expansion-manager.js";
|
|
21
|
+
import { LayoutFilterManager } from "../../managers/layout-filter-manager.js";
|
|
40
22
|
export var Direction;
|
|
41
23
|
(function (Direction) {
|
|
42
24
|
Direction["UP"] = "UP";
|
|
@@ -45,24 +27,45 @@ export var Direction;
|
|
|
45
27
|
Direction["RIGHT"] = "RIGHT";
|
|
46
28
|
})(Direction || (Direction = {}));
|
|
47
29
|
let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
48
|
-
|
|
30
|
+
get expandedNodes() { return this.expansionManager.expandedNodes; }
|
|
31
|
+
get visibleChildrenCount() { return this.expansionManager.visibleChildrenCount; }
|
|
32
|
+
get pathRevealNodes() { return this.expansionManager.pathRevealNodes; }
|
|
33
|
+
get pathRevealTarget() { return this.expansionManager.pathRevealTarget; }
|
|
34
|
+
constructor(doc) {
|
|
49
35
|
super();
|
|
36
|
+
this.embeddedMode = false;
|
|
37
|
+
this.povPreviousViewBox = null;
|
|
38
|
+
this.povFocusNodeId = null;
|
|
39
|
+
this.layoutRequestId = 0;
|
|
50
40
|
this.nodeComponents = [];
|
|
51
41
|
this.edgeComponents = [];
|
|
52
42
|
this.scale = 1;
|
|
43
|
+
this.isDragging = false; // Track if we're actually dragging vs just clicked
|
|
44
|
+
this.dragThreshold = 5; // Pixels to move before considering it a drag
|
|
53
45
|
this.dragStartViewBoxX = 0;
|
|
54
46
|
this.dragStartViewBoxY = 0;
|
|
47
|
+
this.previousActiveNodeId = null;
|
|
55
48
|
this.zoomMax = 8000;
|
|
56
49
|
this.zoomMin = 50;
|
|
57
50
|
this.collapsedNodes = new Map();
|
|
58
51
|
this.collapsedEdges = new Map();
|
|
59
|
-
this.
|
|
52
|
+
this.hasMoreChildren = new Map();
|
|
53
|
+
this.currentAnimationId = 0;
|
|
54
|
+
this.savedExpandedNodes = null;
|
|
55
|
+
this.savedVisibleChildrenCount = null;
|
|
56
|
+
this.resizeObserver = null;
|
|
57
|
+
this.containerWidth = 0;
|
|
58
|
+
this.containerHeight = 0;
|
|
59
|
+
this.doc = doc;
|
|
60
60
|
this.ready = false;
|
|
61
61
|
this.direction = Direction.RIGHT;
|
|
62
62
|
this.nodeMap = new Map();
|
|
63
|
+
this.definitionCache = new Map();
|
|
64
|
+
this.edgeMap = new Map();
|
|
65
|
+
this.violationMap = new Map();
|
|
63
66
|
this.renderGraphMap = new Map();
|
|
64
67
|
this.edgeComponentMap = new Map();
|
|
65
|
-
this.
|
|
68
|
+
this.nodeComponentMap = new Map();
|
|
66
69
|
this.collapsedNodes = new Map();
|
|
67
70
|
this.nodes = [];
|
|
68
71
|
this.edges = [];
|
|
@@ -72,8 +75,6 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
72
75
|
this.edgeNode = '120';
|
|
73
76
|
this.bendEdges = true;
|
|
74
77
|
this.bendPoints = true;
|
|
75
|
-
this.renderRefs = false;
|
|
76
|
-
this.renderPoly = false;
|
|
77
78
|
this.nodeLimitExceeded = false;
|
|
78
79
|
this.nodeLimit = -1;
|
|
79
80
|
this.equalizer = new EqualizerComponent();
|
|
@@ -85,72 +86,223 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
85
86
|
this.equalizer.edgeNode = parseInt(this.edgeNode);
|
|
86
87
|
this.equalizer.bendEdges = this.bendEdges;
|
|
87
88
|
this.equalizer.bendPoints = this.bendPoints;
|
|
88
|
-
this.
|
|
89
|
-
this.
|
|
90
|
-
this.
|
|
91
|
-
this.
|
|
92
|
-
this.zoomY = 0;
|
|
93
|
-
this.zoomW = 0;
|
|
94
|
-
this.zoomH = 0;
|
|
89
|
+
this.zoomX = null;
|
|
90
|
+
this.zoomY = null;
|
|
91
|
+
this.zoomW = null;
|
|
92
|
+
this.zoomH = null;
|
|
95
93
|
this.graphDependentWorker = new GraphDependentWorker();
|
|
96
|
-
this.
|
|
97
|
-
this.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
94
|
+
this.elkLayoutWorker = new ElkLayoutWorker();
|
|
95
|
+
this.elkLayoutWorker.onerror = (e) => {
|
|
96
|
+
console.error('[explorer] ELK layout worker error:', e);
|
|
97
|
+
};
|
|
98
|
+
this.expansionManager = new ExpansionManager({
|
|
99
|
+
getNodeMap: () => this.nodeMap,
|
|
100
|
+
getGraphResponseNodes: () => this.graphResponse?.nodes,
|
|
101
|
+
buildGraph: () => this.buildGraph(),
|
|
102
|
+
moveToNode: (node) => this.moveToNode(node),
|
|
103
|
+
getActiveNode: () => this.activeNode,
|
|
104
|
+
setActiveNode: (node) => { this.activeNode = node; },
|
|
105
|
+
setPreviousActiveNodeId: (id) => { this.previousActiveNodeId = id; },
|
|
106
|
+
getNodeScreenOffset: (nodeId) => this.getNodeScreenOffset(nodeId),
|
|
107
|
+
restoreNodeScreenPosition: (nodeId, offset) => this.restoreNodeScreenPosition(nodeId, offset),
|
|
108
|
+
preservePositions: () => this.layoutFilterManager.preservePositions(this.graph)
|
|
109
|
+
});
|
|
110
|
+
this.layoutFilterManager = new LayoutFilterManager({
|
|
111
|
+
getExpandedNodes: () => this.expansionManager.expandedNodes,
|
|
112
|
+
getVisibleChildrenCount: () => this.expansionManager.visibleChildrenCount,
|
|
113
|
+
getPathRevealNodes: () => this.expansionManager.pathRevealNodes,
|
|
114
|
+
getChildBatchSize: () => this.expansionManager.CHILD_BATCH_SIZE
|
|
115
|
+
});
|
|
116
|
+
this.explorerComponentFactory = new ExplorerComponentFactory({
|
|
117
|
+
getNodeMap: () => this.nodeMap,
|
|
118
|
+
getDefinitionCache: () => this.definitionCache,
|
|
119
|
+
getEdgeMap: () => this.edgeMap
|
|
120
|
+
});
|
|
121
|
+
// Store bound handlers for cleanup
|
|
122
|
+
this.boundZoomIn = this.zoomIn.bind(this);
|
|
123
|
+
this.boundZoomOut = this.zoomOut.bind(this);
|
|
124
|
+
this.boundRotate = this.rotate.bind(this);
|
|
125
|
+
this.boundReset = this.reset.bind(this);
|
|
126
|
+
this.boundEqualizerChanged = this.equalizerChanged.bind(this);
|
|
127
|
+
this.boundEqualizerFiltered = this.equalizerFiltered.bind(this);
|
|
128
|
+
this.boundDependentNodeClicked = this.dependentNodeClicked.bind(this);
|
|
129
|
+
this.boundLoadMoreChildren = this.loadMoreChildrenClicked.bind(this);
|
|
130
|
+
this.boundPovModeExit = this.handlePovModeExit.bind(this);
|
|
131
|
+
this.boundGraphDependentMessage = (e) => {
|
|
107
132
|
this.toggleNodeVisibility(e.data.filteredNodes, e.data.filteredEdges, e.data.collapse);
|
|
108
133
|
};
|
|
134
|
+
this.equalizer.addEventListener(ExplorerZoomIn, this.boundZoomIn);
|
|
135
|
+
this.equalizer.addEventListener(ExplorerZoomOut, this.boundZoomOut);
|
|
136
|
+
this.equalizer.addEventListener(ExplorerRotate, this.boundRotate);
|
|
137
|
+
this.equalizer.addEventListener(ExplorerReset, this.boundReset);
|
|
138
|
+
this.equalizer.addEventListener(ExplorerEqualizerChanged, this.boundEqualizerChanged);
|
|
139
|
+
this.equalizer.addEventListener(ExplorerEqualizerFiltered, this.boundEqualizerFiltered);
|
|
140
|
+
this.addEventListener(ExplorerDependentNodeClicked, this.boundDependentNodeClicked);
|
|
141
|
+
this.addEventListener(ExplorerLoadMoreChildren, this.boundLoadMoreChildren);
|
|
142
|
+
this.equalizer.addEventListener(ExplorerPovModeExit, this.boundPovModeExit);
|
|
143
|
+
this.graphDependentWorker.onmessage = this.boundGraphDependentMessage;
|
|
144
|
+
}
|
|
145
|
+
connectedCallback() {
|
|
146
|
+
super.connectedCallback();
|
|
147
|
+
this.setupResizeObserver();
|
|
148
|
+
}
|
|
149
|
+
disconnectedCallback() {
|
|
150
|
+
super.disconnectedCallback();
|
|
151
|
+
this.elkLayoutWorker?.terminate();
|
|
152
|
+
this.graphDependentWorker?.terminate();
|
|
153
|
+
this.resizeObserver?.disconnect();
|
|
154
|
+
this.resizeObserver = null;
|
|
155
|
+
// Remove event listeners from equalizer
|
|
156
|
+
this.equalizer.removeEventListener(ExplorerZoomIn, this.boundZoomIn);
|
|
157
|
+
this.equalizer.removeEventListener(ExplorerZoomOut, this.boundZoomOut);
|
|
158
|
+
this.equalizer.removeEventListener(ExplorerRotate, this.boundRotate);
|
|
159
|
+
this.equalizer.removeEventListener(ExplorerReset, this.boundReset);
|
|
160
|
+
this.equalizer.removeEventListener(ExplorerEqualizerChanged, this.boundEqualizerChanged);
|
|
161
|
+
this.equalizer.removeEventListener(ExplorerEqualizerFiltered, this.boundEqualizerFiltered);
|
|
162
|
+
this.equalizer.removeEventListener(ExplorerPovModeExit, this.boundPovModeExit);
|
|
163
|
+
// Remove event listeners from self
|
|
164
|
+
this.removeEventListener(ExplorerDependentNodeClicked, this.boundDependentNodeClicked);
|
|
165
|
+
this.removeEventListener(ExplorerLoadMoreChildren, this.boundLoadMoreChildren);
|
|
166
|
+
}
|
|
167
|
+
setupResizeObserver() {
|
|
168
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
169
|
+
for (const entry of entries) {
|
|
170
|
+
const { width, height } = entry.contentRect;
|
|
171
|
+
if (width !== this.containerWidth || height !== this.containerHeight) {
|
|
172
|
+
this.containerWidth = width;
|
|
173
|
+
this.containerHeight = height;
|
|
174
|
+
this.updateViewBoxForContainer();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
this.resizeObserver.observe(this);
|
|
179
|
+
}
|
|
180
|
+
updateViewBoxForContainer() {
|
|
181
|
+
if (!this.svgItem || this.containerWidth === 0 || this.containerHeight === 0)
|
|
182
|
+
return;
|
|
183
|
+
const viewBox = this.svgItem.viewBox.baseVal;
|
|
184
|
+
const currentCenterX = viewBox.x + viewBox.width / 2;
|
|
185
|
+
const currentCenterY = viewBox.y + viewBox.height / 2;
|
|
186
|
+
const aspectRatio = this.containerWidth / this.containerHeight;
|
|
187
|
+
const box = this.buildBaseViewBox();
|
|
188
|
+
const base = box.base + 300;
|
|
189
|
+
let newWidth;
|
|
190
|
+
let newHeight;
|
|
191
|
+
if (aspectRatio > 1) {
|
|
192
|
+
newHeight = base;
|
|
193
|
+
newWidth = base * aspectRatio;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
newWidth = base;
|
|
197
|
+
newHeight = base / aspectRatio;
|
|
198
|
+
}
|
|
199
|
+
viewBox.width = newWidth;
|
|
200
|
+
viewBox.height = newHeight;
|
|
201
|
+
viewBox.x = currentCenterX - newWidth / 2;
|
|
202
|
+
viewBox.y = currentCenterY - newHeight / 2;
|
|
203
|
+
this.zoomW = newWidth;
|
|
204
|
+
this.zoomH = newHeight;
|
|
205
|
+
this.zoomX = viewBox.x;
|
|
206
|
+
this.zoomY = viewBox.y;
|
|
109
207
|
}
|
|
110
208
|
toggleNodeVisibility(nodes, edges, collapse) {
|
|
111
209
|
nodes.forEach((node) => {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
210
|
+
if (!node?.id)
|
|
211
|
+
return;
|
|
212
|
+
const nodeComponent = this.nodeComponentMap.get(node.id);
|
|
213
|
+
if (!nodeComponent)
|
|
214
|
+
return;
|
|
215
|
+
if (nodeComponent.visible && collapse) {
|
|
216
|
+
nodeComponent.visible = false;
|
|
217
|
+
this.collapsedNodes.set(node.id, true);
|
|
218
|
+
}
|
|
219
|
+
else if (!nodeComponent.visible && !collapse) {
|
|
220
|
+
nodeComponent.visible = true;
|
|
221
|
+
this.collapsedNodes.delete(node.id);
|
|
122
222
|
}
|
|
123
223
|
});
|
|
124
224
|
edges.forEach((edge) => {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
225
|
+
if (!edge?.id)
|
|
226
|
+
return;
|
|
227
|
+
const edgeComponent = this.edgeComponentMap.get(edge.id);
|
|
228
|
+
if (!edgeComponent)
|
|
229
|
+
return;
|
|
230
|
+
if (edgeComponent.visible && collapse) {
|
|
231
|
+
edgeComponent.visible = false;
|
|
232
|
+
this.collapsedEdges.set(edge.id, true);
|
|
233
|
+
}
|
|
234
|
+
else if (!edgeComponent.visible && !collapse) {
|
|
235
|
+
edgeComponent.visible = true;
|
|
236
|
+
this.collapsedEdges.delete(edge.id);
|
|
135
237
|
}
|
|
136
238
|
});
|
|
137
239
|
this.requestUpdate();
|
|
138
240
|
}
|
|
139
241
|
dependentNodeClicked(evt) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
242
|
+
const nodeId = evt.detail.node.id;
|
|
243
|
+
this.toggleNodeExpansion(nodeId);
|
|
244
|
+
}
|
|
245
|
+
loadMoreChildrenClicked(evt) {
|
|
246
|
+
this.loadMoreChildren(evt.detail.parentId);
|
|
247
|
+
}
|
|
248
|
+
enterPovMode(nodeId, povNode) {
|
|
249
|
+
const state = this.expansionManager.saveState();
|
|
250
|
+
this.savedExpandedNodes = state.expandedNodes;
|
|
251
|
+
this.savedVisibleChildrenCount = state.visibleChildrenCount;
|
|
252
|
+
this.povMode = true;
|
|
253
|
+
this.povFocusNodeId = nodeId;
|
|
254
|
+
this.povNode = povNode;
|
|
255
|
+
this.povNodeId = nodeId;
|
|
256
|
+
}
|
|
257
|
+
exitPovMode(invalidateCache = true) {
|
|
258
|
+
if (this.savedExpandedNodes && this.savedVisibleChildrenCount) {
|
|
259
|
+
this.expansionManager.restoreState({
|
|
260
|
+
expandedNodes: this.savedExpandedNodes,
|
|
261
|
+
visibleChildrenCount: this.savedVisibleChildrenCount
|
|
146
262
|
});
|
|
263
|
+
this.savedExpandedNodes = null;
|
|
264
|
+
this.savedVisibleChildrenCount = null;
|
|
265
|
+
}
|
|
266
|
+
this.graphResponse?.nodes?.forEach(node => {
|
|
267
|
+
if (node.dependency)
|
|
268
|
+
node.dependency = false;
|
|
269
|
+
});
|
|
270
|
+
this.graphResponse?.edges?.forEach(edge => {
|
|
271
|
+
if (edge.dependency)
|
|
272
|
+
edge.dependency = false;
|
|
273
|
+
});
|
|
274
|
+
this.povMode = false;
|
|
275
|
+
this.povNode = null;
|
|
276
|
+
this.equalizer.controls.povNode = null;
|
|
277
|
+
if (invalidateCache) {
|
|
278
|
+
this.expansionManager.invalidateChildrenCache();
|
|
279
|
+
this.layoutFilterManager.invalidateChildrenCache();
|
|
147
280
|
}
|
|
148
281
|
}
|
|
282
|
+
handlePovModeExit() {
|
|
283
|
+
this.exitPovMode(true);
|
|
284
|
+
}
|
|
149
285
|
updateGraphResponse(graphResponse) {
|
|
150
286
|
this.graphResponse = graphResponse;
|
|
287
|
+
this.expansionManager.invalidateChildrenCache();
|
|
288
|
+
this.layoutFilterManager.invalidateChildrenCache();
|
|
151
289
|
this.equalizer.graphResponse = graphResponse;
|
|
152
290
|
this.equalizer.controls.searchComponent.graphResponse = graphResponse;
|
|
153
|
-
|
|
291
|
+
// Populate violation map from graph response
|
|
292
|
+
this.violationMap.clear();
|
|
293
|
+
if (graphResponse.violations) {
|
|
294
|
+
Object.entries(graphResponse.violations).forEach(([id, violation]) => {
|
|
295
|
+
this.violationMap.set(id, violation);
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
this.buildGraph().then(() => {
|
|
299
|
+
// Center on root after initial graph build
|
|
300
|
+
setTimeout(() => {
|
|
301
|
+
if (!this.activeNode) {
|
|
302
|
+
this.centerOnRoot();
|
|
303
|
+
}
|
|
304
|
+
}, 50);
|
|
305
|
+
});
|
|
154
306
|
}
|
|
155
307
|
rotate() {
|
|
156
308
|
switch (this.direction) {
|
|
@@ -168,29 +320,45 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
168
320
|
break;
|
|
169
321
|
}
|
|
170
322
|
this.resetNodes();
|
|
171
|
-
this.buildGraph()
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
323
|
+
this.buildGraph().then(() => {
|
|
324
|
+
setTimeout(() => {
|
|
325
|
+
if (this.activeNode) {
|
|
326
|
+
this.dispatchEvent(new CustomEvent(ModelTreeNodeClicked, {
|
|
327
|
+
bubbles: true,
|
|
328
|
+
composed: true,
|
|
329
|
+
detail: {
|
|
330
|
+
nodeId: this.activeNode.id,
|
|
331
|
+
}
|
|
332
|
+
}));
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
}, 200);
|
|
183
336
|
});
|
|
184
337
|
}
|
|
185
338
|
mouseMove(evt) {
|
|
186
339
|
if (this.grabbed) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
340
|
+
// Calculate distance moved from initial click
|
|
341
|
+
const distanceMoved = Math.sqrt(Math.pow(evt.clientX - this.startX, 2) +
|
|
342
|
+
Math.pow(evt.clientY - this.startY, 2));
|
|
343
|
+
// Only start dragging if we've moved beyond the threshold
|
|
344
|
+
if (!this.isDragging && distanceMoved > this.dragThreshold) {
|
|
345
|
+
this.isDragging = true;
|
|
346
|
+
}
|
|
347
|
+
// Only move the graph if we're actually dragging
|
|
348
|
+
if (this.isDragging) {
|
|
349
|
+
requestAnimationFrame(() => {
|
|
350
|
+
const viewBox = this.svgItem.viewBox.baseVal;
|
|
351
|
+
const dx = (evt.clientX - this.startX) * (viewBox.width / this.svgItem.clientWidth);
|
|
352
|
+
const dy = (evt.clientY - this.startY) * (viewBox.height / this.svgItem.clientHeight);
|
|
353
|
+
viewBox.x = this.dragStartViewBoxX - dx;
|
|
354
|
+
viewBox.y = this.dragStartViewBoxY - dy;
|
|
355
|
+
// Update stored zoom values when dragging
|
|
356
|
+
this.zoomX = viewBox.x;
|
|
357
|
+
this.zoomY = viewBox.y;
|
|
358
|
+
this.zoomW = viewBox.width;
|
|
359
|
+
this.zoomH = viewBox.height;
|
|
360
|
+
});
|
|
361
|
+
}
|
|
194
362
|
}
|
|
195
363
|
}
|
|
196
364
|
mouseDown(evt) {
|
|
@@ -203,11 +371,11 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
203
371
|
}
|
|
204
372
|
mouseUp() {
|
|
205
373
|
this.grabbed = false;
|
|
374
|
+
this.isDragging = false; // Reset dragging state
|
|
206
375
|
}
|
|
207
376
|
zoom(scale) {
|
|
208
377
|
scale = Math.abs(scale) < 0.02 ? (scale / Math.abs(scale)) * 0.02 : scale;
|
|
209
|
-
|
|
210
|
-
let [x, y, width, height] = this.svgItem.getAttribute('viewBox')?.split(' ').map(Number);
|
|
378
|
+
const [x, y, width, height] = (this.svgItem.getAttribute('viewBox')?.split(' ').map(Number) ?? [0, 0, 0, 0]);
|
|
211
379
|
let centerX = x + width / 2;
|
|
212
380
|
let centerY = y + height / 2;
|
|
213
381
|
let [width2, height2] = [width + width * scale, height + height * scale];
|
|
@@ -230,13 +398,11 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
230
398
|
}
|
|
231
399
|
onWheel(evt) {
|
|
232
400
|
evt.preventDefault();
|
|
233
|
-
//@ts-ignore
|
|
234
401
|
let scale = evt.deltaY / 1000;
|
|
235
|
-
//@ts-ignore
|
|
236
402
|
scale = Math.abs(scale) < .02 ? .02 * evt.deltaY / Math.abs(evt.deltaY) : scale;
|
|
237
403
|
let pt = new DOMPoint(evt.clientX, evt.clientY);
|
|
238
404
|
pt = pt.matrixTransform(this.svgItem.getScreenCTM()?.inverse());
|
|
239
|
-
|
|
405
|
+
const [x, y, width, height] = (this.svgItem.getAttribute('viewBox')?.split(' ').map(Number) ?? [0, 0, 0, 0]);
|
|
240
406
|
let [xPropW, yPropH] = [(pt.x - x) / width, (pt.y - y) / height];
|
|
241
407
|
let [width2, height2] = [width + width * scale, height + height * scale];
|
|
242
408
|
let x2 = pt.x - xPropW * width2;
|
|
@@ -256,13 +422,34 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
256
422
|
});
|
|
257
423
|
}
|
|
258
424
|
equalizerFiltered(evt) {
|
|
425
|
+
this.clearPathReveal();
|
|
259
426
|
this.graphResponse = evt.detail.graph;
|
|
260
|
-
this.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
427
|
+
this.expansionManager.invalidateChildrenCache();
|
|
428
|
+
this.layoutFilterManager.invalidateChildrenCache();
|
|
429
|
+
this.extractEQPreferences(evt);
|
|
430
|
+
const isPovMode = evt.detail.povMode;
|
|
431
|
+
this.povNodeId = evt.detail.povNodeId || null;
|
|
432
|
+
if (isPovMode) {
|
|
433
|
+
this.povMode = true;
|
|
265
434
|
}
|
|
435
|
+
this.buildGraph().then(() => {
|
|
436
|
+
if (isPovMode && this.povFocusNodeId) {
|
|
437
|
+
this.equalizer.controls.povNode = this.povNode;
|
|
438
|
+
setTimeout(() => {
|
|
439
|
+
const povNode = this.graphResponse.nodes?.find(n => n.id === this.povFocusNodeId);
|
|
440
|
+
if (povNode) {
|
|
441
|
+
this.moveToNode(povNode, false);
|
|
442
|
+
}
|
|
443
|
+
}, 50);
|
|
444
|
+
}
|
|
445
|
+
else if (!this.activeNode) {
|
|
446
|
+
setTimeout(() => {
|
|
447
|
+
this.centerOnRoot();
|
|
448
|
+
}, 50);
|
|
449
|
+
}
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
extractEQPreferences(evt) {
|
|
266
453
|
if (evt.detail.spacing) {
|
|
267
454
|
if (evt.detail.spacing.nodeNodeBetweenLayers) {
|
|
268
455
|
this.nodeNodeBetweenLayers = evt.detail.spacing.nodeNodeBetweenLayers.toString();
|
|
@@ -278,35 +465,30 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
278
465
|
}
|
|
279
466
|
this.bendEdges = !!evt.detail.spacing.bendEdges;
|
|
280
467
|
this.bendPoints = !!evt.detail.spacing.bendPoints;
|
|
281
|
-
this.dimDependencies = !!evt.detail.options?.dimDependents;
|
|
282
468
|
}
|
|
283
|
-
if (evt.detail.references) {
|
|
284
|
-
this.renderRefs = !!evt.detail.references.renderRefs;
|
|
285
|
-
this.renderPoly = !!evt.detail.references.renderPoly;
|
|
286
|
-
}
|
|
287
|
-
this.buildGraph();
|
|
288
|
-
setTimeout(() => {
|
|
289
|
-
if (this.activeNode && this._visible) {
|
|
290
|
-
this.dispatchEvent(new CustomEvent(ModelTreeNodeClicked, {
|
|
291
|
-
bubbles: true,
|
|
292
|
-
composed: true,
|
|
293
|
-
detail: {
|
|
294
|
-
nodeId: this.activeNode.id,
|
|
295
|
-
first: true
|
|
296
|
-
}
|
|
297
|
-
}));
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
}, 150);
|
|
301
469
|
}
|
|
302
|
-
|
|
303
|
-
this.
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
470
|
+
equalizerChanged(evt) {
|
|
471
|
+
this.clearPathReveal();
|
|
472
|
+
if (evt.detail.graph.nodes.length > 0) {
|
|
473
|
+
this.expansionManager.invalidateChildrenCache();
|
|
474
|
+
this.layoutFilterManager.invalidateChildrenCache();
|
|
475
|
+
this.graphResponse = evt.detail.graph;
|
|
476
|
+
}
|
|
477
|
+
this.extractEQPreferences(evt);
|
|
478
|
+
this.buildGraph().then(() => {
|
|
479
|
+
setTimeout(() => {
|
|
480
|
+
if (this.activeNode && this._visible) {
|
|
481
|
+
this.dispatchEvent(new CustomEvent(ModelTreeNodeClicked, {
|
|
482
|
+
bubbles: true,
|
|
483
|
+
composed: true,
|
|
484
|
+
detail: {
|
|
485
|
+
nodeId: this.activeNode.id,
|
|
486
|
+
first: true
|
|
487
|
+
}
|
|
488
|
+
}));
|
|
489
|
+
}
|
|
490
|
+
}, 50);
|
|
491
|
+
});
|
|
310
492
|
}
|
|
311
493
|
resetNodes() {
|
|
312
494
|
this.graph.children?.forEach((c) => {
|
|
@@ -318,6 +500,45 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
318
500
|
delete (e.sections);
|
|
319
501
|
});
|
|
320
502
|
}
|
|
503
|
+
filterGraphByExpansion(allNodes, allEdges) {
|
|
504
|
+
return this.layoutFilterManager.filterGraphByExpansion(allNodes, allEdges, this.povMode);
|
|
505
|
+
}
|
|
506
|
+
preservePositions() {
|
|
507
|
+
this.layoutFilterManager.preservePositions(this.graph);
|
|
508
|
+
}
|
|
509
|
+
applyPositionHints(nodes) {
|
|
510
|
+
this.layoutFilterManager.applyPositionHints(nodes);
|
|
511
|
+
}
|
|
512
|
+
toggleNodeExpansion(nodeId) {
|
|
513
|
+
this.expansionManager.toggleNodeExpansion(nodeId);
|
|
514
|
+
}
|
|
515
|
+
loadMoreChildren(parentId) {
|
|
516
|
+
this.expansionManager.loadMoreChildren(parentId);
|
|
517
|
+
}
|
|
518
|
+
isNodeExpanded(nodeId) {
|
|
519
|
+
return this.expansionManager.isNodeExpanded(nodeId);
|
|
520
|
+
}
|
|
521
|
+
isNodeCurrentlyVisible(nodeId) {
|
|
522
|
+
return this.expansionManager.isNodeCurrentlyVisible(nodeId);
|
|
523
|
+
}
|
|
524
|
+
invalidateChildrenCache() {
|
|
525
|
+
this.expansionManager.invalidateChildrenCache();
|
|
526
|
+
this.layoutFilterManager.invalidateChildrenCache();
|
|
527
|
+
}
|
|
528
|
+
addToNodeMap(node) {
|
|
529
|
+
if (!this.nodeMap.has(node.id)) {
|
|
530
|
+
this.nodeMap.set(node.id, node);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
ensureNodesVisible(nodes) {
|
|
534
|
+
this.expansionManager.ensureNodesVisible(nodes);
|
|
535
|
+
}
|
|
536
|
+
revealPathToNode(nodeId) {
|
|
537
|
+
this.expansionManager.revealPathToNode(nodeId, this.povMode);
|
|
538
|
+
}
|
|
539
|
+
clearPathReveal() {
|
|
540
|
+
this.expansionManager.clearPathReveal();
|
|
541
|
+
}
|
|
321
542
|
generateOptions() {
|
|
322
543
|
return {
|
|
323
544
|
'spacing.nodeNodeBetweenLayers': this.nodeNodeBetweenLayers,
|
|
@@ -335,173 +556,92 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
335
556
|
'org.eclipse.elk.spacing.edgeNode': this.edgeNode,
|
|
336
557
|
'org.eclipse.elk.layered.edgeLabels.sideSelection': 'ALWAYS_UP',
|
|
337
558
|
'org.eclipse.elk.spacing.portPort': '10',
|
|
559
|
+
// Interactive mode for position stability during incremental expansion
|
|
560
|
+
'elk.interactive': 'true',
|
|
561
|
+
'elk.interactiveLayout': 'true',
|
|
562
|
+
'elk.layered.interactiveReferencePoint': 'CENTER',
|
|
563
|
+
'elk.layered.crossingMinimization.semiInteractive': 'true',
|
|
564
|
+
'elk.layered.considerModelOrder.strategy': 'NODES_AND_EDGES',
|
|
338
565
|
};
|
|
339
566
|
}
|
|
340
567
|
buildGraph() {
|
|
568
|
+
const currentRequestId = ++this.layoutRequestId;
|
|
569
|
+
const filtered = this.filterGraphByExpansion(this.graphResponse.nodes || [], this.graphResponse.edges || []);
|
|
570
|
+
this.hasMoreChildren = filtered.hasMoreChildren;
|
|
571
|
+
this.applyPositionHints(filtered.nodes);
|
|
341
572
|
const graph = {
|
|
342
573
|
id: "root",
|
|
343
574
|
layoutOptions: this.generateOptions(),
|
|
344
|
-
children:
|
|
345
|
-
edges:
|
|
575
|
+
children: filtered.nodes,
|
|
576
|
+
edges: filtered.edges
|
|
346
577
|
};
|
|
347
|
-
this.graph = graph;
|
|
348
578
|
this.nodeMap.clear();
|
|
349
|
-
this.buildLayout();
|
|
350
579
|
if (!this.equalizer.graphResponse) {
|
|
351
580
|
this.equalizer.graphResponse = this.graphResponse;
|
|
352
581
|
}
|
|
353
|
-
return
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
return new ResponseNodeComponent();
|
|
385
|
-
case NodeType.LINK:
|
|
386
|
-
return new LinkNodeComponent();
|
|
387
|
-
case NodeType.CALLBACK:
|
|
388
|
-
return new CallbackNodeComponent();
|
|
389
|
-
case NodeType.PATH_ITEM:
|
|
390
|
-
return new PathItemNodeComponent();
|
|
391
|
-
case NodeType.OPERATION:
|
|
392
|
-
return new OperationNodeComponent();
|
|
393
|
-
case NodeType.XML:
|
|
394
|
-
return new XMLNodeComponent();
|
|
395
|
-
default:
|
|
396
|
-
return new GraphNodeComponent();
|
|
397
|
-
}
|
|
582
|
+
return new Promise((resolve, reject) => {
|
|
583
|
+
const cleanup = () => {
|
|
584
|
+
this.elkLayoutWorker.removeEventListener('message', handleMessage);
|
|
585
|
+
this.elkLayoutWorker.removeEventListener('error', handleError);
|
|
586
|
+
};
|
|
587
|
+
const handleMessage = (e) => {
|
|
588
|
+
if (e.data.requestId !== currentRequestId) {
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
cleanup();
|
|
592
|
+
if (e.data.success) {
|
|
593
|
+
this.graph = e.data.graph;
|
|
594
|
+
this.readyGo();
|
|
595
|
+
resolve(this.graph);
|
|
596
|
+
}
|
|
597
|
+
else {
|
|
598
|
+
reject(new Error(e.data.error));
|
|
599
|
+
}
|
|
600
|
+
};
|
|
601
|
+
const handleError = (error) => {
|
|
602
|
+
cleanup();
|
|
603
|
+
reject(new Error(`Worker error: ${error.message}`));
|
|
604
|
+
};
|
|
605
|
+
this.elkLayoutWorker.addEventListener('message', handleMessage);
|
|
606
|
+
this.elkLayoutWorker.addEventListener('error', handleError);
|
|
607
|
+
this.elkLayoutWorker.postMessage({
|
|
608
|
+
requestId: currentRequestId,
|
|
609
|
+
graph: graph,
|
|
610
|
+
layoutOptions: { 'algorithm': 'layered' }
|
|
611
|
+
});
|
|
612
|
+
});
|
|
398
613
|
}
|
|
399
614
|
buildNodes() {
|
|
400
|
-
this.
|
|
401
|
-
this.
|
|
402
|
-
this.
|
|
403
|
-
this.
|
|
404
|
-
|
|
405
|
-
this.
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
child.x = Math.round(child.x);
|
|
413
|
-
child.y = Math.round(child.y);
|
|
414
|
-
nc.x = Math.round(child.x);
|
|
415
|
-
nc.y = Math.round(child.y);
|
|
416
|
-
}
|
|
417
|
-
nc.width = child.width;
|
|
418
|
-
nc.height = child.height;
|
|
419
|
-
const op = this.generateNodeType(child.type);
|
|
420
|
-
op.height = child.height;
|
|
421
|
-
op.width = child.width - 2;
|
|
422
|
-
op.id = child.id;
|
|
423
|
-
op.label = child.label;
|
|
424
|
-
op.isLeaf = !(child.nodes && child.nodes.length > 0);
|
|
425
|
-
op.node = child;
|
|
426
|
-
if (child.active) {
|
|
427
|
-
op.active = child.active;
|
|
428
|
-
nc.active = child.active;
|
|
429
|
-
}
|
|
430
|
-
if (!child.active && this.activeNode && this.activeNode.id === child.id) {
|
|
431
|
-
op.active = true;
|
|
432
|
-
nc.active = true;
|
|
433
|
-
}
|
|
434
|
-
if (child.dependency) {
|
|
435
|
-
op.isDependency = true;
|
|
436
|
-
if (this.dimDependencies) {
|
|
437
|
-
op.dim = true;
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
if (this.collapsedNodes.has(child.id)) {
|
|
441
|
-
nc.visible = false;
|
|
442
|
-
}
|
|
443
|
-
op.nodeInstance = this.renderedNodeMap.get(child.id)?.instance;
|
|
444
|
-
child.results = this.renderedNodeMap.get(child.id)?.results;
|
|
445
|
-
this.renderGraphMap.set(child.id, op);
|
|
446
|
-
nc.body = op;
|
|
447
|
-
this.nodeComponents.push(nc);
|
|
448
|
-
this.nodes.push(child);
|
|
615
|
+
this.nodeMap.clear();
|
|
616
|
+
this.definitionCache.clear();
|
|
617
|
+
this.edgeMap.clear();
|
|
618
|
+
const result = this.explorerComponentFactory.buildNodes({
|
|
619
|
+
graph: this.graph,
|
|
620
|
+
graphResponse: this.graphResponse,
|
|
621
|
+
expandedNodes: this.expandedNodes,
|
|
622
|
+
hasMoreChildren: this.hasMoreChildren,
|
|
623
|
+
povMode: this.povMode,
|
|
624
|
+
povNodeId: this.povNodeId,
|
|
625
|
+
activeNode: this.activeNode,
|
|
626
|
+
violationMap: this.violationMap
|
|
449
627
|
});
|
|
628
|
+
this.nodes = result.nodes;
|
|
629
|
+
this.nodeComponents = result.nodeComponents;
|
|
630
|
+
this.renderGraphMap = result.renderGraphMap;
|
|
631
|
+
this.nodeComponentMap = result.nodeComponentMap;
|
|
450
632
|
}
|
|
451
633
|
buildEdges() {
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
}
|
|
464
|
-
const edgeComponent = new EdgeComponent(edge);
|
|
465
|
-
if (this.collapsedEdges.has(edge.id)) {
|
|
466
|
-
edgeComponent.visible = false;
|
|
467
|
-
}
|
|
468
|
-
if (this.nodeLimitExceeded) {
|
|
469
|
-
edgeComponent.animated = false;
|
|
470
|
-
}
|
|
471
|
-
this.edges.push(edge);
|
|
472
|
-
this.edgeComponents.push(edgeComponent);
|
|
473
|
-
this.edgeComponentMap.set(edge.id, edgeComponent);
|
|
474
|
-
edgeComponent.bendPoints = this.bendPoints;
|
|
475
|
-
edgeComponent.bendCurve = this.bendEdges;
|
|
476
|
-
if (edge.dependency) {
|
|
477
|
-
edgeComponent.isDependency = true;
|
|
478
|
-
if (this.dimDependencies) {
|
|
479
|
-
edgeComponent.dim = true;
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
});
|
|
483
|
-
this.renderGraphMap.forEach((node) => {
|
|
484
|
-
if (node.outputs.length <= 0) {
|
|
485
|
-
node.inputs.forEach((edge) => {
|
|
486
|
-
const e = this.edgeComponentMap.get(edge.id);
|
|
487
|
-
if (e) {
|
|
488
|
-
e.targetIsLeaf = true;
|
|
489
|
-
}
|
|
490
|
-
});
|
|
491
|
-
}
|
|
492
|
-
else {
|
|
493
|
-
node.outputs.forEach((edge) => {
|
|
494
|
-
if (edge.ref != '') {
|
|
495
|
-
const e = this.edgeComponentMap.get(edge.id);
|
|
496
|
-
if (e && e.targetIsLeaf) {
|
|
497
|
-
e.targetIsLeaf = false;
|
|
498
|
-
node.isLeaf = false;
|
|
499
|
-
node.isRef = true;
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
|
-
});
|
|
634
|
+
const result = this.explorerComponentFactory.buildEdges({
|
|
635
|
+
graph: this.graph,
|
|
636
|
+
collapsedEdges: this.collapsedEdges,
|
|
637
|
+
bendPoints: this.bendPoints,
|
|
638
|
+
bendEdges: this.bendEdges,
|
|
639
|
+
nodeLimitExceeded: this.nodeLimitExceeded,
|
|
640
|
+
povMode: this.povMode
|
|
641
|
+
}, this.renderGraphMap);
|
|
642
|
+
this.edges = result.edges;
|
|
643
|
+
this.edgeComponents = result.edgeComponents;
|
|
644
|
+
this.edgeComponentMap = result.edgeComponentMap;
|
|
505
645
|
}
|
|
506
646
|
readyGo() {
|
|
507
647
|
this.buildNodes();
|
|
@@ -512,39 +652,72 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
512
652
|
reset() {
|
|
513
653
|
this.direction = Direction.RIGHT;
|
|
514
654
|
const box = this.buildBaseViewBox();
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
this.
|
|
519
|
-
|
|
655
|
+
const base = box.base + 300;
|
|
656
|
+
let viewBoxW = base;
|
|
657
|
+
let viewBoxH = base;
|
|
658
|
+
if (this.containerWidth > 0 && this.containerHeight > 0) {
|
|
659
|
+
const aspectRatio = this.containerWidth / this.containerHeight;
|
|
660
|
+
if (aspectRatio > 1) {
|
|
661
|
+
viewBoxH = base;
|
|
662
|
+
viewBoxW = base * aspectRatio;
|
|
663
|
+
}
|
|
664
|
+
else {
|
|
665
|
+
viewBoxW = base;
|
|
666
|
+
viewBoxH = base / aspectRatio;
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
this.zoomH = viewBoxH;
|
|
670
|
+
this.zoomW = viewBoxW;
|
|
671
|
+
this.zoomX = -150;
|
|
672
|
+
this.zoomY = -150;
|
|
673
|
+
this.svgItem.setAttribute('viewBox', `-150 -150 ${viewBoxW} ${viewBoxH}`);
|
|
520
674
|
this.resetNodes();
|
|
521
|
-
this.buildGraph()
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
675
|
+
this.buildGraph().then(() => {
|
|
676
|
+
setTimeout(() => {
|
|
677
|
+
this.snapToRoot();
|
|
678
|
+
}, 150);
|
|
679
|
+
});
|
|
680
|
+
}
|
|
681
|
+
snapToRoot() {
|
|
682
|
+
if (!this.graph?.children)
|
|
683
|
+
return;
|
|
684
|
+
const rootNode = this.graph.children.find((n) => n.id === 'root');
|
|
685
|
+
if (rootNode && rootNode.x !== undefined && rootNode.y !== undefined) {
|
|
686
|
+
const viewBox = this.svgItem?.viewBox?.baseVal;
|
|
687
|
+
if (viewBox) {
|
|
688
|
+
const width = rootNode.width || 0;
|
|
689
|
+
const height = rootNode.height || 0;
|
|
690
|
+
this.snapViewBox(rootNode.x - (viewBox.width / 2) + (width / 2), rootNode.y - (viewBox.height / 2) + (height / 2));
|
|
533
691
|
}
|
|
534
|
-
this.
|
|
535
|
-
}
|
|
692
|
+
this.activeNode = rootNode;
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
centerOnRoot() {
|
|
696
|
+
if (!this.graph?.children)
|
|
697
|
+
return;
|
|
698
|
+
const rootNode = this.graph.children.find((n) => n.id === 'root');
|
|
699
|
+
if (rootNode && rootNode.x !== undefined && rootNode.y !== undefined) {
|
|
700
|
+
const viewBox = this.svgItem?.viewBox?.baseVal;
|
|
701
|
+
if (viewBox) {
|
|
702
|
+
const width = rootNode.width || 0;
|
|
703
|
+
const height = rootNode.height || 0;
|
|
704
|
+
this.animateViewBox(rootNode.x - (viewBox.width / 2) + (width / 2), rootNode.y - (viewBox.height / 2) + (height / 2), 200);
|
|
705
|
+
}
|
|
706
|
+
this.activeNode = rootNode;
|
|
707
|
+
}
|
|
536
708
|
}
|
|
537
709
|
navigateToRoot() {
|
|
538
710
|
this.dispatchEvent(new CustomEvent(ModelTreeNodeClicked, {
|
|
539
711
|
bubbles: true,
|
|
540
712
|
composed: true,
|
|
541
713
|
detail: {
|
|
542
|
-
|
|
714
|
+
nodeId: 'root',
|
|
543
715
|
first: true
|
|
544
716
|
}
|
|
545
717
|
}));
|
|
546
718
|
}
|
|
547
719
|
animateViewBox(targetX, targetY, duration) {
|
|
720
|
+
const animationId = ++this.currentAnimationId;
|
|
548
721
|
const viewBox = this.svgItem.viewBox.baseVal;
|
|
549
722
|
const startX = viewBox.x;
|
|
550
723
|
const startY = viewBox.y;
|
|
@@ -554,30 +727,83 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
554
727
|
? 4 * t * t * t
|
|
555
728
|
: 1 - Math.pow(-2 * t + 2, 3) / 2;
|
|
556
729
|
};
|
|
730
|
+
const self = this;
|
|
557
731
|
function animate(time) {
|
|
732
|
+
if (animationId !== self.currentAnimationId) {
|
|
733
|
+
return;
|
|
734
|
+
}
|
|
558
735
|
const elapsedTime = time - startTime;
|
|
559
736
|
const t = Math.min(elapsedTime / duration, 1);
|
|
560
737
|
const easedT = easeInOutCubic(t);
|
|
561
738
|
viewBox.x = startX + (targetX - startX) * easedT;
|
|
562
739
|
viewBox.y = startY + (targetY - startY) * easedT;
|
|
740
|
+
self.zoomX = viewBox.x;
|
|
741
|
+
self.zoomY = viewBox.y;
|
|
563
742
|
if (t < 1) {
|
|
564
743
|
requestAnimationFrame(animate);
|
|
565
744
|
}
|
|
566
745
|
}
|
|
567
746
|
requestAnimationFrame(animate);
|
|
568
747
|
}
|
|
569
|
-
|
|
570
|
-
|
|
748
|
+
snapViewBox(targetX, targetY) {
|
|
749
|
+
this.currentAnimationId++;
|
|
750
|
+
const viewBox = this.svgItem.viewBox.baseVal;
|
|
751
|
+
viewBox.x = targetX;
|
|
752
|
+
viewBox.y = targetY;
|
|
753
|
+
this.zoomX = targetX;
|
|
754
|
+
this.zoomY = targetY;
|
|
755
|
+
this.zoomW = viewBox.width;
|
|
756
|
+
this.zoomH = viewBox.height;
|
|
757
|
+
}
|
|
758
|
+
getNodeScreenOffset(nodeId) {
|
|
759
|
+
const viewBox = this.svgItem?.viewBox?.baseVal;
|
|
760
|
+
if (!viewBox)
|
|
761
|
+
return null;
|
|
762
|
+
const node = this.graph?.children?.find((n) => n.id === nodeId);
|
|
763
|
+
if (!node || node.x === undefined || node.y === undefined)
|
|
764
|
+
return null;
|
|
765
|
+
const nodeWidth = node.width || 0;
|
|
766
|
+
const nodeHeight = node.height || 0;
|
|
767
|
+
const nodeCenterX = node.x + nodeWidth / 2;
|
|
768
|
+
const nodeCenterY = node.y + nodeHeight / 2;
|
|
769
|
+
const viewportCenterX = viewBox.x + viewBox.width / 2;
|
|
770
|
+
const viewportCenterY = viewBox.y + viewBox.height / 2;
|
|
771
|
+
return {
|
|
772
|
+
x: nodeCenterX - viewportCenterX,
|
|
773
|
+
y: nodeCenterY - viewportCenterY
|
|
774
|
+
};
|
|
775
|
+
}
|
|
776
|
+
restoreNodeScreenPosition(nodeId, targetOffset) {
|
|
777
|
+
const viewBox = this.svgItem?.viewBox?.baseVal;
|
|
778
|
+
if (!viewBox)
|
|
779
|
+
return;
|
|
780
|
+
const node = this.graph?.children?.find((n) => n.id === nodeId);
|
|
781
|
+
if (!node || node.x === undefined || node.y === undefined)
|
|
782
|
+
return;
|
|
783
|
+
const nodeWidth = node.width || 0;
|
|
784
|
+
const nodeHeight = node.height || 0;
|
|
785
|
+
const nodeCenterX = node.x + nodeWidth / 2;
|
|
786
|
+
const nodeCenterY = node.y + nodeHeight / 2;
|
|
787
|
+
const newViewportCenterX = nodeCenterX - targetOffset.x;
|
|
788
|
+
const newViewportCenterY = nodeCenterY - targetOffset.y;
|
|
789
|
+
const newViewBoxX = newViewportCenterX - viewBox.width / 2;
|
|
790
|
+
const newViewBoxY = newViewportCenterY - viewBox.height / 2;
|
|
791
|
+
this.snapViewBox(newViewBoxX, newViewBoxY);
|
|
792
|
+
}
|
|
793
|
+
moveToNode(node, _first = false, snap = false) {
|
|
794
|
+
if (this.svgItem && this.graph?.children) {
|
|
571
795
|
const viewBox = this.svgItem.viewBox.baseVal;
|
|
572
|
-
const found = this.
|
|
573
|
-
if (found
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
796
|
+
const found = this.graph.children.find((n) => n.id === node.id);
|
|
797
|
+
if (found && found.x !== undefined && found.y !== undefined && !found.filtered) {
|
|
798
|
+
const width = found.width || 0;
|
|
799
|
+
const height = found.height || 0;
|
|
800
|
+
const targetX = found.x - (viewBox.width / 2) + (width / 2);
|
|
801
|
+
const targetY = found.y - (viewBox.height / 2) + (height / 2);
|
|
802
|
+
if (snap) {
|
|
803
|
+
this.snapViewBox(targetX, targetY);
|
|
804
|
+
}
|
|
805
|
+
else {
|
|
806
|
+
this.animateViewBox(targetX, targetY, 200);
|
|
581
807
|
}
|
|
582
808
|
}
|
|
583
809
|
}
|
|
@@ -603,93 +829,39 @@ let ExplorerComponent = class ExplorerComponent extends HasEyes {
|
|
|
603
829
|
</div>`;
|
|
604
830
|
}
|
|
605
831
|
const box = this.buildBaseViewBox();
|
|
606
|
-
const base = box.base;
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
832
|
+
const base = box.base + 300;
|
|
833
|
+
// Calculate viewBox dimensions based on container aspect ratio
|
|
834
|
+
let defaultW = base;
|
|
835
|
+
let defaultH = base;
|
|
836
|
+
if (this.containerWidth > 0 && this.containerHeight > 0) {
|
|
837
|
+
const aspectRatio = this.containerWidth / this.containerHeight;
|
|
838
|
+
if (aspectRatio > 1) {
|
|
839
|
+
defaultH = base;
|
|
840
|
+
defaultW = base * aspectRatio;
|
|
841
|
+
}
|
|
842
|
+
else {
|
|
843
|
+
defaultW = base;
|
|
844
|
+
defaultH = base / aspectRatio;
|
|
845
|
+
}
|
|
613
846
|
}
|
|
847
|
+
// Use stored zoom values if they exist, otherwise use calculated defaults
|
|
848
|
+
let viewBoxX = this.zoomX !== null ? this.zoomX : -150;
|
|
849
|
+
let viewBoxY = this.zoomY !== null ? this.zoomY : -150;
|
|
850
|
+
let viewBoxW = this.zoomW !== null ? this.zoomW : defaultW;
|
|
851
|
+
let viewBoxH = this.zoomH !== null ? this.zoomH : defaultH;
|
|
614
852
|
return svg `
|
|
615
853
|
${this.equalizer}
|
|
616
|
-
|
|
617
|
-
|
|
854
|
+
<svg preserveAspectRatio="xMidYMid meet"
|
|
855
|
+
style="width: 100%; height: ${this.embeddedMode ? '100%' : 'calc(100vh - 170px)'}; cursor: ${this.isDragging ? 'grabbing' : 'grab'};"
|
|
856
|
+
viewBox="${viewBoxX} ${viewBoxY} ${viewBoxW} ${viewBoxH}"
|
|
618
857
|
@wheel="${this.onWheel}"
|
|
619
858
|
@mousedown="${this.mouseDown}"
|
|
620
859
|
@mouseup="${this.mouseUp}"
|
|
621
860
|
@mousemove="${this.mouseMove}">
|
|
622
|
-
|
|
623
|
-
<marker
|
|
624
|
-
id="leaf"
|
|
625
|
-
viewBox="0 0 6 12"
|
|
626
|
-
refX="3"
|
|
627
|
-
refY="3"
|
|
628
|
-
markerWidth="6"
|
|
629
|
-
markerHeight="12"
|
|
630
|
-
fill="var(--primary-color)"
|
|
631
|
-
orient="auto">
|
|
632
|
-
<rect x="0" y="0" width="3" height="6"/>
|
|
633
|
-
</marker>
|
|
634
|
-
<marker
|
|
635
|
-
id="leaf-poly"
|
|
636
|
-
viewBox="0 0 6 12"
|
|
637
|
-
refX="3"
|
|
638
|
-
refY="3"
|
|
639
|
-
markerWidth="6"
|
|
640
|
-
markerHeight="12"
|
|
641
|
-
fill="var(--warn-color)"
|
|
642
|
-
orient="auto">
|
|
643
|
-
<rect x="0" y="0" width="3" height="6"/>
|
|
644
|
-
</marker>
|
|
645
|
-
<marker
|
|
646
|
-
id="leaf-ref"
|
|
647
|
-
viewBox="0 0 6 12"
|
|
648
|
-
refX="3"
|
|
649
|
-
refY="3"
|
|
650
|
-
markerWidth="6"
|
|
651
|
-
markerHeight="12"
|
|
652
|
-
fill="var(--terminal-text)"
|
|
653
|
-
orient="auto">
|
|
654
|
-
<rect x="0" y="0" width="3" height="6"/>
|
|
655
|
-
</marker>
|
|
656
|
-
<marker
|
|
657
|
-
id="arrow"
|
|
658
|
-
viewBox="0 0 12 12"
|
|
659
|
-
refX="9"
|
|
660
|
-
refY="5"
|
|
661
|
-
markerWidth="5"
|
|
662
|
-
markerHeight="5"
|
|
663
|
-
fill="var(--secondary-color)"
|
|
664
|
-
orient="auto-start-reverse">
|
|
665
|
-
<path d="M 0 0 L 10 5 L 0 10 z"/>
|
|
666
|
-
</marker>
|
|
667
|
-
<marker
|
|
668
|
-
id="arrow-ref"
|
|
669
|
-
viewBox="0 0 12 12"
|
|
670
|
-
refX="9"
|
|
671
|
-
refY="5"
|
|
672
|
-
markerWidth="5"
|
|
673
|
-
markerHeight="5"
|
|
674
|
-
fill="var(--terminal-text)"
|
|
675
|
-
orient="auto-start-reverse">
|
|
676
|
-
<path d="M 0 0 L 10 5 L 0 10 z"/>
|
|
677
|
-
</marker>
|
|
678
|
-
<marker
|
|
679
|
-
id="arrow-poly"
|
|
680
|
-
viewBox="0 0 12 12"
|
|
681
|
-
refX="9"
|
|
682
|
-
refY="5"
|
|
683
|
-
markerWidth="5"
|
|
684
|
-
markerHeight="5"
|
|
685
|
-
fill="var(--terminal-yellow)"
|
|
686
|
-
orient="auto-start-reverse">
|
|
687
|
-
<path d="M 0 0 L 10 5 L 0 10 z" class="glow"/>
|
|
688
|
-
</marker>
|
|
689
|
-
</defs>
|
|
861
|
+
${renderSvgMarkers()}
|
|
690
862
|
<g id="#svgGroup">
|
|
691
|
-
${this.
|
|
692
|
-
${this.
|
|
863
|
+
${repeat(this.edgeComponents, (ec) => ec.edge.id, (ec) => ec.render())}
|
|
864
|
+
${repeat(this.nodeComponents, (nc) => nc.id, (nc) => nc.render())}
|
|
693
865
|
</g>
|
|
694
866
|
</svg>
|
|
695
867
|
`;
|
|
@@ -714,6 +886,21 @@ __decorate([
|
|
|
714
886
|
__decorate([
|
|
715
887
|
property()
|
|
716
888
|
], ExplorerComponent.prototype, "renderEqualizer", void 0);
|
|
889
|
+
__decorate([
|
|
890
|
+
property({ type: Boolean })
|
|
891
|
+
], ExplorerComponent.prototype, "embeddedMode", void 0);
|
|
892
|
+
__decorate([
|
|
893
|
+
property()
|
|
894
|
+
], ExplorerComponent.prototype, "graphResponse", void 0);
|
|
895
|
+
__decorate([
|
|
896
|
+
property()
|
|
897
|
+
], ExplorerComponent.prototype, "povMode", void 0);
|
|
898
|
+
__decorate([
|
|
899
|
+
property()
|
|
900
|
+
], ExplorerComponent.prototype, "povNodeId", void 0);
|
|
901
|
+
__decorate([
|
|
902
|
+
property()
|
|
903
|
+
], ExplorerComponent.prototype, "povNode", void 0);
|
|
717
904
|
__decorate([
|
|
718
905
|
state()
|
|
719
906
|
], ExplorerComponent.prototype, "models", void 0);
|