@vyr/cli 0.0.11 → 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/.bin/install/index.js +5 -0
- 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 -82
- /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,113 @@
|
|
|
1
|
+
import { createApp } from 'vue'
|
|
2
|
+
import { AdditionalData, DraggableEndType, Draggable } from '../../tool'
|
|
3
|
+
import { DraggableVue } from '../types'
|
|
4
|
+
import SnowDraggable from '../Draggable.vue'
|
|
5
|
+
|
|
6
|
+
const SnowDraggableApp = createApp(SnowDraggable)
|
|
7
|
+
const viewer = SnowDraggableApp.mount(document.createElement('div'))
|
|
8
|
+
document.body.appendChild(viewer.$el)
|
|
9
|
+
|
|
10
|
+
type DraggableTick = (e: MouseEvent) => void
|
|
11
|
+
|
|
12
|
+
class DraggableController {
|
|
13
|
+
static label = ''
|
|
14
|
+
static id = ''
|
|
15
|
+
static needMove = false
|
|
16
|
+
static enabled = false
|
|
17
|
+
static executed = false
|
|
18
|
+
static dragData: AdditionalData | null = null
|
|
19
|
+
static viewer = viewer as unknown as DraggableVue
|
|
20
|
+
static mouse = { x: 0, y: 0 }
|
|
21
|
+
static mouseStartDistance = 2
|
|
22
|
+
static tick?: DraggableTick
|
|
23
|
+
|
|
24
|
+
/**启动托拽功能 */
|
|
25
|
+
static start = <T extends AdditionalData = AdditionalData>(dragData: T, group: Draggable, label: string, e: MouseEvent) => {
|
|
26
|
+
if (group.starter(dragData) === false) return
|
|
27
|
+
window.addEventListener('mousemove', this.move)
|
|
28
|
+
window.addEventListener('mouseup', this.cancel)
|
|
29
|
+
|
|
30
|
+
this.needMove = true
|
|
31
|
+
this.mouse.x = e.clientX
|
|
32
|
+
this.mouse.y = e.clientY
|
|
33
|
+
this.dragData = dragData
|
|
34
|
+
this.label = label
|
|
35
|
+
this.id = group.id
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**进入目标对象时触发
|
|
39
|
+
*
|
|
40
|
+
* @param targetData 进入的目标对象
|
|
41
|
+
* @param group 托拽功能使用的拖拽组
|
|
42
|
+
* @returns 返回值决定了托拽对象能否被放置在目标对象
|
|
43
|
+
*/
|
|
44
|
+
static enter = <T extends AdditionalData = AdditionalData>(targetData: T, group: Draggable, tick?: DraggableTick, e?: MouseEvent) => {
|
|
45
|
+
if (this.enabled === false || this.dragData === null) return false
|
|
46
|
+
if (tick !== undefined) {
|
|
47
|
+
this.tick = tick
|
|
48
|
+
if (e !== undefined) tick(e)
|
|
49
|
+
}
|
|
50
|
+
return group.validator({ id: this.id, data: this.dragData }, { id: group.id, data: targetData })
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**离开目标对象时触发 */
|
|
54
|
+
static leave = <T extends AdditionalData = AdditionalData>(targetData: T, group: Draggable) => {
|
|
55
|
+
if (this.enabled === false || this.dragData === null) return
|
|
56
|
+
this.tick = undefined
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**托拽功能启动后鼠标移动时触发 */
|
|
60
|
+
static move = (e: MouseEvent) => {
|
|
61
|
+
if (this.executed === true) return
|
|
62
|
+
this.executed = true
|
|
63
|
+
requestAnimationFrame(() => this.executed = false)
|
|
64
|
+
|
|
65
|
+
if (this.needMove === true) {
|
|
66
|
+
const dx = Math.abs(e.clientX - this.mouse.x)
|
|
67
|
+
const dy = Math.abs(e.clientY - this.mouse.y)
|
|
68
|
+
const min = Math.min(dx, dy, this.mouseStartDistance)
|
|
69
|
+
if (min < this.mouseStartDistance) return
|
|
70
|
+
this.needMove = false
|
|
71
|
+
this.enabled = true
|
|
72
|
+
this.viewer.show(this.label)
|
|
73
|
+
}
|
|
74
|
+
if (this.tick !== undefined) this.tick(e)
|
|
75
|
+
this.viewer.update(e.clientX, e.clientY)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**托拽功能结束后触发,若成功完成托拽则会触发拖拽组的`finished`方法 */
|
|
79
|
+
static end = <T extends AdditionalData = AdditionalData>(targetData: T, group: Draggable, type: DraggableEndType = 'insert') => {
|
|
80
|
+
if (this.enabled === true && this.dragData !== null) {
|
|
81
|
+
const drag = { id: this.id, data: this.dragData }
|
|
82
|
+
const target = { id: group.id, data: targetData }
|
|
83
|
+
if (group.validator(drag, target) === true) group.finished(drag, target, type)
|
|
84
|
+
}
|
|
85
|
+
this.cancel()
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**对本次的托拽类型进行格式化验证 */
|
|
89
|
+
static limit = <T extends AdditionalData = AdditionalData>(targetData: T, group: Draggable, type: DraggableEndType = 'insert') => {
|
|
90
|
+
if (this.enabled === true && this.dragData !== null) {
|
|
91
|
+
const drag = { id: this.id, data: this.dragData }
|
|
92
|
+
const target = { id: group.id, data: targetData }
|
|
93
|
+
return group.limit(drag, target, type)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return type
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
static cancel = () => {
|
|
100
|
+
window.removeEventListener('mouseup', this.cancel)
|
|
101
|
+
window.removeEventListener('mousemove', this.move)
|
|
102
|
+
|
|
103
|
+
this.id = ''
|
|
104
|
+
this.needMove = false
|
|
105
|
+
this.enabled = false
|
|
106
|
+
this.executed = false
|
|
107
|
+
this.dragData = null
|
|
108
|
+
this.tick = undefined
|
|
109
|
+
this.viewer.hide()
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export { DraggableController }
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
interface ResizeEntryObject {
|
|
2
|
+
rect: DOMRect,
|
|
3
|
+
target: Element
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
class ResizeListener {
|
|
7
|
+
private registry = new WeakMap<Element, (obj: ResizeEntryObject) => void>()
|
|
8
|
+
private debounce = false
|
|
9
|
+
readonly observer
|
|
10
|
+
|
|
11
|
+
constructor() {
|
|
12
|
+
this.observer = new ResizeObserver(this.handler)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
private handler = (entrys: ResizeObserverEntry[]) => {
|
|
16
|
+
//防止回调形成无限循环
|
|
17
|
+
if (this.debounce === true) return
|
|
18
|
+
this.debounce = true
|
|
19
|
+
setTimeout(() => this.callback(entrys), 0)
|
|
20
|
+
}
|
|
21
|
+
private callback = (entrys: ResizeObserverEntry[]) => {
|
|
22
|
+
this.debounce = false
|
|
23
|
+
for (const entry of entrys) this.trigger(entry.target)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
trigger(el: Element) {
|
|
27
|
+
const listener = this.registry.get(el)
|
|
28
|
+
if (listener === undefined) return
|
|
29
|
+
const reo: ResizeEntryObject = { rect: el.getBoundingClientRect(), target: el }
|
|
30
|
+
listener(reo)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
listen(el: Element, listener: (obj: ResizeEntryObject) => void) {
|
|
34
|
+
this.registry.set(el, listener)
|
|
35
|
+
this.observer.observe(el)
|
|
36
|
+
|
|
37
|
+
return () => this.trigger(el)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
unlisten(el: Element) {
|
|
41
|
+
this.registry.delete(el)
|
|
42
|
+
this.observer.unobserve(el)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
dispose() {
|
|
46
|
+
this.observer.disconnect()
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export { ResizeEntryObject, ResizeListener }
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { computed, ref } from "vue"
|
|
2
|
+
import { Placement } from "@popperjs/core/lib"
|
|
3
|
+
import { DataGetter, DefineToDefaultProps, GetPropValue, ToPartialObject, TreeOption, TreeOptions } from '../types'
|
|
4
|
+
import { InputCommonProvider, useProvider } from "./useProvider"
|
|
5
|
+
import { CommonProvider, Provider } from "./useProvider"
|
|
6
|
+
import { MarginStyle } from "./useMarginStyle"
|
|
7
|
+
import { Draggable } from "../../tool"
|
|
8
|
+
import { language } from "../../locale"
|
|
9
|
+
|
|
10
|
+
const getterCommonDefaultProps = {
|
|
11
|
+
getter: { default: () => { return {} as Partial<DataGetter> } }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface CheckedCommonProps {
|
|
15
|
+
modelValue: GetPropValue<string | number | boolean>,
|
|
16
|
+
value: string | number | boolean
|
|
17
|
+
}
|
|
18
|
+
const checkedCommonDefaultProps: DefineToDefaultProps<CheckedCommonProps> = {
|
|
19
|
+
modelValue: { default: false },
|
|
20
|
+
value: { default: true },
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const commonDefaultProps: DefineToDefaultProps<Omit<Provider, 'row' | 'label' | 'input'>> = {
|
|
24
|
+
clearable: { default: null },
|
|
25
|
+
readonly: { default: null },
|
|
26
|
+
readonlyClearable: { default: null },
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const rowCommonDefaultProps: DefineToDefaultProps<Provider['row']> = {
|
|
30
|
+
gutter: { default: null },
|
|
31
|
+
margin: { default: null },
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const labelCommonDefaultProps: DefineToDefaultProps<Provider['label']> = {
|
|
35
|
+
width: { default: null },
|
|
36
|
+
align: { default: null },
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const inputCommonDefaultProps: DefineToDefaultProps<Provider['input']> = {
|
|
40
|
+
width: { default: null },
|
|
41
|
+
draggable: { default: false },
|
|
42
|
+
/** 拖拽属性的路径,支持以下写法
|
|
43
|
+
* - property 普通对象的属性
|
|
44
|
+
* - propertyA.property 嵌套对象的属性
|
|
45
|
+
* - property[0].property 数组对象的属性
|
|
46
|
+
*/
|
|
47
|
+
dragkey: { default: '' },
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const inputDefaultProps = {
|
|
51
|
+
modelValue: { default: '' } as { default: any },
|
|
52
|
+
placeholder: { default: language.get('input.placeholder') },
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const selectCommonDefaultProps = {
|
|
56
|
+
modelValue: { default: '' } as { default: any },
|
|
57
|
+
placeholder: { default: language.get('select.placeholder') },
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const treeCommonDefaultProps = {
|
|
61
|
+
/**树结构的数据 */
|
|
62
|
+
data: { default() { return [] as TreeOptions } },
|
|
63
|
+
/**树的修改模式
|
|
64
|
+
*
|
|
65
|
+
* close: 关闭模式
|
|
66
|
+
*
|
|
67
|
+
* edit: 编辑模式
|
|
68
|
+
*
|
|
69
|
+
* add: 新增模式
|
|
70
|
+
*
|
|
71
|
+
*/
|
|
72
|
+
modify: { default: 'close' },
|
|
73
|
+
/**开启修改模式后需要操作的项 */
|
|
74
|
+
modifyValue: { default: '' },
|
|
75
|
+
/**拖拽功能所需的拖拽组 */
|
|
76
|
+
draggable: { default: false as false | Draggable },
|
|
77
|
+
/**节点的可见性 */
|
|
78
|
+
visible: { default() { return (item: TreeOption): boolean => { return true } } },
|
|
79
|
+
/**节点是否需要警告 */
|
|
80
|
+
warning: { default() { return (item: TreeOption): boolean => { return false } } },
|
|
81
|
+
multiple: { default: false }
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const scrollCommonDefaultProps = {
|
|
85
|
+
margin: { default: 0 as MarginStyle },
|
|
86
|
+
padding: { default: 0 as MarginStyle },
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const maskCommonDefaultProps = {
|
|
90
|
+
mask: { default: true },
|
|
91
|
+
visible: { default: false },
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const dialogCommonDefaultProps = {
|
|
95
|
+
/**模态框 */
|
|
96
|
+
mask: { default: false },
|
|
97
|
+
header: { default: 60 },
|
|
98
|
+
footer: { default: 55 },
|
|
99
|
+
width: { default: '860px' },
|
|
100
|
+
height: { default: 'auto' },
|
|
101
|
+
maxHeight: { default: '60%' },
|
|
102
|
+
margin: { default: 10 as MarginStyle },
|
|
103
|
+
padding: { default: 10 as MarginStyle },
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const popoverCommonDefaultProps = {
|
|
107
|
+
placement: { default: 'bottom' as Placement },
|
|
108
|
+
popoverClass: { default: '' },
|
|
109
|
+
arrow: { default: true },
|
|
110
|
+
offset: { default: 6 },
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
interface ProviderProps extends DefineToDefaultProps<ToPartialObject<Provider>> { }
|
|
114
|
+
const providerDefaultProps: ProviderProps = {
|
|
115
|
+
...commonDefaultProps,
|
|
116
|
+
input: { default: null },
|
|
117
|
+
label: { default: null },
|
|
118
|
+
row: { default: null },
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const showClear = (clearable: boolean, readonly: boolean, readonlyClearable: boolean, value?: any) => {
|
|
122
|
+
if (value === undefined || value === null || value === '') return false
|
|
123
|
+
|
|
124
|
+
if (readonly === false) return clearable
|
|
125
|
+
|
|
126
|
+
return readonlyClearable ? clearable : false
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const useCommonProps = (props: CommonProvider) => {
|
|
130
|
+
const provider = useProvider()
|
|
131
|
+
const curReadonly = computed(() => props.readonly === null ? provider.value.readonly : props.readonly)
|
|
132
|
+
const curClearable = computed(() => props.clearable === null ? provider.value.clearable : props.clearable)
|
|
133
|
+
const curReadonlyClearable = computed(() => props.readonlyClearable === null ? provider.value.readonlyClearable : props.readonlyClearable)
|
|
134
|
+
|
|
135
|
+
return { curReadonly, curClearable, curReadonlyClearable, showClear }
|
|
136
|
+
}
|
|
137
|
+
const useCommonPropsOnInput = (props: CommonProvider) => {
|
|
138
|
+
const provider = useProvider()
|
|
139
|
+
const state = ref({ mouseInInput: false })
|
|
140
|
+
|
|
141
|
+
const enterInput = () => state.value.mouseInInput = true
|
|
142
|
+
|
|
143
|
+
const leaveInput = () => state.value.mouseInInput = false
|
|
144
|
+
|
|
145
|
+
const curReadonly = computed(() => props.readonly === null ? provider.value.readonly : props.readonly)
|
|
146
|
+
const curClearable = computed(() => {
|
|
147
|
+
if (state.value.mouseInInput === false) return false
|
|
148
|
+
|
|
149
|
+
return props.clearable === null ? provider.value.clearable : props.clearable
|
|
150
|
+
})
|
|
151
|
+
const curReadonlyClearable = computed(() => props.readonlyClearable === null ? provider.value.readonlyClearable : props.readonlyClearable)
|
|
152
|
+
|
|
153
|
+
return { curReadonly, curClearable, curReadonlyClearable, enterInput, leaveInput, showClear }
|
|
154
|
+
}
|
|
155
|
+
const useInputCommonProps = (props: InputCommonProvider) => {
|
|
156
|
+
const provider = useProvider()
|
|
157
|
+
const curInputWidth = computed(() => props.width === null ? provider.value.input.width : props.width)
|
|
158
|
+
return { curInputWidth }
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export {
|
|
162
|
+
commonDefaultProps,
|
|
163
|
+
getterCommonDefaultProps,
|
|
164
|
+
inputDefaultProps,
|
|
165
|
+
inputCommonDefaultProps,
|
|
166
|
+
labelCommonDefaultProps,
|
|
167
|
+
rowCommonDefaultProps,
|
|
168
|
+
selectCommonDefaultProps,
|
|
169
|
+
checkedCommonDefaultProps,
|
|
170
|
+
treeCommonDefaultProps,
|
|
171
|
+
scrollCommonDefaultProps,
|
|
172
|
+
maskCommonDefaultProps,
|
|
173
|
+
dialogCommonDefaultProps,
|
|
174
|
+
popoverCommonDefaultProps,
|
|
175
|
+
providerDefaultProps,
|
|
176
|
+
useCommonProps,
|
|
177
|
+
useCommonPropsOnInput,
|
|
178
|
+
useInputCommonProps,
|
|
179
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Ref, ref } from "vue"
|
|
2
|
+
import { TreeOption, DataGetter } from "../types"
|
|
3
|
+
import { TreeProvider } from './useProvider'
|
|
4
|
+
import { DraggableController } from "../common/DraggableController"
|
|
5
|
+
import { useTimer } from "./useTimer"
|
|
6
|
+
import { Draggable, DraggableEndType } from "../../tool"
|
|
7
|
+
|
|
8
|
+
const useDraggable = (props: { draggable: false | Draggable, getter: DataGetter }, treeProvider: Ref<TreeProvider>) => {
|
|
9
|
+
const drag = ref({
|
|
10
|
+
id: 0,
|
|
11
|
+
value: '',
|
|
12
|
+
type: 'insert' as DraggableEndType,
|
|
13
|
+
})
|
|
14
|
+
const resetDraggable = () => {
|
|
15
|
+
drag.value.value = ''
|
|
16
|
+
drag.value.type = 'insert'
|
|
17
|
+
}
|
|
18
|
+
const mousedown = (item: TreeOption, e: MouseEvent) => {
|
|
19
|
+
if (props.draggable === false || e.button !== 0) return
|
|
20
|
+
DraggableController.start(item, props.draggable, props.getter.label(item), e)
|
|
21
|
+
}
|
|
22
|
+
const mouseup = (item: TreeOption, e: MouseEvent) => {
|
|
23
|
+
if (DraggableController.enabled === false || props.draggable === false) return
|
|
24
|
+
clearTimeout(drag.value.id)
|
|
25
|
+
|
|
26
|
+
DraggableController.end(item, props.draggable, drag.value.type)
|
|
27
|
+
resetDraggable()
|
|
28
|
+
}
|
|
29
|
+
const mouseenter = (item: TreeOption, e: MouseEvent) => {
|
|
30
|
+
if (DraggableController.enabled === false || props.draggable === false) return
|
|
31
|
+
drag.value.id = useTimer(() => treeProvider.value.handleExpand(item), 1000);
|
|
32
|
+
|
|
33
|
+
const draggable = props.draggable
|
|
34
|
+
const tick = (move: MouseEvent) => {
|
|
35
|
+
if (!(e.target instanceof Element) || !DraggableController.dragData) return
|
|
36
|
+
const rect = e.target.getBoundingClientRect()
|
|
37
|
+
const y = move.clientY - rect.top
|
|
38
|
+
const radio = y / rect.height
|
|
39
|
+
|
|
40
|
+
const adjacencies = treeProvider.value.getAdjacencies(DraggableController.dragData, item) ?? 0
|
|
41
|
+
|
|
42
|
+
if (radio < 0.3) {
|
|
43
|
+
drag.value.type = adjacencies === 1 ? 'insert' : 'insertBefore'
|
|
44
|
+
} else if (radio > 0.7) {
|
|
45
|
+
drag.value.type = adjacencies === -1 ? 'insert' : 'insertAfter'
|
|
46
|
+
} else {
|
|
47
|
+
drag.value.type = 'insert'
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
drag.value.type = DraggableController.limit(item, draggable, drag.value.type)
|
|
51
|
+
}
|
|
52
|
+
drag.value.value = DraggableController.enter(item, draggable, tick, e) ? props.getter.value(item) : ''
|
|
53
|
+
}
|
|
54
|
+
const mouseleave = (item: TreeOption, e: MouseEvent) => {
|
|
55
|
+
if (DraggableController.enabled === false || props.draggable === false) return
|
|
56
|
+
clearTimeout(drag.value.id)
|
|
57
|
+
|
|
58
|
+
DraggableController.leave(item, props.draggable)
|
|
59
|
+
resetDraggable()
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return { drag, mousedown, mouseup, mouseenter, mouseleave }
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { useDraggable }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DataGetter } from '../types'
|
|
2
|
+
|
|
3
|
+
const defaultGetter: DataGetter = {
|
|
4
|
+
label(item) { return item.label },
|
|
5
|
+
value(item) { return item.value },
|
|
6
|
+
disabled(item) { return item.disabled },
|
|
7
|
+
children(item) { return item.children ?? [] },
|
|
8
|
+
arrow(item) { return true },
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const useGetter = (props?: { getter: Partial<DataGetter> }) => {
|
|
12
|
+
return props === undefined ? defaultGetter : Object.assign({}, defaultGetter, props.getter)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { defaultGetter, useGetter }
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { computed } from "vue"
|
|
2
|
+
|
|
3
|
+
type MarginStyle = number | string
|
|
4
|
+
|
|
5
|
+
const parseMarginStyleArray = (style: string) => {
|
|
6
|
+
const clips = style.split(',')
|
|
7
|
+
const margin: number[] = []
|
|
8
|
+
for (const num of clips) {
|
|
9
|
+
const value = parseInt(num)
|
|
10
|
+
if (isNaN(value)) continue
|
|
11
|
+
margin.push(value)
|
|
12
|
+
}
|
|
13
|
+
if (margin.length === 0) {
|
|
14
|
+
return [0, 0, 0, 0]
|
|
15
|
+
} else if (margin.length === 1) {
|
|
16
|
+
const size = margin[0]
|
|
17
|
+
return [size, size, size, size]
|
|
18
|
+
} else if (margin.length === 2) {
|
|
19
|
+
const top = margin[0]
|
|
20
|
+
const left = margin[1]
|
|
21
|
+
return [top, left, top, left]
|
|
22
|
+
} else if (margin.length === 3) {
|
|
23
|
+
const left = margin[1]
|
|
24
|
+
return [margin[0], left, margin[2], left]
|
|
25
|
+
} else {
|
|
26
|
+
return [margin[0], margin[1], margin[2], margin[3]]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const joinMarginStyle = (padding: number[], type: 'padding' | 'margin' = 'padding') => {
|
|
31
|
+
return `${type}:${padding[0]}px ${padding[1]}px ${padding[2]}px ${padding[3]}px;`
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const compileMarginStyle = (style: MarginStyle) => {
|
|
35
|
+
return typeof style === 'string' ? parseMarginStyleArray(style) : [style, style, style, style]
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const useMarginStyle = (props: { margin: MarginStyle, padding: MarginStyle }) => {
|
|
39
|
+
const marginStyle = computed(() => joinMarginStyle(compileMarginStyle(props.margin)))
|
|
40
|
+
const paddingStyle = computed(() => joinMarginStyle(compileMarginStyle(props.padding)))
|
|
41
|
+
|
|
42
|
+
return { marginStyle, paddingStyle }
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { MarginStyle, compileMarginStyle, joinMarginStyle, useMarginStyle }
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { State } from "@popperjs/core";
|
|
2
|
+
import { computed, Ref, ref } from "vue"
|
|
3
|
+
import { ResizeListener, ResizeEntryObject } from '../common/ResizeListener';
|
|
4
|
+
import { useCascaderProvider } from "./useProvider";
|
|
5
|
+
|
|
6
|
+
interface PopoverExpose {
|
|
7
|
+
update: () => Promise<Partial<State>>
|
|
8
|
+
position: () => string[]
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const observer = new ResizeListener()
|
|
12
|
+
const usePopover = (props: { popoverWidth: string }, refPopover: Ref<PopoverExpose | null>) => {
|
|
13
|
+
const cascaderProvider = useCascaderProvider()
|
|
14
|
+
const state = ref({ visible: false, width: 'auto' })
|
|
15
|
+
const slotWidth = computed(() => props.popoverWidth === 'auto' ? state.value.width : props.popoverWidth)
|
|
16
|
+
|
|
17
|
+
const resize = (entry: ResizeEntryObject) => {
|
|
18
|
+
if (!refPopover.value) return
|
|
19
|
+
|
|
20
|
+
if (props.popoverWidth === 'auto') {
|
|
21
|
+
state.value.width = entry.rect.width + 'px'
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
refPopover.value.update().then(() => {
|
|
25
|
+
const position = refPopover.value?.position() ?? ['bottom', 'start']
|
|
26
|
+
cascaderProvider.value.getPopoverLayout({ position, width: slotWidth.value })
|
|
27
|
+
})
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return { state, slotWidth, cascaderProvider, resize }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { PopoverExpose, usePopover, observer }
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { computed, ComputedRef, DefineProps, inject, provide, ref, Ref } from "vue"
|
|
2
|
+
import { DataGetter, Options, SelectPopoverLayout, ValidateCollection, TreeOption, TreeOptions } from '../types'
|
|
3
|
+
import { MarginStyle } from "./useMarginStyle"
|
|
4
|
+
import { Listener, Draggable } from "../../tool"
|
|
5
|
+
|
|
6
|
+
interface CommonProvider {
|
|
7
|
+
/**开启组件的清空功能 */
|
|
8
|
+
clearable: boolean
|
|
9
|
+
/**将组件设为只读 */
|
|
10
|
+
readonly: boolean
|
|
11
|
+
/**组件为只读时是否清空 */
|
|
12
|
+
readonlyClearable: boolean
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface InputCommonProvider {
|
|
16
|
+
/**输入框的宽度 */
|
|
17
|
+
width: string
|
|
18
|
+
draggable: false | Draggable
|
|
19
|
+
/** 拖拽属性的路径,支持以下写法
|
|
20
|
+
* - property 普通对象的属性
|
|
21
|
+
* - propertyA.property 嵌套对象的属性
|
|
22
|
+
* - property[0].property 数组对象的属性
|
|
23
|
+
*/
|
|
24
|
+
dragkey: string,
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface LabelCommonProvider {
|
|
28
|
+
/**标签的宽度 */
|
|
29
|
+
width: number
|
|
30
|
+
/**标签的对齐方式 */
|
|
31
|
+
align: 'left' | 'center' | 'right'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface RowCommonProvider {
|
|
35
|
+
/**行组件的外边距 */
|
|
36
|
+
margin: MarginStyle
|
|
37
|
+
/**行组件内每一列的间隔 */
|
|
38
|
+
gutter: number
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
interface Provider extends CommonProvider {
|
|
42
|
+
/**input组件的属性 */
|
|
43
|
+
input: InputCommonProvider
|
|
44
|
+
/**label组件的属性 */
|
|
45
|
+
label: LabelCommonProvider
|
|
46
|
+
/**row组件的属性 */
|
|
47
|
+
row: RowCommonProvider
|
|
48
|
+
}
|
|
49
|
+
const provider = Symbol()
|
|
50
|
+
const providerDefault: Ref<Provider> = ref({
|
|
51
|
+
clearable: false,
|
|
52
|
+
readonly: false,
|
|
53
|
+
readonlyClearable: false,
|
|
54
|
+
disabled: false,
|
|
55
|
+
input: { width: '100%', draggable: false, dragkey: '' },
|
|
56
|
+
label: { width: 60, align: 'left' },
|
|
57
|
+
row: { gutter: 10, margin: '0,0,24,0' },
|
|
58
|
+
card: { margin: '0,0,0,0' },
|
|
59
|
+
})
|
|
60
|
+
const useProvider = () => inject(provider, providerDefault)
|
|
61
|
+
const traverseMerge = <T extends { [k: string | symbol]: any } = {}>(target: T, source: { [k: string | symbol]: any }) => {
|
|
62
|
+
const mergeData = { ...target }
|
|
63
|
+
const keys = Object.keys(source) as Array<keyof T>
|
|
64
|
+
|
|
65
|
+
for (const key of keys) {
|
|
66
|
+
let value = source[key]
|
|
67
|
+
|
|
68
|
+
if (value === null || value === undefined) continue
|
|
69
|
+
|
|
70
|
+
mergeData[key] = typeof value === 'object' ? traverseMerge(target[key], value) : value
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return mergeData
|
|
74
|
+
}
|
|
75
|
+
const updateProvider = (props: Ref<DefineProps<Provider, keyof Provider>>) => {
|
|
76
|
+
const providerData = inject(provider, providerDefault)
|
|
77
|
+
|
|
78
|
+
const merginProvider = computed(() => {
|
|
79
|
+
return traverseMerge(providerData.value, props.value)
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
provide(provider, merginProvider)
|
|
83
|
+
}
|
|
84
|
+
export { CommonProvider, Provider, InputCommonProvider, providerDefault, useProvider, updateProvider }
|
|
85
|
+
|
|
86
|
+
const rowProvider = Symbol()
|
|
87
|
+
const rowProviderDefault = ref({ gutter: 10, count: 0 })
|
|
88
|
+
const updateRowProvider = (provider: typeof rowProviderDefault) => provide(rowProvider, provider)
|
|
89
|
+
const useRowProvider = () => inject(rowProvider, rowProviderDefault)
|
|
90
|
+
export { updateRowProvider, useRowProvider }
|
|
91
|
+
|
|
92
|
+
interface CheckedGroupProvider {
|
|
93
|
+
change: (value: any) => void,
|
|
94
|
+
checked: (value: any) => boolean
|
|
95
|
+
}
|
|
96
|
+
const checkedGroupProvider = Symbol()
|
|
97
|
+
const updateCheckedGroupProvider = (provider: Ref<CheckedGroupProvider>) => provide(checkedGroupProvider, provider)
|
|
98
|
+
const useCheckedGroupProvider = () => inject<Ref<CheckedGroupProvider> | null>(checkedGroupProvider, null)
|
|
99
|
+
export { updateCheckedGroupProvider, useCheckedGroupProvider }
|
|
100
|
+
|
|
101
|
+
const cascaderProvider = Symbol()
|
|
102
|
+
const cascaderProviderDefault = ref({
|
|
103
|
+
getPopoverLayout(layout: SelectPopoverLayout) { },
|
|
104
|
+
getInputValue(value: string, options: Options, getter: DataGetter) {
|
|
105
|
+
for (const option of options) {
|
|
106
|
+
if (getter.value(option) === value) return getter.label(option)
|
|
107
|
+
}
|
|
108
|
+
return value
|
|
109
|
+
},
|
|
110
|
+
searchOptions: [] as Options,
|
|
111
|
+
getSearchOptions(value: string, options: Options, getter: DataGetter) {
|
|
112
|
+
const filterOptions: Options = []
|
|
113
|
+
for (const option of options) {
|
|
114
|
+
if (getter.disabled(option) === true) continue
|
|
115
|
+
if (getter.label(option).indexOf(value) === -1) continue
|
|
116
|
+
filterOptions.push(option)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return filterOptions
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
const updateCascaderProvider = (provider: typeof cascaderProviderDefault) => provide(cascaderProvider, provider)
|
|
123
|
+
const useCascaderProvider = () => inject(cascaderProvider, ref({ ...cascaderProviderDefault.value, searchOptions: [] }))
|
|
124
|
+
export { cascaderProviderDefault, updateCascaderProvider, useCascaderProvider }
|
|
125
|
+
|
|
126
|
+
interface TreeProvider {
|
|
127
|
+
handleClick(item: TreeOption, e: MouseEvent): void
|
|
128
|
+
handleModify(v: string, item: TreeOption): void
|
|
129
|
+
handleRightClick(item: TreeOption, e: MouseEvent): void
|
|
130
|
+
handleChange(items: TreeOption[]): void
|
|
131
|
+
handleExpand(item: TreeOption): void
|
|
132
|
+
/**获取`location`节点相对`item`节点的邻接关系`(-1 1 0)` */
|
|
133
|
+
getAdjacencies(location: TreeOption, item: TreeOption, tree?: TreeOptions): number | null
|
|
134
|
+
}
|
|
135
|
+
const treeProvider = Symbol()
|
|
136
|
+
const treeProviderDefault: Ref<TreeProvider> = ref({
|
|
137
|
+
handleClick(item, e) { },
|
|
138
|
+
handleModify(v, item) { },
|
|
139
|
+
handleRightClick(item, e) { },
|
|
140
|
+
handleChange() { },
|
|
141
|
+
handleExpand(item) { },
|
|
142
|
+
getAdjacencies(location, item, tree) { return 0 },
|
|
143
|
+
})
|
|
144
|
+
const updateTreeProvider = (provider: Ref<TreeProvider>) => provide(treeProvider, provider)
|
|
145
|
+
const useTreeProvider = () => inject(treeProvider, treeProviderDefault)
|
|
146
|
+
export { TreeProvider, updateTreeProvider, useTreeProvider }
|
|
147
|
+
|
|
148
|
+
const popoverProvider = Symbol()
|
|
149
|
+
const popoverProviderDefault = ref({
|
|
150
|
+
autoClose: true,
|
|
151
|
+
useFlexLayout: false,
|
|
152
|
+
appendToTooltip: true,
|
|
153
|
+
})
|
|
154
|
+
const updatePopoverProvider = (provider: typeof popoverProviderDefault) => provide(popoverProvider, provider)
|
|
155
|
+
const usePopoverProvider = () => inject(popoverProvider, popoverProviderDefault)
|
|
156
|
+
export { popoverProviderDefault, updatePopoverProvider, usePopoverProvider }
|
|
157
|
+
|
|
158
|
+
interface FlotaLayerProvider {
|
|
159
|
+
listener: Listener<{ move(): void }>
|
|
160
|
+
layer: ComputedRef<number>
|
|
161
|
+
}
|
|
162
|
+
const flotaLayerProvider = Symbol()
|
|
163
|
+
const updateFlotaLayerProvider = (provider: FlotaLayerProvider) => provide(flotaLayerProvider, provider)
|
|
164
|
+
const useFlotaLayerProvider = () => inject<FlotaLayerProvider | null>(flotaLayerProvider, null)
|
|
165
|
+
export { FlotaLayerProvider, updateFlotaLayerProvider, useFlotaLayerProvider }
|
|
166
|
+
|
|
167
|
+
const validateProvider = Symbol()
|
|
168
|
+
const validateProviderDefault = ref({
|
|
169
|
+
options: { tips: true, icon: true },
|
|
170
|
+
rules: [] as string[],
|
|
171
|
+
validateCollection: {} as ValidateCollection,
|
|
172
|
+
addRule(rule: string) { },
|
|
173
|
+
removeRule(rule: string) { },
|
|
174
|
+
validateItem(rule: string, value: any) { }
|
|
175
|
+
})
|
|
176
|
+
const updateValidateProvider = (provider: typeof validateProviderDefault) => provide(validateProvider, provider)
|
|
177
|
+
const useValidateProvider = () => inject(validateProvider, validateProviderDefault)
|
|
178
|
+
export { updateValidateProvider, useValidateProvider }
|
|
179
|
+
|
|
180
|
+
const validateItemProvider = Symbol()
|
|
181
|
+
const validateItemProviderDefault = ref({
|
|
182
|
+
validate(value: any) { }
|
|
183
|
+
})
|
|
184
|
+
const updateValidateItemProvider = (provider: typeof validateItemProviderDefault) => provide(validateItemProvider, provider)
|
|
185
|
+
const useValidateItemProvider = () => inject(validateItemProvider, validateItemProviderDefault)
|
|
186
|
+
export { updateValidateItemProvider, useValidateItemProvider }
|