@opentiny/tiny-engine-plugin-page 2.7.3 → 2.7.4-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -494,11 +494,10 @@ function Gt(a, t, n, e, s, i) {
494
494
  modelValue: e.pageSettingState.currentPageData.isBody,
495
495
  "onUpdate:modelValue": t[0] || (t[0] = (m) => e.pageSettingState.currentPageData.isBody = m)
496
496
  }, {
497
- default: de(() => t[1] || (t[1] = [
497
+ default: de(() => [...t[1] || (t[1] = [
498
498
  ea("span", null, "设为根元素为Body", -1)
499
- ])),
500
- _: 1,
501
- __: [1]
499
+ ])]),
500
+ _: 1
502
501
  }, 8, ["modelValue"]),
503
502
  t[4] || (t[4] = ea("div", { class: "input-output-div" }, "默认为div", -1))
504
503
  ]);
@@ -2185,11 +2184,10 @@ function Lt(a, t, n, e, s, i) {
2185
2184
  type: "primary",
2186
2185
  onClick: e.savePageSetting
2187
2186
  }, {
2188
- default: de(() => t[1] || (t[1] = [
2187
+ default: de(() => [...t[1] || (t[1] = [
2189
2188
  at("保存", -1)
2190
- ])),
2191
- _: 1,
2192
- __: [1]
2189
+ ])]),
2190
+ _: 1
2193
2191
  }, 8, ["onClick"]),
