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
}