Skip to content

Commit

Permalink
feat:add layout
Browse files Browse the repository at this point in the history
  • Loading branch information
lichunn committed Jun 12, 2024
1 parent 4e6064e commit 2c6491c
Show file tree
Hide file tree
Showing 16 changed files with 89 additions and 218 deletions.
20 changes: 13 additions & 7 deletions designer-demo/registry.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ import {
Props,
Events,
Styles,
Layout,
Canvas,
CanvasContainer,
CanvasFooter
} from '@opentiny/tiny-engine'

export default {
Expand All @@ -50,7 +54,7 @@ export default {
scripts: [],
styles: []
},
layout: { id: 'engine.layout' },
layout: Layout,
themes: [
{
id: 'engine.theme.light'
Expand Down Expand Up @@ -90,10 +94,12 @@ export default {
Robot
],
dsls: [{ id: 'engine.dsls.dslvue' }],
settings: [
Props,
Styles,
Events
],
canvas: {}
settings: [Props, Styles, Events],
canvas: {
...Canvas,
component: {
CanvasContainer,
CanvasFooter
}
}
}
1 change: 0 additions & 1 deletion packages/controller/src/hooks/mountHooks.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import './useLayout'
import './useCanvas'
import './useApp'
import './useResource'
Expand Down
3 changes: 2 additions & 1 deletion packages/design-core/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ export { default as Robot } from '@opentiny/tiny-engine-plugin-robot'
export { default as Props } from '@opentiny/tiny-engine-setting-props'
export { default as Events } from '@opentiny/tiny-engine-setting-events'
export { default as Styles } from '@opentiny/tiny-engine-setting-styles'

export { default as Layout } from '@opentiny/tiny-engine-layout'
export { metaData as Canvas, CanvasContainer, CanvasFooter } from '@opentiny/tiny-engine-canvas'
export { initPreview } from './src/preview/src/main'

export { default as defaultRegistry } from './registry'
16 changes: 16 additions & 0 deletions packages/design-core/src/App.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<template>
<component :is="registry.layout.component" :registry="registry"></component>
</template>

<script>
import { getMergeRegistry } from '@opentiny/tiny-engine-entry'
export default {
setup() {
const registry = getMergeRegistry()
return {
registry
}
}
}
</script>
2 changes: 1 addition & 1 deletion packages/design-core/src/init.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { initHttp } from '@opentiny/tiny-engine-http'
import TinyThemeTool from '@opentiny/vue-theme/theme-tool'
import { tinySmbTheme } from '@opentiny/vue-theme/theme' // SMB 主题
import { defineEntry, mergeRegistry } from '@opentiny/tiny-engine-entry'
import App from './layout/App.vue'
import App from './App.vue'
import defaultRegistry from '../registry.js'
import { registerConfigurators } from './registerConfigurators'

Expand Down
Binary file added packages/layout/assets/AI.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion packages/layout/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import component from './src/index.vue'
import component from './src/Main.vue'
import metaData from './meta'
import './src/hooks/useLayout'

export default {
...metaData,
Expand Down
7 changes: 6 additions & 1 deletion packages/layout/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,12 @@
],
"dependencies": {
"@opentiny/tiny-engine-entry": "workspace:*",
"vue": "3.2.45"
"vue": "3.2.45",
"@opentiny/vue": "~3.14.0",
"@opentiny/vue-icon": "~3.14.0",
"@opentiny/vue-design-smb": "~3.14.0",
"@opentiny/vue-renderless": "~3.14.0",
"@opentiny/vue-theme": "~3.14.0"
},
"devDependencies": {
"@opentiny/tiny-engine-vite-plugin-meta-comments": "workspace:*",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@
<template>
<div id="canvas-wrap" ref="canvasRef">
<div ref="siteCanvas" class="site-canvas" :style="siteCanvasStyle">
<canvas-container
<component
:is="canvas.component.CanvasContainer"
:controller="controller"
:materials-panel="materialsPanel"
:canvas-src="canvasUrl"
@remove="removeNode"
@selected="nodeSelected"
></canvas-container>
></component>
<!-- <canvas-container
:controller="controller"
:materials-panel="materialsPanel"
:canvas-src="canvasUrl"
@remove="removeNode"
@selected="nodeSelected"
></canvas-container> -->
</div>
<footer-bar :data="footData" @click="selectFooterNode"></footer-bar>
<component :is="canvas.component.CanvasFooter" :data="footData" @click="selectFooterNode"></component>
<!-- <footer-bar :data="footData" @click="selectFooterNode"></footer-bar> -->
</div>
</template>

<script>
import { ref, watch, computed, onUnmounted } from 'vue'
import { CanvasContainer, CanvasFooter } from '@opentiny/tiny-engine-canvas'
// import { CanvasContainer, CanvasFooter } from '@opentiny/tiny-engine-canvas'
import {
useProperties,
useCanvas,
Expand Down Expand Up @@ -44,8 +53,13 @@ const componentType = {
export default {
components: {
CanvasContainer,
FooterBar: CanvasFooter
// CanvasContainer,
// FooterBar: CanvasFooter////
},
props: {
canvas: {
type: Object
}
},
setup() {
const footData = ref([])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
>
<div>
<span class="item-icon">
<img class="chatgpt-icon" src="../../assets/AI.png" />
<img class="chatgpt-icon" src="../assets/AI.png" />
</span>
</div>
</li>
Expand Down Expand Up @@ -96,7 +96,7 @@
import { reactive, ref, watch } from 'vue'
import { Popover, Tooltip } from '@opentiny/vue'
import { useLayout, usePage } from '@opentiny/tiny-engine-controller'
import { getMergeRegistry } from '@opentiny/tiny-engine-entry'
// import { getMergeRegistry } from '@opentiny/tiny-engine-entry'
import { PublicIcon } from '@opentiny/tiny-engine-common'
export default {
Expand All @@ -108,11 +108,15 @@ export default {
props: {
renderPanel: {
type: String
},
plugins: {
type: Array,
default: () => []
}
},
emits: ['click', 'node-click'],
setup(props, { emit }) {
const plugins = getMergeRegistry('plugins')
// const plugins = getMergeRegistry('plugins')
const components = {}
const iconComponents = {}
const pluginRef = ref(null)
Expand All @@ -127,7 +131,7 @@ export default {
layoutState: { plugins: pluginsState }
} = useLayout()
plugins.forEach(({ id, component, api, icon }) => {
props.plugins.forEach(({ id, component, api, icon }) => {
components[id] = component
iconComponents[id] = icon
if (api) {
Expand All @@ -141,9 +145,9 @@ export default {
const state = reactive({
prevIdex: -2,
topNavLists: plugins.filter((item) => item.align === 'top'),
bottomNavLists: plugins.filter((item) => item.align === 'bottom'),
independence: plugins.find((item) => item.align === 'independence')
topNavLists: props.plugins.filter((item) => item.align === 'top'),
bottomNavLists: props.plugins.filter((item) => item.align === 'bottom'),
independence: props.plugins.find((item) => item.align === 'independence')
})
const doCompleted = () => {
Expand All @@ -158,7 +162,7 @@ export default {
state.prevIdex = index
// 切换插件与关闭插件时确认
const lastPlugin = plugins.find((item) => item.id === props.renderPanel)
const lastPlugin = props.plugins.find((item) => item.id === props.renderPanel)
if (props.renderPanel && lastPlugin?.confirm) {
const confirmCallback = (result) =>
result &&
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
<template>
<tiny-config-provider :design="designSmbConfig">
<div id="tiny-engine">
<design-toolbars></design-toolbars>
<design-toolbars :toolbars="registry.toolbars"></design-toolbars>
<div class="tiny-engine-main">
<div class="tiny-engine-left-wrap">
<div class="tiny-engine-content-wrap">
<design-plugins :render-panel="plugins.render" @click="toggleNav"></design-plugins>
<design-canvas></design-canvas>
<design-plugins
:plugins="registry.plugins"
:render-panel="plugins.render"
@click="toggleNav"
></design-plugins>
<design-canvas :canvas="registry.canvas"></design-canvas>
</div>
</div>
<div class="tiny-engine-right-wrap">
<design-settings v-show="layoutState.settings.showDesignSettings" ref="right"></design-settings>
<design-settings
:settings="registry.settings"
v-show="layoutState.settings.showDesignSettings"
ref="right"
></design-settings>
</div>
</div>
</div>
Expand Down Expand Up @@ -60,7 +68,11 @@ export default {
editor: this
}
},
props: {
registry: {
type: Object
}
},
setup() {
const state = reactive({
globalClass: '',
Expand Down
File renamed without changes.
95 changes: 0 additions & 95 deletions packages/layout/src/index.less

This file was deleted.

Loading

0 comments on commit 2c6491c

Please sign in to comment.