2194
2192
  e.pageSettingState.isNew ? ya("", !0) : (ue(), ma(r, {
2195
2193
  key: 0,
@@ -2680,11 +2678,10 @@ function jt(a, t, n, e, s, i) {
2680
2678
  type: "primary",
2681
2679
  onClick: e.saveFolderSetting
2682
2680
  }, {
2683
- default: de(() => t[1] || (t[1] = [
2681
+ default: de(() => [...t[1] || (t[1] = [
2684
2682
  at("保存", -1)
2685
- ])),
2686
- _: 1,
2687
- __: [1]
2683
+ ])]),
2684
+ _: 1
2688
2685
  }, 8, ["onClick"]),
2689
2686
  e.pageSettingState.isNew ? ya("", !0) : (ue(), ma(r, {
2690
2687
  key: 0,
@@ -7638,11 +7635,10 @@ function Cn(a, t, n, e, s, i) {
7638
7635
  class: "page-type-radio",
7639
7636
  label: "staticPages"
7640
7637
  }, {
7641
- default: de(() => t[6] || (t[6] = [
7638
+ default: de(() => [...t[6] || (t[6] = [
7642
7639
  at(" 静态页面 ", -1)
7643
- ])),
7644
- _: 1,
7645
- __: [6]
7640
+ ])]),
7641
+ _: 1
7646
7642
  }, 8, ["modelValue"]),
7647
7643
  ee(o, {
7648
7644
  modelValue: e.pageSettingState.currentPageData.group,
@@ -7650,11 +7646,10 @@ function Cn(a, t, n, e, s, i) {
7650
7646
  class: "page-type-radio",
7651
7647
  label: "publicPages"
7652
7648
  }, {
7653
- default: de(() => t[7] || (t[7] = [
7649
+ default: de(() => [...t[7] || (t[7] = [
7654
7650
  at(" 公共页面 ", -1)
7655
- ])),
7656
- _: 1,
7657
- __: [7]
7651
+ ])]),
7652
+ _: 1
7658
7653
  }, 8, ["modelValue"])
7659
7654
  ]),
7660
7655
  _: 1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../meta.js","../src/PageTree.vue","../src/Main.vue","../src/composable/index.ts","../src/PageGeneral.vue","../index.ts"],"sourcesContent":["export default {\n id: 'engine.plugins.appmanage',\n title: '页面',\n type: 'plugins',\n icon: 'plugin-icon-page'\n}\n","<template>\n <div class=\"app-manage-search\">\n <tiny-search v-model=\"state.pageSearchValue\" clearable placeholder=\"搜索\">\n <template #prefix>\n <tiny-icon-search />\n </template>\n </tiny-search>\n </div>\n\n <tiny-collapse v-model=\"state.collapseValue\" class=\"page-manage-collapse lowcode-scrollbar\">\n <tiny-collapse-item v-for=\"(groupItem, index) in pageSettingState.pages\" :key=\"index\" :name=\"groupItem.groupId\">\n <template #title>\n <span class=\"title\">{{ groupItem.groupName }}</span>\n </template>\n <div class=\"app-manage-tree\">\n <draggable-tree\n :data=\"groupItem.data\"\n label-key=\"name\"\n :active=\"state.currentNodeData.id\"\n :filter-value=\"state.pageSearchValue\"\n :root-id=\"pageSettingState.ROOT_ID\"\n :draggable=\"groupItem.groupId === STATIC_PAGE_GROUP_ID\"\n @click-row=\"handleClickRow\"\n @move-node=\"handleMoveNode\"\n >\n <template #row-suffix=\"{ node }\">\n <div :class=\"['actions']\">\n <svg-button v-if=\"isPageLocked(node.rawData)\" name=\"locked\" :hoverBgColor=\"false\"></svg-button>\n <svg-button v-if=\"node.rawData.isHome\" name=\"home\" :hoverBgColor=\"false\"></svg-button>\n <tiny-popover\n :ref=\"(el) => setPopoverRef(el, node.id)\"\n placement=\"bottom-start\"\n :visible-arrow=\"false\"\n popper-class=\"page-tree-row-operation-list\"\n >\n <div class=\"operation-list\">\n <div\n v-for=\"(operation, index) in getRowOperations(groupItem.groupId, node)\"\n :key=\"index\"\n :class=\"[operation.type === 'divider' ? 'divider' : 'item'].concat(operation.class || [])\"\n @click=\"operation.action?.(node)\"\n >\n {{ operation.label }}\n </div>\n </div>\n <template #reference>\n <svg-button name=\"ellipsis\" class=\"auto-hidden\" :hoverBgColor=\"false\"></svg-button>\n </template>\n </tiny-popover>\n </div>\n </template>\n </draggable-tree>\n </div>\n </tiny-collapse-item>\n </tiny-collapse>\n</template>\n<script lang=\"tsx\">import { callEntry as _callEntry, useCompile as _useCompile } from '@opentiny/tiny-engine-meta-register';\nimport _metaData from '../meta.js';\n/* metaService: engine.plugins.appmanage.PageTree */\nimport { reactive, onMounted, onUnmounted } from 'vue';\nimport { Search, Collapse, CollapseItem, Popover } from '@opentiny/vue';\nimport { IconFolderOpened, IconFolderClosed, IconSearch } from '@opentiny/vue-icon';\nimport { useCanvas, useModal, usePage, useNotify, useMessage, getMetaApi, getOptions, META_SERVICE } from '@opentiny/tiny-engine-meta-register';\nimport { isEqual } from '@opentiny/vue-renderless/common/object';\nimport { getCanvasStatus } from '@opentiny/tiny-engine-common/js/canvas';\nimport { handlePageUpdate } from '@opentiny/tiny-engine-common/js/http';\nimport { constants } from '@opentiny/tiny-engine-utils';\nimport { closePageSettingPanel } from './PageSetting.vue';\nimport { closeFolderSettingPanel } from './PageFolderSetting.vue';\nimport http from './http';\nimport DraggableTree from './Tree.vue';\nimport { SvgButton } from '@opentiny/tiny-engine-common';\nimport meta from '../meta';\nconst {\n PAGE_STATUS\n} = constants;\nexport default {\n components: {\n TinySearch: Search,\n TinyCollapse: Collapse,\n TinyCollapseItem: CollapseItem,\n TinyIconSearch: IconSearch(),\n TinyPopover: Popover,\n DraggableTree,\n SvgButton\n },\n props: {\n isFolder: {\n type: Boolean,\n default: false\n }\n },\n emits: ['openSettingPanel', 'add', 'createPage', 'createFolder', 'settingHome'],\n setup(props, {\n emit\n }) {\n const {\n confirm\n } = useModal();\n const {\n pageState,\n isBlock,\n isSaved\n } = useCanvas();\n const {\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPage: switchPageById\n } = usePage();\n const {\n fetchPageDetail,\n requestUpdatePage\n } = http;\n const getAppId = _callEntry(() => getMetaApi(META_SERVICE.GlobalService).getBaseInfo().id, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.getAppId'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const {\n customPageOperations = []\n } = getOptions(meta.id);\n const state = reactive({\n pageSearchValue: '',\n collapseValue: [STATIC_PAGE_GROUP_ID, COMMON_PAGE_GROUP_ID],\n currentNodeData: {\n id: getMetaApi(META_SERVICE.GlobalService).getBaseInfo().pageId\n }\n });\n const {\n subscribe,\n unsubscribe\n } = useMessage();\n const refreshPageList = _callEntry((appId: string) => getPageList(appId), {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.refreshPageList'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n let subscriber = null;\n onMounted(_callEntry(() => {\n refreshPageList(getAppId());\n subscriber = subscribe({\n topic: 'locationHistoryChanged',\n callback: data => {\n if (data.pageId) {\n state.currentNodeData = {\n id: data.pageId\n };\n } else if (isBlock()) {\n state.currentNodeData = {};\n }\n },\n subscriber: 'pageTree'\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.onMounted[0]'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n }));\n onUnmounted(_callEntry(() => {\n if (subscriber) {\n unsubscribe(subscriber);\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.onUnmounted[0]'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n }));\n pageSettingState.updateTreeData = async () => {\n const pageList = await refreshPageList(getAppId());\n return pageList;\n };\n const switchPage = _callEntry(data => {\n state.currentNodeData = data;\n switchPageById(data.id).then(() => {\n closePageSettingPanel();\n closeFolderSettingPanel();\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.switchPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const nodeClick = _callEntry((e, pageData) => {\n e?.stopPropagation();\n const {\n id,\n isPage\n } = pageData;\n\n // 区块切换回页面需要重新加载页面\n // 区块切换回页面需要重新加载页面\n if (!isBlock() && id === state?.currentNodeData?.id || !isPage) {\n return;\n }\n if (isSaved() && isCurrentDataSame()) {\n switchPage(pageData);\n } else {\n confirm({\n title: '提示',\n message: `${isBlock() ? '区块' : '页面'}尚未保存,是否要继续切换?`,\n exec: () => {\n changeTreeData(pageSettingState.oldParentId, pageSettingState.currentPageData.parentId);\n Object.assign(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy);\n switchPage(pageData);\n }\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.nodeClick'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const openSettingPanel = _callEntry((e, pageData, isPageLocked) => {\n e?.stopPropagation();\n if (isPageLocked && pageData.isPage) {\n const username = pageData.occupier?.username || '';\n useModal().message({\n message: `您点击的页面被${username}锁定,暂时无法编辑,请联系解锁`\n });\n return;\n }\n if (isEqual(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy)) {\n emit('openSettingPanel', pageData);\n } else {\n confirm({\n title: '提示',\n message: `当前页面或文件夹${pageSettingState.currentPageData.name}尚未保存,是否要继续切换?`,\n exec: () => {\n changeTreeData(pageSettingState.oldParentId, pageSettingState.currentPageData.parentId);\n Object.assign(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy);\n emit('openSettingPanel', pageData);\n }\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.openSettingPanel'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const popoverRefs = {};\n const setPopoverRef = _callEntry((el, nodeId) => {\n popoverRefs[nodeId] = el;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.setPopoverRef'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const handleClickRow = _callEntry(node => {\n nodeClick(null, node.rawData);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.handleClickRow'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const isPageLocked = _callEntry(pageData => {\n return getCanvasStatus(pageData.occupier).state === PAGE_STATUS.Lock;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.isPageLocked'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const handleClickPageSettings = _callEntry(node => {\n openSettingPanel(null, node.rawData, isPageLocked(node.rawData));\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.handleClickPageSettings'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const createPage = _callEntry(node => {\n emit('createPage', 'staticPages', node.id);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.createPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const createFolder = _callEntry(node => {\n emit('createFolder', node.id);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.createFolder'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const settingHome = _callEntry(node => {\n emit('settingHome', node);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.settingHome'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const rowOperations = [{\n type: 'settings',\n label: '设置',\n action: handleClickPageSettings\n }, {\n type: 'divider'\n }, {\n type: 'createPage',\n label: '新建子页面',\n action: createPage\n }, {\n type: 'createFolder',\n label: '新建子文件夹',\n action: createFolder\n }, {\n type: 'settingHome',\n label: '设置为主页',\n action: settingHome\n }, ...customPageOperations\n // TODO 复制和删除的逻辑耦合在其他组件内,暂时屏蔽\n // { type: 'divider' },\n // { type: 'copy', label: '复制页面', action: copyPage },\n // { type: 'delete', label: '删除', class: ['danger'], action: deleteNode }\n ].map(item => ({\n ...item,\n action: node => {\n item.action?.(node, emit);\n // 点击 action 后,关闭 popover 弹窗\n popoverRefs[node.id]?.doClose?.();\n }\n }));\n const getRowOperations = _callEntry((groupId, node) => {\n if (groupId === COMMON_PAGE_GROUP_ID) {\n return rowOperations.slice(0, 1);\n }\n if (!node.rawData.isPage || node.rawData.group === 'public') {\n return rowOperations.filter(item => item.type !== 'settingHome');\n }\n // TODO 复制逻辑暂时屏蔽\n // if (!node.rawData.isPage) {\n // return rowOperations.filter((item) => item.type !== 'copy')\n // }\n\n // TODO 复制逻辑暂时屏蔽\n // if (!node.rawData.isPage) {\n // return rowOperations.filter((item) => item.type !== 'copy')\n // }\n\n return rowOperations;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.getRowOperations'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const updatePage = _callEntry(pageDetail => {\n const {\n id,\n name,\n page_content\n } = pageDetail;\n const params = {\n ...pageDetail,\n page_content: {\n ...page_content,\n fileName: name\n }\n };\n const isCurEditPage = pageState?.currentPage?.id === id;\n const updateParams = {\n id,\n params,\n isCurEditPage\n };\n return handlePageUpdate(updateParams);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.updatePage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const updateFolder = _callEntry(pageDetail => {\n const {\n id\n } = pageDetail;\n\n // requestUpdatePage加了then和catch回调函数,而handlePageUpdate没有加,是因为handlePageUpdate内部都已经有了类似逻辑\n // requestUpdatePage加了then和catch回调函数,而handlePageUpdate没有加,是因为handlePageUpdate内部都已经有了类似逻辑\n return requestUpdatePage(id, {\n ...pageDetail,\n page_content: null\n }).then(() => {\n useNotify({\n type: 'success',\n message: '更新文件夹成功!'\n });\n }).catch(error => {\n useNotify({\n type: 'error',\n title: '更新文件夹失败',\n message: JSON.stringify(error?.message || error)\n });\n }).finally(() => {\n pageSettingState.updateTreeData();\n pageSettingState.isNew = false;\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.updateFolder'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const handleMoveNode = _callEntry((dragged, newParent) => {\n if (isEqual(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy)) {\n closePageSettingPanel();\n closeFolderSettingPanel();\n pageSettingState.currentPageData.id = dragged.id;\n changeTreeData(newParent.id, dragged.parentId);\n resetPageData();\n // TODO 页面更换父节点后,原来每次变更需要填写变更信息\n // TODO 页面更换父节点后,原来每次变更需要填写变更信息\n fetchPageDetail(dragged.id).then(pageDetail => {\n pageDetail.parentId = newParent.id;\n if (pageDetail.isPage) {\n pageDetail.isDefault = false;\n updatePage(pageDetail);\n } else {\n updateFolder(pageDetail);\n }\n }).catch(error => {\n useNotify({\n type: 'error',\n title: '移动页面文件/文件夹失败',\n message: JSON.stringify(error?.message || error)\n });\n });\n } else {\n confirm({\n title: '提示',\n message: '更改尚未保存,是否要放弃这些更改?',\n exec: () => {\n if (!pageSettingState.isNew) {\n changeTreeData(pageSettingState.oldParentId, pageSettingState.currentPageData.parentId);\n Object.assign(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy);\n }\n closePageSettingPanel();\n }\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.handleMoveNode'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n useMessage().subscribe({\n topic: 'app_id_changed',\n subscriber: 'page_tree_app_id_changed',\n callback: appId => {\n refreshPageList(appId);\n }\n });\n const createPublicPage = _callEntry(e => {\n e.stopPropagation();\n e.preventDefault();\n emit('add');\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.createPublicPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n onUnmounted(_callEntry(() => {\n useMessage().unsubscribe({\n topic: 'app_id_changed',\n subscriber: 'page_tree_app_id_changed'\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.onUnmounted[1]'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n }));\n return {\n createPublicPage,\n state,\n switchPage,\n pageSettingState,\n setPopoverRef,\n IconFolderOpened: IconFolderOpened(),\n IconFolderClosed: IconFolderClosed(),\n getRowOperations,\n handleClickRow,\n handleMoveNode,\n isPageLocked,\n handleClickPageSettings,\n STATIC_PAGE_GROUP_ID\n };\n }\n};</script>\n\n<style lang=\"less\" scoped>\n.app-manage-search {\n padding: 0 12px 12px 12px;\n}\n\n.page-manage-collapse {\n height: calc(100% - 95px);\n overflow-y: auto;\n .app-manage-public-page {\n position: absolute;\n right: 0;\n cursor: pointer;\n svg {\n font-size: 22px;\n }\n }\n :deep(.tiny-collapse-item__header) {\n &,\n &.is-active {\n &::before {\n border: none;\n }\n }\n }\n :deep(.tiny-collapse-item) {\n border-left: 0;\n border-right: 0;\n }\n :deep(.tiny-collapse-item__content) {\n padding: 0 0 12px 0;\n }\n}\n\n.page-manage-collapse.page-manage-collapse {\n :deep(.tiny-collapse-item__content) {\n padding-top: 0;\n }\n}\n\n.app-manage-tree {\n .actions {\n display: flex;\n align-items: center;\n svg {\n color: var(--te-page-manage-icon-color);\n outline: none;\n }\n .auto-hidden {\n visibility: hidden;\n }\n }\n .row:hover .actions .auto-hidden {\n visibility: visible;\n }\n}\n</style>\n<style lang=\"less\">\n.tiny-popover.tiny-popper[x-placement].page-tree-row-operation-list {\n padding: 0;\n margin-top: 4px;\n .operation-list {\n min-width: 110px;\n padding: 8px 0;\n & > div {\n padding: 0 12px;\n }\n .item {\n height: 24px;\n font-size: 12px;\n line-height: 18px;\n cursor: pointer;\n display: flex;\n align-items: center;\n &:hover {\n background-color: var(--te-page-manage-operation-list-item-bg-color-hover);\n }\n }\n .divider {\n height: 8px;\n display: flex;\n align-items: center;\n &::after {\n content: '';\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--te-page-manage-operation-list-item-border-color-divider);\n }\n }\n .danger {\n color: var(--te-page-manage-operation-list-text-color-error);\n }\n }\n}\n</style>\n","<template>\n <div class=\"plugin-page\">\n <plugin-panel\n :title=\"title\"\n :fixed-name=\"PLUGIN_NAME.AppManage\"\n :fixedPanels=\"fixedPanels\"\n @close=\"pluginPanelClosed\"\n :docsUrl=\"docsUrl\"\n :docsContent=\"docsContent\"\n :isShowDocsIcon=\"true\"\n >\n <template #header>\n <svg-button\n class=\"add-folder-icon\"\n name=\"add-folder\"\n placement=\"bottom\"\n tips=\"新建文件夹\"\n @click=\"createNewFolder()\"\n ></svg-button>\n <svg-button\n class=\"new-page-icon\"\n name=\"new-page\"\n placement=\"bottom\"\n tips=\"新建页面\"\n @click=\"createNewPage('staticPages')\"\n ></svg-button>\n </template>\n <template #content>\n <page-tree\n ref=\"pageTreeRef\"\n :isFolder=\"state.isFolder\"\n @add=\"createNewPage('publicPages')\"\n @openSettingPanel=\"openSettingPanel\"\n @createPage=\"createNewPage\"\n @createFolder=\"createNewFolder\"\n @settingHome=\"settingHome\"\n ></page-tree>\n </template>\n </plugin-panel>\n <page-setting :isFolder=\"state.isFolder\" @openNewPage=\"openNewPage\"></page-setting>\n <page-folder-setting :isFolder=\"state.isFolder\"></page-folder-setting>\n </div>\n</template>\n<script lang=\"tsx\">import { callEntry as _callEntry, useCompile as _useCompile } from '@opentiny/tiny-engine-meta-register';\nimport _metaData from '../meta.js';\n/* metaService: engine.plugins.appmanage.Main */\nimport { reactive, ref, watchEffect, provide } from 'vue';\nimport { useCanvas, usePage, useHelp, useModal, useNotify, useLayout } from '@opentiny/tiny-engine-meta-register';\nimport { PluginPanel, SvgButton } from '@opentiny/tiny-engine-common';\nimport { extend } from '@opentiny/vue-renderless/common/object';\nimport PageSetting, { openPageSettingPanel, closePageSettingPanel } from './PageSetting.vue';\nimport PageFolderSetting, { openFolderSettingPanel, closeFolderSettingPanel } from './PageFolderSetting.vue';\nimport PageTree from './PageTree.vue';\nimport { fetchPageDetail, handleRouteHomeUpdate } from './http';\nexport const api = {\n getPageById: async id => {\n if (id) {\n return fetchPageDetail(id);\n }\n return undefined;\n },\n openPageSettingPanel\n};\n\n/* metaComponent: engine.plugins.page */\nexport default {\n components: {\n PageSetting: _useCompile({\n component: PageSetting,\n metaData: {\n id: 'engine.plugins.page.PageSetting'\n }\n }),\n PluginPanel: _useCompile({\n component: PluginPanel,\n metaData: {\n id: 'engine.plugins.page.PluginPanel'\n }\n }),\n SvgButton: _useCompile({\n component: SvgButton,\n metaData: {\n id: 'engine.plugins.page.SvgButton'\n }\n }),\n PageFolderSetting: _useCompile({\n component: PageFolderSetting,\n metaData: {\n id: 'engine.plugins.page.PageFolderSetting'\n }\n }),\n PageTree: _useCompile({\n component: PageTree,\n metaData: {\n id: 'engine.plugins.page.PageTree'\n }\n })\n },\n props: {\n title: {\n type: String,\n default: '页面'\n },\n fixedPanels: {\n type: Array\n }\n },\n emits: ['close'],\n setup(props, {\n emit\n }) {\n const {\n confirm\n } = useModal();\n const {\n pageState\n } = useCanvas();\n const {\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData\n } = usePage();\n const {\n PLUGIN_NAME\n } = useLayout();\n const panelState = reactive({\n emitEvent: emit\n });\n provide('panelState', panelState);\n const pageTreeRef = ref(null);\n const ROOT_ID = pageSettingState.ROOT_ID;\n const docsUrl = useHelp().getDocsUrl('page');\n const docsContent = '在这里新增页面/文件夹,还可以对已有的页面进行生命周期管理。';\n const state = reactive({\n isFolder: false\n });\n const createNewPage = _callEntry((group, parentId = ROOT_ID) => {\n closeFolderSettingPanel();\n pageSettingState.isNew = true;\n try {\n const defaultPage = getDefaultPage();\n if (!defaultPage) {\n throw new Error('Failed to get default page configuration');\n }\n pageSettingState.currentPageData = {\n ...getDefaultPage(),\n ...defaultPage,\n parentId,\n route: '',\n name: 'Untitled',\n page_content: {\n lifeCycles: {}\n },\n group\n };\n } catch (error) {\n throw new Error(error);\n // console.error('Failed to create new page:', error)\n }\n pageSettingState.currentPageDataCopy = extend(true, {}, pageSettingState.currentPageData);\n state.isFolder = false;\n openPageSettingPanel();\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.createNewPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n const createNewFolder = _callEntry((parentId = ROOT_ID) => {\n closePageSettingPanel();\n pageSettingState.isNew = true;\n pageSettingState.currentPageData = {\n parentId,\n route: '',\n name: 'untitled'\n };\n pageSettingState.currentPageDataCopy = extend(true, {}, pageSettingState.currentPageData);\n state.isFolder = true;\n openFolderSettingPanel();\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.createNewFolder'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n const settingHome = _callEntry(node => {\n confirm({\n title: '提示',\n type: 'warning ',\n message: '是否确定要将此页面设置为主页?',\n exec: () => {\n const params = {\n ...node.rawData,\n isHome: true\n };\n handleRouteHomeUpdate(node.id, params).then(() => {\n pageSettingState.updateTreeData();\n pageSettingState.isNew = false;\n useNotify({\n message: '主页设置成功!',\n type: 'success'\n });\n }).catch(() => {\n useNotify({\n message: '主页设置失败!',\n type: 'error'\n });\n });\n }\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.settingHome'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n watchEffect(() => {\n if (isTemporaryPage.saved) {\n openPageSettingPanel();\n }\n });\n const openSettingPanel = _callEntry(async pageData => {\n state.isFolder = !pageData.isPage;\n pageSettingState.isNew = false;\n const isPageChange = pageData.id !== pageSettingState.currentPageData.id;\n if (state.isFolder) {\n if (isPageChange) {\n closePageSettingPanel();\n }\n openFolderSettingPanel();\n } else {\n if (isPageChange) {\n closeFolderSettingPanel();\n }\n openPageSettingPanel();\n }\n const pageDetail = await fetchPageDetail(pageData?.id);\n initCurrentPageData(pageDetail);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.openSettingPanel'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n provide('openSettingPanel', openSettingPanel);\n const pluginPanelClosed = _callEntry(() => {\n emit('close');\n closePageSettingPanel();\n closeFolderSettingPanel();\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.pluginPanelClosed'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n const openNewPage = _callEntry(data => {\n pageTreeRef.value.switchPage(data);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.openNewPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n return {\n PLUGIN_NAME,\n state,\n pageState,\n openNewPage,\n pageTreeRef,\n pluginPanelClosed,\n openSettingPanel,\n createNewFolder,\n createNewPage,\n docsUrl,\n docsContent,\n settingHome\n };\n }\n};</script>\n\n<style lang=\"less\" scoped>\n:deep(.tiny-button) {\n border-radius: 4px;\n height: 24px;\n line-height: 24px;\n}\n.plugin-page {\n height: 100%;\n}\n</style>\n","import { HOOK_NAME } from '@opentiny/tiny-engine-meta-register'\nimport usePage from './usePage'\n\nexport const PageService = {\n id: 'engine.service.page',\n type: 'MetaService',\n apis: usePage(),\n composable: {\n name: HOOK_NAME.usePage\n }\n}\n","<template>\n <div class=\"general-config\">\n <tiny-form\n ref=\"generalForm\"\n :model=\"pageSettingState.currentPageData\"\n :rules=\"isFolder ? folderRules : pageRules\"\n label-width=\"120px\"\n validate-type=\"text\"\n :inline-message=\"true\"\n :label-align=\"true\"\n label-position=\"top\"\n class=\"general-config-form\"\n >\n <tiny-form-item v-if=\"!isFolder\" prop=\"group\" label=\"页面类型\" class=\"form-item-page-type\">\n <tiny-radio v-model=\"pageSettingState.currentPageData.group\" class=\"page-type-radio\" label=\"staticPages\">\n 静态页面\n </tiny-radio>\n <tiny-radio v-model=\"pageSettingState.currentPageData.group\" class=\"page-type-radio\" label=\"publicPages\">\n 公共页面\n </tiny-radio>\n </tiny-form-item>\n <tiny-form-item prop=\"name\" :label=\"`${isFolder ? '文件夹' : '页面'}名称`\">\n <tiny-input\n v-model=\"pageSettingState.currentPageData.name\"\n :placeholder=\"`请设置${isFolder ? '文件夹' : '页面'}名称`\"\n ></tiny-input>\n </tiny-form-item>\n\n <tiny-form-item\n v-if=\"pageSettingState.currentPageData.group !== 'publicPages'\"\n label=\"父文件夹/父页面\"\n prop=\"parentId\"\n >\n <tiny-select\n v-model=\"pageParentId\"\n value-field=\"id\"\n render-type=\"tree\"\n :tree-op=\"treeFolderOp\"\n text-field=\"name\"\n placeholder=\"请选择父文件夹/父页面\"\n popper-class=\"parent-fold-select-dropdown\"\n @change=\"changeParentForderId\"\n ></tiny-select>\n </tiny-form-item>\n\n <tiny-form-item label=\"页面路由\" prop=\"route\">\n <tiny-input v-model=\"pageSettingState.currentPageData.route\" placeholder=\"请设置路由\"> </tiny-input>\n <div class=\"tip\">\n <span class=\"text\" v-if=\"!pageSettingState.currentPageData.route\">路由将以website.com开头</span>\n <span class=\"route-text\" v-else>\n <span class=\"tip-text\">website.com/</span>\n <span class=\"tip-text-dim\">{{ currentRoute }}</span>\n </span>\n </div>\n </tiny-form-item>\n <tiny-form-item\n v-if=\"pageSettingState.currentPageData.group !== 'publicPages' && !isFolder && state.childPageOp?.length\"\n label=\"设置默认跳转页\"\n prop=\"isDefault\"\n >\n <tiny-select\n v-model=\"state.defaultPageId\"\n :options=\"state.childPageOp\"\n placeholder=\"请选择默认跳转页\"\n @change=\"changeDefaultPage\"\n ></tiny-select>\n <div v-if=\"state.defaultPageId\" class=\"tip\">\n <div class=\"tip-text\">访问</div>\n <span class=\"tip-text-dim\">/{{ currentRoute }}</span>\n <div class=\"tip-text\">路由,默认跳转</div>\n <span class=\"tip-text-dim\">/{{ currentRoute }}/{{ pageSettingState?.defaultPage?.route }}</span>\n </div>\n </tiny-form-item>\n </tiny-form>\n </div>\n</template>\n<script lang=\"tsx\">import { callEntry as _callEntry, useCompile as _useCompile } from '@opentiny/tiny-engine-meta-register';\nimport _metaData from '../meta.js';\n/* metaService: engine.plugins.appmanage.PageGeneral */\nimport { ref, computed, watchEffect, reactive } from 'vue';\nimport { Form, FormItem, Input, Select, Radio } from '@opentiny/vue';\nimport { iconFile } from '@opentiny/vue-icon';\nimport { usePage } from '@opentiny/tiny-engine-meta-register';\nimport { REGEXP_PAGE_NAME, REGEXP_FOLDER_NAME, REGEXP_ROUTE } from '@opentiny/tiny-engine-common/js/verification';\nexport default {\n components: {\n TinyForm: Form,\n TinyFormItem: FormItem,\n TinyInput: Input,\n TinySelect: Select,\n TinyRadio: Radio\n },\n props: {\n modelValue: {\n type: Object,\n default: () => ({})\n },\n isFolder: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n const {\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren\n } = usePage();\n const ROOT_ID = pageSettingState.ROOT_ID;\n const pageParentId = computed({\n get() {\n return String(pageSettingState.currentPageData.parentId);\n },\n set(value) {\n pageSettingState.currentPageData.parentId = value;\n }\n });\n const oldParentId = ref(pageParentId.value);\n const state = reactive({\n childPageList: [],\n childPageOp: [],\n defaultPageId: ''\n });\n const setChildAndDefaultPage = _callEntry(async id => {\n if (pageSettingState.isNew) {\n state.childPageList = [];\n state.childPageOp = [];\n state.defaultPageId = '';\n } else {\n state.childPageList = await getPageChildren(id);\n const defaultPage = state.childPageList?.find(item => item.isDefault);\n pageSettingState.defaultPage = defaultPage ? defaultPage : null;\n state.defaultPageId = defaultPage ? defaultPage.id : '';\n state.childPageOp = state.childPageList.map(item => {\n return {\n value: item.id,\n label: item.name,\n icon: iconFile()\n };\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.setChildAndDefaultPage'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const changeDefaultPage = _callEntry(() => {\n pageSettingState.defaultPage = state.childPageList.find(item => item.id === state.defaultPageId);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.changeDefaultPage'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n watchEffect(() => {\n oldParentId.value = pageSettingState.oldParentId;\n setChildAndDefaultPage(pageSettingState.currentPageData?.id);\n });\n const currentRoute = computed(() => {\n let route = pageSettingState.currentPageData.route || '';\n let parentId = pageParentId.value;\n while (parentId !== ROOT_ID) {\n const parent = pageSettingState.treeDataMapping[parentId];\n if (!parent) {\n break;\n }\n route = `${parent.route}/${route}`;\n parentId = parent.parentId;\n }\n if (route.startsWith('/')) {\n route = route.slice(1);\n }\n return route;\n });\n\n // 新建页面/更新页面校验规则\n const pageRules = {\n name: [{\n required: true,\n message: '请输入页面 ID'\n }, {\n pattern: REGEXP_PAGE_NAME,\n message: '只允许包含英文字母,且为大写开头驼峰格式, 如DemoPage'\n }, {\n min: 3,\n max: 25,\n message: '长度在 3 到 25 个字符'\n }],\n route: [{\n required: true,\n message: '请输入页面路由'\n }, {\n pattern: REGEXP_ROUTE,\n message: '只允许包含英文字母、数字、下横线_、中横线-、正斜杠/, 且以英文字母开头'\n }]\n };\n const folderRules = {\n name: [{\n required: true,\n message: '请输入页面文件夹 ID'\n }, {\n pattern: REGEXP_FOLDER_NAME,\n message: '只允许包含英文字母、数字、下横线_、中横线-, 且以英文字母开头'\n }, {\n min: 3,\n max: 25,\n message: '长度在 3 到 25 个字符'\n }],\n route: [{\n required: true,\n message: '请输入页面文件夹路由'\n }, {\n pattern: REGEXP_ROUTE,\n message: '只允许包含英文字母、数字、下横线_、中横线-、正斜杠/, 且以英文字母开头'\n }],\n group: [{\n required: true,\n message: '必须选择页面类型'\n }]\n };\n const pageToTreeData = _callEntry(page => {\n const {\n id,\n name,\n isPage,\n children\n } = page;\n const result = {\n id: String(id),\n name,\n isPage\n };\n if (Array.isArray(children)) {\n result.children = children.filter(page => page.id !== pageSettingState.currentPageData.id).map(page => pageToTreeData(page));\n }\n return result;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.pageToTreeData'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const getNodeIcon = _callEntry(data => {\n if (data.id === ROOT_ID) {\n return null;\n }\n if (data.isPage) {\n return <SvgIcon name=\"text-page-common\"></SvgIcon>;\n }\n return <SvgIcon name=\"text-page-folder\"></SvgIcon>;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.getNodeIcon'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const treeFolderOp = computed(() => {\n const staticPages = pageSettingState.pages[STATIC_PAGE_GROUP_ID]?.data || [];\n const dummyRoot = pageToTreeData({\n children: [{\n name: '无',\n id: ROOT_ID\n }].concat(staticPages)\n });\n const data = dummyRoot.children;\n const options = {\n data: data,\n shrinkIcon: null,\n expandIcon: null,\n renderContent: (_h, {\n node,\n data\n }) => {\n return <>\n {getNodeIcon(data)}\n <div>{node.label}</div>\n </>;\n }\n };\n return options;\n });\n const generalForm = ref(null);\n const validGeneralForm = _callEntry(() => {\n return new Promise(resolve => {\n generalForm.value.validate(valid => {\n if (valid) {\n resolve(valid);\n }\n });\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.validGeneralForm'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const changeParentForderId = _callEntry(value => {\n changeTreeData(value.id, oldParentId.value);\n oldParentId.value = value.id;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.changeParentForderId'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n return {\n pageRules,\n folderRules,\n pageSettingState,\n pageParentId,\n generalForm,\n validGeneralForm,\n treeFolderOp,\n currentRoute,\n changeParentForderId,\n state,\n changeDefaultPage\n };\n }\n};</script>\n\n<style lang=\"less\" scoped>\n.general-config {\n .general-config-form {\n .input-head {\n color: var(--te-page-manage-input-head-text-color);\n }\n :deep(.tiny-form-item) {\n margin-bottom: 16px;\n .tiny-input-group__prepend {\n border: 1px solid var(--te-page-manage-input-border-color);\n background: var(--te-page-manage-input-bg-color);\n }\n .page-type-radio {\n color: var(--te-page-manage-title-text-color);\n }\n .tiny-form-item__label {\n height: 24px;\n line-height: 18px;\n font-size: 12px;\n color: var(--te-page-manage-text-color);\n }\n }\n }\n .tip {\n color: var(--te-page-manage-tip-color);\n font-size: 12px;\n border-radius: 3px;\n margin-top: 4px;\n width: 100%;\n word-wrap: break-word;\n height: auto;\n line-height: 16px;\n .text {\n color: var(--te-page-manage-tip-text-color);\n }\n .tip-text {\n width: 100%;\n color: var(--te-page-manage-tip-text-color);\n }\n .tip-text-dim {\n color: var(--te-page-manage-tip-dim-text-color);\n }\n }\n}\n</style>\n<style lang=\"less\">\n.tiny-select-dropdown.parent-fold-select-dropdown {\n padding: 8px;\n .tiny-tree {\n .tiny-tree-node {\n .tiny-tree-node__content {\n padding: 0;\n background-color: var(--te-page-manage-tree-node-bg-color);\n &:hover {\n background-color: var(--te-page-manage-tree-node-bg-color-hover);\n }\n // 移除子节点的的背景色,才能保证鼠标hover到.tiny-tree-node__content节点任意位置时,整行都有hover状态的背景色\n .tiny-tree-node__content-left,\n .tiny-tree-node__content-left .tiny-tree-node__content-box {\n background-color: unset;\n &:hover {\n background-color: unset;\n }\n }\n .tiny-tree-node__content-left {\n padding: 0;\n .tree-node-icon {\n margin: 0;\n }\n .tiny-tree-node__content-box {\n padding: 0 12px;\n svg {\n margin-right: 8px;\n }\n }\n .tiny-tree-node__label {\n font-size: 12px;\n }\n }\n }\n }\n }\n}\n</style>\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry, { api } from './src/Main.vue'\nimport metaData from './meta'\nimport { PageService } from './src/composable/index'\nimport PageGeneral from './src/PageGeneral.vue'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n apis: api,\n entry,\n options: {\n pageBaseStyle: {\n className: 'page-base-style',\n style: 'padding: 24px;background: #FFFFFF;'\n }\n },\n components: {\n PageGeneral\n },\n metas: [PageService]\n}\n\nexport { PageService }\n"],"names":["metaData","PAGE_STATUS","constants","_sfc_main$2","components","TinySearch","Search","TinyCollapse","Collapse","TinyCollapseItem","CollapseItem","TinyIconSearch","IconSearch","TinyPopover","Popover","DraggableTree","SvgButton","props","isFolder","type","Boolean","default","emits","setup","emit","confirm","useModal","pageState","isBlock","isSaved","useCanvas","pageSettingState","changeTreeData","isCurrentDataSame","getPageList","resetPageData","STATIC_PAGE_GROUP_ID","COMMON_PAGE_GROUP_ID","switchPage","switchPageById","usePage","fetchPageDetail","requestUpdatePage","http","getAppId","_callEntry","getMetaApi","META_SERVICE","GlobalService","getBaseInfo","id","ctx","customPageOperations","state","subscribe","unsubscribe","refreshPageList","subscriber","nodeClick","openSettingPanel","popoverRefs","setPopoverRef","handleClickRow","isPageLocked","handleClickPageSettings","createPage","createFolder","settingHome","rowOperations","getRowOperations","updatePage","updateFolder","handleMoveNode","createPublicPage","IconFolderOpened","IconFolderClosed","useNotify","useMessage","getOptions","isEqual","getCanvasStatus","handlePageUpdate","closePageSettingPanel","closeFolderSettingPanel","meta","reactive","pageSearchValue","collapseValue","currentNodeData","pageId","appId","onMounted","topic","callback","data","onUnmounted","updateTreeData","then","e","pageData","stopPropagation","isPage","title","message","exec","oldParentId","currentPageData","parentId","Object","assign","currentPageDataCopy","username","occupier","name","el","nodeId","node","rawData","Lock","label","action","map","item","doClose","groupId","slice","group","filter","pageDetail","page_content","params","fileName","isCurEditPage","currentPage","catch","error","JSON","stringify","finally","isNew","dragged","newParent","isDefault","preventDefault","api","getPageById","openPageSettingPanel","_sfc_main$1","PageSetting","_useCompile","component","PluginPanel","PageFolderSetting","PageTree","String","fixedPanels","Array","getDefaultPage","isTemporaryPage","initCurrentPageData","PLUGIN_NAME","useLayout","panelState","emitEvent","provide","pageTreeRef","ref","ROOT_ID","docsUrl","useHelp","getDocsUrl","docsContent","createNewPage","defaultPage","Error","route","lifeCycles","extend","createNewFolder","pluginPanelClosed","openNewPage","openFolderSettingPanel","handleRouteHomeUpdate","isHome","watchEffect","saved","isPageChange","value","PageService","HOOK_NAME","_sfc_main","TinyForm","Form","TinyFormItem","FormItem","TinyInput","Input","TinySelect","Select","TinyRadio","Radio","modelValue","getPageChildren","pageParentId","computed","get","set","childPageList","childPageOp","defaultPageId","setChildAndDefaultPage","find","icon","iconFile","changeDefaultPage","currentRoute","pageRules","folderRules","pageToTreeData","getNodeIcon","treeFolderOp","generalForm","validGeneralForm","changeParentForderId","REGEXP_PAGE_NAME","REGEXP_FOLDER_NAME","REGEXP_ROUTE","parent","treeDataMapping","startsWith","required","pattern","min","max","page","children","result","isArray","_createVNode","_resolveComponent","staticPages","pages","concat","shrinkIcon","expandIcon","renderContent","_h","_Fragment","Promise","resolve","validate","valid","index","entry","PageGeneral"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAAA,IAAe;AAAA,EACb,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.js","sources":["../meta.js","../src/PageTree.vue","../src/Main.vue","../src/composable/index.ts","../src/PageGeneral.vue","../index.ts"],"sourcesContent":["export default {\n id: 'engine.plugins.appmanage',\n title: '页面',\n type: 'plugins',\n icon: 'plugin-icon-page'\n}\n","<template>\n <div class=\"app-manage-search\">\n <tiny-search v-model=\"state.pageSearchValue\" clearable placeholder=\"搜索\">\n <template #prefix>\n <tiny-icon-search />\n </template>\n </tiny-search>\n </div>\n\n <tiny-collapse v-model=\"state.collapseValue\" class=\"page-manage-collapse lowcode-scrollbar\">\n <tiny-collapse-item v-for=\"(groupItem, index) in pageSettingState.pages\" :key=\"index\" :name=\"groupItem.groupId\">\n <template #title>\n <span class=\"title\">{{ groupItem.groupName }}</span>\n </template>\n <div class=\"app-manage-tree\">\n <draggable-tree\n :data=\"groupItem.data\"\n label-key=\"name\"\n :active=\"state.currentNodeData.id\"\n :filter-value=\"state.pageSearchValue\"\n :root-id=\"pageSettingState.ROOT_ID\"\n :draggable=\"groupItem.groupId === STATIC_PAGE_GROUP_ID\"\n @click-row=\"handleClickRow\"\n @move-node=\"handleMoveNode\"\n >\n <template #row-suffix=\"{ node }\">\n <div :class=\"['actions']\">\n <svg-button v-if=\"isPageLocked(node.rawData)\" name=\"locked\" :hoverBgColor=\"false\"></svg-button>\n <svg-button v-if=\"node.rawData.isHome\" name=\"home\" :hoverBgColor=\"false\"></svg-button>\n <tiny-popover\n :ref=\"(el) => setPopoverRef(el, node.id)\"\n placement=\"bottom-start\"\n :visible-arrow=\"false\"\n popper-class=\"page-tree-row-operation-list\"\n >\n <div class=\"operation-list\">\n <div\n v-for=\"(operation, index) in getRowOperations(groupItem.groupId, node)\"\n :key=\"index\"\n :class=\"[operation.type === 'divider' ? 'divider' : 'item'].concat(operation.class || [])\"\n @click=\"operation.action?.(node)\"\n >\n {{ operation.label }}\n </div>\n </div>\n <template #reference>\n <svg-button name=\"ellipsis\" class=\"auto-hidden\" :hoverBgColor=\"false\"></svg-button>\n </template>\n </tiny-popover>\n </div>\n </template>\n </draggable-tree>\n </div>\n </tiny-collapse-item>\n </tiny-collapse>\n</template>\n<script lang=\"tsx\">import { callEntry as _callEntry, useCompile as _useCompile } from '@opentiny/tiny-engine-meta-register';\nimport _metaData from '../meta.js';\n/* metaService: engine.plugins.appmanage.PageTree */\nimport { reactive, onMounted, onUnmounted } from 'vue';\nimport { Search, Collapse, CollapseItem, Popover } from '@opentiny/vue';\nimport { IconFolderOpened, IconFolderClosed, IconSearch } from '@opentiny/vue-icon';\nimport { useCanvas, useModal, usePage, useNotify, useMessage, getMetaApi, getOptions, META_SERVICE } from '@opentiny/tiny-engine-meta-register';\nimport { isEqual } from '@opentiny/vue-renderless/common/object';\nimport { getCanvasStatus } from '@opentiny/tiny-engine-common/js/canvas';\nimport { handlePageUpdate } from '@opentiny/tiny-engine-common/js/http';\nimport { constants } from '@opentiny/tiny-engine-utils';\nimport { closePageSettingPanel } from './PageSetting.vue';\nimport { closeFolderSettingPanel } from './PageFolderSetting.vue';\nimport http from './http';\nimport DraggableTree from './Tree.vue';\nimport { SvgButton } from '@opentiny/tiny-engine-common';\nimport meta from '../meta';\nconst {\n PAGE_STATUS\n} = constants;\nexport default {\n components: {\n TinySearch: Search,\n TinyCollapse: Collapse,\n TinyCollapseItem: CollapseItem,\n TinyIconSearch: IconSearch(),\n TinyPopover: Popover,\n DraggableTree,\n SvgButton\n },\n props: {\n isFolder: {\n type: Boolean,\n default: false\n }\n },\n emits: ['openSettingPanel', 'add', 'createPage', 'createFolder', 'settingHome'],\n setup(props, {\n emit\n }) {\n const {\n confirm\n } = useModal();\n const {\n pageState,\n isBlock,\n isSaved\n } = useCanvas();\n const {\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPage: switchPageById\n } = usePage();\n const {\n fetchPageDetail,\n requestUpdatePage\n } = http;\n const getAppId = _callEntry(() => getMetaApi(META_SERVICE.GlobalService).getBaseInfo().id, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.getAppId'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const {\n customPageOperations = []\n } = getOptions(meta.id);\n const state = reactive({\n pageSearchValue: '',\n collapseValue: [STATIC_PAGE_GROUP_ID, COMMON_PAGE_GROUP_ID],\n currentNodeData: {\n id: getMetaApi(META_SERVICE.GlobalService).getBaseInfo().pageId\n }\n });\n const {\n subscribe,\n unsubscribe\n } = useMessage();\n const refreshPageList = _callEntry((appId: string) => getPageList(appId), {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.refreshPageList'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n let subscriber = null;\n onMounted(_callEntry(() => {\n refreshPageList(getAppId());\n subscriber = subscribe({\n topic: 'locationHistoryChanged',\n callback: data => {\n if (data.pageId) {\n state.currentNodeData = {\n id: data.pageId\n };\n } else if (isBlock()) {\n state.currentNodeData = {};\n }\n },\n subscriber: 'pageTree'\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.onMounted[0]'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n }));\n onUnmounted(_callEntry(() => {\n if (subscriber) {\n unsubscribe(subscriber);\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.onUnmounted[0]'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n }));\n pageSettingState.updateTreeData = async () => {\n const pageList = await refreshPageList(getAppId());\n return pageList;\n };\n const switchPage = _callEntry(data => {\n state.currentNodeData = data;\n switchPageById(data.id).then(() => {\n closePageSettingPanel();\n closeFolderSettingPanel();\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.switchPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const nodeClick = _callEntry((e, pageData) => {\n e?.stopPropagation();\n const {\n id,\n isPage\n } = pageData;\n\n // 区块切换回页面需要重新加载页面\n // 区块切换回页面需要重新加载页面\n if (!isBlock() && id === state?.currentNodeData?.id || !isPage) {\n return;\n }\n if (isSaved() && isCurrentDataSame()) {\n switchPage(pageData);\n } else {\n confirm({\n title: '提示',\n message: `${isBlock() ? '区块' : '页面'}尚未保存,是否要继续切换?`,\n exec: () => {\n changeTreeData(pageSettingState.oldParentId, pageSettingState.currentPageData.parentId);\n Object.assign(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy);\n switchPage(pageData);\n }\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.nodeClick'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const openSettingPanel = _callEntry((e, pageData, isPageLocked) => {\n e?.stopPropagation();\n if (isPageLocked && pageData.isPage) {\n const username = pageData.occupier?.username || '';\n useModal().message({\n message: `您点击的页面被${username}锁定,暂时无法编辑,请联系解锁`\n });\n return;\n }\n if (isEqual(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy)) {\n emit('openSettingPanel', pageData);\n } else {\n confirm({\n title: '提示',\n message: `当前页面或文件夹${pageSettingState.currentPageData.name}尚未保存,是否要继续切换?`,\n exec: () => {\n changeTreeData(pageSettingState.oldParentId, pageSettingState.currentPageData.parentId);\n Object.assign(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy);\n emit('openSettingPanel', pageData);\n }\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.openSettingPanel'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const popoverRefs = {};\n const setPopoverRef = _callEntry((el, nodeId) => {\n popoverRefs[nodeId] = el;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.setPopoverRef'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const handleClickRow = _callEntry(node => {\n nodeClick(null, node.rawData);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.handleClickRow'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const isPageLocked = _callEntry(pageData => {\n return getCanvasStatus(pageData.occupier).state === PAGE_STATUS.Lock;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.isPageLocked'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const handleClickPageSettings = _callEntry(node => {\n openSettingPanel(null, node.rawData, isPageLocked(node.rawData));\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.handleClickPageSettings'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const createPage = _callEntry(node => {\n emit('createPage', 'staticPages', node.id);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.createPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const createFolder = _callEntry(node => {\n emit('createFolder', node.id);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.createFolder'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const settingHome = _callEntry(node => {\n emit('settingHome', node);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.settingHome'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const rowOperations = [{\n type: 'settings',\n label: '设置',\n action: handleClickPageSettings\n }, {\n type: 'divider'\n }, {\n type: 'createPage',\n label: '新建子页面',\n action: createPage\n }, {\n type: 'createFolder',\n label: '新建子文件夹',\n action: createFolder\n }, {\n type: 'settingHome',\n label: '设置为主页',\n action: settingHome\n }, ...customPageOperations\n // TODO 复制和删除的逻辑耦合在其他组件内,暂时屏蔽\n // { type: 'divider' },\n // { type: 'copy', label: '复制页面', action: copyPage },\n // { type: 'delete', label: '删除', class: ['danger'], action: deleteNode }\n ].map(item => ({\n ...item,\n action: node => {\n item.action?.(node, emit);\n // 点击 action 后,关闭 popover 弹窗\n popoverRefs[node.id]?.doClose?.();\n }\n }));\n const getRowOperations = _callEntry((groupId, node) => {\n if (groupId === COMMON_PAGE_GROUP_ID) {\n return rowOperations.slice(0, 1);\n }\n if (!node.rawData.isPage || node.rawData.group === 'public') {\n return rowOperations.filter(item => item.type !== 'settingHome');\n }\n // TODO 复制逻辑暂时屏蔽\n // if (!node.rawData.isPage) {\n // return rowOperations.filter((item) => item.type !== 'copy')\n // }\n\n // TODO 复制逻辑暂时屏蔽\n // if (!node.rawData.isPage) {\n // return rowOperations.filter((item) => item.type !== 'copy')\n // }\n\n return rowOperations;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.getRowOperations'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const updatePage = _callEntry(pageDetail => {\n const {\n id,\n name,\n page_content\n } = pageDetail;\n const params = {\n ...pageDetail,\n page_content: {\n ...page_content,\n fileName: name\n }\n };\n const isCurEditPage = pageState?.currentPage?.id === id;\n const updateParams = {\n id,\n params,\n isCurEditPage\n };\n return handlePageUpdate(updateParams);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.updatePage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const updateFolder = _callEntry(pageDetail => {\n const {\n id\n } = pageDetail;\n\n // requestUpdatePage加了then和catch回调函数,而handlePageUpdate没有加,是因为handlePageUpdate内部都已经有了类似逻辑\n // requestUpdatePage加了then和catch回调函数,而handlePageUpdate没有加,是因为handlePageUpdate内部都已经有了类似逻辑\n return requestUpdatePage(id, {\n ...pageDetail,\n page_content: null\n }).then(() => {\n useNotify({\n type: 'success',\n message: '更新文件夹成功!'\n });\n }).catch(error => {\n useNotify({\n type: 'error',\n title: '更新文件夹失败',\n message: JSON.stringify(error?.message || error)\n });\n }).finally(() => {\n pageSettingState.updateTreeData();\n pageSettingState.isNew = false;\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.updateFolder'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n const handleMoveNode = _callEntry((dragged, newParent) => {\n if (isEqual(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy)) {\n closePageSettingPanel();\n closeFolderSettingPanel();\n pageSettingState.currentPageData.id = dragged.id;\n changeTreeData(newParent.id, dragged.parentId);\n resetPageData();\n // TODO 页面更换父节点后,原来每次变更需要填写变更信息\n // TODO 页面更换父节点后,原来每次变更需要填写变更信息\n fetchPageDetail(dragged.id).then(pageDetail => {\n pageDetail.parentId = newParent.id;\n if (pageDetail.isPage) {\n pageDetail.isDefault = false;\n updatePage(pageDetail);\n } else {\n updateFolder(pageDetail);\n }\n }).catch(error => {\n useNotify({\n type: 'error',\n title: '移动页面文件/文件夹失败',\n message: JSON.stringify(error?.message || error)\n });\n });\n } else {\n confirm({\n title: '提示',\n message: '更改尚未保存,是否要放弃这些更改?',\n exec: () => {\n if (!pageSettingState.isNew) {\n changeTreeData(pageSettingState.oldParentId, pageSettingState.currentPageData.parentId);\n Object.assign(pageSettingState.currentPageData, pageSettingState.currentPageDataCopy);\n }\n closePageSettingPanel();\n }\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.handleMoveNode'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n useMessage().subscribe({\n topic: 'app_id_changed',\n subscriber: 'page_tree_app_id_changed',\n callback: appId => {\n refreshPageList(appId);\n }\n });\n const createPublicPage = _callEntry(e => {\n e.stopPropagation();\n e.preventDefault();\n emit('add');\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.createPublicPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n });\n onUnmounted(_callEntry(() => {\n useMessage().unsubscribe({\n topic: 'app_id_changed',\n subscriber: 'page_tree_app_id_changed'\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageTree.onUnmounted[1]'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n isBlock,\n isSaved,\n pageSettingState,\n changeTreeData,\n isCurrentDataSame,\n getPageList,\n resetPageData,\n STATIC_PAGE_GROUP_ID,\n COMMON_PAGE_GROUP_ID,\n switchPageById,\n fetchPageDetail,\n requestUpdatePage,\n getAppId,\n customPageOperations,\n state,\n subscribe,\n unsubscribe,\n refreshPageList,\n subscriber,\n switchPage,\n nodeClick,\n openSettingPanel,\n popoverRefs,\n setPopoverRef,\n handleClickRow,\n isPageLocked,\n handleClickPageSettings,\n createPage,\n createFolder,\n settingHome,\n rowOperations,\n getRowOperations,\n updatePage,\n updateFolder,\n handleMoveNode,\n createPublicPage,\n IconFolderOpened,\n IconFolderClosed,\n IconSearch,\n useCanvas,\n useModal,\n usePage,\n useNotify,\n useMessage,\n getMetaApi,\n getOptions,\n META_SERVICE,\n isEqual,\n getCanvasStatus,\n handlePageUpdate,\n constants,\n closePageSettingPanel,\n closeFolderSettingPanel,\n http,\n DraggableTree,\n SvgButton,\n meta,\n PAGE_STATUS\n })\n }));\n return {\n createPublicPage,\n state,\n switchPage,\n pageSettingState,\n setPopoverRef,\n IconFolderOpened: IconFolderOpened(),\n IconFolderClosed: IconFolderClosed(),\n getRowOperations,\n handleClickRow,\n handleMoveNode,\n isPageLocked,\n handleClickPageSettings,\n STATIC_PAGE_GROUP_ID\n };\n }\n};</script>\n\n<style lang=\"less\" scoped>\n.app-manage-search {\n padding: 0 12px 12px 12px;\n}\n\n.page-manage-collapse {\n height: calc(100% - 95px);\n overflow-y: auto;\n .app-manage-public-page {\n position: absolute;\n right: 0;\n cursor: pointer;\n svg {\n font-size: 22px;\n }\n }\n :deep(.tiny-collapse-item__header) {\n &,\n &.is-active {\n &::before {\n border: none;\n }\n }\n }\n :deep(.tiny-collapse-item) {\n border-left: 0;\n border-right: 0;\n }\n :deep(.tiny-collapse-item__content) {\n padding: 0 0 12px 0;\n }\n}\n\n.page-manage-collapse.page-manage-collapse {\n :deep(.tiny-collapse-item__content) {\n padding-top: 0;\n }\n}\n\n.app-manage-tree {\n .actions {\n display: flex;\n align-items: center;\n svg {\n color: var(--te-page-manage-icon-color);\n outline: none;\n }\n .auto-hidden {\n visibility: hidden;\n }\n }\n .row:hover .actions .auto-hidden {\n visibility: visible;\n }\n}\n</style>\n<style lang=\"less\">\n.tiny-popover.tiny-popper[x-placement].page-tree-row-operation-list {\n padding: 0;\n margin-top: 4px;\n .operation-list {\n min-width: 110px;\n padding: 8px 0;\n & > div {\n padding: 0 12px;\n }\n .item {\n height: 24px;\n font-size: 12px;\n line-height: 18px;\n cursor: pointer;\n display: flex;\n align-items: center;\n &:hover {\n background-color: var(--te-page-manage-operation-list-item-bg-color-hover);\n }\n }\n .divider {\n height: 8px;\n display: flex;\n align-items: center;\n &::after {\n content: '';\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--te-page-manage-operation-list-item-border-color-divider);\n }\n }\n .danger {\n color: var(--te-page-manage-operation-list-text-color-error);\n }\n }\n}\n</style>\n","<template>\n <div class=\"plugin-page\">\n <plugin-panel\n :title=\"title\"\n :fixed-name=\"PLUGIN_NAME.AppManage\"\n :fixedPanels=\"fixedPanels\"\n @close=\"pluginPanelClosed\"\n :docsUrl=\"docsUrl\"\n :docsContent=\"docsContent\"\n :isShowDocsIcon=\"true\"\n >\n <template #header>\n <svg-button\n class=\"add-folder-icon\"\n name=\"add-folder\"\n placement=\"bottom\"\n tips=\"新建文件夹\"\n @click=\"createNewFolder()\"\n ></svg-button>\n <svg-button\n class=\"new-page-icon\"\n name=\"new-page\"\n placement=\"bottom\"\n tips=\"新建页面\"\n @click=\"createNewPage('staticPages')\"\n ></svg-button>\n </template>\n <template #content>\n <page-tree\n ref=\"pageTreeRef\"\n :isFolder=\"state.isFolder\"\n @add=\"createNewPage('publicPages')\"\n @openSettingPanel=\"openSettingPanel\"\n @createPage=\"createNewPage\"\n @createFolder=\"createNewFolder\"\n @settingHome=\"settingHome\"\n ></page-tree>\n </template>\n </plugin-panel>\n <page-setting :isFolder=\"state.isFolder\" @openNewPage=\"openNewPage\"></page-setting>\n <page-folder-setting :isFolder=\"state.isFolder\"></page-folder-setting>\n </div>\n</template>\n<script lang=\"tsx\">import { callEntry as _callEntry, useCompile as _useCompile } from '@opentiny/tiny-engine-meta-register';\nimport _metaData from '../meta.js';\n/* metaService: engine.plugins.appmanage.Main */\nimport { reactive, ref, watchEffect, provide } from 'vue';\nimport { useCanvas, usePage, useHelp, useModal, useNotify, useLayout } from '@opentiny/tiny-engine-meta-register';\nimport { PluginPanel, SvgButton } from '@opentiny/tiny-engine-common';\nimport { extend } from '@opentiny/vue-renderless/common/object';\nimport PageSetting, { openPageSettingPanel, closePageSettingPanel } from './PageSetting.vue';\nimport PageFolderSetting, { openFolderSettingPanel, closeFolderSettingPanel } from './PageFolderSetting.vue';\nimport PageTree from './PageTree.vue';\nimport { fetchPageDetail, handleRouteHomeUpdate } from './http';\nexport const api = {\n getPageById: async id => {\n if (id) {\n return fetchPageDetail(id);\n }\n return undefined;\n },\n openPageSettingPanel\n};\n\n/* metaComponent: engine.plugins.page */\nexport default {\n components: {\n PageSetting: _useCompile({\n component: PageSetting,\n metaData: {\n id: 'engine.plugins.page.PageSetting'\n }\n }),\n PluginPanel: _useCompile({\n component: PluginPanel,\n metaData: {\n id: 'engine.plugins.page.PluginPanel'\n }\n }),\n SvgButton: _useCompile({\n component: SvgButton,\n metaData: {\n id: 'engine.plugins.page.SvgButton'\n }\n }),\n PageFolderSetting: _useCompile({\n component: PageFolderSetting,\n metaData: {\n id: 'engine.plugins.page.PageFolderSetting'\n }\n }),\n PageTree: _useCompile({\n component: PageTree,\n metaData: {\n id: 'engine.plugins.page.PageTree'\n }\n })\n },\n props: {\n title: {\n type: String,\n default: '页面'\n },\n fixedPanels: {\n type: Array\n }\n },\n emits: ['close'],\n setup(props, {\n emit\n }) {\n const {\n confirm\n } = useModal();\n const {\n pageState\n } = useCanvas();\n const {\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData\n } = usePage();\n const {\n PLUGIN_NAME\n } = useLayout();\n const panelState = reactive({\n emitEvent: emit\n });\n provide('panelState', panelState);\n const pageTreeRef = ref(null);\n const ROOT_ID = pageSettingState.ROOT_ID;\n const docsUrl = useHelp().getDocsUrl('page');\n const docsContent = '在这里新增页面/文件夹,还可以对已有的页面进行生命周期管理。';\n const state = reactive({\n isFolder: false\n });\n const createNewPage = _callEntry((group, parentId = ROOT_ID) => {\n closeFolderSettingPanel();\n pageSettingState.isNew = true;\n try {\n const defaultPage = getDefaultPage();\n if (!defaultPage) {\n throw new Error('Failed to get default page configuration');\n }\n pageSettingState.currentPageData = {\n ...getDefaultPage(),\n ...defaultPage,\n parentId,\n route: '',\n name: 'Untitled',\n page_content: {\n lifeCycles: {}\n },\n group\n };\n } catch (error) {\n throw new Error(error);\n // console.error('Failed to create new page:', error)\n }\n pageSettingState.currentPageDataCopy = extend(true, {}, pageSettingState.currentPageData);\n state.isFolder = false;\n openPageSettingPanel();\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.createNewPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n const createNewFolder = _callEntry((parentId = ROOT_ID) => {\n closePageSettingPanel();\n pageSettingState.isNew = true;\n pageSettingState.currentPageData = {\n parentId,\n route: '',\n name: 'untitled'\n };\n pageSettingState.currentPageDataCopy = extend(true, {}, pageSettingState.currentPageData);\n state.isFolder = true;\n openFolderSettingPanel();\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.createNewFolder'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n const settingHome = _callEntry(node => {\n confirm({\n title: '提示',\n type: 'warning ',\n message: '是否确定要将此页面设置为主页?',\n exec: () => {\n const params = {\n ...node.rawData,\n isHome: true\n };\n handleRouteHomeUpdate(node.id, params).then(() => {\n pageSettingState.updateTreeData();\n pageSettingState.isNew = false;\n useNotify({\n message: '主页设置成功!',\n type: 'success'\n });\n }).catch(() => {\n useNotify({\n message: '主页设置失败!',\n type: 'error'\n });\n });\n }\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.settingHome'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n watchEffect(() => {\n if (isTemporaryPage.saved) {\n openPageSettingPanel();\n }\n });\n const openSettingPanel = _callEntry(async pageData => {\n state.isFolder = !pageData.isPage;\n pageSettingState.isNew = false;\n const isPageChange = pageData.id !== pageSettingState.currentPageData.id;\n if (state.isFolder) {\n if (isPageChange) {\n closePageSettingPanel();\n }\n openFolderSettingPanel();\n } else {\n if (isPageChange) {\n closeFolderSettingPanel();\n }\n openPageSettingPanel();\n }\n const pageDetail = await fetchPageDetail(pageData?.id);\n initCurrentPageData(pageDetail);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.openSettingPanel'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n provide('openSettingPanel', openSettingPanel);\n const pluginPanelClosed = _callEntry(() => {\n emit('close');\n closePageSettingPanel();\n closeFolderSettingPanel();\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.pluginPanelClosed'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n const openNewPage = _callEntry(data => {\n pageTreeRef.value.switchPage(data);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.Main.openNewPage'\n },\n ctx: () => ({\n props,\n emit,\n confirm,\n pageState,\n pageSettingState,\n getDefaultPage,\n isTemporaryPage,\n initCurrentPageData,\n PLUGIN_NAME,\n panelState,\n pageTreeRef,\n ROOT_ID,\n docsUrl,\n docsContent,\n state,\n createNewPage,\n createNewFolder,\n settingHome,\n openSettingPanel,\n pluginPanelClosed,\n openNewPage,\n useCanvas,\n usePage,\n useHelp,\n useModal,\n useNotify,\n useLayout,\n PluginPanel,\n SvgButton,\n extend,\n PageSetting,\n openPageSettingPanel,\n closePageSettingPanel,\n PageFolderSetting,\n openFolderSettingPanel,\n closeFolderSettingPanel,\n PageTree,\n fetchPageDetail,\n handleRouteHomeUpdate,\n api\n })\n });\n return {\n PLUGIN_NAME,\n state,\n pageState,\n openNewPage,\n pageTreeRef,\n pluginPanelClosed,\n openSettingPanel,\n createNewFolder,\n createNewPage,\n docsUrl,\n docsContent,\n settingHome\n };\n }\n};</script>\n\n<style lang=\"less\" scoped>\n:deep(.tiny-button) {\n border-radius: 4px;\n height: 24px;\n line-height: 24px;\n}\n.plugin-page {\n height: 100%;\n}\n</style>\n","import { HOOK_NAME } from '@opentiny/tiny-engine-meta-register'\nimport usePage from './usePage'\n\nexport const PageService = {\n id: 'engine.service.page',\n type: 'MetaService',\n apis: usePage(),\n composable: {\n name: HOOK_NAME.usePage\n }\n}\n","<template>\n <div class=\"general-config\">\n <tiny-form\n ref=\"generalForm\"\n :model=\"pageSettingState.currentPageData\"\n :rules=\"isFolder ? folderRules : pageRules\"\n label-width=\"120px\"\n validate-type=\"text\"\n :inline-message=\"true\"\n :label-align=\"true\"\n label-position=\"top\"\n class=\"general-config-form\"\n >\n <tiny-form-item v-if=\"!isFolder\" prop=\"group\" label=\"页面类型\" class=\"form-item-page-type\">\n <tiny-radio v-model=\"pageSettingState.currentPageData.group\" class=\"page-type-radio\" label=\"staticPages\">\n 静态页面\n </tiny-radio>\n <tiny-radio v-model=\"pageSettingState.currentPageData.group\" class=\"page-type-radio\" label=\"publicPages\">\n 公共页面\n </tiny-radio>\n </tiny-form-item>\n <tiny-form-item prop=\"name\" :label=\"`${isFolder ? '文件夹' : '页面'}名称`\">\n <tiny-input\n v-model=\"pageSettingState.currentPageData.name\"\n :placeholder=\"`请设置${isFolder ? '文件夹' : '页面'}名称`\"\n ></tiny-input>\n </tiny-form-item>\n\n <tiny-form-item\n v-if=\"pageSettingState.currentPageData.group !== 'publicPages'\"\n label=\"父文件夹/父页面\"\n prop=\"parentId\"\n >\n <tiny-select\n v-model=\"pageParentId\"\n value-field=\"id\"\n render-type=\"tree\"\n :tree-op=\"treeFolderOp\"\n text-field=\"name\"\n placeholder=\"请选择父文件夹/父页面\"\n popper-class=\"parent-fold-select-dropdown\"\n @change=\"changeParentForderId\"\n ></tiny-select>\n </tiny-form-item>\n\n <tiny-form-item label=\"页面路由\" prop=\"route\">\n <tiny-input v-model=\"pageSettingState.currentPageData.route\" placeholder=\"请设置路由\"> </tiny-input>\n <div class=\"tip\">\n <span class=\"text\" v-if=\"!pageSettingState.currentPageData.route\">路由将以website.com开头</span>\n <span class=\"route-text\" v-else>\n <span class=\"tip-text\">website.com/</span>\n <span class=\"tip-text-dim\">{{ currentRoute }}</span>\n </span>\n </div>\n </tiny-form-item>\n <tiny-form-item\n v-if=\"pageSettingState.currentPageData.group !== 'publicPages' && !isFolder && state.childPageOp?.length\"\n label=\"设置默认跳转页\"\n prop=\"isDefault\"\n >\n <tiny-select\n v-model=\"state.defaultPageId\"\n :options=\"state.childPageOp\"\n placeholder=\"请选择默认跳转页\"\n @change=\"changeDefaultPage\"\n ></tiny-select>\n <div v-if=\"state.defaultPageId\" class=\"tip\">\n <div class=\"tip-text\">访问</div>\n <span class=\"tip-text-dim\">/{{ currentRoute }}</span>\n <div class=\"tip-text\">路由,默认跳转</div>\n <span class=\"tip-text-dim\">/{{ currentRoute }}/{{ pageSettingState?.defaultPage?.route }}</span>\n </div>\n </tiny-form-item>\n </tiny-form>\n </div>\n</template>\n<script lang=\"tsx\">import { callEntry as _callEntry, useCompile as _useCompile } from '@opentiny/tiny-engine-meta-register';\nimport _metaData from '../meta.js';\n/* metaService: engine.plugins.appmanage.PageGeneral */\nimport { ref, computed, watchEffect, reactive } from 'vue';\nimport { Form, FormItem, Input, Select, Radio } from '@opentiny/vue';\nimport { iconFile } from '@opentiny/vue-icon';\nimport { usePage } from '@opentiny/tiny-engine-meta-register';\nimport { REGEXP_PAGE_NAME, REGEXP_FOLDER_NAME, REGEXP_ROUTE } from '@opentiny/tiny-engine-common/js/verification';\nexport default {\n components: {\n TinyForm: Form,\n TinyFormItem: FormItem,\n TinyInput: Input,\n TinySelect: Select,\n TinyRadio: Radio\n },\n props: {\n modelValue: {\n type: Object,\n default: () => ({})\n },\n isFolder: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n const {\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren\n } = usePage();\n const ROOT_ID = pageSettingState.ROOT_ID;\n const pageParentId = computed({\n get() {\n return String(pageSettingState.currentPageData.parentId);\n },\n set(value) {\n pageSettingState.currentPageData.parentId = value;\n }\n });\n const oldParentId = ref(pageParentId.value);\n const state = reactive({\n childPageList: [],\n childPageOp: [],\n defaultPageId: ''\n });\n const setChildAndDefaultPage = _callEntry(async id => {\n if (pageSettingState.isNew) {\n state.childPageList = [];\n state.childPageOp = [];\n state.defaultPageId = '';\n } else {\n state.childPageList = await getPageChildren(id);\n const defaultPage = state.childPageList?.find(item => item.isDefault);\n pageSettingState.defaultPage = defaultPage ? defaultPage : null;\n state.defaultPageId = defaultPage ? defaultPage.id : '';\n state.childPageOp = state.childPageList.map(item => {\n return {\n value: item.id,\n label: item.name,\n icon: iconFile()\n };\n });\n }\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.setChildAndDefaultPage'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const changeDefaultPage = _callEntry(() => {\n pageSettingState.defaultPage = state.childPageList.find(item => item.id === state.defaultPageId);\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.changeDefaultPage'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n watchEffect(() => {\n oldParentId.value = pageSettingState.oldParentId;\n setChildAndDefaultPage(pageSettingState.currentPageData?.id);\n });\n const currentRoute = computed(() => {\n let route = pageSettingState.currentPageData.route || '';\n let parentId = pageParentId.value;\n while (parentId !== ROOT_ID) {\n const parent = pageSettingState.treeDataMapping[parentId];\n if (!parent) {\n break;\n }\n route = `${parent.route}/${route}`;\n parentId = parent.parentId;\n }\n if (route.startsWith('/')) {\n route = route.slice(1);\n }\n return route;\n });\n\n // 新建页面/更新页面校验规则\n const pageRules = {\n name: [{\n required: true,\n message: '请输入页面 ID'\n }, {\n pattern: REGEXP_PAGE_NAME,\n message: '只允许包含英文字母,且为大写开头驼峰格式, 如DemoPage'\n }, {\n min: 3,\n max: 25,\n message: '长度在 3 到 25 个字符'\n }],\n route: [{\n required: true,\n message: '请输入页面路由'\n }, {\n pattern: REGEXP_ROUTE,\n message: '只允许包含英文字母、数字、下横线_、中横线-、正斜杠/, 且以英文字母开头'\n }]\n };\n const folderRules = {\n name: [{\n required: true,\n message: '请输入页面文件夹 ID'\n }, {\n pattern: REGEXP_FOLDER_NAME,\n message: '只允许包含英文字母、数字、下横线_、中横线-, 且以英文字母开头'\n }, {\n min: 3,\n max: 25,\n message: '长度在 3 到 25 个字符'\n }],\n route: [{\n required: true,\n message: '请输入页面文件夹路由'\n }, {\n pattern: REGEXP_ROUTE,\n message: '只允许包含英文字母、数字、下横线_、中横线-、正斜杠/, 且以英文字母开头'\n }],\n group: [{\n required: true,\n message: '必须选择页面类型'\n }]\n };\n const pageToTreeData = _callEntry(page => {\n const {\n id,\n name,\n isPage,\n children\n } = page;\n const result = {\n id: String(id),\n name,\n isPage\n };\n if (Array.isArray(children)) {\n result.children = children.filter(page => page.id !== pageSettingState.currentPageData.id).map(page => pageToTreeData(page));\n }\n return result;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.pageToTreeData'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const getNodeIcon = _callEntry(data => {\n if (data.id === ROOT_ID) {\n return null;\n }\n if (data.isPage) {\n return <SvgIcon name=\"text-page-common\"></SvgIcon>;\n }\n return <SvgIcon name=\"text-page-folder\"></SvgIcon>;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.getNodeIcon'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const treeFolderOp = computed(() => {\n const staticPages = pageSettingState.pages[STATIC_PAGE_GROUP_ID]?.data || [];\n const dummyRoot = pageToTreeData({\n children: [{\n name: '无',\n id: ROOT_ID\n }].concat(staticPages)\n });\n const data = dummyRoot.children;\n const options = {\n data: data,\n shrinkIcon: null,\n expandIcon: null,\n renderContent: (_h, {\n node,\n data\n }) => {\n return <>\n {getNodeIcon(data)}\n <div>{node.label}</div>\n </>;\n }\n };\n return options;\n });\n const generalForm = ref(null);\n const validGeneralForm = _callEntry(() => {\n return new Promise(resolve => {\n generalForm.value.validate(valid => {\n if (valid) {\n resolve(valid);\n }\n });\n });\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.validGeneralForm'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n const changeParentForderId = _callEntry(value => {\n changeTreeData(value.id, oldParentId.value);\n oldParentId.value = value.id;\n }, {\n metaData: {\n id: 'engine.plugins.appmanage.PageGeneral.changeParentForderId'\n },\n ctx: () => ({\n pageSettingState,\n changeTreeData,\n STATIC_PAGE_GROUP_ID,\n getPageChildren,\n ROOT_ID,\n pageParentId,\n oldParentId,\n state,\n setChildAndDefaultPage,\n changeDefaultPage,\n currentRoute,\n pageRules,\n folderRules,\n pageToTreeData,\n getNodeIcon,\n treeFolderOp,\n generalForm,\n validGeneralForm,\n changeParentForderId,\n iconFile,\n usePage,\n REGEXP_PAGE_NAME,\n REGEXP_FOLDER_NAME,\n REGEXP_ROUTE\n })\n });\n return {\n pageRules,\n folderRules,\n pageSettingState,\n pageParentId,\n generalForm,\n validGeneralForm,\n treeFolderOp,\n currentRoute,\n changeParentForderId,\n state,\n changeDefaultPage\n };\n }\n};</script>\n\n<style lang=\"less\" scoped>\n.general-config {\n .general-config-form {\n .input-head {\n color: var(--te-page-manage-input-head-text-color);\n }\n :deep(.tiny-form-item) {\n margin-bottom: 16px;\n .tiny-input-group__prepend {\n border: 1px solid var(--te-page-manage-input-border-color);\n background: var(--te-page-manage-input-bg-color);\n }\n .page-type-radio {\n color: var(--te-page-manage-title-text-color);\n }\n .tiny-form-item__label {\n height: 24px;\n line-height: 18px;\n font-size: 12px;\n color: var(--te-page-manage-text-color);\n }\n }\n }\n .tip {\n color: var(--te-page-manage-tip-color);\n font-size: 12px;\n border-radius: 3px;\n margin-top: 4px;\n width: 100%;\n word-wrap: break-word;\n height: auto;\n line-height: 16px;\n .text {\n color: var(--te-page-manage-tip-text-color);\n }\n .tip-text {\n width: 100%;\n color: var(--te-page-manage-tip-text-color);\n }\n .tip-text-dim {\n color: var(--te-page-manage-tip-dim-text-color);\n }\n }\n}\n</style>\n<style lang=\"less\">\n.tiny-select-dropdown.parent-fold-select-dropdown {\n padding: 8px;\n .tiny-tree {\n .tiny-tree-node {\n .tiny-tree-node__content {\n padding: 0;\n background-color: var(--te-page-manage-tree-node-bg-color);\n &:hover {\n background-color: var(--te-page-manage-tree-node-bg-color-hover);\n }\n // 移除子节点的的背景色,才能保证鼠标hover到.tiny-tree-node__content节点任意位置时,整行都有hover状态的背景色\n .tiny-tree-node__content-left,\n .tiny-tree-node__content-left .tiny-tree-node__content-box {\n background-color: unset;\n &:hover {\n background-color: unset;\n }\n }\n .tiny-tree-node__content-left {\n padding: 0;\n .tree-node-icon {\n margin: 0;\n }\n .tiny-tree-node__content-box {\n padding: 0 12px;\n svg {\n margin-right: 8px;\n }\n }\n .tiny-tree-node__label {\n font-size: 12px;\n }\n }\n }\n }\n }\n}\n</style>\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry, { api } from './src/Main.vue'\nimport metaData from './meta'\nimport { PageService } from './src/composable/index'\nimport PageGeneral from './src/PageGeneral.vue'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n apis: api,\n entry,\n options: {\n pageBaseStyle: {\n className: 'page-base-style',\n style: 'padding: 24px;background: #FFFFFF;'\n }\n },\n components: {\n PageGeneral\n },\n metas: [PageService]\n}\n\nexport { PageService }\n"],"names":["metaData","PAGE_STATUS","constants","_sfc_main$2","components","TinySearch","Search","TinyCollapse","Collapse","TinyCollapseItem","CollapseItem","TinyIconSearch","IconSearch","TinyPopover","Popover","DraggableTree","SvgButton","props","isFolder","type","Boolean","default","emits","setup","emit","confirm","useModal","pageState","isBlock","isSaved","useCanvas","pageSettingState","changeTreeData","isCurrentDataSame","getPageList","resetPageData","STATIC_PAGE_GROUP_ID","COMMON_PAGE_GROUP_ID","switchPage","switchPageById","usePage","fetchPageDetail","requestUpdatePage","http","getAppId","_callEntry","getMetaApi","META_SERVICE","GlobalService","getBaseInfo","id","ctx","customPageOperations","state","subscribe","unsubscribe","refreshPageList","subscriber","nodeClick","openSettingPanel","popoverRefs","setPopoverRef","handleClickRow","isPageLocked","handleClickPageSettings","createPage","createFolder","settingHome","rowOperations","getRowOperations","updatePage","updateFolder","handleMoveNode","createPublicPage","IconFolderOpened","IconFolderClosed","useNotify","useMessage","getOptions","isEqual","getCanvasStatus","handlePageUpdate","closePageSettingPanel","closeFolderSettingPanel","meta","reactive","pageSearchValue","collapseValue","currentNodeData","pageId","appId","onMounted","topic","callback","data","onUnmounted","updateTreeData","then","e","pageData","stopPropagation","isPage","title","message","exec","oldParentId","currentPageData","parentId","Object","assign","currentPageDataCopy","username","occupier","name","el","nodeId","node","rawData","Lock","label","action","map","item","doClose","groupId","slice","group","filter","pageDetail","page_content","params","fileName","isCurEditPage","currentPage","catch","error","JSON","stringify","finally","isNew","dragged","newParent","isDefault","preventDefault","api","getPageById","openPageSettingPanel","_sfc_main$1","PageSetting","_useCompile","component","PluginPanel","PageFolderSetting","PageTree","String","fixedPanels","Array","getDefaultPage","isTemporaryPage","initCurrentPageData","PLUGIN_NAME","useLayout","panelState","emitEvent","provide","pageTreeRef","ref","ROOT_ID","docsUrl","useHelp","getDocsUrl","docsContent","createNewPage","defaultPage","Error","route","lifeCycles","extend","createNewFolder","pluginPanelClosed","openNewPage","openFolderSettingPanel","handleRouteHomeUpdate","isHome","watchEffect","saved","isPageChange","value","PageService","HOOK_NAME","_sfc_main","TinyForm","Form","TinyFormItem","FormItem","TinyInput","Input","TinySelect","Select","TinyRadio","Radio","modelValue","getPageChildren","pageParentId","computed","get","set","childPageList","childPageOp","defaultPageId","setChildAndDefaultPage","find","icon","iconFile","changeDefaultPage","currentRoute","pageRules","folderRules","pageToTreeData","getNodeIcon","treeFolderOp","generalForm","validGeneralForm","changeParentForderId","REGEXP_PAGE_NAME","REGEXP_FOLDER_NAME","REGEXP_ROUTE","parent","treeDataMapping","startsWith","required","pattern","min","max","page","children","result","isArray","_createVNode","_resolveComponent","staticPages","pages","concat","shrinkIcon","expandIcon","renderContent","_h","_Fragment","Promise","resolve","validate","valid","index","entry","PageGeneral"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAAA,IAAe;AAAA,EACb,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentiny/tiny-engine-plugin-page",
3
- "version": "2.7.3",
3
+ "version": "2.7.4-alpha.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,12 +25,12 @@
25
25
  "license": "MIT",
26
26
  "homepage": "https://opentiny.design/tiny-engine",
27
27
  "dependencies": {
28
- "@opentiny/tiny-engine-common": "2.7.3",
29
- "@opentiny/tiny-engine-meta-register": "2.7.3",
30
- "@opentiny/tiny-engine-utils": "2.7.3"
28
+ "@opentiny/tiny-engine-common": "2.7.4-alpha.0",
29
+ "@opentiny/tiny-engine-meta-register": "2.7.4-alpha.0",
30
+ "@opentiny/tiny-engine-utils": "2.7.4-alpha.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.7.3",
33
+ "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.7.4-alpha.0",
34
34
  "@vitejs/plugin-vue": "^5.1.2",
35
35
  "@vitejs/plugin-vue-jsx": "^4.0.1",
36
36
  "vite": "^5.4.2"
@@ -41,5 +41,5 @@
41
41
  "@opentiny/vue-renderless": "^3.20.0",
42
42
  "vue": "^3.4.15"
43
43
  },
44
- "gitHead": "78a03deb9d146500692e8141b7c48b431458f9e5"
44
+ "gitHead": "288457f3c72ee937ec4a71ab81a49250f1dd0574"
45
45
  }