Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/layout #575

Merged
merged 6 commits into from
Jun 14, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
lichunn marked this conversation as resolved.
Show resolved Hide resolved
} 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
}
}
lichunn marked this conversation as resolved.
Show resolved Hide resolved
}
</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'
lichunn marked this conversation as resolved.
Show resolved Hide resolved
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'
lichunn marked this conversation as resolved.
Show resolved Hide resolved
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
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
95 changes: 0 additions & 95 deletions packages/layout/src/index.less

This file was deleted.

Loading