diff --git a/packages/canvas/DesignCanvas/index.js b/packages/canvas/DesignCanvas/index.js index db70c726d..04d2cc3d7 100644 --- a/packages/canvas/DesignCanvas/index.js +++ b/packages/canvas/DesignCanvas/index.js @@ -1,7 +1,12 @@ +import { HOOK_NAME } from '@opentiny/tiny-engine-entry' import DesignCanvas from './src/DesignCanvas.vue' import metaData from './meta' - +import api from './src/api' export default { ...metaData, - entry: DesignCanvas + entry: DesignCanvas, + apis: api(), + composable: { + name: HOOK_NAME.useCanvas + } } diff --git a/packages/canvas/DesignCanvas/src/DesignCanvas.vue b/packages/canvas/DesignCanvas/src/DesignCanvas.vue index 87c8714d9..2ac1eb9d3 100644 --- a/packages/canvas/DesignCanvas/src/DesignCanvas.vue +++ b/packages/canvas/DesignCanvas/src/DesignCanvas.vue @@ -1,6 +1,6 @@ diff --git a/packages/canvas/container/index.js b/packages/canvas/container/index.js index 455020b06..1cc593046 100644 --- a/packages/canvas/container/index.js +++ b/packages/canvas/container/index.js @@ -1,13 +1,7 @@ -import { HOOK_NAME } from '@opentiny/tiny-engine-entry' import CanvasContainer from './src/CanvasContainer.vue' import metaData from './meta' -import api from './src/api' export default { ...metaData, - entry: CanvasContainer, - apis: api(), - composable: { - name: HOOK_NAME.useCanvas - } + entry: CanvasContainer } diff --git a/packages/canvas/drag-drop/src/CanvasDragItem.vue b/packages/canvas/drag-drop/src/CanvasDragItem.vue index b5859d583..9d5a3f201 100644 --- a/packages/canvas/drag-drop/src/CanvasDragItem.vue +++ b/packages/canvas/drag-drop/src/CanvasDragItem.vue @@ -16,7 +16,7 @@ export default { }, emits: ['click'], setup(props, { emit }) { - const canvasApi = getPluginApi('engine.canvas.container').canvasApi + const canvasApi = getPluginApi('engine.canvas').canvasApi const dragstart = (e) => { if (props.data && canvasApi.value?.dragStart) { const data = deepClone(props.data) diff --git a/packages/canvas/index.js b/packages/canvas/index.js index 265c74e15..32a34eb1a 100644 --- a/packages/canvas/index.js +++ b/packages/canvas/index.js @@ -9,15 +9,22 @@ * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. * */ +import CanvasBreadcrumb from './breadcrumb' export { createRender } from './render' export { CanvasDragItem } from './drag-drop' // meta app -import CanvasBreadcrumb from './breadcrumb' import CanvasContainer from './container' +import CanvasLayout from './layout' import DesignCanvas from './DesignCanvas' +export { CanvasContainer, CanvasLayout, DesignCanvas } + export default { ...DesignCanvas, + components: { + CanvasBreadcrumb: CanvasBreadcrumb.entry + }, + layout: CanvasLayout, metas: [CanvasContainer, CanvasBreadcrumb] } diff --git a/packages/canvas/layout/index.js b/packages/canvas/layout/index.js new file mode 100644 index 000000000..9a3382240 --- /dev/null +++ b/packages/canvas/layout/index.js @@ -0,0 +1,7 @@ +import CanvasLayout from './src/CanvasLayout.vue' +import metaData from './meta' + +export default { + ...metaData, + entry: CanvasLayout +} diff --git a/packages/canvas/layout/meta.js b/packages/canvas/layout/meta.js new file mode 100644 index 000000000..5d429a507 --- /dev/null +++ b/packages/canvas/layout/meta.js @@ -0,0 +1,3 @@ +export default { + id: 'engine.canvas.layout' +} diff --git a/packages/canvas/layout/src/CanvasLayout.vue b/packages/canvas/layout/src/CanvasLayout.vue new file mode 100644 index 000000000..9523b1bcd --- /dev/null +++ b/packages/canvas/layout/src/CanvasLayout.vue @@ -0,0 +1,20 @@ + + diff --git a/packages/common/component/BlockDeployDialog.vue b/packages/common/component/BlockDeployDialog.vue index 9c36e0662..d3afa136d 100644 --- a/packages/common/component/BlockDeployDialog.vue +++ b/packages/common/component/BlockDeployDialog.vue @@ -81,7 +81,6 @@ import { Popover as TinyPopover, FormItem as TinyFormItem } from '@opentiny/vue' -import { theme } from '@opentiny/tiny-engine-controller/js/monaco' import { useLayout, useNotify, useCanvas } from '@opentiny/tiny-engine-controller' import { constants } from '@opentiny/tiny-engine-utils' import VueMonaco from './VueMonaco.vue' @@ -133,14 +132,8 @@ export default { const editor = ref(null) const editorOptions = { - theme: theme(), - tabSize: 2, language: 'javascript', - autoIndent: true, lineNumbers: true, - formatOnPaste: true, - automaticLayout: true, - roundedSelection: true, minimap: { enabled: false } diff --git a/packages/common/component/LifeCycles.vue b/packages/common/component/LifeCycles.vue index 72290b9ee..1e57d1a09 100644 --- a/packages/common/component/LifeCycles.vue +++ b/packages/common/component/LifeCycles.vue @@ -51,13 +51,7 @@ ref="editorRef" class="life-cycle-editor" :options="{ - roundedSelection: true, - automaticLayout: true, - autoIndent: true, - language: 'javascript', - formatOnPaste: true, - tabSize: 2, - theme: theme() + language: 'javascript' }" :value="state.editorValue" @change="handleEditorChange" @@ -80,7 +74,6 @@ import { reactive, ref, watchEffect, onBeforeUnmount } from 'vue' import { Button, DialogBox, Popover, Search, Alert } from '@opentiny/vue' import { useModal, usePage, useNotify, useCanvas } from '@opentiny/tiny-engine-controller' import { getMergeMeta } from '@opentiny/tiny-engine-entry' -import { theme } from '@opentiny/tiny-engine-controller/js/monaco' import MetaListItems from './MetaListItems.vue' import { iconYes } from '@opentiny/vue-icon' import VueMonaco from './VueMonaco.vue' @@ -243,7 +236,6 @@ export default { openLifeCyclesPanel, deleteLifeCycle, editorConfirm, - theme, editorDidMount, handleEditorChange } diff --git a/packages/common/component/MonacoEditor.vue b/packages/common/component/MonacoEditor.vue index e5f272f8b..08217b78b 100644 --- a/packages/common/component/MonacoEditor.vue +++ b/packages/common/component/MonacoEditor.vue @@ -32,7 +32,6 @@ - - diff --git a/packages/plugins/materials/src/components/header/Main.vue b/packages/plugins/materials/src/components/header/Main.vue new file mode 100644 index 000000000..8b734be7a --- /dev/null +++ b/packages/plugins/materials/src/components/header/Main.vue @@ -0,0 +1,33 @@ + + + diff --git a/packages/plugins/materials/src/meta/block/index.js b/packages/plugins/materials/src/meta/block/index.js new file mode 100644 index 000000000..b801a21b5 --- /dev/null +++ b/packages/plugins/materials/src/meta/block/index.js @@ -0,0 +1,14 @@ +import entry from './src/Main.vue' +import metaData from './meta' +import { fetchGroups } from './src/http' + +export default { + ...metaData, + entry, + apis: { + fetchGroups + }, + options: { + title: '区块' + } +} diff --git a/packages/plugins/materials/src/meta/block/meta.js b/packages/plugins/materials/src/meta/block/meta.js new file mode 100644 index 000000000..2acb872cf --- /dev/null +++ b/packages/plugins/materials/src/meta/block/meta.js @@ -0,0 +1,4 @@ +export default { + id: 'engine.plugins.materials.block', + type: 'plugins' +} diff --git a/packages/plugins/materials/src/block/BlockDetail.vue b/packages/plugins/materials/src/meta/block/src/BlockDetail.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockDetail.vue rename to packages/plugins/materials/src/meta/block/src/BlockDetail.vue diff --git a/packages/plugins/materials/src/block/BlockGroup.vue b/packages/plugins/materials/src/meta/block/src/BlockGroup.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockGroup.vue rename to packages/plugins/materials/src/meta/block/src/BlockGroup.vue diff --git a/packages/plugins/materials/src/block/BlockGroupArrange.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupArrange.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockGroupArrange.vue rename to packages/plugins/materials/src/meta/block/src/BlockGroupArrange.vue diff --git a/packages/plugins/materials/src/block/BlockGroupFilters.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupFilters.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockGroupFilters.vue rename to packages/plugins/materials/src/meta/block/src/BlockGroupFilters.vue diff --git a/packages/plugins/materials/src/block/BlockGroupPanel.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupPanel.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockGroupPanel.vue rename to packages/plugins/materials/src/meta/block/src/BlockGroupPanel.vue diff --git a/packages/plugins/materials/src/block/BlockGroupSort.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupSort.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockGroupSort.vue rename to packages/plugins/materials/src/meta/block/src/BlockGroupSort.vue diff --git a/packages/plugins/materials/src/block/BlockGroupTransfer.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupTransfer.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockGroupTransfer.vue rename to packages/plugins/materials/src/meta/block/src/BlockGroupTransfer.vue diff --git a/packages/plugins/materials/src/block/BlockGroupTransferPanel.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupTransferPanel.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockGroupTransferPanel.vue rename to packages/plugins/materials/src/meta/block/src/BlockGroupTransferPanel.vue diff --git a/packages/plugins/materials/src/block/BlockList.vue b/packages/plugins/materials/src/meta/block/src/BlockList.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockList.vue rename to packages/plugins/materials/src/meta/block/src/BlockList.vue diff --git a/packages/plugins/materials/src/block/BlockVersionSelect.vue b/packages/plugins/materials/src/meta/block/src/BlockVersionSelect.vue similarity index 100% rename from packages/plugins/materials/src/block/BlockVersionSelect.vue rename to packages/plugins/materials/src/meta/block/src/BlockVersionSelect.vue diff --git a/packages/plugins/materials/src/block/Main.vue b/packages/plugins/materials/src/meta/block/src/Main.vue similarity index 85% rename from packages/plugins/materials/src/block/Main.vue rename to packages/plugins/materials/src/meta/block/src/Main.vue index e27165635..dc5706dff 100644 --- a/packages/plugins/materials/src/block/Main.vue +++ b/packages/plugins/materials/src/meta/block/src/Main.vue @@ -6,6 +6,10 @@ + + + + + + diff --git a/packages/plugins/schema/src/Main.vue b/packages/plugins/schema/src/Main.vue index 23d93395f..90399b64c 100644 --- a/packages/plugins/schema/src/Main.vue +++ b/packages/plugins/schema/src/Main.vue @@ -43,7 +43,6 @@ import { nextTick, reactive, getCurrentInstance, onActivated, ref } from 'vue' import { Popover } from '@opentiny/vue' import { VueMonaco, CloseIcon } from '@opentiny/tiny-engine-common' import { useCanvas, useModal, useHistory, useNotify } from '@opentiny/tiny-engine-controller' -import { theme } from '@opentiny/tiny-engine-controller/js/monaco' import { utils } from '@opentiny/tiny-engine-utils' import { iconSave, iconDownloadLink } from '@opentiny/vue-icon' @@ -132,15 +131,9 @@ export default { close, showRed, options: { - roundedSelection: true, - automaticLayout: true, - autoIndent: true, language: 'json', // readOnly: !pageState.isLock, 暂时放开schema录入功能,等画布功能完善后,再打开此注释 readOnly: false, - formatOnPaste: true, - tabSize: 2, - theme: theme(), minimap: { enabled: false } diff --git a/packages/plugins/script/src/Main.vue b/packages/plugins/script/src/Main.vue index 871b09175..9ce0e1ea8 100644 --- a/packages/plugins/script/src/Main.vue +++ b/packages/plugins/script/src/Main.vue @@ -32,7 +32,6 @@ import { VueMonaco, CloseIcon, LinkButton } from '@opentiny/tiny-engine-common' import { useHelp } from '@opentiny/tiny-engine-controller' import { initCompletion } from '@opentiny/tiny-engine-controller/js/completion' import { initLinter } from '@opentiny/tiny-engine-controller/js/linter' -import { theme } from '@opentiny/tiny-engine-controller/js/monaco' import useMethod, { saveMethod, highlightMethod, getMethodNameList, getMethods } from './js/method' export const api = { @@ -55,13 +54,7 @@ export default { const { state, monaco, change, close, saveMethods } = useMethod({ emit }) const options = { - roundedSelection: true, - automaticLayout: true, - autoIndent: true, language: 'javascript', - formatOnPaste: true, - tabSize: 2, - theme: theme(), minimap: { enabled: false }, diff --git a/packages/settings/design/src/components/SourceEditor.vue b/packages/settings/design/src/components/SourceEditor.vue index 2dcb5f64b..7e39f19de 100644 --- a/packages/settings/design/src/components/SourceEditor.vue +++ b/packages/settings/design/src/components/SourceEditor.vue @@ -47,13 +47,7 @@ export default { close, change, options: { - theme: 'vs', // vs | vs-dark - tabSize: 2, language: 'json', - autoIndent: true, - formatOnPaste: true, - automaticLayout: true, - roundedSelection: true, minimap: { enabled: false } diff --git a/packages/settings/props/src/components/groups/LifeCycle.vue b/packages/settings/props/src/components/groups/LifeCycle.vue index d7c2a1692..81a834976 100644 --- a/packages/settings/props/src/components/groups/LifeCycle.vue +++ b/packages/settings/props/src/components/groups/LifeCycle.vue @@ -76,7 +76,6 @@ import { Button, DialogBox, Modal, Popover, Search, Tooltip } from '@opentiny/vu import { VueMonaco } from '@opentiny/tiny-engine-common' import { useCanvas } from '@opentiny/tiny-engine-controller' import { getMergeMeta } from '@opentiny/tiny-engine-entry' -import { theme } from '@opentiny/tiny-engine-controller/js/monaco' import { iconAdd, IconDel, iconSetting, iconYes } from '@opentiny/vue-icon' export default { @@ -106,13 +105,7 @@ export default { lifeCycles: getMergeMeta('engine.config')?.lifeCyclesOptions[getMergeMeta('engine.config')?.dslMode], bindLifeCycles: pageState.pageSchema?.lifeCycles || {}, options: { - roundedSelection: true, - automaticLayout: true, - autoIndent: true, - language: 'javascript', - formatOnPaste: true, - tabSize: 2, - theme: theme() + language: 'javascript' }, editorValue: '{}' }) diff --git a/packages/settings/props/src/components/inputs/CodeEditor.vue b/packages/settings/props/src/components/inputs/CodeEditor.vue index ac20fc344..e588f0093 100644 --- a/packages/settings/props/src/components/inputs/CodeEditor.vue +++ b/packages/settings/props/src/components/inputs/CodeEditor.vue @@ -39,7 +39,6 @@ import { VueMonaco } from '@opentiny/tiny-engine-common' import { Button, Collapse, CollapseItem, DialogBox } from '@opentiny/vue' import { useCanvas, useProperties } from '@opentiny/tiny-engine-controller' import { getExample } from '@opentiny/tiny-engine-controller/js/example' -import { theme } from '@opentiny/tiny-engine-controller/js/monaco' export default { components: { @@ -67,12 +66,7 @@ export default { const { setProp } = useProperties() const options = reactive({ - roundedSelection: true, - automaticLayout: true, - autoIndent: true, - theme: theme(), language: 'json', - formatOnPaste: true, minimap: { enabled: false } }) diff --git a/packages/settings/styles/src/js/useStyle.js b/packages/settings/styles/src/js/useStyle.js index ebc9fdd12..95dcbcb12 100644 --- a/packages/settings/styles/src/js/useStyle.js +++ b/packages/settings/styles/src/js/useStyle.js @@ -134,7 +134,13 @@ const getClassNameAndIdList = (schema) => { } watch( - () => [useCanvas().getCurrentSchema?.(), state.schemaUpdateKey, useProps().propsUpdateKey?.value, useCanvas().canvasApi?.value?.getSchema?.(), schemaLength], + () => [ + useCanvas().getCurrentSchema?.(), + state.schemaUpdateKey, + useProps().propsUpdateKey?.value, + useCanvas().canvasApi?.value?.getSchema?.(), + schemaLength + ], ([curSchema], [oldCurSchema] = []) => { const { getCurrentSchema, canvasApi } = useCanvas() let schema = getCurrentSchema() diff --git a/packages/toolbars/save/src/Main.vue b/packages/toolbars/save/src/Main.vue index edde8e7b8..fa33c6cd9 100644 --- a/packages/toolbars/save/src/Main.vue +++ b/packages/toolbars/save/src/Main.vue @@ -43,7 +43,6 @@ import { reactive, ref, onBeforeMount } from 'vue' import { VueMonaco } from '@opentiny/tiny-engine-common' import { Button, Popover, DialogBox } from '@opentiny/vue' import { useCanvas } from '@opentiny/tiny-engine-controller' -import { theme } from '@opentiny/tiny-engine-controller/js/monaco' import { openCommon, saveCommon } from './js/index' import { isLoading } from './js/index' export const api = { @@ -91,14 +90,8 @@ export default { } // 保存或新建区块 const editorOptions = { - theme: theme(), - tabSize: 2, language: 'json', - autoIndent: true, lineNumbers: true, - formatOnPaste: true, - automaticLayout: true, - roundedSelection: true, minimap: { enabled: false }