Compare commits
17 Commits
f53ea7ae6f
...
0118f1528d
Author | SHA1 | Date |
---|---|---|
![]() |
0118f1528d | |
|
ed7916d641 | |
|
477aa411da | |
![]() |
a54202189c | |
![]() |
d0eebb3a7c | |
![]() |
2610875287 | |
![]() |
f912d399e8 | |
![]() |
c7da8376fc | |
![]() |
e3845e4e1c | |
![]() |
87d7d32e5f | |
![]() |
b7164bb57d | |
![]() |
17a3b67015 | |
![]() |
4d9a68b868 | |
![]() |
730bfb93ae | |
![]() |
24a3bccfae | |
![]() |
47d013a18d | |
|
40df6ee51c |
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "designer-demo",
|
"name": "designer-demo",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "cross-env vite",
|
"dev": "cross-env vite",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-mock",
|
"name": "@opentiny/tiny-engine-mock",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-block-compiler",
|
"name": "@opentiny/tiny-engine-block-compiler",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-block-build",
|
"name": "@opentiny/tiny-engine-block-build",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"description": "translate block to webcomponent template",
|
"description": "translate block to webcomponent template",
|
||||||
"main": "./dist/web-components.es.js",
|
"main": "./dist/web-components.es.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-vite-config",
|
"name": "@opentiny/tiny-engine-vite-config",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./index.js",
|
"main": "./index.js",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-vite-plugin-meta-comments",
|
"name": "@opentiny/tiny-engine-vite-plugin-meta-comments",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.cjs",
|
"main": "dist/index.cjs",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-builtin-component",
|
"name": "@opentiny/tiny-engine-builtin-component",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/index.mjs",
|
"main": "dist/index.mjs",
|
||||||
"module": "dist/index.mjs",
|
"module": "dist/index.mjs",
|
||||||
|
|
|
@ -273,7 +273,7 @@ export default {
|
||||||
getMaterial: useMaterial().getMaterial,
|
getMaterial: useMaterial().getMaterial,
|
||||||
addHistory: useHistory().addHistory,
|
addHistory: useHistory().addHistory,
|
||||||
request: getMetaApi(META_SERVICE.Http).getHttp(),
|
request: getMetaApi(META_SERVICE.Http).getHttp(),
|
||||||
getPageById: getMetaApi(META_APP.AppManage).getPageById,
|
getPageById: getMetaApi(META_APP.AppManage)?.getPageById,
|
||||||
getPageAncestors: usePage().getAncestors,
|
getPageAncestors: usePage().getAncestors,
|
||||||
getBaseInfo: () => getMetaApi(META_SERVICE.GlobalService).getBaseInfo(),
|
getBaseInfo: () => getMetaApi(META_SERVICE.GlobalService).getBaseInfo(),
|
||||||
addHistoryDataChangedCallback,
|
addHistoryDataChangedCallback,
|
||||||
|
|
|
@ -145,6 +145,8 @@ export default {
|
||||||
|
|
||||||
// 计算上下文菜单位置,右键时显示,否则关闭
|
// 计算上下文菜单位置,右键时显示,否则关闭
|
||||||
|
|
||||||
|
const { PLUGIN_NAME, activeSetting } = useLayout()
|
||||||
|
|
||||||
const operations = {
|
const operations = {
|
||||||
del() {
|
del() {
|
||||||
removeNodeById(getCurrent().schema?.id)
|
removeNodeById(getCurrent().schema?.id)
|
||||||
|
@ -153,10 +155,10 @@ export default {
|
||||||
copyNode(getCurrent().schema?.id)
|
copyNode(getCurrent().schema?.id)
|
||||||
},
|
},
|
||||||
config() {
|
config() {
|
||||||
useLayout().activeSetting('props')
|
activeSetting(PLUGIN_NAME.Props)
|
||||||
},
|
},
|
||||||
bindEvent() {
|
bindEvent() {
|
||||||
useLayout().activeSetting('event')
|
activeSetting(PLUGIN_NAME.Event)
|
||||||
},
|
},
|
||||||
insert({ value }) {
|
insert({ value }) {
|
||||||
emit('insert', value)
|
emit('insert', value)
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { ref, computed, watch, nextTick } from 'vue'
|
import { ref, computed, watch, nextTick, onMounted, onUnmounted } from 'vue'
|
||||||
import { useLayout, useCanvas } from '@opentiny/tiny-engine-meta-register'
|
import { useLayout, useCanvas } from '@opentiny/tiny-engine-meta-register'
|
||||||
import { canvasState } from '../container'
|
import { canvasState } from '../container'
|
||||||
|
|
||||||
|
@ -90,6 +90,9 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const draggablePanel = ref(null)
|
||||||
|
watch(() => useLayout().getPluginWidth(draggablePanel.value), setScale, { flush: 'post' })
|
||||||
|
|
||||||
watch(() => useLayout().getDimension().width, setScale, { flush: 'post', immediate: true })
|
watch(() => useLayout().getDimension().width, setScale, { flush: 'post', immediate: true })
|
||||||
|
|
||||||
watch(() => useLayout().leftFixedPanelsStorage.value, setScale, { flush: 'post' })
|
watch(() => useLayout().leftFixedPanelsStorage.value, setScale, { flush: 'post' })
|
||||||
|
@ -98,6 +101,11 @@ export default {
|
||||||
() => useLayout().getPluginState().render,
|
() => useLayout().getPluginState().render,
|
||||||
(value) => {
|
(value) => {
|
||||||
const currentFixed = useLayout().getPluginState().fixedPanels.includes(value)
|
const currentFixed = useLayout().getPluginState().fixedPanels.includes(value)
|
||||||
|
const isPanelResizable = useLayout().isPanelWidthResizable(value)
|
||||||
|
|
||||||
|
if (isPanelResizable) {
|
||||||
|
draggablePanel.value = value
|
||||||
|
}
|
||||||
|
|
||||||
if (!value || currentFixed) {
|
if (!value || currentFixed) {
|
||||||
setScale()
|
setScale()
|
||||||
|
@ -129,6 +137,18 @@ export default {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const handleResize = () => {
|
||||||
|
setScale()
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
window.addEventListener('resize', handleResize)
|
||||||
|
})
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
window.removeEventListener('resize', handleResize)
|
||||||
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
onMouseDown,
|
onMouseDown,
|
||||||
onMouseMove,
|
onMouseMove,
|
||||||
|
|
|
@ -143,8 +143,18 @@ const handleClipboardPaste = (event) => {
|
||||||
const handleCopyEvent = (event) => {
|
const handleCopyEvent = (event) => {
|
||||||
const selectedNodes = multiSelectedStates.value.map(({ schema }) => copyObject(schema))
|
const selectedNodes = multiSelectedStates.value.map(({ schema }) => copyObject(schema))
|
||||||
|
|
||||||
const dataToCopy = JSON.stringify(selectedNodes)
|
// 如果没有选中任何节点,直接返回
|
||||||
setClipboardSchema(event, dataToCopy)
|
if (!selectedNodes.length) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 验证所有选中的节点是否有效(不为空)
|
||||||
|
const isValidNodes = selectedNodes.every((node) => node && Object.keys(node).length > 0)
|
||||||
|
|
||||||
|
if (isValidNodes) {
|
||||||
|
const dataToCopy = JSON.stringify(selectedNodes)
|
||||||
|
setClipboardSchema(event, dataToCopy)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const eventFiltersMap = new WeakMap()
|
const eventFiltersMap = new WeakMap()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-canvas",
|
"name": "@opentiny/tiny-engine-canvas",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -63,7 +63,7 @@ const {
|
||||||
getDataSourceMap
|
getDataSourceMap
|
||||||
})
|
})
|
||||||
const { getRenderer, setRenderer } = useCustomRenderer()
|
const { getRenderer, setRenderer } = useCustomRenderer()
|
||||||
const { setCondition } = activePageContext
|
const { setCondition, getConditions } = activePageContext
|
||||||
const updateCanvas = () => {
|
const updateCanvas = () => {
|
||||||
refreshKey.value++
|
refreshKey.value++
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,8 @@ setCurrentApi({
|
||||||
// 设置物料配置
|
// 设置物料配置
|
||||||
setConfigure,
|
setConfigure,
|
||||||
setCondition,
|
setCondition,
|
||||||
|
getController,
|
||||||
|
getConditions,
|
||||||
getRenderer,
|
getRenderer,
|
||||||
setRenderer,
|
setRenderer,
|
||||||
getDesignMode,
|
getDesignMode,
|
||||||
|
@ -91,7 +93,6 @@ const throttleUpdateSchema = useThrottleFn(
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|
||||||
const pageRenderer = getRenderer()
|
|
||||||
const { routerViewSetting } = useRouterViewSetting()
|
const { routerViewSetting } = useRouterViewSetting()
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
@ -275,6 +276,8 @@ export default defineComponent({
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const pageRenderer = getRenderer()
|
||||||
|
|
||||||
return () =>
|
return () =>
|
||||||
pageAncestors.value === null
|
pageAncestors.value === null
|
||||||
? h(CanvasEmpty, { placeholderText: '页面分析加载中' })
|
? h(CanvasEmpty, { placeholderText: '页面分析加载中' })
|
||||||
|
|
|
@ -3,16 +3,17 @@ import type { IPageContext } from '../page-block-function'
|
||||||
import type { useCustomRenderer } from './custom-renderer'
|
import type { useCustomRenderer } from './custom-renderer'
|
||||||
import type { removeBlockCompsCache, setConfigure } from '../material-function'
|
import type { removeBlockCompsCache, setConfigure } from '../material-function'
|
||||||
import type { getDesignMode, setDesignMode } from './design-mode'
|
import type { getDesignMode, setDesignMode } from './design-mode'
|
||||||
import type { setController } from './controller'
|
import type { setController, getController } from './controller'
|
||||||
|
|
||||||
export interface IApplicationFunctionAPI
|
export interface IApplicationFunctionAPI
|
||||||
extends Pick<ReturnType<typeof useUtils>, 'getUtils'>,
|
extends Pick<ReturnType<typeof useUtils>, 'getUtils'>,
|
||||||
Pick<ReturnType<typeof useDataSourceMap>, 'getDataSourceMap'> {}
|
Pick<ReturnType<typeof useDataSourceMap>, 'getDataSourceMap'> {}
|
||||||
export type IPageContextAPI = Pick<IPageContext, 'setCondition'>
|
export type IPageContextAPI = Pick<IPageContext, 'setCondition' | 'getConditions'>
|
||||||
export interface ICanvasFunctionAPI extends Pick<ReturnType<typeof useCustomRenderer>, 'getRenderer' | 'setRenderer'> {
|
export interface ICanvasFunctionAPI extends ReturnType<typeof useCustomRenderer> {
|
||||||
getDesignMode: typeof getDesignMode
|
getDesignMode: typeof getDesignMode
|
||||||
setDesignMode: typeof setDesignMode
|
setDesignMode: typeof setDesignMode
|
||||||
setController: typeof setController
|
setController: typeof setController
|
||||||
|
getController: typeof getController
|
||||||
setConfigure: typeof setConfigure
|
setConfigure: typeof setConfigure
|
||||||
updateCanvas: () => void
|
updateCanvas: () => void
|
||||||
}
|
}
|
||||||
|
@ -31,8 +32,10 @@ export function setCurrentApi(activeApi: IInnerCanvasAPI) {
|
||||||
export const api: IInnerCanvasAPI = {
|
export const api: IInnerCanvasAPI = {
|
||||||
getUtils: (...args) => currentApi?.getUtils(...args),
|
getUtils: (...args) => currentApi?.getUtils(...args),
|
||||||
setController: (...args) => currentApi?.setController(...args),
|
setController: (...args) => currentApi?.setController(...args),
|
||||||
|
getController: (...args) => currentApi?.getController(...args),
|
||||||
setConfigure: (...args) => currentApi?.setConfigure(...args),
|
setConfigure: (...args) => currentApi?.setConfigure(...args),
|
||||||
setCondition: (...args) => currentApi?.setCondition(...args),
|
setCondition: (...args) => currentApi?.setCondition(...args),
|
||||||
|
getConditions: (...args) => currentApi?.getConditions(...args),
|
||||||
getDataSourceMap: (...args) => currentApi?.getDataSourceMap(...args),
|
getDataSourceMap: (...args) => currentApi?.getDataSourceMap(...args),
|
||||||
getRenderer: (...args) => currentApi?.getRenderer(...args),
|
getRenderer: (...args) => currentApi?.getRenderer(...args),
|
||||||
setRenderer: (...args) => currentApi?.setRenderer(...args),
|
setRenderer: (...args) => currentApi?.setRenderer(...args),
|
||||||
|
|
|
@ -66,7 +66,7 @@ const create = async (config) => {
|
||||||
App = createApp(Main).use(TinyI18nHost).provide(I18nInjectionKey, TinyI18nHost)
|
App = createApp(Main).use(TinyI18nHost).provide(I18nInjectionKey, TinyI18nHost)
|
||||||
|
|
||||||
if (typeof appCreated === 'function') {
|
if (typeof appCreated === 'function') {
|
||||||
await appCreated(App)
|
await appCreated(App, { api: renderer })
|
||||||
}
|
}
|
||||||
|
|
||||||
App.config.globalProperties.lowcodeConfig = window.parent.TinyGlobalConfig
|
App.config.globalProperties.lowcodeConfig = window.parent.TinyGlobalConfig
|
||||||
|
|
|
@ -121,18 +121,23 @@ export default {
|
||||||
|
|
||||||
const MIN_WIDTH = PLUGIN_DEFAULT_WIDTH // 固定的最小宽度值
|
const MIN_WIDTH = PLUGIN_DEFAULT_WIDTH // 固定的最小宽度值
|
||||||
const MAX_WIDTH = 1000 // 固定的最大宽度值
|
const MAX_WIDTH = 1000 // 固定的最大宽度值
|
||||||
const panel = ref(null)
|
const panel = ref<HTMLElement | null>(null)
|
||||||
let startX = 0
|
let startX = 0
|
||||||
let startWidth = 0
|
let startWidth = 0
|
||||||
|
let rafId: number | null = null // 添加 requestAnimationFrame 标识
|
||||||
|
|
||||||
const isCollapsed = ref(false)
|
const isCollapsed = ref(false)
|
||||||
const settingIcon = computed(() => (isCollapsed.value ? 'collapse_all' : 'expand_all'))
|
const settingIcon = computed(() => (isCollapsed.value ? 'collapse_all' : 'expand_all'))
|
||||||
|
|
||||||
provide('isCollapsed', isCollapsed)
|
provide('isCollapsed', isCollapsed)
|
||||||
|
|
||||||
const panelState = inject('panelState')
|
interface PanelState {
|
||||||
|
emitEvent: (event: string, ...args: any[]) => void
|
||||||
|
}
|
||||||
|
|
||||||
|
const panelState = inject<PanelState>('panelState')
|
||||||
const fixPanel = () => {
|
const fixPanel = () => {
|
||||||
panelState.emitEvent('fixPanel', props.fixedName)
|
panelState?.emitEvent('fixPanel', props.fixedName)
|
||||||
}
|
}
|
||||||
|
|
||||||
const headerBottomLine = computed(() => (props.showBottomBorder ? 'header-bottom-line' : ''))
|
const headerBottomLine = computed(() => (props.showBottomBorder ? 'header-bottom-line' : ''))
|
||||||
|
@ -146,65 +151,101 @@ export default {
|
||||||
const isRightResizer = ref(align.value.includes('right'))
|
const isRightResizer = ref(align.value.includes('right'))
|
||||||
const isWidthResizable = computed(() => isPanelWidthResizable(props.fixedName))
|
const isWidthResizable = computed(() => isPanelWidthResizable(props.fixedName))
|
||||||
|
|
||||||
const onMouseMoveRight = (event) => {
|
const updateWidth = (newWidth: number) => {
|
||||||
|
if (rafId) {
|
||||||
|
cancelAnimationFrame(rafId)
|
||||||
|
}
|
||||||
|
|
||||||
|
rafId = requestAnimationFrame(() => {
|
||||||
|
panelWidth.value = Math.max(MIN_WIDTH, Math.min(newWidth, MAX_WIDTH))
|
||||||
|
changePluginWidth(props.fixedName, panelWidth.value)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const onMouseMoveRight = (event: MouseEvent) => {
|
||||||
const newWidth = startWidth + (event.clientX - startX)
|
const newWidth = startWidth + (event.clientX - startX)
|
||||||
panelWidth.value = Math.max(MIN_WIDTH, Math.min(newWidth, MAX_WIDTH))
|
updateWidth(newWidth)
|
||||||
changePluginWidth(props.fixedName, panelWidth.value)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const onMouseMoveLeft = (event) => {
|
const onMouseMoveLeft = (event: MouseEvent) => {
|
||||||
const newWidth = startWidth - (event.clientX - startX)
|
const newWidth = startWidth - (event.clientX - startX)
|
||||||
panelWidth.value = Math.max(MIN_WIDTH, Math.min(newWidth, MAX_WIDTH))
|
updateWidth(newWidth)
|
||||||
changePluginWidth(props.fixedName, panelWidth.value)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const throttledMouseMoveRight = useThrottleFn(onMouseMoveRight, 50)
|
// 降低节流时间,提高响应速度
|
||||||
const throttledMouseMoveLeft = useThrottleFn(onMouseMoveLeft, 50)
|
const throttledMouseMoveRight = useThrottleFn(onMouseMoveRight, 16)
|
||||||
|
const throttledMouseMoveLeft = useThrottleFn(onMouseMoveLeft, 16)
|
||||||
|
|
||||||
const leftResizer = ref(null)
|
type ResizerElement = HTMLElement | null
|
||||||
const rightResizer = ref(null)
|
|
||||||
|
const leftResizer = ref<ResizerElement>(null)
|
||||||
|
const rightResizer = ref<ResizerElement>(null)
|
||||||
|
|
||||||
const onMouseUpRight = () => {
|
const onMouseUpRight = () => {
|
||||||
changeMoveDragBarState(false)
|
changeMoveDragBarState(false)
|
||||||
document.removeEventListener('mousemove', throttledMouseMoveRight)
|
document.removeEventListener('mousemove', throttledMouseMoveRight)
|
||||||
document.removeEventListener('mouseup', onMouseUpRight)
|
document.removeEventListener('mouseup', onMouseUpRight)
|
||||||
rightResizer.value.style.cursor = ''
|
document.body.style.cursor = ''
|
||||||
rightResizer.value.classList.remove('dragging')
|
if (rightResizer.value) {
|
||||||
|
rightResizer.value.classList.remove('dragging')
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清理 requestAnimationFrame
|
||||||
|
if (rafId) {
|
||||||
|
cancelAnimationFrame(rafId)
|
||||||
|
rafId = null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const onMouseDownRight = (event) => {
|
const onMouseDownRight = (event: MouseEvent) => {
|
||||||
changeMoveDragBarState(true)
|
changeMoveDragBarState(true)
|
||||||
startX = event.clientX
|
startX = event.clientX
|
||||||
startWidth = panel.value.offsetWidth
|
startWidth = panel.value?.offsetWidth || 0
|
||||||
document.addEventListener('mousemove', throttledMouseMoveRight)
|
document.addEventListener('mousemove', throttledMouseMoveRight)
|
||||||
document.addEventListener('mouseup', onMouseUpRight)
|
document.addEventListener('mouseup', onMouseUpRight)
|
||||||
rightResizer.value.style.cursor = 'ew-resize'
|
document.body.style.cursor = 'col-resize'
|
||||||
rightResizer.value.classList.add('dragging')
|
if (rightResizer.value) {
|
||||||
|
rightResizer.value.classList.add('dragging')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const onMouseUpLeft = () => {
|
const onMouseUpLeft = () => {
|
||||||
changeMoveDragBarState(false)
|
changeMoveDragBarState(false)
|
||||||
document.removeEventListener('mousemove', throttledMouseMoveLeft)
|
document.removeEventListener('mousemove', throttledMouseMoveLeft)
|
||||||
document.removeEventListener('mouseup', onMouseUpLeft)
|
document.removeEventListener('mouseup', onMouseUpLeft)
|
||||||
leftResizer.value.style.cursor = ''
|
document.body.style.cursor = ''
|
||||||
leftResizer.value.classList.remove('dragging')
|
if (leftResizer.value) {
|
||||||
|
leftResizer.value.classList.remove('dragging')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rafId) {
|
||||||
|
cancelAnimationFrame(rafId)
|
||||||
|
rafId = null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const onMouseDownLeft = (event) => {
|
const onMouseDownLeft = (event: MouseEvent) => {
|
||||||
changeMoveDragBarState(true)
|
changeMoveDragBarState(true)
|
||||||
startX = event.clientX
|
startX = event.clientX
|
||||||
startWidth = panel.value.offsetWidth
|
startWidth = panel.value?.offsetWidth || 0
|
||||||
document.addEventListener('mousemove', throttledMouseMoveLeft)
|
document.addEventListener('mousemove', throttledMouseMoveLeft)
|
||||||
document.addEventListener('mouseup', onMouseUpLeft)
|
document.addEventListener('mouseup', onMouseUpLeft)
|
||||||
leftResizer.value.style.cursor = 'ew-resize'
|
document.body.style.cursor = 'col-resize'
|
||||||
leftResizer.value.classList.add('dragging')
|
if (leftResizer.value) {
|
||||||
|
leftResizer.value.classList.add('dragging')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const initResizerDOM = () => {
|
const initResizerDOM = () => {
|
||||||
leftResizer.value = document.querySelector('.resizer-left')
|
const leftEl = document.querySelector('.resizer-left')
|
||||||
rightResizer.value = document.querySelector('.resizer-right')
|
const rightEl = document.querySelector('.resizer-right')
|
||||||
|
if (leftEl instanceof HTMLElement) {
|
||||||
|
leftResizer.value = leftEl
|
||||||
|
}
|
||||||
|
if (rightEl instanceof HTMLElement) {
|
||||||
|
rightResizer.value = rightEl
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const clickCollapseIcon = () => {
|
const clickCollapseIcon = () => {
|
||||||
isCollapsed.value = !isCollapsed.value
|
isCollapsed.value = !isCollapsed.value
|
||||||
emit('updateCollapseStatus', isCollapsed.value)
|
emit('updateCollapseStatus', isCollapsed.value)
|
||||||
|
@ -289,11 +330,21 @@ export default {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
width: 1px;
|
width: 3px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
cursor: ew-resize;
|
cursor: col-resize;
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
background-color: transparent;
|
||||||
transition: width 0.3s ease;
|
transition: background-color 0.3s ease;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 3px;
|
||||||
|
width: 1px;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0, 0, 0, 0.1);
|
||||||
|
transition: width 0.3s ease, background-color 0.3s ease;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-bottom-line {
|
.header-bottom-line {
|
||||||
|
@ -301,13 +352,19 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.dragging {
|
.dragging {
|
||||||
width: 2px !important;
|
background-color: var(--te-component-common-resizer-border-color);
|
||||||
background-color: var(--te-component-common-resizer-border-color) !important;
|
|
||||||
|
&::after {
|
||||||
|
width: 2px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.resizer-right:hover {
|
.resizer-right:hover {
|
||||||
width: 2px;
|
|
||||||
background-color: var(--te-component-common-resizer-border-color);
|
background-color: var(--te-component-common-resizer-border-color);
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
width: 2px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 左边拖拽线
|
// 左边拖拽线
|
||||||
|
@ -315,16 +372,29 @@ export default {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 1px;
|
width: 3px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
cursor: ew-resize;
|
cursor: col-resize;
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
background-color: transparent;
|
||||||
transition: width 0.3s ease;
|
transition: background-color 0.3s ease;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
right: 3px;
|
||||||
|
width: 1px;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0, 0, 0, 0.1);
|
||||||
|
transition: width 0.3s ease, background-color 0.3s ease;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.resizer-left:hover {
|
.resizer-left:hover {
|
||||||
width: 2px;
|
|
||||||
background-color: var(--te-component-common-resizer-border-color);
|
background-color: var(--te-component-common-resizer-border-color);
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
width: 2px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-content {
|
.scroll-content {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
import { isVsCodeEnv } from './environments'
|
import { isVsCodeEnv } from './environments'
|
||||||
import { generateRouter, generatePage } from './vscodeGenerateFile'
|
import { generateRouter, generatePage } from './vscodeGenerateFile'
|
||||||
import { usePage, useCanvas, useNotify, useBreadcrumb } from '@opentiny/tiny-engine-meta-register'
|
import { usePage, useNotify, useBreadcrumb, useMessage } from '@opentiny/tiny-engine-meta-register'
|
||||||
import { getMetaApi, META_SERVICE } from '@opentiny/tiny-engine-meta-register'
|
import { getMetaApi, META_SERVICE } from '@opentiny/tiny-engine-meta-register'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -43,7 +43,6 @@ export const handlePageUpdate = (updateParams) => {
|
||||||
return getMetaApi(META_SERVICE.Http)
|
return getMetaApi(META_SERVICE.Http)
|
||||||
.post(`/app-center/api/pages/update/${id}`, params)
|
.post(`/app-center/api/pages/update/${id}`, params)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
const { setSaved } = useCanvas()
|
|
||||||
if (isVsCodeEnv) {
|
if (isVsCodeEnv) {
|
||||||
generatePage({
|
generatePage({
|
||||||
id,
|
id,
|
||||||
|
@ -63,8 +62,11 @@ export const handlePageUpdate = (updateParams) => {
|
||||||
useNotify({ message: '保存成功!', type: 'success' })
|
useNotify({ message: '保存成功!', type: 'success' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新 页面状态 标志
|
// 发布 Schema 变动通知
|
||||||
setSaved(true)
|
useMessage().publish({
|
||||||
|
topic: 'pageOrBlockInit',
|
||||||
|
data: params.page_content
|
||||||
|
})
|
||||||
|
|
||||||
if (isCurEditPage) {
|
if (isCurEditPage) {
|
||||||
const { setBreadcrumbPage } = useBreadcrumb()
|
const { setBreadcrumbPage } = useBreadcrumb()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-common",
|
"name": "@opentiny/tiny-engine-common",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
@ -50,8 +50,8 @@
|
||||||
"@opentiny/tiny-engine-vite-plugin-meta-comments": "workspace:*",
|
"@opentiny/tiny-engine-vite-plugin-meta-comments": "workspace:*",
|
||||||
"@vitejs/plugin-vue": "^5.1.2",
|
"@vitejs/plugin-vue": "^5.1.2",
|
||||||
"@vitejs/plugin-vue-jsx": "^4.0.1",
|
"@vitejs/plugin-vue-jsx": "^4.0.1",
|
||||||
"glob": "^10.3.4",
|
|
||||||
"@vueuse/core": "^9.6.0",
|
"@vueuse/core": "^9.6.0",
|
||||||
|
"glob": "^10.3.4",
|
||||||
"vite": "^5.4.2"
|
"vite": "^5.4.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-configurator",
|
"name": "@opentiny/tiny-engine-configurator",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"module": "dist/index.js",
|
"module": "dist/index.js",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine",
|
"name": "@opentiny/tiny-engine",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"description": "TinyEngine enables developers to customize low-code platforms, build low-bit platforms online in real time, and support secondary development or integration of low-bit platform capabilities.",
|
"description": "TinyEngine enables developers to customize low-code platforms, build low-bit platforms online in real time, and support secondary development or integration of low-bit platform capabilities.",
|
||||||
"homepage": "https://opentiny.design/tiny-engine",
|
"homepage": "https://opentiny.design/tiny-engine",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-cli",
|
"name": "@opentiny/tiny-engine-cli",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
# alpha mode, used by the "build:alpha" script
|
# alpha mode, used by the "build:alpha" script
|
||||||
|
|
||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
VITE_CDN_DOMAIN=https://unpkg.com
|
# VITE_CDN_DOMAIN=https://unpkg.com
|
||||||
|
VITE_CDN_DOMAIN=https://registry.npmmirror.com
|
||||||
|
# 使用npmmirror的cdn 时,需要声明 VITE_CDN_TYPE=npmmirror
|
||||||
|
VITE_CDN_TYPE=npmmirror
|
||||||
VITE_LOCAL_IMPORT_MAPS=false
|
VITE_LOCAL_IMPORT_MAPS=false
|
||||||
VITE_LOCAL_BUNDLE_DEPS=false
|
VITE_LOCAL_BUNDLE_DEPS=false
|
||||||
# VITE_ORIGIN=
|
# VITE_ORIGIN=
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
# development mode, used by the "vite" command
|
# development mode, used by the "vite" command
|
||||||
|
|
||||||
NODE_ENV=development
|
NODE_ENV=development
|
||||||
VITE_CDN_DOMAIN=https://unpkg.com
|
# VITE_CDN_DOMAIN=https://unpkg.com
|
||||||
|
VITE_CDN_DOMAIN=https://registry.npmmirror.com
|
||||||
|
# 使用npmmirror的cdn 时,需要声明 VITE_CDN_TYPE=npmmirror
|
||||||
|
VITE_CDN_TYPE=npmmirror
|
||||||
VITE_LOCAL_IMPORT_MAPS=false
|
VITE_LOCAL_IMPORT_MAPS=false
|
||||||
VITE_LOCAL_BUNDLE_DEPS=false
|
VITE_LOCAL_BUNDLE_DEPS=false
|
||||||
# request data via alpha service
|
# request data via alpha service
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
# prod mode, used by the "build:prod" script
|
# prod mode, used by the "build:prod" script
|
||||||
|
|
||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
VITE_CDN_DOMAIN=https://unpkg.com
|
# VITE_CDN_DOMAIN=https://unpkg.com
|
||||||
|
VITE_CDN_DOMAIN=https://registry.npmmirror.com
|
||||||
|
# 使用npmmirror的cdn 时,需要声明 VITE_CDN_TYPE=npmmirror
|
||||||
|
VITE_CDN_TYPE=npmmirror
|
||||||
VITE_LOCAL_IMPORT_MAPS=false
|
VITE_LOCAL_IMPORT_MAPS=false
|
||||||
VITE_LOCAL_BUNDLE_DEPS=false
|
VITE_LOCAL_BUNDLE_DEPS=false
|
||||||
#VITE_ORIGIN=
|
#VITE_ORIGIN=
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
"serve:mock": "node node_modules/@opentiny/tiny-engine-mock/dist/app.js"
|
"serve:mock": "node node_modules/@opentiny/tiny-engine-mock/dist/app.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@opentiny/tiny-engine": "2.3.0",
|
"@opentiny/tiny-engine": "2.4.0",
|
||||||
"@opentiny/tiny-engine-utils": "2.3.0",
|
"@opentiny/tiny-engine-utils": "2.4.0",
|
||||||
"@opentiny/vue": "~3.20.0",
|
"@opentiny/vue": "~3.20.0",
|
||||||
"@opentiny/vue-design-smb": "~3.20.0",
|
"@opentiny/vue-design-smb": "~3.20.0",
|
||||||
"@opentiny/vue-icon": "~3.20.0",
|
"@opentiny/vue-icon": "~3.20.0",
|
||||||
|
@ -23,8 +23,8 @@
|
||||||
"vue": "^3.4.21"
|
"vue": "^3.4.21"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@opentiny/tiny-engine-mock": "2.3.0",
|
"@opentiny/tiny-engine-mock": "2.4.0",
|
||||||
"@opentiny/tiny-engine-vite-config": "2.3.0",
|
"@opentiny/tiny-engine-vite-config": "2.4.0",
|
||||||
"@vitejs/plugin-vue": "^5.1.2",
|
"@vitejs/plugin-vue": "^5.1.2",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"vite": "^5.4.2",
|
"vite": "^5.4.2",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-i18n-host",
|
"name": "@opentiny/tiny-engine-i18n-host",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-layout",
|
"name": "@opentiny/tiny-engine-layout",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "vite build"
|
"build": "vite build"
|
||||||
},
|
},
|
||||||
|
|
|
@ -198,7 +198,7 @@ export default {
|
||||||
#tiny-engine-right-panel {
|
#tiny-engine-right-panel {
|
||||||
height: calc(100vh - var(--base-top-panel-height));
|
height: calc(100vh - var(--base-top-panel-height));
|
||||||
border-left: 1px solid var(--te-layout-common-border-color);
|
border-left: 1px solid var(--te-layout-common-border-color);
|
||||||
background: var(--ti-lowcode-common-component-bg);
|
background: var(--te-layout-common-bg-color);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -340,10 +340,10 @@ export default {
|
||||||
|
|
||||||
@keyframes glow {
|
@keyframes glow {
|
||||||
0% {
|
0% {
|
||||||
box-shadow: inset 0px 0px 4px var(--ti-lowcode-canvas-handle-hover-bg);
|
box-shadow: inset 0px 0px 4px var(--te-layout-panel-active-color);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
box-shadow: inset 0px 0px 14px var(--ti-lowcode-canvas-handle-hover-bg);
|
box-shadow: inset 0px 0px 14px var(--te-layout-panel-active-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -12,5 +12,5 @@
|
||||||
--te-layout-common-icon-color: var(--te-common-icon-secondary);
|
--te-layout-common-icon-color: var(--te-common-icon-secondary);
|
||||||
--te-layout-common-icon-bg-color-hover: var(--te-common-bg-disabled);
|
--te-layout-common-icon-bg-color-hover: var(--te-common-bg-disabled);
|
||||||
|
|
||||||
--te-layout-setting-bg-color-hover: var(--te-common-bg-primary-checked);
|
--te-layout-panel-active-color: var(--te-common-bg-primary-checked);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-block",
|
"name": "@opentiny/tiny-engine-plugin-block",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
@click="showDeployBlockDialog"
|
@click="showDeployBlockDialog"
|
||||||
>发布
|
>发布
|
||||||
</tiny-button>
|
</tiny-button>
|
||||||
<svg-button name="text-copy-page" placement="bottom" tips="复制区块"></svg-button>
|
|
||||||
<svg-button name="delete" tips="删除" placement="top" @click="deleteBlock"></svg-button>
|
<svg-button name="delete" tips="删除" placement="top" @click="deleteBlock"></svg-button>
|
||||||
<close-icon @click="closePanel"></close-icon>
|
<close-icon @click="closePanel"></close-icon>
|
||||||
</button-group>
|
</button-group>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-bridge",
|
"name": "@opentiny/tiny-engine-plugin-bridge",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-datasource",
|
"name": "@opentiny/tiny-engine-plugin-datasource",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-help",
|
"name": "@opentiny/tiny-engine-plugin-help",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-i18n",
|
"name": "@opentiny/tiny-engine-plugin-i18n",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
:tooltip-config="{ appendToBody: false, placement: 'right' }"
|
:tooltip-config="{ appendToBody: false, placement: 'right' }"
|
||||||
:edit-rules="validRules"
|
:edit-rules="validRules"
|
||||||
>
|
>
|
||||||
<tiny-grid-column type="selection" width="44"></tiny-grid-column>
|
<tiny-grid-column type="selection" width="42"></tiny-grid-column>
|
||||||
<tiny-grid-column
|
<tiny-grid-column
|
||||||
width="120"
|
width="120"
|
||||||
field="key"
|
field="key"
|
||||||
|
|
|
@ -69,7 +69,7 @@ const removeI18n = (key = []) => {
|
||||||
|
|
||||||
const ensureI18n = (obj: { [x: string]: any; key: string }, send?: boolean) => {
|
const ensureI18n = (obj: { [x: string]: any; key: string }, send?: boolean) => {
|
||||||
const { locales } = i18nResource
|
const { locales } = i18nResource
|
||||||
const contents = Object.fromEntries(locales.map(({ lang }) => [lang, obj[lang]]))
|
const contents = Object.fromEntries(locales.map(({ lang }) => [lang, obj[lang] || '']))
|
||||||
const langs = getLangs()
|
const langs = getLangs()
|
||||||
const key = obj.key || utils.guid()
|
const key = obj.key || utils.guid()
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-materials",
|
"name": "@opentiny/tiny-engine-plugin-materials",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -175,8 +175,8 @@ const fetchAppState = async () => {
|
||||||
|
|
||||||
appSchemaState.bridge = appData.bridge
|
appSchemaState.bridge = appData.bridge
|
||||||
appSchemaState.utils = appData.utils
|
appSchemaState.utils = appData.utils
|
||||||
appSchemaState.isDemo = appData.meta?.is_demo
|
appSchemaState.isDemo = appData?.meta?.isDemo || appData?.meta?.is_demo
|
||||||
appSchemaState.globalState = appData?.meta.global_state
|
appSchemaState.globalState = appData?.meta?.globaState || appData?.meta?.global_state
|
||||||
|
|
||||||
// 词条语言为空时使用默认的语言
|
// 词条语言为空时使用默认的语言
|
||||||
const defaultLocales = [
|
const defaultLocales = [
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-page",
|
"name": "@opentiny/tiny-engine-plugin-page",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -48,8 +48,8 @@
|
||||||
<div class="tip">
|
<div class="tip">
|
||||||
<span class="text" v-if="!pageSettingState.currentPageData.route">路由将以website.com开头</span>
|
<span class="text" v-if="!pageSettingState.currentPageData.route">路由将以website.com开头</span>
|
||||||
<span class="route-text" v-else>
|
<span class="route-text" v-else>
|
||||||
<span class="text">website.com/</span>
|
<span class="tip-text">website.com/</span>
|
||||||
<span class="text-dim">{{ currentRoute }}</span>
|
<span class="tip-text-dim">{{ currentRoute }}</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</tiny-form-item>
|
</tiny-form-item>
|
||||||
|
@ -64,13 +64,11 @@
|
||||||
placeholder="请选择默认跳转页"
|
placeholder="请选择默认跳转页"
|
||||||
@change="changeDefaultPage"
|
@change="changeDefaultPage"
|
||||||
></tiny-select>
|
></tiny-select>
|
||||||
<div v-if="state.defaultPageId" class="tip default-page">
|
<div v-if="state.defaultPageId" class="tip">
|
||||||
<span class="text"
|
<div class="tip-text">访问</div>
|
||||||
>访问<span class="text-dim">/{{ currentRoute }}</span
|
<span class="tip-text-dim">/{{ currentRoute }}</span>
|
||||||
>路由,默认跳转<span class="text-dim"
|
<div class="tip-text">路由,默认跳转</div>
|
||||||
>/{{ currentRoute }}/{{ pageSettingState?.defaultPage?.route }}</span
|
<span class="tip-text-dim">/{{ currentRoute }}/{{ pageSettingState?.defaultPage?.route }}</span>
|
||||||
></span
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</tiny-form-item>
|
</tiny-form-item>
|
||||||
</tiny-form>
|
</tiny-form>
|
||||||
|
@ -324,20 +322,18 @@ export default {
|
||||||
color: var(--te-page-manage-tip-color);
|
color: var(--te-page-manage-tip-color);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
height: 16px;
|
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
.text {
|
width: 100%;
|
||||||
color: var(--te-page-manage-tip-text-color);
|
word-wrap: break-word;
|
||||||
}
|
|
||||||
.text-dim {
|
|
||||||
color: var(--te-page-manage-tip-dim-text-color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.default-page {
|
|
||||||
height: auto;
|
height: auto;
|
||||||
line-height: 16px;
|
line-height: 16px;
|
||||||
|
.tip-text {
|
||||||
|
width: 100%;
|
||||||
|
color: var(--te-page-manage-tip-text-color);
|
||||||
|
}
|
||||||
|
.tip-text-dim {
|
||||||
|
color: var(--te-page-manage-tip-dim-text-color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -310,7 +310,11 @@ export default {
|
||||||
|
|
||||||
const settingDefaultPage = async () => {
|
const settingDefaultPage = async () => {
|
||||||
const params = { ...pageSettingState.defaultPage, isDefault: true }
|
const params = { ...pageSettingState.defaultPage, isDefault: true }
|
||||||
await updatePage(pageSettingState.defaultPage?.id, params, false)
|
updatePage(pageSettingState.defaultPage?.id, params, false).then((res) => {
|
||||||
|
if (res) {
|
||||||
|
editPage()
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const createHistoryMessage = () => {
|
const createHistoryMessage = () => {
|
||||||
|
@ -325,7 +329,7 @@ export default {
|
||||||
const exec = () => {
|
const exec = () => {
|
||||||
pageSettingState.currentPageData.message = state.historyMessage.trim() || 'Page auto save'
|
pageSettingState.currentPageData.message = state.historyMessage.trim() || 'Page auto save'
|
||||||
if (pageSettingState.defaultPage?.id) {
|
if (pageSettingState.defaultPage?.id) {
|
||||||
settingDefaultPage().then(editPage)
|
settingDefaultPage()
|
||||||
} else {
|
} else {
|
||||||
editPage()
|
editPage()
|
||||||
}
|
}
|
||||||
|
|
|
@ -335,6 +335,7 @@ export default {
|
||||||
.then((pageDetail) => {
|
.then((pageDetail) => {
|
||||||
pageDetail.parentId = newParent.id
|
pageDetail.parentId = newParent.id
|
||||||
if (pageDetail.isPage) {
|
if (pageDetail.isPage) {
|
||||||
|
pageDetail.isDefault = false
|
||||||
updatePage(pageDetail)
|
updatePage(pageDetail)
|
||||||
} else {
|
} else {
|
||||||
updateFolder(pageDetail)
|
updateFolder(pageDetail)
|
||||||
|
|
|
@ -112,7 +112,7 @@ const nodesMap = computed(() => {
|
||||||
})
|
})
|
||||||
|
|
||||||
const filteredNodes = computed(() => {
|
const filteredNodes = computed(() => {
|
||||||
return nodes.value.filter((node) => node.label.toLowerCase().includes(props.filterValue))
|
return nodes.value.filter((node) => node.label.toLowerCase().includes(props.filterValue.toLowerCase()))
|
||||||
})
|
})
|
||||||
|
|
||||||
const getAncestorIds = (nodeId) => {
|
const getAncestorIds = (nodeId) => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-robot",
|
"name": "@opentiny/tiny-engine-plugin-robot",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -467,6 +467,7 @@ export default {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.chat-title-label,
|
.chat-title-label,
|
||||||
.ml8 {
|
.ml8 {
|
||||||
|
@ -573,7 +574,7 @@ export default {
|
||||||
color: var(--te-chat-model-ai-fail-text);
|
color: var(--te-chat-model-ai-fail-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-submit {
|
.chat-submit.chat-submit {
|
||||||
margin-top: 14px;
|
margin-top: 14px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-schema",
|
"name": "@opentiny/tiny-engine-plugin-schema",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -58,6 +58,7 @@ export default {
|
||||||
PluginPanel,
|
PluginPanel,
|
||||||
IconDownloadLink: iconDownloadLink()
|
IconDownloadLink: iconDownloadLink()
|
||||||
},
|
},
|
||||||
|
inheritAttrs: false,
|
||||||
props: {
|
props: {
|
||||||
fixedPanels: {
|
fixedPanels: {
|
||||||
type: Array
|
type: Array
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-script",
|
"name": "@opentiny/tiny-engine-plugin-script",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-state",
|
"name": "@opentiny/tiny-engine-plugin-state",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-tree",
|
"name": "@opentiny/tiny-engine-plugin-tree",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-plugin-tutorial",
|
"name": "@opentiny/tiny-engine-plugin-tutorial",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-meta-register",
|
"name": "@opentiny/tiny-engine-meta-register",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|
|
@ -17,7 +17,8 @@ export const META_SERVICE = {
|
||||||
Help: 'engine.service.help',
|
Help: 'engine.service.help',
|
||||||
Property: 'engine.service.property',
|
Property: 'engine.service.property',
|
||||||
Properties: 'engine.service.properties',
|
Properties: 'engine.service.properties',
|
||||||
ThemeSwitch: 'engine.service.themeSwitch'
|
ThemeSwitch: 'engine.service.themeSwitch',
|
||||||
|
Style: 'engine.service.style'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const META_APP = {
|
export const META_APP = {
|
||||||
|
|
|
@ -37,7 +37,8 @@ export const HOOK_NAME = {
|
||||||
useModal: 'modal',
|
useModal: 'modal',
|
||||||
useNotify: 'notify',
|
useNotify: 'notify',
|
||||||
useCustom: 'custom',
|
useCustom: 'custom',
|
||||||
useMaterial: 'material'
|
useMaterial: 'material',
|
||||||
|
useStyle: 'style'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
type HookName = typeof HOOK_NAME[keyof typeof HOOK_NAME]
|
type HookName = typeof HOOK_NAME[keyof typeof HOOK_NAME]
|
||||||
|
@ -61,6 +62,7 @@ const hooksState = {
|
||||||
[HOOK_NAME.useNotify]: {},
|
[HOOK_NAME.useNotify]: {},
|
||||||
[HOOK_NAME.useModal]: {},
|
[HOOK_NAME.useModal]: {},
|
||||||
[HOOK_NAME.useMaterial]: {},
|
[HOOK_NAME.useMaterial]: {},
|
||||||
|
[HOOK_NAME.useStyle]: {},
|
||||||
[HOOK_NAME.useCustom]: {} // 自定义
|
[HOOK_NAME.useCustom]: {} // 自定义
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,6 +91,7 @@ export const useEnv = (...args: any[]): ImportMetaEnv => getHook(HOOK_NAME.useEn
|
||||||
export const useModal = (...args: any[]): UseModalApi => getHook(HOOK_NAME.useModal, args)
|
export const useModal = (...args: any[]): UseModalApi => getHook(HOOK_NAME.useModal, args)
|
||||||
export const useNotify = (...args: NotifyParams): NotifyResult => getHook(HOOK_NAME.useNotify, args)
|
export const useNotify = (...args: NotifyParams): NotifyResult => getHook(HOOK_NAME.useNotify, args)
|
||||||
export const useMaterial = (...args: any[]): UseMaterialApi => getHook(HOOK_NAME.useMaterial, args)
|
export const useMaterial = (...args: any[]): UseMaterialApi => getHook(HOOK_NAME.useMaterial, args)
|
||||||
|
export const useStyle = (...args: any[]) => getHook(HOOK_NAME.useStyle, args)
|
||||||
export const useCustom = (...args: any[]) => getHook(HOOK_NAME.useCustom, args)
|
export const useCustom = (...args: any[]) => getHook(HOOK_NAME.useCustom, args)
|
||||||
|
|
||||||
export function initHook(
|
export function initHook(
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-setting-design",
|
"name": "@opentiny/tiny-engine-setting-design",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-setting-events",
|
"name": "@opentiny/tiny-engine-setting-events",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-settings-panel",
|
"name": "@opentiny/tiny-engine-settings-panel",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-setting-props",
|
"name": "@opentiny/tiny-engine-setting-props",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -12,9 +12,13 @@
|
||||||
|
|
||||||
import entry from './src/Main.vue'
|
import entry from './src/Main.vue'
|
||||||
import metaData from './meta'
|
import metaData from './meta'
|
||||||
|
import { default as StyleService } from './src/js/index'
|
||||||
import './src/styles/vars.less'
|
import './src/styles/vars.less'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
...metaData,
|
...metaData,
|
||||||
|
metas: [StyleService],
|
||||||
entry
|
entry
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export { StyleService }
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-setting-styles",
|
"name": "@opentiny/tiny-engine-setting-styles",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -167,7 +167,8 @@ watch(
|
||||||
classNameState.curSelector = className
|
classNameState.curSelector = className
|
||||||
// 多类名的选择器的暂时不支持编辑,比如 .test1.test2
|
// 多类名的选择器的暂时不支持编辑,比如 .test1.test2
|
||||||
classNameState.curSelectorEditable = getCurSelectorEditable(className)
|
classNameState.curSelectorEditable = getCurSelectorEditable(className)
|
||||||
}
|
},
|
||||||
|
{ immediate: true }
|
||||||
)
|
)
|
||||||
|
|
||||||
const setSelectorProps = (type, value) => {
|
const setSelectorProps = (type, value) => {
|
||||||
|
|
|
@ -389,7 +389,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { computed, reactive } from 'vue'
|
import { computed, reactive, watch } from 'vue'
|
||||||
import SpacingSetting from './SpacingSetting.vue'
|
import SpacingSetting from './SpacingSetting.vue'
|
||||||
import ModalMask, { useModal } from '../inputs/ModalMask.vue'
|
import ModalMask, { useModal } from '../inputs/ModalMask.vue'
|
||||||
import useEvent from '../../js/useEvent'
|
import useEvent from '../../js/useEvent'
|
||||||
|
@ -481,6 +481,17 @@ export default {
|
||||||
emit('update', property)
|
emit('update', property)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => props.style,
|
||||||
|
(newStyle) => {
|
||||||
|
if (state.showModal) {
|
||||||
|
// 弹窗打开时,更新当前编辑的属性值
|
||||||
|
state.property.value = newStyle[state.property.name]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ deep: true }
|
||||||
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
state,
|
state,
|
||||||
spacing,
|
spacing,
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
import { HOOK_NAME, META_SERVICE, defineService } from '@opentiny/tiny-engine-meta-register'
|
||||||
|
import useStyle from './useStyle'
|
||||||
|
|
||||||
|
export default defineService({
|
||||||
|
id: META_SERVICE.Style,
|
||||||
|
type: 'MetaService',
|
||||||
|
apis: useStyle(),
|
||||||
|
composable: {
|
||||||
|
name: HOOK_NAME.useStyle
|
||||||
|
},
|
||||||
|
init: () => {
|
||||||
|
useStyle().initStylePanelWatch()
|
||||||
|
}
|
||||||
|
})
|
|
@ -338,17 +338,11 @@ const updateStyle = (properties: any) => {
|
||||||
updateRect()
|
updateRect()
|
||||||
}
|
}
|
||||||
|
|
||||||
let hasWatchInitialized = false
|
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
if (!hasWatchInitialized) {
|
|
||||||
initStylePanelWatch()
|
|
||||||
hasWatchInitialized = true
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
state,
|
state,
|
||||||
updateStyle
|
updateStyle,
|
||||||
|
initStylePanelWatch
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-svgs",
|
"name": "@opentiny/tiny-engine-svgs",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-theme-base",
|
"name": "@opentiny/tiny-engine-theme-base",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-breadcrumb",
|
"name": "@opentiny/tiny-engine-toolbar-breadcrumb",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-clean",
|
"name": "@opentiny/tiny-engine-toolbar-clean",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-collaboration",
|
"name": "@opentiny/tiny-engine-toolbar-collaboration",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-fullscreen",
|
"name": "@opentiny/tiny-engine-toolbar-fullscreen",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-generate-code",
|
"name": "@opentiny/tiny-engine-toolbar-generate-code",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-lang",
|
"name": "@opentiny/tiny-engine-toolbar-lang",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-layout",
|
"name": "@opentiny/tiny-engine-toolbar-layout",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-lock",
|
"name": "@opentiny/tiny-engine-toolbar-lock",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-logo",
|
"name": "@opentiny/tiny-engine-toolbar-logo",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-logout",
|
"name": "@opentiny/tiny-engine-toolbar-logout",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-media",
|
"name": "@opentiny/tiny-engine-toolbar-media",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-preview",
|
"name": "@opentiny/tiny-engine-toolbar-preview",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-redoundo",
|
"name": "@opentiny/tiny-engine-toolbar-redoundo",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-refresh",
|
"name": "@opentiny/tiny-engine-toolbar-refresh",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-save",
|
"name": "@opentiny/tiny-engine-toolbar-save",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-setting",
|
"name": "@opentiny/tiny-engine-toolbar-setting",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-theme-switch",
|
"name": "@opentiny/tiny-engine-toolbar-theme-switch",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-toolbar-view-setting",
|
"name": "@opentiny/tiny-engine-toolbar-view-setting",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-utils",
|
"name": "@opentiny/tiny-engine-utils",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-dsl-vue",
|
"name": "@opentiny/tiny-engine-dsl-vue",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@opentiny/tiny-engine-webcomponent-core",
|
"name": "@opentiny/tiny-engine-webcomponent-core",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue