@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,223 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="vyr-select" :style="`width:${curInputWidth};`">
|
|
3
|
+
<vyr-popover ref="refPopover" :model-value="state.visible" :placement="placement"
|
|
4
|
+
:popover-class="`vyr-select-popover ${popoverClass}`" :disabled="curReadonly" :popover-card="popoverCard"
|
|
5
|
+
:arrow="arrow" :offset="offset" @update:model-value="popoverVisibleChange" @trigger-change="changeTrigger">
|
|
6
|
+
<template #trigger>
|
|
7
|
+
<slot name="trigger">
|
|
8
|
+
<div class="select-wrapper">
|
|
9
|
+
<vyr-input :model-value="curInputValue" :readonly="curReadonly" :clearable="curClearable"
|
|
10
|
+
:readonly-clearable="curReadonlyClearable" :placeholder="curPlaceholder" :width="`100%`" :draggable
|
|
11
|
+
:dragkey @focus="startSearch" @blur="clearSearch" @update:model-value="updateSearch"
|
|
12
|
+
@click="stopClosePopover" @clear.stop="clear">
|
|
13
|
+
<template #icon="icon">
|
|
14
|
+
<i v-if="showClear(icon.clearable, curReadonly, curReadonlyClearable, curInputValue)"
|
|
15
|
+
class="vyrfont vyr-shanchu vyr-input-icon" @click.stop="clear"></i>
|
|
16
|
+
<i v-else class="vyrfont vyr-arrow-down-bold vyr-input-icon" :class="{ 'active': state.visible }">
|
|
17
|
+
</i>
|
|
18
|
+
</template>
|
|
19
|
+
</vyr-input>
|
|
20
|
+
</div>
|
|
21
|
+
</slot>
|
|
22
|
+
</template>
|
|
23
|
+
<slot name="default" :width="slotWidth" :forced-prompt="searchState.forcedPrompt">
|
|
24
|
+
<vyr-options :data="renderOptions" :getter="curGetter" :addable="addable" :removable="removable"
|
|
25
|
+
:editable="editable" :forced-prompt="searchState.forcedPrompt" :checked="[modelValue]" :width="slotWidth"
|
|
26
|
+
@click="change" @add="triggerAdd" @remove="triggerRemove" @edit="triggerEdit"></vyr-options>
|
|
27
|
+
</slot>
|
|
28
|
+
</vyr-popover>
|
|
29
|
+
</div>
|
|
30
|
+
</template>
|
|
31
|
+
|
|
32
|
+
<script lang="ts" setup>
|
|
33
|
+
import { ref, computed, useTemplateRef } from 'vue'
|
|
34
|
+
import { Option, Options } from './types';
|
|
35
|
+
import { inputCommonDefaultProps, useCommonProps, useInputCommonProps } from './composables/useDefaultProps';
|
|
36
|
+
import { commonDefaultProps, selectCommonDefaultProps, popoverCommonDefaultProps, getterCommonDefaultProps } from './composables/useDefaultProps';
|
|
37
|
+
import { updateValidateItemProvider, useValidateItemProvider } from './composables/useProvider';
|
|
38
|
+
import { searchDefaultProps, useSearch } from './composables/useSearch'
|
|
39
|
+
import { observer, usePopover } from './composables/usePopover';
|
|
40
|
+
import { useGetter } from './composables/useGetter';
|
|
41
|
+
import VyrPopover from './Popover.vue';
|
|
42
|
+
import VyrInput from './Input.vue'
|
|
43
|
+
import VyrOptions from './Options.vue'
|
|
44
|
+
|
|
45
|
+
const validateProvider = useValidateItemProvider()
|
|
46
|
+
updateValidateItemProvider(ref({ validate() { } }))
|
|
47
|
+
|
|
48
|
+
const refPopover = useTemplateRef('refPopover')
|
|
49
|
+
const emit = defineEmits(['update:modelValue', 'change', 'show', 'close', 'clear', 'add', 'remove', 'edit'])
|
|
50
|
+
|
|
51
|
+
const props = defineProps({
|
|
52
|
+
...commonDefaultProps,
|
|
53
|
+
...selectCommonDefaultProps,
|
|
54
|
+
...popoverCommonDefaultProps,
|
|
55
|
+
...inputCommonDefaultProps,
|
|
56
|
+
...searchDefaultProps,
|
|
57
|
+
...getterCommonDefaultProps,
|
|
58
|
+
addable: { default: false },
|
|
59
|
+
removable: { default: false },
|
|
60
|
+
editable: { default: false },
|
|
61
|
+
popoverCard: { default: false },
|
|
62
|
+
popoverWidth: { default: 'auto' },
|
|
63
|
+
data: { default(): Options { return [] } },
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
const curGetter = useGetter(props)
|
|
67
|
+
const { curInputWidth } = useInputCommonProps(props)
|
|
68
|
+
const { state, slotWidth, resize, cascaderProvider } = usePopover(props, refPopover)
|
|
69
|
+
const { curReadonly, curClearable, curReadonlyClearable, showClear } = useCommonProps(props)
|
|
70
|
+
const { searchState, startSearch, updateSearch, clearSearch } = useSearch(props, cascaderProvider, curGetter)
|
|
71
|
+
|
|
72
|
+
const popoverState = {
|
|
73
|
+
bind: false,
|
|
74
|
+
cur: null as Element | null,
|
|
75
|
+
triggerResize: () => { },
|
|
76
|
+
|
|
77
|
+
}
|
|
78
|
+
const changeTrigger = (cur: Element) => {
|
|
79
|
+
if (popoverState.bind) {
|
|
80
|
+
unbindResizePopover()
|
|
81
|
+
popoverState.cur = cur
|
|
82
|
+
bindResizePopover()
|
|
83
|
+
} else {
|
|
84
|
+
popoverState.cur = cur
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const bindResizePopover = () => {
|
|
88
|
+
popoverState.bind = true
|
|
89
|
+
if (popoverState.cur) popoverState.triggerResize = observer.listen(popoverState.cur, resize)
|
|
90
|
+
}
|
|
91
|
+
const unbindResizePopover = () => {
|
|
92
|
+
popoverState.bind = false
|
|
93
|
+
if (popoverState.cur) observer.unlisten(popoverState.cur)
|
|
94
|
+
popoverState.triggerResize = () => { }
|
|
95
|
+
}
|
|
96
|
+
const popoverVisibleChange = (visible: boolean) => {
|
|
97
|
+
state.value.visible = visible
|
|
98
|
+
if (visible) {
|
|
99
|
+
emit('show')
|
|
100
|
+
bindResizePopover()
|
|
101
|
+
} else {
|
|
102
|
+
unbindResizePopover()
|
|
103
|
+
emit('close')
|
|
104
|
+
}
|
|
105
|
+
validateProvider.value.validate(props.modelValue)
|
|
106
|
+
}
|
|
107
|
+
const stopClosePopover = (e: MouseEvent) => { if (state.value.visible === true) e.stopPropagation() }
|
|
108
|
+
|
|
109
|
+
const curSelectValue = computed(() => cascaderProvider.value.getInputValue(props.modelValue, props.data, curGetter))
|
|
110
|
+
const renderOptions = computed(() => {
|
|
111
|
+
if (props.searchable === false) return props.data
|
|
112
|
+
return cascaderProvider.value.searchOptions.length === 0 ? props.data : cascaderProvider.value.searchOptions
|
|
113
|
+
})
|
|
114
|
+
const curInputValue = computed(() => {
|
|
115
|
+
if (props.searchable === false) return curSelectValue.value
|
|
116
|
+
return [0].includes(searchState.value.status) ? curSelectValue.value : searchState.value.content
|
|
117
|
+
})
|
|
118
|
+
const curPlaceholder = computed(() => {
|
|
119
|
+
if (props.searchable === false) return props.placeholder
|
|
120
|
+
return searchState.value.status === 0 || curSelectValue.value === '' ? props.placeholder : curSelectValue.value
|
|
121
|
+
})
|
|
122
|
+
|
|
123
|
+
const triggerAdd = (...args: any[]) => {
|
|
124
|
+
emit('add', ...args)
|
|
125
|
+
}
|
|
126
|
+
const triggerEdit = (...args: any[]) => {
|
|
127
|
+
emit('edit', ...args)
|
|
128
|
+
}
|
|
129
|
+
const triggerRemove = (...args: any[]) => {
|
|
130
|
+
emit('remove', ...args)
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const show = () => {
|
|
134
|
+
if (curReadonly.value === true) return state.value.visible = false
|
|
135
|
+
state.value.visible = true
|
|
136
|
+
}
|
|
137
|
+
const close = () => {
|
|
138
|
+
state.value.visible = false
|
|
139
|
+
}
|
|
140
|
+
const change = (item: Option, e: MouseEvent) => {
|
|
141
|
+
const value = curGetter.value(item)
|
|
142
|
+
if (props.modelValue !== value) {
|
|
143
|
+
emit('update:modelValue', value)
|
|
144
|
+
emit('change', value, item)
|
|
145
|
+
}
|
|
146
|
+
e.stopPropagation()
|
|
147
|
+
close()
|
|
148
|
+
}
|
|
149
|
+
const clear = () => {
|
|
150
|
+
emit('update:modelValue', '')
|
|
151
|
+
emit('change', '')
|
|
152
|
+
emit('clear', '')
|
|
153
|
+
close()
|
|
154
|
+
if (state.value.visible === false) validateProvider.value.validate('')
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
defineExpose({ show, close, resize: () => popoverState.triggerResize() })
|
|
158
|
+
</script>
|
|
159
|
+
|
|
160
|
+
<style lang="less" scoped>
|
|
161
|
+
@import '../theme/global.less';
|
|
162
|
+
|
|
163
|
+
.vyr-select {
|
|
164
|
+
.vyr-font-family;
|
|
165
|
+
color: var(--vyr-font-color);
|
|
166
|
+
font-size: var(--vyr-font-size);
|
|
167
|
+
|
|
168
|
+
.select-wrapper {
|
|
169
|
+
position: relative;
|
|
170
|
+
left: 0;
|
|
171
|
+
top: 0;
|
|
172
|
+
width: 100%;
|
|
173
|
+
height: var(--vyr-input-height);
|
|
174
|
+
|
|
175
|
+
:deep(.input-wrapper) {
|
|
176
|
+
cursor: pointer;
|
|
177
|
+
padding-right: var(--vyr-input-icon-size);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
:deep(.vyr-input-icon).active,
|
|
181
|
+
.vyr-input-icon.active,
|
|
182
|
+
.vyr-input-icon:hover {
|
|
183
|
+
color: var(--vyr-active-topic-color);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
:deep(.vyr-input-icon).active,
|
|
187
|
+
.vyr-input-icon.active {
|
|
188
|
+
transform: rotate(180deg);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.vyr-shanchu {
|
|
192
|
+
font-size: 18px;
|
|
193
|
+
pointer-events: auto;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.vyr-select-popover {
|
|
199
|
+
|
|
200
|
+
.vyr-remove {
|
|
201
|
+
color: var(--vyr-helper-color);
|
|
202
|
+
transition: all var(--vyr-animation-time);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.vyr-options {
|
|
206
|
+
border-radius: 0;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.vyr-options:not(:first-child) {
|
|
210
|
+
border-left-color: transparent;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.vyr-options:first-child {
|
|
214
|
+
border-top-left-radius: var(--vyr-radius-size);
|
|
215
|
+
border-bottom-left-radius: var(--vyr-radius-size);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.vyr-options:last-child {
|
|
219
|
+
border-top-right-radius: var(--vyr-radius-size);
|
|
220
|
+
border-bottom-right-radius: var(--vyr-radius-size);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
</style>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<WrapperSlots></WrapperSlots>
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script lang="ts" setup>
|
|
6
|
+
import { VNode, useAttrs } from 'vue';
|
|
7
|
+
import { getDirective, getFirstVNode, getOnlyNode } from './utils';
|
|
8
|
+
|
|
9
|
+
const attrs = useAttrs() as any
|
|
10
|
+
const emit = defineEmits(['slotChange'])
|
|
11
|
+
const slots = defineSlots<{ default(): VNode[] }>()
|
|
12
|
+
const directive = getDirective(emit)
|
|
13
|
+
|
|
14
|
+
const WrapperSlots = () => {
|
|
15
|
+
const slotQueue = slots.default?.() ?? []
|
|
16
|
+
|
|
17
|
+
const root = getFirstVNode(slotQueue)
|
|
18
|
+
|
|
19
|
+
const trigger = getOnlyNode(root, attrs, directive)
|
|
20
|
+
|
|
21
|
+
return trigger
|
|
22
|
+
}
|
|
23
|
+
</script>
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div v-for="(item, i) in renderQueue" :key="i" class="vyr-sub-tree">
|
|
3
|
+
<vyr-option v-if="item" :data-vyr-tree="getter.value(item)" :class="className(item)" :label="getter.label(item)"
|
|
4
|
+
:value="getter.value(item)" :disabled="getter.disabled(item)" :warning="warning(item)"
|
|
5
|
+
:checked="checked.includes(getter.value(item))" @click="e => handleClick(item, e)"
|
|
6
|
+
@mousedown="e => mousedown(item, e)" @mouseup="e => mouseup(item, e)" @mouseenter="e => mouseenter(item, e)"
|
|
7
|
+
@mouseleave="e => mouseleave(item, e)" @right-click="e => treeProvider.handleRightClick(item, e)">
|
|
8
|
+
<div class="sub-tree-item" :style="`padding-left:${layer * 10}px;`">
|
|
9
|
+
<div class="tree-arrow" :class="{ 'active': expand.includes(getter.value(item)) }">
|
|
10
|
+
<i class="vyrfont" :class="`${icon}`" v-if="getter.arrow(item)"></i>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="tree-label" v-if="modifyEditState(item)">
|
|
13
|
+
<vyr-input class="modify" :model-value="getter.label(item)" :autofocus="true"
|
|
14
|
+
@blur="(v) => treeProvider.handleModify(v, item)"></vyr-input>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="tree-label" v-else>
|
|
17
|
+
<slot :item="item" :active="expand.includes(getter.value(item))">
|
|
18
|
+
<div class="label-text">{{ getter.label(item) }}</div>
|
|
19
|
+
</slot>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</vyr-option>
|
|
23
|
+
<vyr-option v-if="modifyAddState(item)" class="modify-tree-item" :data-vyr-tree="getter.value(item)">
|
|
24
|
+
<div class="sub-tree-item" :style="`padding-left:${(layer + 1) * 10}px;`">
|
|
25
|
+
<div class="tree-arrow" :class="{ 'active': expand.includes(getter.value(item)) }"></div>
|
|
26
|
+
<div class="tree-label">
|
|
27
|
+
<vyr-input class="modify" :autofocus="true" @blur="(v) => treeProvider.handleModify(v, item)"></vyr-input>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</vyr-option>
|
|
31
|
+
<sub-tree v-if="show(item)" :data="getter.children(item)" :multiple="multiple" :getter="getter" :layer="layer + 1"
|
|
32
|
+
:expand="expand" :draggable="draggable" :modify="modify" :modify-value="modifyValue" :checked="checked"
|
|
33
|
+
:line="checked.includes(getter.value(item))" :visible="visible" :warning="warning">
|
|
34
|
+
<template #default="{ item, active }">
|
|
35
|
+
<slot :item="item" :active="active"></slot>
|
|
36
|
+
</template>
|
|
37
|
+
</sub-tree>
|
|
38
|
+
</div>
|
|
39
|
+
</template>
|
|
40
|
+
|
|
41
|
+
<script lang="ts" setup>
|
|
42
|
+
import { computed } from 'vue';
|
|
43
|
+
import { SubTreeSlots, TreeOption } from './types';
|
|
44
|
+
import { useDraggable } from './composables/useDraggable'
|
|
45
|
+
import { defaultGetter } from './composables/useGetter';
|
|
46
|
+
import { treeCommonDefaultProps } from './composables/useDefaultProps'
|
|
47
|
+
import { useTreeProvider } from './composables/useProvider';
|
|
48
|
+
import VyrOption from './Option.vue';
|
|
49
|
+
import VyrInput from './Input.vue';
|
|
50
|
+
|
|
51
|
+
defineSlots<SubTreeSlots>()
|
|
52
|
+
|
|
53
|
+
const treeProvider = useTreeProvider()
|
|
54
|
+
const props = defineProps({
|
|
55
|
+
layer: { default: 0 },
|
|
56
|
+
line: { default: false },
|
|
57
|
+
expand: { default() { return [] as string[] } },
|
|
58
|
+
checked: { default() { return [] as any[] } },
|
|
59
|
+
icon: { default: 'vyr-arrow-down-bold' },
|
|
60
|
+
getter: { default: () => defaultGetter },
|
|
61
|
+
...treeCommonDefaultProps,
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
const renderQueue = computed(() => {
|
|
65
|
+
const queue: TreeOption[] = []
|
|
66
|
+
|
|
67
|
+
for (const item of props.data) {
|
|
68
|
+
if (props.visible(item)) queue.push(item)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return queue
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
const { drag, mousedown, mouseup, mouseenter, mouseleave } = useDraggable(props, treeProvider)
|
|
75
|
+
|
|
76
|
+
const className = (item: TreeOption) => {
|
|
77
|
+
const obj = {
|
|
78
|
+
'modify-tree-item': modifyEditState(item),
|
|
79
|
+
'draggable': drag.value.value === props.getter.value(item),
|
|
80
|
+
'after-draggable': drag.value.type === 'insertAfter',
|
|
81
|
+
'before-draggable': drag.value.type === 'insertBefore',
|
|
82
|
+
}
|
|
83
|
+
return obj
|
|
84
|
+
}
|
|
85
|
+
const show = (item: TreeOption) => {
|
|
86
|
+
if (props.visible(item) === false) return false
|
|
87
|
+
|
|
88
|
+
if (props.modify !== 'close' && props.modifyValue === props.getter.value(item)) return true
|
|
89
|
+
|
|
90
|
+
if (props.expand.includes(props.getter.value(item)) && props.getter.children(item).length > 0) return true
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
return false
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const modifyEditState = (item: TreeOption) => {
|
|
97
|
+
if (props.modify !== 'edit') return false
|
|
98
|
+
|
|
99
|
+
if (props.modifyValue !== props.getter.value(item)) return false
|
|
100
|
+
|
|
101
|
+
return true
|
|
102
|
+
}
|
|
103
|
+
const modifyAddState = (item: TreeOption) => {
|
|
104
|
+
if (props.modify !== 'add') return false
|
|
105
|
+
|
|
106
|
+
if (props.modifyValue !== props.getter.value(item)) return false
|
|
107
|
+
|
|
108
|
+
return true
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const handleClick = (item: TreeOption, e: MouseEvent) => {
|
|
112
|
+
if (props.multiple === true) {
|
|
113
|
+
if (e.shiftKey === true && props.checked.length > 0) {
|
|
114
|
+
const currentValue = props.checked[0]
|
|
115
|
+
let current = renderQueue.value.find(item => props.getter.value(item) === currentValue)
|
|
116
|
+
if (current) {
|
|
117
|
+
|
|
118
|
+
const currentIndex = renderQueue.value.indexOf(current)
|
|
119
|
+
const selectionIndex = renderQueue.value.indexOf(item)
|
|
120
|
+
const start = Math.min(currentIndex, selectionIndex)
|
|
121
|
+
const end = Math.max(currentIndex, selectionIndex)
|
|
122
|
+
|
|
123
|
+
const items: TreeOption[] = []
|
|
124
|
+
for (let i = start; i <= end; i++) {
|
|
125
|
+
items.push(renderQueue.value[i])
|
|
126
|
+
}
|
|
127
|
+
treeProvider.value.handleChange(items)
|
|
128
|
+
|
|
129
|
+
return
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
treeProvider.value.handleClick(item, e)
|
|
135
|
+
}
|
|
136
|
+
</script>
|
|
137
|
+
|
|
138
|
+
<style lang="less">
|
|
139
|
+
@import '../theme/global.less';
|
|
140
|
+
|
|
141
|
+
@icon-size: 28px;
|
|
142
|
+
|
|
143
|
+
.vyr-sub-tree {
|
|
144
|
+
.vyr-font-family;
|
|
145
|
+
width: 100%;
|
|
146
|
+
color: var(--vyr-font-color);
|
|
147
|
+
font-size: var(--vyr-font-size);
|
|
148
|
+
position: relative;
|
|
149
|
+
left: 0;
|
|
150
|
+
top: 0;
|
|
151
|
+
display: flex;
|
|
152
|
+
flex-wrap: wrap;
|
|
153
|
+
flex-direction: row;
|
|
154
|
+
justify-content: flex-end;
|
|
155
|
+
align-items: center;
|
|
156
|
+
align-content: center;
|
|
157
|
+
|
|
158
|
+
.sub-tree-item {
|
|
159
|
+
width: 100%;
|
|
160
|
+
height: 100%;
|
|
161
|
+
display: flex;
|
|
162
|
+
flex-wrap: nowrap;
|
|
163
|
+
flex-direction: row;
|
|
164
|
+
justify-content: flex-start;
|
|
165
|
+
align-items: center;
|
|
166
|
+
align-content: center;
|
|
167
|
+
user-select: none;
|
|
168
|
+
|
|
169
|
+
.tree-arrow {
|
|
170
|
+
width: @icon-size;
|
|
171
|
+
height: 100%;
|
|
172
|
+
display: flex;
|
|
173
|
+
flex-wrap: nowrap;
|
|
174
|
+
flex-direction: row;
|
|
175
|
+
justify-content: center;
|
|
176
|
+
align-items: center;
|
|
177
|
+
align-content: center;
|
|
178
|
+
transform: rotate(-90deg);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.tree-label {
|
|
182
|
+
width: calc(~'100% - @{icon-size}');
|
|
183
|
+
height: 100%;
|
|
184
|
+
display: flex;
|
|
185
|
+
flex-wrap: nowrap;
|
|
186
|
+
flex-direction: row;
|
|
187
|
+
justify-content: flex-start;
|
|
188
|
+
align-items: center;
|
|
189
|
+
align-content: center;
|
|
190
|
+
|
|
191
|
+
.label-text {
|
|
192
|
+
width: 100%;
|
|
193
|
+
text-align: left;
|
|
194
|
+
overflow: hidden;
|
|
195
|
+
word-break: break-all;
|
|
196
|
+
white-space: nowrap;
|
|
197
|
+
text-overflow: ellipsis;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.tree-arrow.active {
|
|
202
|
+
transform: rotate(0);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.vyr-option {
|
|
207
|
+
margin: var(--vyr-option-margin) 0;
|
|
208
|
+
padding-left: 0px;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.vyr-option.draggable {
|
|
212
|
+
background-color: var(--vyr-draggable-color);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.draggable.after-draggable::before,
|
|
216
|
+
.draggable.before-draggable::after {
|
|
217
|
+
content: '';
|
|
218
|
+
width: 100%;
|
|
219
|
+
height: 4px;
|
|
220
|
+
background-color: var(--vyr-flashing-draggable-color);
|
|
221
|
+
animation: tree-draggable 1s infinite;
|
|
222
|
+
pointer-events: none;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
.draggable.before-draggable {
|
|
227
|
+
position: relative;
|
|
228
|
+
left: 0;
|
|
229
|
+
top: 0;
|
|
230
|
+
|
|
231
|
+
&::after {
|
|
232
|
+
position: absolute;
|
|
233
|
+
left: 0;
|
|
234
|
+
top: 0;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.draggable.after-draggable {
|
|
239
|
+
position: relative;
|
|
240
|
+
left: 0;
|
|
241
|
+
top: 0;
|
|
242
|
+
|
|
243
|
+
&::before {
|
|
244
|
+
position: absolute;
|
|
245
|
+
left: 0;
|
|
246
|
+
bottom: 0;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
@keyframes tree-draggable {
|
|
252
|
+
|
|
253
|
+
0%,
|
|
254
|
+
100% {
|
|
255
|
+
opacity: 0.2;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
50% {
|
|
259
|
+
opacity: 1;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
</style>
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="vyr-tree" :class="{ 'modify-tree': modify !== 'close' }">
|
|
3
|
+
<vyr-sub-tree :data="data" :getter="curGetter" :expand="state.expand" :checked="state.checked"
|
|
4
|
+
:draggable="draggable" :modify="modify" :multiple="multiple" :modify-value="modifyValue" :visible="visible"
|
|
5
|
+
:warning="warning">
|
|
6
|
+
<template #default="content">
|
|
7
|
+
<slot v-bind="content"></slot>
|
|
8
|
+
</template>
|
|
9
|
+
</vyr-sub-tree>
|
|
10
|
+
</div>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script lang="ts" setup>
|
|
14
|
+
import { ref, watch } from 'vue'
|
|
15
|
+
import { TreeOption, DataGetter } from './types'
|
|
16
|
+
import { useGetter, defaultGetter } from "./composables/useGetter"
|
|
17
|
+
import { treeCommonDefaultProps } from './composables/useDefaultProps'
|
|
18
|
+
import { updateTreeProvider } from './composables/useProvider'
|
|
19
|
+
import { ArrayUtils } from '../tool'
|
|
20
|
+
import VyrSubTree from './SubTree.vue'
|
|
21
|
+
|
|
22
|
+
const props = defineProps({
|
|
23
|
+
...treeCommonDefaultProps,
|
|
24
|
+
getter: { default: () => defaultGetter as Partial<DataGetter> },
|
|
25
|
+
defaultChecked: { default: () => [] as Array<TreeOption | null> },
|
|
26
|
+
})
|
|
27
|
+
const state = ref({
|
|
28
|
+
expand: [] as string[],
|
|
29
|
+
checked: [] as string[],
|
|
30
|
+
})
|
|
31
|
+
const curGetter = useGetter(props)
|
|
32
|
+
const emit = defineEmits(['change', 'rightClick', 'modify'])
|
|
33
|
+
const handleModify = (v: string, item: TreeOption) => {
|
|
34
|
+
emit('modify', props.modify, v, item)
|
|
35
|
+
state.value.checked = [curGetter.value(item)]
|
|
36
|
+
emit('change', [item])
|
|
37
|
+
}
|
|
38
|
+
const handleTrace = (tree: TreeOption[], item: TreeOption, expand: string[] = []) => {
|
|
39
|
+
for (const sub of tree) {
|
|
40
|
+
const value = curGetter.value(sub)
|
|
41
|
+
if (curGetter.value(sub) === curGetter.value(item)) {
|
|
42
|
+
expand.push('__')
|
|
43
|
+
return expand
|
|
44
|
+
}
|
|
45
|
+
if (Array.isArray(sub.children) === false) continue
|
|
46
|
+
handleTrace(sub.children, item, expand)
|
|
47
|
+
if (expand.length > 0) {
|
|
48
|
+
expand.push(value)
|
|
49
|
+
return expand
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return expand
|
|
53
|
+
}
|
|
54
|
+
const handleChange = (items: TreeOption[]) => {
|
|
55
|
+
if (state.value.checked.length === 0 && items.length === 0) return
|
|
56
|
+
state.value.checked = items.map(item => curGetter.value(item))
|
|
57
|
+
emit('change', items)
|
|
58
|
+
}
|
|
59
|
+
const handleClick = (item: TreeOption, e: MouseEvent) => {
|
|
60
|
+
handleChange([item])
|
|
61
|
+
handleExpand(item)
|
|
62
|
+
}
|
|
63
|
+
const handleExpand = (item: TreeOption, type?: boolean) => {
|
|
64
|
+
if (type === true) {
|
|
65
|
+
ArrayUtils.insert(state.value.expand, curGetter.value(item))
|
|
66
|
+
} else if (type === false) {
|
|
67
|
+
ArrayUtils.remove(state.value.expand, curGetter.value(item))
|
|
68
|
+
} else {
|
|
69
|
+
ArrayUtils.auto(state.value.expand, curGetter.value(item))
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const handleRightClick = (item: TreeOption, e: MouseEvent) => {
|
|
73
|
+
emit('rightClick', item, e)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const getAdjacencies = (location: TreeOption, item: TreeOption, tree = props.data): number | null => {
|
|
77
|
+
for (let i = 0; i < tree.length; i++) {
|
|
78
|
+
const sub = tree[i]
|
|
79
|
+
if (curGetter.value(sub) === curGetter.value(location)) {
|
|
80
|
+
const i2 = tree.indexOf(item)
|
|
81
|
+
if (i2 === -1) return 0
|
|
82
|
+
const iv = i2 - i
|
|
83
|
+
return Math.abs(iv) === 1 ? iv : 0
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const adjacencies = getAdjacencies(location, item, curGetter.children(sub))
|
|
87
|
+
if (adjacencies !== null) return adjacencies
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return null
|
|
91
|
+
}
|
|
92
|
+
updateTreeProvider(ref({ handleClick, handleChange, handleModify, handleRightClick, handleExpand, getAdjacencies }))
|
|
93
|
+
|
|
94
|
+
const watchDefaultChecked = (cur?: Array<TreeOption | null>) => {
|
|
95
|
+
if (!cur || cur.length === 0) {
|
|
96
|
+
state.value.expand = []
|
|
97
|
+
state.value.checked = []
|
|
98
|
+
return
|
|
99
|
+
}
|
|
100
|
+
for (const item of cur) {
|
|
101
|
+
if (!item) continue
|
|
102
|
+
const value = curGetter.value(item)
|
|
103
|
+
state.value.checked = [value]
|
|
104
|
+
const expands = handleTrace(props.data, item)
|
|
105
|
+
for (const item of expands) ArrayUtils.insert(state.value.expand, item)
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
watch(() => props.defaultChecked, watchDefaultChecked, { immediate: true })
|
|
109
|
+
|
|
110
|
+
defineExpose({
|
|
111
|
+
change: handleChange,
|
|
112
|
+
expand: handleExpand,
|
|
113
|
+
})
|
|
114
|
+
</script>
|
|
115
|
+
|
|
116
|
+
<style lang="less" scoped>
|
|
117
|
+
@import '../theme/global.less';
|
|
118
|
+
|
|
119
|
+
.modify-tree {
|
|
120
|
+
.vyr-font-family;
|
|
121
|
+
width: 100%;
|
|
122
|
+
|
|
123
|
+
:deep(.modify-tree-item) {
|
|
124
|
+
background-color: transparent !important;
|
|
125
|
+
transition: none;
|
|
126
|
+
padding-right: 0;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
</style>
|