@vyr/cli 0.0.12 → 0.0.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/.entry/app.js +362 -362
- package/build/index.html +1 -1
- package/build/js/{index.b67bf9b8.js → index.e0eed6ab.js} +1 -1
- package/build/js/{preview.ad0b8290.js → preview.ff6115f6.js} +1 -1
- package/build/login.html +1 -1
- package/build/preview.html +1 -1
- package/output/auto-provider-plugin/index.js +38 -0
- package/output/auto-provider-plugin/loader.js +53 -0
- package/output/auto-provider-plugin/package.json +1 -0
- package/output/builtin/build/common/example.d.ts +5 -0
- package/output/builtin/build/common/index.d.ts +3 -0
- package/output/builtin/build/common/provider.d.ts +5 -0
- package/output/builtin/build/common/save.d.ts +4 -0
- package/output/builtin/build/component/CodeEditor.vue.d.ts +11 -0
- package/output/builtin/build/component/ColorItem.vue.d.ts +27 -0
- package/output/builtin/build/component/DatasetItem.vue.d.ts +14 -0
- package/output/builtin/build/component/Directory.vue.d.ts +33 -0
- package/output/builtin/build/component/ErrorComponent.vue.d.ts +13 -0
- package/output/builtin/build/component/Graph.vue.d.ts +20 -0
- package/output/builtin/build/component/InputItem.vue.d.ts +19 -0
- package/output/builtin/build/component/InteractionItem.vue.d.ts +19 -0
- package/output/builtin/build/component/LoadingComponent.vue.d.ts +13 -0
- package/output/builtin/build/component/RuleItem.vue.d.ts +12 -0
- package/output/builtin/build/component/Timeline.vue.d.ts +7 -0
- package/output/builtin/build/component/VariableItem.vue.d.ts +14 -0
- package/output/builtin/build/component/WindowSetting.vue.d.ts +3 -0
- package/output/builtin/build/component/index.d.ts +14 -0
- package/output/builtin/build/fragment/AnimationUnitFragment.vue.d.ts +6 -0
- package/output/builtin/build/fragment/BaseFragment.vue.d.ts +6 -0
- package/output/builtin/build/fragment/DatasetFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/DatasetInspectorFragment.vue.d.ts +13 -0
- package/output/builtin/build/fragment/DynamicFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/HTMLFragment.vue.d.ts +16 -0
- package/output/builtin/build/fragment/InteractionInspectorFragment.vue.d.ts +21 -0
- package/output/builtin/build/fragment/PrefabFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/PrefabInstanceFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/SchedulerFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/StyleFragment.vue.d.ts +8 -0
- package/output/builtin/build/index.d.ts +10 -0
- package/output/builtin/build/locale/Language.d.ts +3 -0
- package/output/builtin/build/locale/LanguageProvider.d.ts +326 -0
- package/output/builtin/build/locale/index.d.ts +2 -0
- package/output/builtin/build/option/Animation.d.ts +25 -0
- package/output/builtin/build/option/Color.d.ts +5 -0
- package/output/builtin/build/option/Dynamic.d.ts +5 -0
- package/output/builtin/build/option/HTML.d.ts +41 -0
- package/output/builtin/build/option/Net.d.ts +6 -0
- package/output/builtin/build/option/Preset.d.ts +8 -0
- package/output/builtin/build/option/Style.d.ts +76 -0
- package/output/builtin/build/option/Variable.d.ts +5 -0
- package/output/builtin/build/option/index.d.ts +17 -0
- package/output/builtin/build/preset/dataset.d.ts +8 -0
- package/output/builtin/build/preset/graphics.d.ts +8 -0
- package/output/builtin/build/preset/index.d.ts +3 -0
- package/output/builtin/build/preset/scheduler.d.ts +8 -0
- package/output/builtin/build/service/footer/action/AddDirAction.d.ts +10 -0
- package/output/builtin/build/service/footer/action/AddMoreAction.d.ts +26 -0
- package/output/builtin/build/service/footer/action/BackupAction.d.ts +10 -0
- package/output/builtin/build/service/footer/action/ControllerAction.d.ts +39 -0
- package/output/builtin/build/service/footer/action/CopyAction.d.ts +13 -0
- package/output/builtin/build/service/footer/action/CutAction.d.ts +13 -0
- package/output/builtin/build/service/footer/action/DeleteAction.d.ts +14 -0
- package/output/builtin/build/service/footer/action/EditFileAction.d.ts +15 -0
- package/output/builtin/build/service/footer/action/RenameAction.d.ts +13 -0
- package/output/builtin/build/service/footer/action/SelectAllAction.d.ts +14 -0
- package/output/builtin/build/service/footer/action/StickupAction.d.ts +16 -0
- package/output/builtin/build/service/footer/action/index.d.ts +11 -0
- package/output/builtin/build/service/footer/draggable/Draggable.d.ts +10 -0
- package/output/builtin/build/service/footer/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/footer/index.d.ts +2 -0
- package/output/builtin/build/service/global/action/FooterAction.d.ts +18 -0
- package/output/builtin/build/service/global/action/RedoAction.d.ts +9 -0
- package/output/builtin/build/service/global/action/SidebarAction.d.ts +14 -0
- package/output/builtin/build/service/global/action/UndoAction.d.ts +9 -0
- package/output/builtin/build/service/global/action/index.d.ts +4 -0
- package/output/builtin/build/service/global/index.d.ts +2 -0
- package/output/builtin/build/service/global/scripts/index.d.ts +3 -0
- package/output/builtin/build/service/header/action/ExportProjectAction.d.ts +9 -0
- package/output/builtin/build/service/header/action/ExportSceneAction.d.ts +9 -0
- package/output/builtin/build/service/header/action/PreviewSceneAction.d.ts +14 -0
- package/output/builtin/build/service/header/action/index.d.ts +3 -0
- package/output/builtin/build/service/header/index.d.ts +1 -0
- package/output/builtin/build/service/index.d.ts +6 -0
- package/output/builtin/build/service/inspector/AnimationUnitViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DatasetInspector.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DatasetViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DivViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DynamicViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/InteractionInspector.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/PrefabInstanceViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/PrefabViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/ServiceSchedulerViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/ServiceViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/StyleViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/asset/AssetInspector.vue.d.ts +3 -0
- package/output/builtin/build/service/inspector/draggable/Draggable.d.ts +10 -0
- package/output/builtin/build/service/inspector/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/inspector/index.d.ts +1 -0
- package/output/builtin/build/service/inspector/scene/SceneInspector.vue.d.ts +3 -0
- package/output/builtin/build/service/sidebar/asset/Asset.vue.d.ts +3 -0
- package/output/builtin/build/service/sidebar/asset/AssetItem.vue.d.ts +18 -0
- package/output/builtin/build/service/sidebar/asset/AssetNavigator.d.ts +28 -0
- package/output/builtin/build/service/sidebar/asset/action/AddNodeAction.d.ts +54 -0
- package/output/builtin/build/service/sidebar/asset/action/ControllerAction.d.ts +36 -0
- package/output/builtin/build/service/sidebar/asset/action/CopyAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/CutAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/DeleteAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/asset/action/RenameAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/SaveAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/StickupAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/asset/action/index.d.ts +8 -0
- package/output/builtin/build/service/sidebar/asset/draggable/Draggable.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/sidebar/asset/index.d.ts +3 -0
- package/output/builtin/build/service/sidebar/index.d.ts +2 -0
- package/output/builtin/build/service/sidebar/scene/Scene.vue.d.ts +3 -0
- package/output/builtin/build/service/sidebar/scene/SceneItem.vue.d.ts +18 -0
- package/output/builtin/build/service/sidebar/scene/SceneNavigator.d.ts +36 -0
- package/output/builtin/build/service/sidebar/scene/action/AddNodeAction.d.ts +54 -0
- package/output/builtin/build/service/sidebar/scene/action/AddServiceAction.d.ts +54 -0
- package/output/builtin/build/service/sidebar/scene/action/ControllerAction.d.ts +39 -0
- package/output/builtin/build/service/sidebar/scene/action/CopyAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/CutAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/DeleteAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/scene/action/RenameAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/SaveAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/StickupAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/scene/action/index.d.ts +9 -0
- package/output/builtin/build/service/sidebar/scene/draggable/Draggable.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/sidebar/scene/index.d.ts +3 -0
- package/output/builtin/build/singleton/index.d.ts +1 -0
- package/output/builtin/build/singleton/rightMenu.d.ts +10 -0
- package/output/builtin/package.json +16 -0
- package/output/builtin/src/shims-vue.d.ts +10 -0
- package/output/class-wrapper-plugin/index.js +42 -0
- package/output/class-wrapper-plugin/loaders/descriptor.js +89 -0
- package/output/class-wrapper-plugin/loaders/dynamic-interpreter.js +54 -0
- package/output/class-wrapper-plugin/loaders/index.js +30 -0
- package/output/class-wrapper-plugin/loaders/input-system.js +31 -0
- package/output/class-wrapper-plugin/loaders/object-pool.js +79 -0
- package/output/class-wrapper-plugin/package.json +1 -0
- package/output/class-wrapper-plugin/utils.js +79 -0
- package/output/declare/package.json +1 -0
- package/output/declare/src/Config.ts +19 -0
- package/output/declare/src/Draggable.ts +10 -0
- package/output/declare/src/Extension.ts +12 -0
- package/output/declare/src/index.ts +3 -0
- package/output/declare/tsconfig.json +31 -0
- package/output/design/package.json +14 -0
- package/output/design/src/components/Button.vue +64 -0
- package/output/design/src/components/Card.vue +203 -0
- package/output/design/src/components/Cascader.vue +171 -0
- package/output/design/src/components/Checked.vue +124 -0
- package/output/design/src/components/CheckedGroup.vue +51 -0
- package/output/design/src/components/Col.vue +52 -0
- package/output/design/src/components/ColorPicker.vue +331 -0
- package/output/design/src/components/Confirm.vue +86 -0
- package/output/design/src/components/Dialog.vue +220 -0
- package/output/design/src/components/Divider.vue +40 -0
- package/output/design/src/components/Draggable.vue +50 -0
- package/output/design/src/components/Dropdown.vue +175 -0
- package/output/design/src/components/DynamicDialog.vue +113 -0
- package/output/design/src/components/DynamicLayouter.vue +235 -0
- package/output/design/src/components/Form.vue +88 -0
- package/output/design/src/components/Input.vue +254 -0
- package/output/design/src/components/InputNumber.vue +96 -0
- package/output/design/src/components/Label.vue +116 -0
- package/output/design/src/components/Loading.vue +196 -0
- package/output/design/src/components/Mask.vue +47 -0
- package/output/design/src/components/Notify.vue +130 -0
- package/output/design/src/components/Option.vue +159 -0
- package/output/design/src/components/Options.vue +202 -0
- package/output/design/src/components/Popover.vue +271 -0
- package/output/design/src/components/Provider.vue +12 -0
- package/output/design/src/components/RightMenu.vue +127 -0
- package/output/design/src/components/Row.vue +50 -0
- package/output/design/src/components/Scroll.vue +99 -0
- package/output/design/src/components/Select.vue +223 -0
- package/output/design/src/components/Slot.vue +23 -0
- package/output/design/src/components/SubTree.vue +262 -0
- package/output/design/src/components/Tree.vue +129 -0
- package/output/design/src/components/common/DraggableController.ts +113 -0
- package/output/design/src/components/common/ResizeListener.ts +49 -0
- package/output/design/src/components/composables/useDefaultProps.ts +179 -0
- package/output/design/src/components/composables/useDraggable.ts +65 -0
- package/output/design/src/components/composables/useGetter.ts +15 -0
- package/output/design/src/components/composables/useMarginStyle.ts +45 -0
- package/output/design/src/components/composables/usePopover.ts +33 -0
- package/output/design/src/components/composables/useProvider.ts +186 -0
- package/output/design/src/components/composables/useScroll.ts +46 -0
- package/output/design/src/components/composables/useSearch.ts +95 -0
- package/output/design/src/components/composables/useTimer.ts +5 -0
- package/output/design/src/components/index.ts +1 -0
- package/output/design/src/components/singleton/confirm.ts +25 -0
- package/output/design/src/components/singleton/dialog.ts +25 -0
- package/output/design/src/components/singleton/index.ts +5 -0
- package/output/design/src/components/singleton/loading.ts +36 -0
- package/output/design/src/components/singleton/notify.ts +36 -0
- package/output/design/src/components/types/index.ts +82 -0
- package/output/design/src/components/utils/Cascader.ts +52 -0
- package/output/design/src/components/utils/Confirm.ts +41 -0
- package/output/design/src/components/utils/Dialog.ts +38 -0
- package/output/design/src/components/utils/DynamicDialog.ts +41 -0
- package/output/design/src/components/utils/DynamicLayouter.ts +5 -0
- package/output/design/src/components/utils/FloatLayer.ts +40 -0
- package/output/design/src/components/utils/InputNumber.ts +3 -0
- package/output/design/src/components/utils/Notify.ts +25 -0
- package/output/design/src/components/utils/Popover.ts +58 -0
- package/output/design/src/components/utils/RightMenu.ts +21 -0
- package/output/design/src/components/utils/Scroll.ts +4 -0
- package/output/design/src/components/utils/Slot.ts +73 -0
- package/output/design/src/components/utils/index.ts +12 -0
- package/output/design/src/font/demo.css +539 -0
- package/output/design/src/font/demo_index.html +1292 -0
- package/output/design/src/font/iconfont.css +207 -0
- package/output/design/src/font/iconfont.js +1 -0
- package/output/design/src/font/iconfont.json +345 -0
- package/output/design/src/font/iconfont.ttf +0 -0
- package/output/design/src/font/iconfont.woff +0 -0
- package/output/design/src/font/iconfont.woff2 +0 -0
- package/output/design/src/index.ts +68 -0
- package/output/design/src/locale/Language.ts +10 -0
- package/output/design/src/locale/LanguageProvider.ts +38 -0
- package/output/design/src/locale/index.ts +2 -0
- package/output/design/src/theme/global.less +91 -0
- package/output/design/src/theme/index.ts +155 -0
- package/output/design/src/tool/ArrayUtils.ts +38 -0
- package/output/design/src/tool/Color.ts +7 -0
- package/output/design/src/tool/Draggable.ts +36 -0
- package/output/design/src/tool/Listener.ts +59 -0
- package/output/design/src/tool/index.ts +4 -0
- package/output/design/tsconfig.json +37 -0
- package/output/engine/package.json +1 -0
- package/output/engine/src/ArrayUtils.ts +65 -0
- package/output/engine/src/AsyncTask.ts +72 -0
- package/output/engine/src/Category.ts +119 -0
- package/output/engine/src/Color.ts +111 -0
- package/output/engine/src/Engine.ts +115 -0
- package/output/engine/src/Generate.ts +40 -0
- package/output/engine/src/InputSystem.ts +108 -0
- package/output/engine/src/Listener.ts +59 -0
- package/output/engine/src/ObjectPool.ts +84 -0
- package/output/engine/src/ObjectUtils.ts +49 -0
- package/output/engine/src/Serialization.ts +49 -0
- package/output/engine/src/Traverser.ts +39 -0
- package/output/engine/src/actor/Actor.ts +28 -0
- package/output/engine/src/actor/AnimationUnitActor.ts +289 -0
- package/output/engine/src/actor/DivActor.ts +70 -0
- package/output/engine/src/actor/FragmentActor.ts +56 -0
- package/output/engine/src/actor/HTMActor.ts +169 -0
- package/output/engine/src/actor/HTMServiceActor.ts +57 -0
- package/output/engine/src/actor/HTMTransformControllerActor.ts +409 -0
- package/output/engine/src/actor/StyleActor.ts +96 -0
- package/output/engine/src/actor/index.ts +8 -0
- package/output/engine/src/asset/Asset.ts +282 -0
- package/output/engine/src/asset/AssetGraph.ts +246 -0
- package/output/engine/src/asset/index.ts +2 -0
- package/output/engine/src/descriptor/AnimationUnitDescriptor.ts +65 -0
- package/output/engine/src/descriptor/CameraDescriptor.ts +12 -0
- package/output/engine/src/descriptor/ControllerDescriptor.ts +16 -0
- package/output/engine/src/descriptor/DatasetDescriptor.ts +90 -0
- package/output/engine/src/descriptor/Descriptor.ts +388 -0
- package/output/engine/src/descriptor/DivDescriptor.ts +18 -0
- package/output/engine/src/descriptor/DynamicDescriptor.ts +27 -0
- package/output/engine/src/descriptor/HTMLDescriptor.ts +87 -0
- package/output/engine/src/descriptor/HTMLServiceDescriptor.ts +19 -0
- package/output/engine/src/descriptor/HTMLTransformControllerDescriptor.ts +34 -0
- package/output/engine/src/descriptor/NodeDescriptor.ts +32 -0
- package/output/engine/src/descriptor/PrefabDescriptor.ts +53 -0
- package/output/engine/src/descriptor/PrefabInstanceDescriptor.ts +32 -0
- package/output/engine/src/descriptor/ServiceDescriptor.ts +32 -0
- package/output/engine/src/descriptor/ServiceSchedulerDescriptor.ts +32 -0
- package/output/engine/src/descriptor/StyleDescriptor.ts +213 -0
- package/output/engine/src/descriptor/index.ts +16 -0
- package/output/engine/src/graphics/Collection.ts +25 -0
- package/output/engine/src/graphics/Compilation.ts +74 -0
- package/output/engine/src/graphics/Graphics.ts +487 -0
- package/output/engine/src/graphics/Observer.ts +36 -0
- package/output/engine/src/graphics/Unit.ts +83 -0
- package/output/engine/src/graphics/VariableProxy.ts +92 -0
- package/output/engine/src/graphics/index.ts +5 -0
- package/output/engine/src/index.ts +27 -0
- package/output/engine/src/interaction/InteractionDescriptor.ts +96 -0
- package/output/engine/src/interaction/InteractionExecutor.ts +84 -0
- package/output/engine/src/interaction/Scriptable.ts +40 -0
- package/output/engine/src/interaction/index.ts +3 -0
- package/output/engine/src/interpreter/AnimationUnitInterpreter.ts +53 -0
- package/output/engine/src/interpreter/DatasetInterpreter.ts +11 -0
- package/output/engine/src/interpreter/DivInterpreter.ts +44 -0
- package/output/engine/src/interpreter/DynamicInterpreter.ts +207 -0
- package/output/engine/src/interpreter/FragmentInterpreter.ts +34 -0
- package/output/engine/src/interpreter/HTMLServiceInterpreter.ts +47 -0
- package/output/engine/src/interpreter/HTMLTransformControllerInterpreter.ts +40 -0
- package/output/engine/src/interpreter/Interpreter.ts +69 -0
- package/output/engine/src/interpreter/PrefaInterpreter.ts +11 -0
- package/output/engine/src/interpreter/PrefabInstanceInterpreter.ts +12 -0
- package/output/engine/src/interpreter/ServiceInterpreter.ts +24 -0
- package/output/engine/src/interpreter/ServiceSchedulerInterpreter.ts +42 -0
- package/output/engine/src/interpreter/StyleInterpreter.ts +66 -0
- package/output/engine/src/interpreter/index.ts +13 -0
- package/output/engine/src/locale/Language.ts +10 -0
- package/output/engine/src/locale/LanguageProvider.ts +52 -0
- package/output/engine/src/locale/index.ts +2 -0
- package/output/engine/src/math/Euler.ts +303 -0
- package/output/engine/src/math/Matrix4.ts +1123 -0
- package/output/engine/src/math/Quaternion.ts +737 -0
- package/output/engine/src/math/Vector2.ts +680 -0
- package/output/engine/src/math/Vector3.ts +1062 -0
- package/output/engine/src/math/index.ts +5 -0
- package/output/engine/src/math/utils.ts +17 -0
- package/output/engine/src/preset/execute/dataset/compile.ts +99 -0
- package/output/engine/src/preset/execute/dataset/index.ts +2 -0
- package/output/engine/src/preset/execute/dataset/update.ts +51 -0
- package/output/engine/src/preset/execute/graphics/index.ts +1 -0
- package/output/engine/src/preset/execute/graphics/invoke.ts +48 -0
- package/output/engine/src/preset/execute/index.ts +4 -0
- package/output/engine/src/preset/execute/net/http.ts +95 -0
- package/output/engine/src/preset/execute/net/index.ts +1 -0
- package/output/engine/src/preset/execute/scheduler/index.ts +1 -0
- package/output/engine/src/preset/execute/scheduler/switch.ts +46 -0
- package/output/engine/src/preset/index.ts +7 -0
- package/output/engine/src/preset/interaction/dataset/compile.ts +27 -0
- package/output/engine/src/preset/interaction/dataset/index.ts +1 -0
- package/output/engine/src/preset/interaction/graphics/index.ts +1 -0
- package/output/engine/src/preset/interaction/graphics/invoke.ts +27 -0
- package/output/engine/src/preset/interaction/index.ts +3 -0
- package/output/engine/src/preset/interaction/scheduler/index.ts +1 -0
- package/output/engine/src/preset/interaction/scheduler/switch.ts +27 -0
- package/output/engine/src/setup/index.ts +17 -0
- package/output/engine/src/utils/AssetProvider.ts +73 -0
- package/output/engine/src/utils/constants.ts +10 -0
- package/output/engine/src/utils/index.ts +2 -0
- package/output/engine/tsconfig.json +31 -0
- package/output/locale/build/index.d.ts +18 -0
- package/output/locale/build/index.js +71 -0
- package/output/locale/package.json +1 -0
- package/output/locale/src/index.ts +79 -0
- package/output/locale/tsconfig.json +29 -0
- package/output/remote/package.json +1 -0
- package/output/remote/src/Bridge.ts +133 -0
- package/output/remote/src/ChangeScriptable.ts +22 -0
- package/output/remote/src/Collection.ts +36 -0
- package/output/remote/src/RemoteExecutor.ts +519 -0
- package/output/remote/src/RemoteInvoker.ts +72 -0
- package/output/remote/src/RemoteProcess.ts +87 -0
- package/output/remote/src/index.ts +7 -0
- package/output/remote/src/job/IJob.ts +6 -0
- package/output/remote/src/job/Job.ts +16 -0
- package/output/remote/src/job/asset/add.ts +23 -0
- package/output/remote/src/job/asset/dragdrap.ts +24 -0
- package/output/remote/src/job/asset/index.ts +6 -0
- package/output/remote/src/job/asset/load.ts +20 -0
- package/output/remote/src/job/asset/remove.ts +20 -0
- package/output/remote/src/job/asset/unload.ts +18 -0
- package/output/remote/src/job/asset/update.ts +22 -0
- package/output/remote/src/job/bridge/connection.ts +18 -0
- package/output/remote/src/job/bridge/disconnect.ts +29 -0
- package/output/remote/src/job/bridge/index.ts +2 -0
- package/output/remote/src/job/index.ts +1 -0
- package/output/remote/src/job/invoke/alert.ts +20 -0
- package/output/remote/src/job/invoke/animation.ts +45 -0
- package/output/remote/src/job/invoke/event.ts +40 -0
- package/output/remote/src/job/invoke/index.ts +8 -0
- package/output/remote/src/job/invoke/orbit.ts +20 -0
- package/output/remote/src/job/invoke/pick.ts +15 -0
- package/output/remote/src/job/invoke/properties.ts +43 -0
- package/output/remote/src/job/invoke/screenshot.ts +35 -0
- package/output/remote/src/job/invoke/transform.ts +36 -0
- package/output/remote/src/job/scene/add.ts +22 -0
- package/output/remote/src/job/scene/dragdrap.ts +23 -0
- package/output/remote/src/job/scene/index.ts +6 -0
- package/output/remote/src/job/scene/load.ts +19 -0
- package/output/remote/src/job/scene/remove.ts +19 -0
- package/output/remote/src/job/scene/unload.ts +17 -0
- package/output/remote/src/job/scene/update.ts +20 -0
- package/output/remote/src/locale/Language.ts +10 -0
- package/output/remote/src/locale/LanguageProvider.ts +15 -0
- package/output/remote/src/locale/index.ts +2 -0
- package/output/remote/src/utils/index.ts +85 -0
- package/output/remote/src/utils/screenshot.ts +20 -0
- package/output/remote/tsconfig.json +31 -0
- package/output/rollup-config-plugin/index.js +46 -0
- package/output/rollup-config-plugin/package.json +8 -0
- package/output/runtime/build/Action.d.ts +42 -0
- package/output/runtime/build/DataService.d.ts +22 -0
- package/output/runtime/build/DraggableService.d.ts +37 -0
- package/output/runtime/build/InspectorService.d.ts +18 -0
- package/output/runtime/build/PresetService.d.ts +32 -0
- package/output/runtime/build/RemoteService.d.ts +12 -0
- package/output/runtime/build/Runtime.d.ts +8 -0
- package/output/runtime/build/ShortcutkeyService.d.ts +23 -0
- package/output/runtime/build/data/body.d.ts +13 -0
- package/output/runtime/build/data/footer.d.ts +42 -0
- package/output/runtime/build/data/global.d.ts +15 -0
- package/output/runtime/build/data/header.d.ts +11 -0
- package/output/runtime/build/data/inspector.d.ts +10 -0
- package/output/runtime/build/data/sidebar.d.ts +11 -0
- package/output/runtime/build/data/status.d.ts +17 -0
- package/output/runtime/build/index.d.ts +10 -0
- package/output/runtime/build/locale/Language.d.ts +3 -0
- package/output/runtime/build/locale/LanguageProvider.d.ts +31 -0
- package/output/runtime/build/locale/index.d.ts +2 -0
- package/output/runtime/build/navigator/SidebarNavigator.d.ts +52 -0
- package/output/runtime/build/navigator/index.d.ts +1 -0
- package/output/runtime/package.json +16 -0
- package/output/service/package.json +1 -0
- package/output/service/src/Service.ts +44 -0
- package/output/service/src/index.ts +2 -0
- package/output/service/src/locale/Language.ts +10 -0
- package/output/service/src/locale/LanguageProvider.ts +15 -0
- package/output/service/src/locale/index.ts +2 -0
- package/output/service/tsconfig.json +31 -0
- package/output/service-asset/package.json +1 -0
- package/output/service-asset/src/AssetMethodProvider.ts +132 -0
- package/output/service-asset/src/AssetService.ts +102 -0
- package/output/service-asset/src/index.ts +2 -0
- package/output/service-asset/src/locale/Language.ts +10 -0
- package/output/service-asset/src/locale/LanguageProvider.ts +15 -0
- package/output/service-asset/src/locale/index.ts +2 -0
- package/output/service-asset/tsconfig.json +31 -0
- package/output/service-graph/package.json +1 -0
- package/output/service-graph/src/GraphDrawer.ts +309 -0
- package/output/service-graph/src/GraphService.ts +181 -0
- package/output/service-graph/src/asset/font/demo.css +539 -0
- package/output/service-graph/src/asset/font/demo_index.html +326 -0
- package/output/service-graph/src/asset/font/iconfont.css +39 -0
- package/output/service-graph/src/asset/font/iconfont.js +1 -0
- package/output/service-graph/src/asset/font/iconfont.json +51 -0
- package/output/service-graph/src/asset/font/iconfont.ttf +0 -0
- package/output/service-graph/src/asset/font/iconfont.woff +0 -0
- package/output/service-graph/src/asset/font/iconfont.woff2 +0 -0
- package/output/service-graph/src/asset/less/index.less +108 -0
- package/output/service-graph/src/common/InteractionUnit.ts +65 -0
- package/output/service-graph/src/common/Unit.ts +172 -0
- package/output/service-graph/src/index.ts +7 -0
- package/output/service-graph/src/locale/Language.ts +10 -0
- package/output/service-graph/src/locale/LanguageProvider.ts +16 -0
- package/output/service-graph/src/locale/index.ts +2 -0
- package/output/service-graph/tsconfig.json +34 -0
- package/output/service-rpc/package.json +1 -0
- package/output/service-rpc/src/IMessage.ts +14 -0
- package/output/service-rpc/src/Message.ts +17 -0
- package/output/service-rpc/src/Operation.ts +113 -0
- package/output/service-rpc/src/RpcService.ts +122 -0
- package/output/service-rpc/src/Scheme.ts +20 -0
- package/output/service-rpc/src/UseRecord.ts +50 -0
- package/output/service-rpc/src/User.ts +21 -0
- package/output/service-rpc/src/VirtualNode.ts +107 -0
- package/output/service-rpc/src/asset/add.ts +35 -0
- package/output/service-rpc/src/asset/close.ts +35 -0
- package/output/service-rpc/src/asset/copy.ts +23 -0
- package/output/service-rpc/src/asset/create.ts +39 -0
- package/output/service-rpc/src/asset/cut.ts +23 -0
- package/output/service-rpc/src/asset/delete.ts +28 -0
- package/output/service-rpc/src/asset/dragdrap.ts +36 -0
- package/output/service-rpc/src/asset/index.ts +13 -0
- package/output/service-rpc/src/asset/initialize.ts +24 -0
- package/output/service-rpc/src/asset/open.ts +35 -0
- package/output/service-rpc/src/asset/remove.ts +29 -0
- package/output/service-rpc/src/asset/rename.ts +21 -0
- package/output/service-rpc/src/asset/select.ts +19 -0
- package/output/service-rpc/src/asset/update.ts +39 -0
- package/output/service-rpc/src/dep/add.ts +22 -0
- package/output/service-rpc/src/dep/create.ts +23 -0
- package/output/service-rpc/src/dep/delete.ts +23 -0
- package/output/service-rpc/src/dep/index.ts +5 -0
- package/output/service-rpc/src/dep/remove.ts +23 -0
- package/output/service-rpc/src/dep/update.ts +22 -0
- package/output/service-rpc/src/index.ts +14 -0
- package/output/service-rpc/src/locale/Language.ts +10 -0
- package/output/service-rpc/src/locale/LanguageProvider.ts +15 -0
- package/output/service-rpc/src/locale/index.ts +2 -0
- package/output/service-rpc/src/rpc/confirm.ts +32 -0
- package/output/service-rpc/src/rpc/connection.ts +20 -0
- package/output/service-rpc/src/rpc/disconnect.ts +20 -0
- package/output/service-rpc/src/rpc/getUser.ts +37 -0
- package/output/service-rpc/src/rpc/index.ts +9 -0
- package/output/service-rpc/src/rpc/login.ts +35 -0
- package/output/service-rpc/src/rpc/logout.ts +20 -0
- package/output/service-rpc/src/rpc/redo.ts +18 -0
- package/output/service-rpc/src/rpc/undo.ts +18 -0
- package/output/service-rpc/src/scene/add.ts +35 -0
- package/output/service-rpc/src/scene/create.ts +28 -0
- package/output/service-rpc/src/scene/delete.ts +27 -0
- package/output/service-rpc/src/scene/download.ts +20 -0
- package/output/service-rpc/src/scene/dragdrap.ts +36 -0
- package/output/service-rpc/src/scene/index.ts +10 -0
- package/output/service-rpc/src/scene/initialize.ts +36 -0
- package/output/service-rpc/src/scene/record.ts +22 -0
- package/output/service-rpc/src/scene/remove.ts +28 -0
- package/output/service-rpc/src/scene/switch.ts +37 -0
- package/output/service-rpc/src/scene/update.ts +34 -0
- package/output/service-rpc/src/sidebar/index.ts +1 -0
- package/output/service-rpc/src/sidebar/switch.ts +35 -0
- package/output/service-rpc/tsconfig.json +31 -0
- package/output/service-scene/package.json +1 -0
- package/output/service-scene/src/SceneMethodProvider.ts +129 -0
- package/output/service-scene/src/SceneService.ts +78 -0
- package/output/service-scene/src/index.ts +2 -0
- package/output/service-scene/src/locale/Language.ts +10 -0
- package/output/service-scene/src/locale/LanguageProvider.ts +15 -0
- package/output/service-scene/src/locale/index.ts +2 -0
- package/output/service-scene/tsconfig.json +31 -0
- package/output/var-rename-plugin/index.js +74 -0
- package/output/var-rename-plugin/package.json +1 -0
- package/package.json +1 -1
- /package/build/js/{1111.d7fb9219.js → 1111.1f95eaf7.js} +0 -0
- /package/build/js/{chunk-vendors.fea3dfe0.js → chunk-vendors.f015a48a.js} +0 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import { Generate, Listener } from '@vyr/engine'
|
|
2
|
+
import { Cell, CellView, Edge, Graph, Shape } from '@antv/x6'
|
|
3
|
+
import { Selection } from '@antv/x6-plugin-selection'
|
|
4
|
+
import { Stencil } from '@antv/x6-plugin-stencil'
|
|
5
|
+
import { History } from '@antv/x6-plugin-history'
|
|
6
|
+
import { Options } from '@antv/x6/lib/graph/options'
|
|
7
|
+
import { Unit } from './common/Unit'
|
|
8
|
+
import { language } from './locale'
|
|
9
|
+
|
|
10
|
+
interface GraphObserver {
|
|
11
|
+
resize: (e: any) => void
|
|
12
|
+
select: (cell: Cell[]) => void
|
|
13
|
+
change: (e: {}) => void
|
|
14
|
+
remove: (cell: Cell) => void
|
|
15
|
+
link: (e: { source: string, target: string }) => void
|
|
16
|
+
unlink: (e: { source: string, target: string }) => void
|
|
17
|
+
dispose: (e: any) => void
|
|
18
|
+
}
|
|
19
|
+
type Connecting = Options.Connecting
|
|
20
|
+
|
|
21
|
+
class GraphDrawer extends Listener<GraphObserver> {
|
|
22
|
+
private isReadonly = false
|
|
23
|
+
readonly connecting
|
|
24
|
+
readonly dom = document.createElement('div')
|
|
25
|
+
readonly selection: Selection
|
|
26
|
+
readonly stencil: Stencil
|
|
27
|
+
readonly graph: Graph
|
|
28
|
+
readonly history: History
|
|
29
|
+
readonly tool
|
|
30
|
+
selectEdge = ''
|
|
31
|
+
container: Element | null = null
|
|
32
|
+
needTriggerChange = false
|
|
33
|
+
|
|
34
|
+
constructor() {
|
|
35
|
+
super()
|
|
36
|
+
this.dom = document.createElement('div')
|
|
37
|
+
this.connecting = {
|
|
38
|
+
snap: true,
|
|
39
|
+
allowMulti: false,
|
|
40
|
+
allowBlank: false,
|
|
41
|
+
allowLoop: false,
|
|
42
|
+
allowNode: false,
|
|
43
|
+
highlight: true,
|
|
44
|
+
connector: 'rounded',
|
|
45
|
+
connectionPoint: 'boundary',
|
|
46
|
+
router: 'manhattan',
|
|
47
|
+
validateMagnet: this._validateMagnet,
|
|
48
|
+
validateConnection: this._validateConnection,
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
this.graph = new Graph({
|
|
52
|
+
container: this.dom,
|
|
53
|
+
autoResize: true,
|
|
54
|
+
mousewheel: true,
|
|
55
|
+
panning: { enabled: true },
|
|
56
|
+
interacting: this._interacting,
|
|
57
|
+
connecting: {
|
|
58
|
+
...this.connecting,
|
|
59
|
+
createEdge: this._createEdge,
|
|
60
|
+
},
|
|
61
|
+
})
|
|
62
|
+
this.selection = new Selection({
|
|
63
|
+
enabled: true,
|
|
64
|
+
multiple: true,
|
|
65
|
+
rubberband: true,
|
|
66
|
+
movable: true,
|
|
67
|
+
modifiers: 'ctrl',
|
|
68
|
+
showNodeSelectionBox: true,
|
|
69
|
+
filter(cell) {
|
|
70
|
+
return cell instanceof Unit ? true : false
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
this.stencil = new Stencil({
|
|
74
|
+
target: this.graph,
|
|
75
|
+
title: language.get('graphDrawer.stencil.title'),
|
|
76
|
+
layoutOptions: { columns: 1, columnWidth: 200, dx: 20, },
|
|
77
|
+
stencilGraphHeight: 0,
|
|
78
|
+
stencilGraphPadding: 0,
|
|
79
|
+
groups: [{ name: 'inspector' }],
|
|
80
|
+
})
|
|
81
|
+
this.history = new History({ enabled: false, })
|
|
82
|
+
this.graph.use(this.selection)
|
|
83
|
+
this.graph.use(this.history)
|
|
84
|
+
|
|
85
|
+
this.tool = document.createElement('div')
|
|
86
|
+
this.tool.style.width = '240px';
|
|
87
|
+
this.tool.style.height = '100%';
|
|
88
|
+
this.tool.style.position = 'absolute';
|
|
89
|
+
this.tool.style.top = '0px'
|
|
90
|
+
this.tool.style.left = '0px'
|
|
91
|
+
this.tool.style.zIndex = '999'
|
|
92
|
+
this.tool.appendChild(this.stencil.container)
|
|
93
|
+
this.stencil.dnd.options.dndContainer = this.tool
|
|
94
|
+
|
|
95
|
+
this.graph.on('node:added', this._changeListener)
|
|
96
|
+
this.graph.on('node:removed', this._changeListener)
|
|
97
|
+
this.graph.on('edge:removed', this._changeListener)
|
|
98
|
+
this.graph.on('node:moved', this._changeListener)
|
|
99
|
+
|
|
100
|
+
this.graph.on('node:selected', this._delaySelect)
|
|
101
|
+
this.graph.on('node:unselected', this._delaySelect)
|
|
102
|
+
|
|
103
|
+
this.graph.on('edge:connected', (e) => {
|
|
104
|
+
//@ts-ignore
|
|
105
|
+
const source = e.edge.source.cell
|
|
106
|
+
//@ts-ignore
|
|
107
|
+
const target = e.edge.target.cell
|
|
108
|
+
|
|
109
|
+
const sourceCell = this.graph.getCellById(source)
|
|
110
|
+
const targetCell = this.graph.getCellById(target)
|
|
111
|
+
if (sourceCell instanceof Unit && targetCell instanceof Unit) {
|
|
112
|
+
this.trigger('link', { source, target })
|
|
113
|
+
this._changeListener()
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
|
|
117
|
+
//边
|
|
118
|
+
this.graph.on('edge:mouseenter', ({ edge }) => {
|
|
119
|
+
})
|
|
120
|
+
this.graph.on('edge:mouseleave', ({ edge }) => {
|
|
121
|
+
})
|
|
122
|
+
this.graph.on('edge:click', ({ edge }) => {
|
|
123
|
+
this._unselectEdge()
|
|
124
|
+
edge.setAttrs({ line: Unit.edge.highlight })
|
|
125
|
+
this.selectEdge = edge.id
|
|
126
|
+
})
|
|
127
|
+
this.graph.on('edge:removed', ({ edge }: any) => {
|
|
128
|
+
if (edge.id === this.selectEdge) this.selectEdge = ''
|
|
129
|
+
const source = this.graph.getCellById(edge.source.cell)
|
|
130
|
+
const target = this.graph.getCellById(edge.target.cell)
|
|
131
|
+
if (source instanceof Unit && target instanceof Unit) {
|
|
132
|
+
this.trigger('unlink', { source: edge.source.cell, target: edge.target.cell })
|
|
133
|
+
}
|
|
134
|
+
})
|
|
135
|
+
|
|
136
|
+
this.graph.on('blank:mouseup', () => {
|
|
137
|
+
this._unselectEdge()
|
|
138
|
+
})
|
|
139
|
+
this.graph.on('blank:contextmenu', (e) => {
|
|
140
|
+
})
|
|
141
|
+
this.graph.on('cell:contextmenu', ({ cell, x, y }) => {
|
|
142
|
+
if (cell instanceof Unit) cell.rightClick({ cell, x, y })
|
|
143
|
+
})
|
|
144
|
+
//点击节点
|
|
145
|
+
this.graph.on('cell:click', ({ cell, x, y }) => {
|
|
146
|
+
this._unselectEdge()
|
|
147
|
+
if (cell instanceof Unit) cell.click({ cell, x, y })
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
window.addEventListener('resize', this._resize)
|
|
151
|
+
window.addEventListener('keydown', this._delete)
|
|
152
|
+
|
|
153
|
+
this.listen('dispose', () => {
|
|
154
|
+
window.removeEventListener('resize', this._resize)
|
|
155
|
+
window.removeEventListener('keydown', this._delete)
|
|
156
|
+
})
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
private _interacting: CellView.Interacting = ({ cell }) => {
|
|
160
|
+
const result = {
|
|
161
|
+
nodeMovable: true
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (cell instanceof Unit) result.nodeMovable = cell.isMove()
|
|
165
|
+
|
|
166
|
+
return result
|
|
167
|
+
}
|
|
168
|
+
private _validateMagnet: Connecting['validateMagnet'] = ({ cell, magnet }) => {
|
|
169
|
+
return cell instanceof Unit ? cell.isCreateEdge(magnet) : false
|
|
170
|
+
}
|
|
171
|
+
private _createEdge: Connecting['createEdge'] = () => {
|
|
172
|
+
return new Shape.Edge({ attrs: Unit.edge })
|
|
173
|
+
}
|
|
174
|
+
private _validateConnection: Connecting['validateConnection'] = ({ sourceCell, targetCell, targetMagnet }) => {
|
|
175
|
+
if (!targetMagnet || !sourceCell) return false
|
|
176
|
+
return targetCell instanceof Unit ? targetCell.isConnection(targetMagnet, sourceCell) : false
|
|
177
|
+
}
|
|
178
|
+
private _undo = (e: KeyboardEvent) => {
|
|
179
|
+
if (e.ctrlKey === false || ['KeyZ'].includes(e.code) === false) return
|
|
180
|
+
if (this.history.canUndo()) this.history.undo()
|
|
181
|
+
}
|
|
182
|
+
private _redo = (e: KeyboardEvent) => {
|
|
183
|
+
if (e.ctrlKey === false || ['KeyY'].includes(e.code) === false) return
|
|
184
|
+
if (this.history.canRedo()) this.history.redo()
|
|
185
|
+
}
|
|
186
|
+
private _unselectEdge = () => {
|
|
187
|
+
if (this.selectEdge) {
|
|
188
|
+
const oldEdge = this.graph.getCellById(this.selectEdge)
|
|
189
|
+
oldEdge.setAttrs({ line: Unit.edge.line })
|
|
190
|
+
}
|
|
191
|
+
this.selectEdge = ''
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
private _delaySelect = Generate.delayExecute(() => {
|
|
195
|
+
const cells = this.selection.getSelectedCells()
|
|
196
|
+
this.trigger('select', cells)
|
|
197
|
+
})
|
|
198
|
+
private _changeListener = () => {
|
|
199
|
+
if (this.needTriggerChange === false) return
|
|
200
|
+
this._delayChange()
|
|
201
|
+
}
|
|
202
|
+
private _delayChange = Generate.delayExecute(() => {
|
|
203
|
+
this.trigger('change', {})
|
|
204
|
+
})
|
|
205
|
+
private _resize = Generate.delayExecute(() => {
|
|
206
|
+
if (!this.container) return
|
|
207
|
+
const rect = this.container.getBoundingClientRect()
|
|
208
|
+
this.graph.resize(rect.width, rect.height)
|
|
209
|
+
this.trigger('resize', {})
|
|
210
|
+
})
|
|
211
|
+
|
|
212
|
+
private _delete = (e: KeyboardEvent) => {
|
|
213
|
+
if (this.isReadonly === true) return
|
|
214
|
+
if (['Delete'].includes(e.code) === false) return
|
|
215
|
+
const cells = this.selection.getSelectedCells()
|
|
216
|
+
for (const cell of cells) this.remove(cell)
|
|
217
|
+
if (this.selectEdge) this.remove(this.graph.getCellById(this.selectEdge))
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
private _isEdgePort(data: { [k: string]: any }): data is { cell: string } {
|
|
221
|
+
return data?.cell ? true : false
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
getMapper(edge: Edge) {
|
|
225
|
+
if (this._isEdgePort(edge.source) === false) return null
|
|
226
|
+
if (this._isEdgePort(edge.target) === false) return null
|
|
227
|
+
return { source: edge.source.cell, target: edge.target.cell }
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
getEdgeOfMapper(source: string, target: string) {
|
|
231
|
+
const edge = {
|
|
232
|
+
shape: 'edge',
|
|
233
|
+
source: { cell: source, port: 'out' },
|
|
234
|
+
target: { cell: target, port: 'in' },
|
|
235
|
+
attrs: Unit.edge,
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
return edge
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
setReadonly(readonly: boolean) {
|
|
242
|
+
this.isReadonly = readonly
|
|
243
|
+
let display = 'none'
|
|
244
|
+
if (readonly) {
|
|
245
|
+
this.graph.options.interacting = false
|
|
246
|
+
} else {
|
|
247
|
+
this.graph.options.interacting = this._interacting
|
|
248
|
+
display = 'block'
|
|
249
|
+
}
|
|
250
|
+
this.tool.style.display = display
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
mount(container: Element | string) {
|
|
254
|
+
this.container = container instanceof Element ? container : document.getElementById(container) ?? null
|
|
255
|
+
if (this.container === null) return
|
|
256
|
+
this.container.appendChild(this.dom)
|
|
257
|
+
this.container.appendChild(this.tool)
|
|
258
|
+
this._resize()
|
|
259
|
+
window.addEventListener('keydown', this._redo)
|
|
260
|
+
window.addEventListener('keydown', this._undo)
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
unmount() {
|
|
264
|
+
if (!this.container) return
|
|
265
|
+
window.removeEventListener('keydown', this._redo)
|
|
266
|
+
window.removeEventListener('keydown', this._undo)
|
|
267
|
+
this.container.removeChild(this.dom)
|
|
268
|
+
this.container = null
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
find(id: string) {
|
|
272
|
+
const cells = this.graph.getCells()
|
|
273
|
+
for (const cell of cells) {
|
|
274
|
+
if (cell.id === id) return cell as Unit
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
return null
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
remove(cell: Cell) {
|
|
281
|
+
const parentCell = cell.parent
|
|
282
|
+
this.graph.removeCell(cell)
|
|
283
|
+
|
|
284
|
+
if (parentCell) {
|
|
285
|
+
const subs = parentCell.getChildren() as Cell[]
|
|
286
|
+
for (let i = 0; i < subs.length; i++) {
|
|
287
|
+
const sub = subs[i]
|
|
288
|
+
sub.setProp('position', { x: 0, y: i * Unit.height })
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
if (cell instanceof Unit) this.trigger('remove', cell)
|
|
293
|
+
cell.dispose()
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
clear() {
|
|
297
|
+
this._unselectEdge()
|
|
298
|
+
this.graph.resetCells([])
|
|
299
|
+
// this.history.clean()
|
|
300
|
+
this.selection.clean()
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
dispose() {
|
|
304
|
+
this.clear()
|
|
305
|
+
this.unmount()
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
export { GraphDrawer }
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { reactive, AsyncComponentLoader, defineAsyncComponent } from 'vue'
|
|
2
|
+
import { Service } from "@vyr/service"
|
|
3
|
+
import { DeserializationObject, InteractionInputCollection, ObjectUtils, InteractionDescriptor, InteractionNode, InteractionMapper } from '@vyr/engine'
|
|
4
|
+
import { Unit } from './common/Unit'
|
|
5
|
+
import { BranchUnit, ConditionUnit, ExecuteUnit, InteractionUnit } from './common/InteractionUnit'
|
|
6
|
+
import { GraphDrawer } from './GraphDrawer'
|
|
7
|
+
|
|
8
|
+
class GraphState {
|
|
9
|
+
width = '60%'
|
|
10
|
+
height = '60%'
|
|
11
|
+
visible = false
|
|
12
|
+
descriptor = ''
|
|
13
|
+
event = ''
|
|
14
|
+
inputs: InteractionInputCollection = {}
|
|
15
|
+
interaction: DeserializationObject<InteractionDescriptor> | null = null
|
|
16
|
+
|
|
17
|
+
reset() {
|
|
18
|
+
this.descriptor = ''
|
|
19
|
+
this.event = ''
|
|
20
|
+
this.inputs = {}
|
|
21
|
+
this.interaction = null
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class GraphService extends Service {
|
|
26
|
+
private _map = new Map()
|
|
27
|
+
private _drawer: GraphDrawer | null = null
|
|
28
|
+
get drawer() {
|
|
29
|
+
if (this._drawer === null) {
|
|
30
|
+
this._drawer = new GraphDrawer()
|
|
31
|
+
this._drawer.stencil.load([
|
|
32
|
+
new ExecuteUnit({ drawer: this._drawer, label: 'Execute' },),
|
|
33
|
+
new BranchUnit({ drawer: this._drawer, label: 'Branch' }),
|
|
34
|
+
new ConditionUnit({ drawer: this._drawer, label: 'Condition' }),
|
|
35
|
+
], 'inspector')
|
|
36
|
+
}
|
|
37
|
+
return this._drawer
|
|
38
|
+
}
|
|
39
|
+
readonly state = reactive(new GraphState())
|
|
40
|
+
interaction: DeserializationObject<InteractionDescriptor> | null = null
|
|
41
|
+
|
|
42
|
+
private _doNodes(nodes: InteractionNode[]) {
|
|
43
|
+
for (const node of nodes) {
|
|
44
|
+
if (node.interaction === 'Execute') {
|
|
45
|
+
const cell = new ExecuteUnit({ ...node, drawer: this.drawer })
|
|
46
|
+
this.drawer.graph.addCell(cell)
|
|
47
|
+
} else if (node.interaction === 'Condition') {
|
|
48
|
+
this.drawer.graph.addCell(new ConditionUnit({ ...node, drawer: this.drawer }))
|
|
49
|
+
} else if (node.interaction === 'Branch') {
|
|
50
|
+
this.drawer.graph.addCell(new BranchUnit({ ...node, drawer: this.drawer }))
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
}
|
|
55
|
+
private _doMappers(mappers: InteractionMapper[]) {
|
|
56
|
+
for (const mapper of mappers) {
|
|
57
|
+
const edge = this.drawer.getEdgeOfMapper(mapper.source, mapper.target)
|
|
58
|
+
this.drawer.graph.addEdge(edge)
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private _diff(cur: InteractionNode[], old: InteractionNode[]) {
|
|
63
|
+
const addQueue: InteractionNode[] = []
|
|
64
|
+
const removeQueue: InteractionNode[] = []
|
|
65
|
+
const updateQueue: InteractionNode[] = []
|
|
66
|
+
|
|
67
|
+
const temp = new Map<string, InteractionNode>()
|
|
68
|
+
for (const oldItem of old) {
|
|
69
|
+
temp.set(oldItem.id, oldItem)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
for (const curItem of cur) {
|
|
73
|
+
const oldItem = temp.get(curItem.id)
|
|
74
|
+
if (oldItem === undefined) {
|
|
75
|
+
addQueue.push(curItem)
|
|
76
|
+
} else {
|
|
77
|
+
if (ObjectUtils.equals(curItem, oldItem) === false) updateQueue.push(curItem)
|
|
78
|
+
temp.delete(curItem.id)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
removeQueue.push(...temp.values())
|
|
83
|
+
|
|
84
|
+
return {
|
|
85
|
+
addQueue,
|
|
86
|
+
removeQueue,
|
|
87
|
+
updateQueue
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
render(interaction: DeserializationObject<InteractionDescriptor>) {
|
|
92
|
+
this.interaction = interaction
|
|
93
|
+
|
|
94
|
+
this.drawer.needTriggerChange = false
|
|
95
|
+
this._doNodes(interaction.nodes)
|
|
96
|
+
this._doMappers(interaction.mappers)
|
|
97
|
+
this.drawer.needTriggerChange = true
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
update(curInteraction: DeserializationObject<InteractionDescriptor>) {
|
|
101
|
+
if (this.interaction === null) return
|
|
102
|
+
|
|
103
|
+
this.drawer.needTriggerChange = false
|
|
104
|
+
this.drawer.selectEdge = ''
|
|
105
|
+
this.drawer.history.clean()
|
|
106
|
+
const selects = this.drawer.selection.getSelectedCells()
|
|
107
|
+
|
|
108
|
+
const edges = this.drawer.graph.getEdges()
|
|
109
|
+
for (const edge of edges) this.drawer.remove(edge)
|
|
110
|
+
|
|
111
|
+
const patch = this._diff(curInteraction.nodes, this.interaction.nodes)
|
|
112
|
+
|
|
113
|
+
let needCleanSelection = false
|
|
114
|
+
for (const remove of patch.removeQueue) {
|
|
115
|
+
const cell = this.drawer.graph.getCellById(remove.id)
|
|
116
|
+
if (!cell) continue
|
|
117
|
+
if (selects.includes(cell)) needCleanSelection = true
|
|
118
|
+
this.drawer.remove(cell)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if (needCleanSelection) this.drawer.selection.clean()
|
|
122
|
+
|
|
123
|
+
this._doNodes(patch.addQueue)
|
|
124
|
+
|
|
125
|
+
for (const update of patch.updateQueue) {
|
|
126
|
+
const cell = this.drawer.graph.getCellById(update.id) as Unit
|
|
127
|
+
if (cell) cell.setVMeta(update)
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
this._doMappers(curInteraction.mappers)
|
|
131
|
+
this.drawer.needTriggerChange = true
|
|
132
|
+
|
|
133
|
+
this.interaction = curInteraction
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
build() {
|
|
137
|
+
const interaction = new InteractionDescriptor()
|
|
138
|
+
const cells = this.drawer.graph.getCells()
|
|
139
|
+
|
|
140
|
+
for (const cell of cells) {
|
|
141
|
+
if (cell instanceof InteractionUnit) {
|
|
142
|
+
const node = {
|
|
143
|
+
id: cell.id,
|
|
144
|
+
label: cell.vMeta.label ?? '',
|
|
145
|
+
url: cell.vMeta.url,
|
|
146
|
+
interaction: cell.vMeta.interaction,
|
|
147
|
+
input: cell.vMeta.input,
|
|
148
|
+
position: cell.getPosition(),
|
|
149
|
+
}
|
|
150
|
+
interaction.nodes.push(node)
|
|
151
|
+
} else if (cell.isEdge()) {
|
|
152
|
+
const mapper = this.drawer.getMapper(cell)
|
|
153
|
+
if (mapper) interaction.mappers.push(mapper)
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const roots = this.drawer.graph.getRootNodes()
|
|
158
|
+
for (const root of roots) interaction.roots.push(root.id)
|
|
159
|
+
|
|
160
|
+
return { ...interaction, uuid: this.interaction?.uuid }
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
get(id: string) {
|
|
164
|
+
return this._map.get(id) ?? null
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
keys() {
|
|
168
|
+
return [...this._map.keys()]
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
set(id: string, executor: AsyncComponentLoader): void {
|
|
172
|
+
const component = defineAsyncComponent({
|
|
173
|
+
loader: executor,
|
|
174
|
+
timeout: 5000
|
|
175
|
+
})
|
|
176
|
+
this._map.set(id, component)
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export { GraphService }
|