From ab4e7dc2ed514ac74fa110e1a847bf910bd546a2 Mon Sep 17 00:00:00 2001 From: rhlin Date: Fri, 10 Jan 2025 16:48:53 +0800 Subject: [PATCH] Feat router page embedded view toggle (#1010) * feat(canvas, toolbar/view-setting): add router view setting view mode switcher, support embedded and standalone mode in canvas * fix(canvas/render): fix switch locale failed * feat(canvas): add window.onpopstate listener * fix(toolbars/view-setting): fix init view mode value no fallback cause next view mode label error * fix: using enum instead of multiple time literal string declaration, add fallback for cache value getter in toolbar, fix typo mistake * fix: simplify return value using enum, remove unnecessary style code * fix(toolbars/view-setting): fix package.json wrong repository directory --- designer-demo/registry.js | 7 +- jsconfig.json | 2 + .../src/vite-plugins/devAliasPlugin.js | 1 + .../canvas/DesignCanvas/src/DesignCanvas.vue | 14 +++- packages/canvas/render/src/RenderMain.ts | 50 +++++++++--- .../render/src/canvas-function/index.ts | 1 + .../canvas-function/router-view-setting.ts | 39 ++++++++++ packages/design-core/index.js | 1 + packages/design-core/package.json | 1 + .../engine-cli/template/designer/registry.js | 7 +- packages/layout/index.js | 3 +- packages/toolbars/view-setting/index.js | 19 +++++ packages/toolbars/view-setting/meta.js | 12 +++ packages/toolbars/view-setting/package.json | 42 ++++++++++ packages/toolbars/view-setting/src/Main.vue | 76 +++++++++++++++++++ packages/toolbars/view-setting/vite.config.js | 38 ++++++++++ packages/utils/src/constants/index.js | 4 +- 17 files changed, 301 insertions(+), 16 deletions(-) create mode 100644 packages/canvas/render/src/canvas-function/router-view-setting.ts create mode 100644 packages/toolbars/view-setting/index.js create mode 100644 packages/toolbars/view-setting/meta.js create mode 100644 packages/toolbars/view-setting/package.json create mode 100644 packages/toolbars/view-setting/src/Main.vue create mode 100644 packages/toolbars/view-setting/vite.config.js diff --git a/designer-demo/registry.js b/designer-demo/registry.js index 45d09f15..41a91470 100644 --- a/designer-demo/registry.js +++ b/designer-demo/registry.js @@ -14,6 +14,7 @@ import { Breadcrumb, Fullscreen, Lang, + ViewSetting, Logo, Lock, Media, @@ -70,7 +71,8 @@ export default { collapse: [ ['engine.toolbars.collaboration'], ['engine.toolbars.refresh', 'engine.toolbars.fullscreen'], - ['engine.toolbars.lang'] + ['engine.toolbars.lang'], + ['engine.toolbars.viewSetting'] ] } } @@ -96,7 +98,8 @@ export default { GenerateCode, Save, Fullscreen, - Lang + Lang, + ViewSetting ], plugins: [Materials, Tree, Page, Block, Datasource, Bridge, I18n, Script, State, Schema, Help, Robot], dsls: [{ id: 'engine.dsls.dslvue' }], diff --git a/jsconfig.json b/jsconfig.json index 9011eef0..96b5fe1a 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -23,6 +23,7 @@ "@opentiny/tiny-engine-toolbar-breadcrumb": ["packages/toolbars/breadcrumb/index"], "@opentiny/tiny-engine-toolbar-fullscreen": ["packages/toolbars/fullscreen/index"], "@opentiny/tiny-engine-toolbar-lang": ["packages/toolbars/lang/index"], + "@opentiny/tiny-engine-toolbar-view-setting": ["packages/toolbars/view-setting/index"], "@opentiny/tiny-engine-toolbar-layout": ["packages/toolbars/layout/index"], "@opentiny/tiny-engine-toolbar-lock": ["packages/toolbars/lock/index"], "@opentiny/tiny-engine-toolbar-logo": ["packages/toolbars/logo/index"], @@ -51,6 +52,7 @@ "@opentiny/tiny-engine-toolbar-breadcrumb/*": ["packages/toolbars/breadcrumb/*"], "@opentiny/tiny-engine-toolbar-fullscreen/*": ["packages/toolbars/fullscreen/*"], "@opentiny/tiny-engine-toolbar-lang/*": ["packages/toolbars/lang/*"], + "@opentiny/tiny-engine-toolbar-view-setting/*": ["packages/toolbars/view-setting/*"], "@opentiny/tiny-engine-toolbar-layout/*": ["packages/toolbars/layout/*"], "@opentiny/tiny-engine-toolbar-lock/*": ["packages/toolbars/lock/*"], "@opentiny/tiny-engine-toolbar-logo/*": ["packages/toolbars/logo/*"], diff --git a/packages/build/vite-config/src/vite-plugins/devAliasPlugin.js b/packages/build/vite-config/src/vite-plugins/devAliasPlugin.js index e53734e2..06795564 100644 --- a/packages/build/vite-config/src/vite-plugins/devAliasPlugin.js +++ b/packages/build/vite-config/src/vite-plugins/devAliasPlugin.js @@ -36,6 +36,7 @@ const getDevAlias = (useSourceAlias) => { '@opentiny/tiny-engine-toolbar-breadcrumb': path.resolve(basePath, 'packages/toolbars/breadcrumb/index.js'), '@opentiny/tiny-engine-toolbar-fullscreen': path.resolve(basePath, 'packages/toolbars/fullscreen/index.js'), '@opentiny/tiny-engine-toolbar-lang': path.resolve(basePath, 'packages/toolbars/lang/index.js'), + '@opentiny/tiny-engine-toolbar-view-setting': path.resolve(basePath, 'packages/toolbars/view-setting/index.js'), '@opentiny/tiny-engine-toolbar-layout': path.resolve(basePath, 'packages/toolbars/layout/index.js'), '@opentiny/tiny-engine-toolbar-lock': path.resolve(basePath, 'packages/toolbars/lock/index.js'), '@opentiny/tiny-engine-toolbar-logo': path.resolve(basePath, 'packages/toolbars/logo/index.js'), diff --git a/packages/canvas/DesignCanvas/src/DesignCanvas.vue b/packages/canvas/DesignCanvas/src/DesignCanvas.vue index 3aabe63e..e0097503 100644 --- a/packages/canvas/DesignCanvas/src/DesignCanvas.vue +++ b/packages/canvas/DesignCanvas/src/DesignCanvas.vue @@ -12,7 +12,8 @@ :canvas-src-doc="canvasSrcDoc" @remove="removeNode" @selected="nodeSelected" - > + > +