@maketribe/ms-app 3.2.5 → 3.2.6
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/cjs/assets/iconfonts/iconfont.js +1 -1
- package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +2 -37
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +37 -2
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +4 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +108 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +24 -18
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +93 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +51 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/{HtmlCodeTool.vue.js → PreviewToolbar.vue.js} +56 -43
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +3 -1
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +3 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/cjs/components/business/resource-list/ResourceManager.js +0 -24
- package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/cjs/components/business/resource-list/resource-list.vue.js +38 -15
- package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +1 -12
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js +14 -2
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +24 -9
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
- package/dist/cjs/modules/cms/index.js +2 -1
- package/dist/cjs/modules/cms/index.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +44 -22
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +99 -87
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +45 -5
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +0 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/index.js +2 -2
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +13 -16
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +47 -6
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +1 -36
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +36 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +5 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +109 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +25 -19
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +94 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +52 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +117 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +3 -1
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js +3 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/esm/components/business/resource-list/ResourceManager.js +1 -25
- package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/esm/components/business/resource-list/resource-list.vue.js +39 -16
- package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -13
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree.js +15 -3
- package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +25 -10
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
- package/dist/esm/modules/cms/index.js +2 -1
- package/dist/esm/modules/cms/index.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +46 -24
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +101 -89
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +46 -6
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js +0 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/index.js +2 -2
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +14 -17
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +48 -7
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/style/components/basic/doc-editor/index.css +1 -1
- package/dist/style/components/index.css +2 -2
- package/dist/style/components/material-item.css +1 -1
- package/dist/style/index.css +2 -2
- package/dist/style/modules/cms/index.css +1 -1
- package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
- package/dist/style/modules/cms/resource-manager.css +1 -1
- package/dist/style/src/components/basic/doc-editor/index.scss +22 -2
- package/dist/style/src/components/material-item.scss +66 -64
- package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -2
- package/dist/style/src/modules/cms/resource-manager.scss +63 -0
- package/dist/style/src/theme/theme.scss +310 -303
- package/dist/style/theme/theme.css +1 -1
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +20 -0
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +57 -0
- package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +1 -0
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +2 -0
- package/dist/types/components/business/resource-list/ResourceManager.d.ts +0 -1
- package/dist/types/components/business/resource-manager/index.d.ts +32 -6
- package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +10 -1
- package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
- package/dist/types/modules/cms/components/part-tree/index.d.ts +5 -9
- package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +16 -15
- package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +8 -0
- package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +1 -0
- package/dist/types/modules/ms/dataviews/ms-material/index.d.ts +0 -1
- package/dist/types/modules/ms/dataviews/ms-menu/MsMenuTree.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js +0 -104
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
- package/dist/style/modules/cms/pages/cms-contents/part-edit-add-page.css +0 -1
- package/dist/style/src/modules/cms/pages/cms-contents/part-edit-add-page.scss +0 -127
- package/dist/types/modules/ms/dataviews/ms-material/MsMaterialMan.d.ts +0 -31
- /package/dist/types/components/basic/doc-editor/plugins/{ToolbarPlugin/HtmlCodeTool.vue.d.ts → HtmlBlockPlugin/index.vue.d.ts} +0 -0
- /package/dist/types/{modules/cms/pages/cms-contents/part-edit-add-page.vue.d.ts → components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-list.vue.js","sources":["../../../../../src/components/business/resource-list/resource-list.vue"],"sourcesContent":["<template>\n <div class=\"resource-list\">\n <div class=\"resource-list-header\">\n <ElBreadcrumb>\n <ElBreadcrumbItem>\n <span\n class=\"resource-list-breadcrumb-item\"\n @click=\"handleBreadcrumbClick()\"\n >\n <MKSvgIcon iconClass=\"HomeFilled\" />\n </span>\n </ElBreadcrumbItem>\n <ElBreadcrumbItem\n v-for=\"(item, i) in resourceManager.directories\"\n :key=\"item\"\n >\n <span\n class=\"resource-list-breadcrumb-item\"\n @click=\"handleBreadcrumbClick(i)\"\n >\n {{ item }}\n </span>\n </ElBreadcrumbItem>\n </ElBreadcrumb>\n </div>\n\n <div\n class=\"resource-list-main\"\n @click=\"handleMainClick\"\n @dragover.prevent\n @drop.prevent=\"handleDrop\"\n >\n <ElScrollbar height=\"100%\">\n <div class=\"resource-list-list\">\n <div\n v-for=\"item in resourceManager.resourceInfoList\"\n class=\"resource-list__item\"\n @click.stop=\"handleClick($event, item)\"\n @dblclick=\"handleDbClick(item)\"\n >\n <ResourceItem :key=\"item.path\" :resourceItem=\"item\" />\n </div>\n </div>\n </ElScrollbar>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted } from \"vue\";\nimport { ElScrollbar } from \"element-plus\";\nimport { ResourceManager, ResourceInfo } from \"./ResourceManager\";\nimport ResourceItem from \"./components/resource-item/index.vue\";\n\nconst props = defineProps({\n resourceManager: {\n type: ResourceManager,\n required: true,\n }
|
|
1
|
+
{"version":3,"file":"resource-list.vue.js","sources":["../../../../../src/components/business/resource-list/resource-list.vue"],"sourcesContent":["<template>\r\n <div class=\"resource-list\" :class=\"{row:listMode=='row'}\">\r\n <div class=\"resource-list-header\">\r\n <ElBreadcrumb>\r\n <ElBreadcrumbItem>\r\n <span class=\"resource-list-breadcrumb-item\" v-if=\"resourceManager.directories.length>=1\"\r\n @click=\"handleBreadcrumbClick(resourceManager.directories.length-2)\"\r\n >\r\n <MKSvgIcon iconClass=\"ArrowLeftBold\" />\r\n 返回\r\n </span>\r\n <span\r\n class=\"resource-list-breadcrumb-item\"\r\n @click=\"handleBreadcrumbClick()\"\r\n >\r\n <MKSvgIcon iconClass=\"HomeFilled\" />\r\n 根目录\r\n </span>\r\n </ElBreadcrumbItem>\r\n <ElBreadcrumbItem\r\n v-for=\"(item, i) in resourceManager.directories\"\r\n :key=\"item\"\r\n >\r\n <span\r\n class=\"resource-list-breadcrumb-item\"\r\n @click=\"handleBreadcrumbClick(i)\"\r\n >\r\n {{ item }}\r\n </span>\r\n </ElBreadcrumbItem>\r\n </ElBreadcrumb>\r\n <div class=\"resource-list-mode\" @click=\"listMode = listMode=='row' ? 'col':'row'\">\r\n <MKSvgIcon v-if=\"listMode=='row'\" iconClass=\"Grid\" />\r\n <MKSvgIcon v-else iconClass=\"Fold\" />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"resource-list-main\"\r\n @click=\"handleMainClick\"\r\n @dragover.prevent\r\n @drop.prevent=\"handleDrop\"\r\n >\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"resource-list-list\">\r\n <div\r\n v-for=\"item in resourceManager.resourceInfoList\"\r\n class=\"resource-list__item\"\r\n @click.stop=\"handleClick($event, item)\"\r\n @dblclick=\"handleDbClick(item)\"\r\n >\r\n <ResourceItem :key=\"item.path\" :resourceItem=\"item\" />\r\n </div>\r\n </div>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted,ref } from \"vue\";\r\nimport { ElScrollbar } from \"element-plus\";\r\nimport { ResourceManager, ResourceInfo } from \"./ResourceManager\";\r\nimport ResourceItem from \"./components/resource-item/index.vue\";\r\n\r\nconst props = defineProps({\r\n resourceManager: {\r\n type: ResourceManager,\r\n required: true,\r\n }\r\n});\r\n\r\nconst emit = defineEmits([\"drop\"]);\r\nconst listMode = ref(\"row\")\r\n\r\nconst handleBreadcrumbClick = (index?: number) => {\r\n if (typeof index !== \"number\") {\r\n props.resourceManager.loadResourceInfoList(\"/\");\r\n\r\n return;\r\n }\r\n\r\n props.resourceManager.loadResourceInfoList(\r\n props.resourceManager.directories.splice(0, index + 1).join(\"/\")\r\n );\r\n};\r\n\r\nconst handleMainClick = () => {\r\n props.resourceManager.clearAllSelect();\r\n};\r\n\r\nconst handleClick = (event: MouseEvent, item: ResourceInfo) => {\r\n props.resourceManager.handleSelectClick(event, item);\r\n};\r\n\r\nconst handleDbClick = (item: ResourceInfo) => {\r\n if (!item.isDirectory) {\r\n return;\r\n }\r\n\r\n props.resourceManager.loadResourceInfoList(item.path);\r\n};\r\n\r\nconst handleDrop = async (event: DragEvent) => {\r\n emit(\"drop\", event);\r\n};\r\n\r\nonMounted(() => {\r\n props.resourceManager.loadResourceInfoList();\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiEA,UAAM,QAAQ;AAOd,UAAM,OAAO;AACP,UAAA,WAAW,IAAI,KAAK;AAEpB,UAAA,wBAAwB,CAAC,UAAmB;AAC5C,UAAA,OAAO,UAAU,UAAU;AACvB,cAAA,gBAAgB,qBAAqB,GAAG;AAE9C;AAAA,MACF;AAEA,YAAM,gBAAgB;AAAA,QACpB,MAAM,gBAAgB,YAAY,OAAO,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG;AAAA,MAAA;AAAA,IACjE;AAGF,UAAM,kBAAkB,MAAM;AAC5B,YAAM,gBAAgB;IAAe;AAGjC,UAAA,cAAc,CAAC,OAAmB,SAAuB;AACvD,YAAA,gBAAgB,kBAAkB,OAAO,IAAI;AAAA,IAAA;AAG/C,UAAA,gBAAgB,CAAC,SAAuB;AACxC,UAAA,CAAC,KAAK,aAAa;AACrB;AAAA,MACF;AAEM,YAAA,gBAAgB,qBAAqB,KAAK,IAAI;AAAA,IAAA;AAGhD,UAAA,aAAa,OAAO,UAAqB;AAC7C,WAAK,QAAQ,KAAK;AAAA,IAAA;AAGpB,cAAU,MAAM;AACd,YAAM,gBAAgB;IAAqB,CAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, unref, onMounted, resolveDirective, openBlock, createElementBlock, Fragment, withDirectives, createElementVNode, createBlock, withCtx, createTextVNode, createCommentVNode, createVNode, renderList, toDisplayString } from "vue";
|
|
1
|
+
import { defineComponent, ref, computed, unref, onMounted, resolveDirective, openBlock, createElementBlock, Fragment, withDirectives, createElementVNode, createBlock, withCtx, createTextVNode, createCommentVNode, createVNode, renderSlot, renderList, toDisplayString } from "vue";
|
|
2
2
|
import { ElButton, ElDialog, ElMessageBox, ElMessage } from "element-plus";
|
|
3
3
|
import "../../basic/svg-icon/index.js";
|
|
4
4
|
import "../../basic/button/button-options.js";
|
|
@@ -68,9 +68,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
68
68
|
unref(resourceManager).isShowEditDialog = false;
|
|
69
69
|
unref(resourceManager).currentEditText = "";
|
|
70
70
|
};
|
|
71
|
-
const publishAssetsHandle = () => {
|
|
72
|
-
unref(resourceManager).publishAssets();
|
|
73
|
-
};
|
|
74
71
|
const handleUploadClick = () => {
|
|
75
72
|
var input = document.createElement("input");
|
|
76
73
|
input.type = "file";
|
|
@@ -212,15 +209,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
212
209
|
]),
|
|
213
210
|
_: 1
|
|
214
211
|
}),
|
|
215
|
-
|
|
216
|
-
type: "primary",
|
|
217
|
-
onClick: publishAssetsHandle
|
|
218
|
-
}, {
|
|
219
|
-
default: withCtx(() => [
|
|
220
|
-
createTextVNode("发布资产")
|
|
221
|
-
]),
|
|
222
|
-
_: 1
|
|
223
|
-
})
|
|
212
|
+
renderSlot(_ctx.$slots, "tools")
|
|
224
213
|
]),
|
|
225
214
|
createVNode(unref(MKResourceList), {
|
|
226
215
|
resourceManager: resourceManager.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-manager.vue.js","sources":["../../../../../src/components/business/resource-manager/resource-manager.vue"],"sourcesContent":["<template>\n <div v-loading=\"resourceManager.loading\" class=\"resource-manager\">\n <div class=\"resource-manager-tools\">\n <ElButton\n v-if=\"selectResourceCount > 0\"\n type=\"danger\"\n @click=\"handleDeleteClick\"\n >\n 删除\n </ElButton>\n <ElButton\n v-if=\"\n selectResourceCount === 1 &&\n !resourceManager.selectResourceList[0].isDirectory\n \"\n @click=\"handleEdit\"\n >\n 编辑\n </ElButton>\n <ElButton\n v-if=\"\n selectResourceCount === 1 &&\n !resourceManager.selectResourceList[0].isDirectory\n \"\n @click=\"handleDownload()\"\n >\n 下载\n </ElButton>\n <ElButton type=\"primary\" @click=\"handleUploadClick\">上传</ElButton>\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\n </div>\n\n <MKResourceList :resourceManager=\"resourceManager\" @drop=\"handleDrop\" />\n </div>\n\n <ElDialog v-model=\"isShowEditDialog\" @close=\"handleEditDialogClose\">\n <MKCodeEditor\n v-if=\"isShowEditDialog\"\n v-model=\"resourceManager.currentEditText\"\n />\n <template #footer>\n <ElButton @click=\"handleEditDialogClose\">取消</ElButton>\n <ElButton\n type=\"primary\"\n v-loading=\"resourceManager.loading\"\n @click=\"handleEditDialogConfirm\"\n >\n 保存\n </ElButton>\n </template>\n </ElDialog>\n\n <ElDialog\n v-model=\"isShowConfirmDialog\"\n title=\"文件已存在\"\n @close=\"handleDialogCancelClick\"\n >\n <div v-for=\"path in existPathList\" :key=\"path\">{{ path }}</div>\n\n <template #footer>\n <ElButton type=\"danger\" @click=\"handleDialogOverrideClick\">覆盖</ElButton>\n <ElButton type=\"warning\" @click=\"handleDialogSkipClick\">跳过</ElButton>\n <ElButton @click=\"handleDialogCancelClick\">取消</ElButton>\n </template>\n </ElDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, computed, unref, ref } from \"vue\";\nimport { ElButton, ElMessageBox, ElMessage, ElDialog } from \"element-plus\";\nimport { MKCodeEditor } from \"../../basic\";\nimport { MKResourceList, ResourceManager } from \"../resource-list\";\n\nconst props = defineProps({\n resourceManager: {\n type: ResourceManager,\n required: true,\n },\n});\n\nconst isShowConfirmDialog = ref(false);\n\nlet waitUploadFiles: File[] = [];\nconst existPathList = ref([] as string[]);\n\nconst resourceManager = computed(() => props.resourceManager);\n\nconst isShowEditDialog = computed(\n () => unref(resourceManager).isShowEditDialog\n);\n\nconst selectResourceCount = computed(\n () => unref(resourceManager).selectResourceList.length\n);\n\nconst handleDeleteClick = async () => {\n const isConfirm = await ElMessageBox.confirm(\"是否删除选中文件\", {\n type: \"warning\",\n }).then(\n () => true,\n () => false\n );\n\n if (!isConfirm) {\n return;\n }\n\n unref(resourceManager).deleteSelectResourceList();\n};\n\nconst handleEdit = () => {\n unref(resourceManager).editSelectFile();\n};\n\nconst handleEditDialogConfirm = () => {\n unref(resourceManager).saveEditFile();\n};\n\nconst handleEditDialogClose = () => {\n unref(resourceManager).isShowEditDialog = false;\n unref(resourceManager).currentEditText = \"\";\n};\n\nconst publishAssetsHandle = () => {\n unref(resourceManager).publishAssets();\n};\n\nconst handleUploadClick = () => {\n /** @type {HTMLInputElement} */\n var input = document.createElement(\"input\");\n input.type = \"file\";\n input.multiple = true;\n\n input.addEventListener(\"change\", () => {\n var files = new Array(input.files!.length)\n .fill(0)\n .map((_, i) => input.files![i]);\n\n unref(resourceManager).uploadResourceList(files);\n });\n\n input.click();\n};\n\nconst handleDownload = () => {\n unref(resourceManager).downloadSelectResource();\n};\n\nconst handleDrop = async (event: DragEvent) => {\n waitUploadFiles = [];\n\n var _items = event.dataTransfer?.items;\n\n var fileSystemEntry = _items![0].webkitGetAsEntry() as any;\n\n const internalProcess = async (item: any, path: string = \"\") => {\n if (item.isFile) {\n return [\n await new Promise((resolve) => {\n item.file((file: File) => {\n resolve(\n new File([file], `${path}${file.name}`, { type: file.type })\n );\n });\n }),\n ] as File[];\n } else if (item.isDirectory) {\n var directoryReader = item.createReader();\n\n const entries = (await new Promise((resolve) => {\n directoryReader.readEntries(resolve);\n })) as any[];\n\n var result: File[] = [];\n\n for (let i = 0; i < entries.length; i++) {\n result = result.concat(\n await internalProcess(entries[i], `${path}${item.name}/`)\n );\n }\n\n return result;\n }\n\n return [];\n };\n\n const files = (waitUploadFiles = await internalProcess(fileSystemEntry));\n\n try {\n unref(resourceManager).loadingManager.startLoading();\n\n const checkResponse = await unref(resourceManager).getExistPathList(\n files.map((file) => file.name)\n );\n\n if (checkResponse.data.code !== 200) {\n ElMessage.error({ message: checkResponse.data.msg });\n return;\n }\n\n if (checkResponse.data.data?.length === 0) {\n await unref(resourceManager).uploadResourceList(files);\n\n waitUploadFiles = [];\n return;\n }\n\n existPathList.value = checkResponse.data.data ?? [];\n\n isShowConfirmDialog.value = true;\n } catch (e) {\n console.log(e);\n ElMessage.error(\"网络异常,上传失败\");\n } finally {\n unref(resourceManager).loadingManager.completeLoading();\n }\n};\n\nconst handleDialogOverrideClick = async () => {\n try {\n await unref(resourceManager).uploadResourceList(waitUploadFiles);\n } catch (e) {\n console.log(e);\n ElMessage.error(\"网络异常,上传失败\");\n }\n\n handleDialogCancelClick();\n};\n\nconst handleDialogSkipClick = async () => {\n try {\n const files = waitUploadFiles.filter(\n (file) => !unref(existPathList).includes(file.name)\n );\n\n if (files.length) {\n await unref(resourceManager).uploadResourceList(files);\n }\n } catch (e) {\n console.log(e);\n ElMessage.error(\"网络异常,上传失败\");\n }\n\n handleDialogCancelClick();\n};\n\nconst handleDialogCancelClick = () => {\n isShowConfirmDialog.value = false;\n existPathList.value = [];\n waitUploadFiles = [];\n};\n\nonMounted(() => {\n unref(resourceManager).loadResourceInfoList();\n});\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-manager.vue.js","sources":["../../../../../src/components/business/resource-manager/resource-manager.vue"],"sourcesContent":["<template>\r\n <div v-loading=\"resourceManager.loading\" class=\"resource-manager\">\r\n <div class=\"resource-manager-tools\">\r\n <ElButton\r\n v-if=\"selectResourceCount > 0\"\r\n type=\"danger\"\r\n @click=\"handleDeleteClick\"\r\n >\r\n 删除\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleEdit\"\r\n >\r\n 编辑\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleDownload()\"\r\n >\r\n 下载\r\n </ElButton>\r\n <ElButton type=\"primary\" @click=\"handleUploadClick\">上传</ElButton>\r\n <slot name=\"tools\"></slot>\r\n </div>\r\n <MKResourceList :resourceManager=\"resourceManager\" @drop=\"handleDrop\" />\r\n </div>\r\n\r\n <ElDialog v-model=\"isShowEditDialog\" @close=\"handleEditDialogClose\">\r\n <MKCodeEditor\r\n v-if=\"isShowEditDialog\"\r\n v-model=\"resourceManager.currentEditText\"\r\n />\r\n <template #footer>\r\n <ElButton @click=\"handleEditDialogClose\">取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n v-loading=\"resourceManager.loading\"\r\n @click=\"handleEditDialogConfirm\"\r\n >\r\n 保存\r\n </ElButton>\r\n </template>\r\n </ElDialog>\r\n\r\n <ElDialog\r\n v-model=\"isShowConfirmDialog\"\r\n title=\"文件已存在\"\r\n @close=\"handleDialogCancelClick\"\r\n >\r\n <div v-for=\"path in existPathList\" :key=\"path\">{{ path }}</div>\r\n\r\n <template #footer>\r\n <ElButton type=\"danger\" @click=\"handleDialogOverrideClick\">覆盖</ElButton>\r\n <ElButton type=\"warning\" @click=\"handleDialogSkipClick\">跳过</ElButton>\r\n <ElButton @click=\"handleDialogCancelClick\">取消</ElButton>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, computed, unref, ref } from \"vue\";\r\nimport { ElButton, ElMessageBox, ElMessage, ElDialog } from \"element-plus\";\r\nimport { MKCodeEditor } from \"../../basic\";\r\nimport { MKResourceList, ResourceManager } from \"../resource-list\";\r\n\r\nconst props = defineProps({\r\n resourceManager: {\r\n type: ResourceManager,\r\n required: true,\r\n },\r\n});\r\n\r\nconst isShowConfirmDialog = ref(false);\r\n\r\nlet waitUploadFiles: File[] = [];\r\nconst existPathList = ref([] as string[]);\r\n\r\nconst resourceManager = computed(() => props.resourceManager);\r\n\r\nconst isShowEditDialog = computed(\r\n () => unref(resourceManager).isShowEditDialog\r\n);\r\n\r\nconst selectResourceCount = computed(\r\n () => unref(resourceManager).selectResourceList.length\r\n);\r\n\r\nconst handleDeleteClick = async () => {\r\n const isConfirm = await ElMessageBox.confirm(\"是否删除选中文件\", {\r\n type: \"warning\",\r\n }).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n unref(resourceManager).deleteSelectResourceList();\r\n};\r\n\r\nconst handleEdit = () => {\r\n unref(resourceManager).editSelectFile();\r\n};\r\n\r\nconst handleEditDialogConfirm = () => {\r\n unref(resourceManager).saveEditFile();\r\n};\r\n\r\nconst handleEditDialogClose = () => {\r\n unref(resourceManager).isShowEditDialog = false;\r\n unref(resourceManager).currentEditText = \"\";\r\n};\r\n\r\nconst handleUploadClick = () => {\r\n /** @type {HTMLInputElement} */\r\n var input = document.createElement(\"input\");\r\n input.type = \"file\";\r\n input.multiple = true;\r\n\r\n input.addEventListener(\"change\", () => {\r\n var files = new Array(input.files!.length)\r\n .fill(0)\r\n .map((_, i) => input.files![i]);\r\n\r\n unref(resourceManager).uploadResourceList(files);\r\n });\r\n\r\n input.click();\r\n};\r\n\r\nconst handleDownload = () => {\r\n unref(resourceManager).downloadSelectResource();\r\n};\r\n\r\nconst handleDrop = async (event: DragEvent) => {\r\n waitUploadFiles = [];\r\n\r\n var _items = event.dataTransfer?.items;\r\n\r\n var fileSystemEntry = _items![0].webkitGetAsEntry() as any;\r\n\r\n const internalProcess = async (item: any, path: string = \"\") => {\r\n if (item.isFile) {\r\n return [\r\n await new Promise((resolve) => {\r\n item.file((file: File) => {\r\n resolve(\r\n new File([file], `${path}${file.name}`, { type: file.type })\r\n );\r\n });\r\n }),\r\n ] as File[];\r\n } else if (item.isDirectory) {\r\n var directoryReader = item.createReader();\r\n\r\n const entries = (await new Promise((resolve) => {\r\n directoryReader.readEntries(resolve);\r\n })) as any[];\r\n\r\n var result: File[] = [];\r\n\r\n for (let i = 0; i < entries.length; i++) {\r\n result = result.concat(\r\n await internalProcess(entries[i], `${path}${item.name}/`)\r\n );\r\n }\r\n\r\n return result;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n const files = (waitUploadFiles = await internalProcess(fileSystemEntry));\r\n\r\n try {\r\n unref(resourceManager).loadingManager.startLoading();\r\n\r\n const checkResponse = await unref(resourceManager).getExistPathList(\r\n files.map((file) => file.name)\r\n );\r\n\r\n if (checkResponse.data.code !== 200) {\r\n ElMessage.error({ message: checkResponse.data.msg });\r\n return;\r\n }\r\n\r\n if (checkResponse.data.data?.length === 0) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n\r\n waitUploadFiles = [];\r\n return;\r\n }\r\n\r\n existPathList.value = checkResponse.data.data ?? [];\r\n\r\n isShowConfirmDialog.value = true;\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n } finally {\r\n unref(resourceManager).loadingManager.completeLoading();\r\n }\r\n};\r\n\r\nconst handleDialogOverrideClick = async () => {\r\n try {\r\n await unref(resourceManager).uploadResourceList(waitUploadFiles);\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogSkipClick = async () => {\r\n try {\r\n const files = waitUploadFiles.filter(\r\n (file) => !unref(existPathList).includes(file.name)\r\n );\r\n\r\n if (files.length) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogCancelClick = () => {\r\n isShowConfirmDialog.value = false;\r\n existPathList.value = [];\r\n waitUploadFiles = [];\r\n};\r\n\r\nonMounted(() => {\r\n unref(resourceManager).loadResourceInfoList();\r\n});\r\n</script>\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, inject, computed, ref, unref, createVNode, Fragment, createTextVNode } from "vue";
|
|
1
|
+
import { defineComponent, inject, computed, ref, unref, onMounted, watch, nextTick, createVNode, Fragment, createTextVNode } from "vue";
|
|
2
2
|
import { ElTree, ElButton } from "element-plus";
|
|
3
3
|
import { treeProps, treeEmits } from "./tree-options.js";
|
|
4
4
|
import { DATA_TABLE_CONTEXT_KEY } from "../../token.js";
|
|
@@ -13,6 +13,20 @@ const Tree = /* @__PURE__ */ defineComponent({
|
|
|
13
13
|
const dataTree = computed(() => props.dataTree ?? dataTableContext.dataTable);
|
|
14
14
|
const treeRef = ref(null);
|
|
15
15
|
const rootNodes = computed(() => unref(dataTree).rootNodes);
|
|
16
|
+
const currentNodeKey = computed(() => (props.currentNodeKey || unref(dataTree).getSelection()[0]) ?? "");
|
|
17
|
+
onMounted(() => {
|
|
18
|
+
watch(currentNodeKey, (currentNodeKey2) => {
|
|
19
|
+
var _a;
|
|
20
|
+
(_a = unref(treeRef)) == null ? void 0 : _a.setCurrentKey(currentNodeKey2 || null);
|
|
21
|
+
}, {
|
|
22
|
+
immediate: true
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
unref(dataTree).afterLoadEvent.on(async () => {
|
|
26
|
+
var _a;
|
|
27
|
+
await nextTick();
|
|
28
|
+
(_a = unref(treeRef)) == null ? void 0 : _a.setCurrentKey(unref(currentNodeKey) || null);
|
|
29
|
+
});
|
|
16
30
|
const handleAdd = (dataTreeNode) => {
|
|
17
31
|
unref(dataTree).addRecord(dataTreeNode ? {
|
|
18
32
|
pid: dataTreeNode.data.id
|
|
@@ -88,7 +102,6 @@ const Tree = /* @__PURE__ */ defineComponent({
|
|
|
88
102
|
handleNodeClick,
|
|
89
103
|
$slots
|
|
90
104
|
} = this;
|
|
91
|
-
const currentNodeKey = (this.currentNodeKey || innerDataTree.getSelection()[0]) ?? "";
|
|
92
105
|
return createVNode(ElTree, {
|
|
93
106
|
"props": {
|
|
94
107
|
children: "children",
|
|
@@ -100,7 +113,6 @@ const Tree = /* @__PURE__ */ defineComponent({
|
|
|
100
113
|
"highlight-current": true,
|
|
101
114
|
"data": rootNodes,
|
|
102
115
|
"lazy": true,
|
|
103
|
-
"currentNodeKey": currentNodeKey,
|
|
104
116
|
"filterNodeMethod": filterNodeMethod,
|
|
105
117
|
"nodeKey": "primaryValue",
|
|
106
118
|
"expand-on-click-node": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, inject, ref, unref } from \"vue\";\nimport { ElButton, ElTree } from \"element-plus\";\nimport type { NodeDropType } from \"element-plus/es/components/tree/src/tree.type\";\nimport type { DragEvents } from \"element-plus/es/components/tree/src/model/useDragNode\";\nimport type Node from \"element-plus/es/components/tree/src/model/node\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { treeEmits, treeProps } from \"./tree-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKTree\",\n props: treeProps,\n emits: treeEmits,\n setup(props, { emit }) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTree = computed(\n () => props.dataTree ?? (dataTableContext!.dataTable as DataTree)\n );\n\n const treeRef = ref<typeof ElTree | null>(null);\n\n const rootNodes = computed(() => unref(dataTree).rootNodes);\n\n const handleAdd = (dataTreeNode?: DataTreeNode) => {\n unref(dataTree).addRecord(\n dataTreeNode ? { pid: dataTreeNode.data.id } : {}\n );\n };\n\n const handleEdit = (dataTreeNode: DataTreeNode) => {\n unref(dataTree).editRecord(dataTreeNode.data);\n };\n\n const handleDelete = async (dataTreeNode: DataTreeNode) => {\n unref(dataTree).deleteRecord(dataTreeNode.data);\n };\n\n const handleLoad = async (node: Node, resolve: Function) => {\n if (node.level === 0) {\n return;\n }\n\n if (!unref(dataTree).lazy) {\n resolve(node.data.children);\n return;\n }\n\n const dataTreeNode = node.data as DataTreeNode;\n\n await dataTreeNode.load();\n\n resolve(dataTreeNode.children);\n };\n\n const filter = (value: any) => {\n unref(treeRef)?.filter(value);\n };\n\n const handleCurrentChange = (\n dataTreeNode: DataTreeNode | null,\n node: Node | null\n ) => {\n if (!dataTreeNode) {\n return;\n }\n\n const _dataTree = unref(dataTree);\n\n if (!props.allowSelectContainer && !dataTreeNode.isLeaf) {\n const current = _dataTree.getSelection()[0] ?? null;\n\n unref(treeRef)?.setCurrentKey(current);\n\n return;\n }\n\n _dataTree.setSelection([dataTreeNode.data[_dataTree.primaryKey]]);\n };\n\n const handleNodeDrop = (\n draggingNode: Node,\n dropNode: Node,\n dropType: NodeDropType,\n event: DragEvents\n ) => {\n // console.log(draggingNode, dropNode);\n unref(dataTree).handleNodeDrop(\n draggingNode.data! as any,\n dropNode.data! as any,\n dropType\n );\n };\n\n const handleNodeClick = (node: DataTreeNode<any>) => {\n emit(\"nodeClick\", node);\n };\n\n return {\n treeRef,\n innerDataTree: dataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n filter,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n };\n },\n render() {\n const {\n defaultExpandAll,\n filterNodeMethod,\n innerDataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n $slots,\n } = this;\n\n const currentNodeKey =\n (this.currentNodeKey || innerDataTree.getSelection()[0]) ?? \"\";\n\n return (\n <ElTree\n props={{ children: \"children\", isLeaf: \"isLeaf\" }}\n defaultExpandAll={defaultExpandAll}\n ref=\"treeRef\"\n class=\"mk-data-tree\"\n highlight-current\n data={rootNodes}\n lazy\n currentNodeKey={currentNodeKey}\n filterNodeMethod={filterNodeMethod as any}\n nodeKey=\"primaryValue\"\n expand-on-click-node={false}\n load={handleLoad}\n onCurrent-change={handleCurrentChange}\n onNode-drop={handleNodeDrop}\n draggable={this.$props.draggable}\n onNode-click={handleNodeClick}\n v-slots={{\n default: (scope: any) => {\n let children = $slots.default?.(scope);\n\n if (children) {\n return children;\n }\n\n const { data } = scope;\n\n const label = data.data[innerDataTree.props.label];\n\n const main = $slots[\"node-main\"]?.(scope) || label;\n\n const tools = $slots[\"node-tools\"]?.(scope) || (\n <Fragment>\n {$slots[\"node-tools-prefix\"]?.(scope)}\n <ElButton type=\"primary\" link onClick={() => handleAdd(data)}>\n 添加\n </ElButton>\n <ElButton type=\"primary\" link onClick={() => handleEdit(data)}>\n 编辑\n </ElButton>\n <ElButton type=\"danger\" link onClick={() => handleDelete(data)}>\n 删除\n </ElButton>\n {$slots[\"node-tools-suffix\"]?.(scope)}\n </Fragment>\n );\n\n return (\n <div class=\"mk-data-tree-node\">\n <div class=\"mk-data-tree-node_main\">{main}</div>\n\n <div\n class=\"mk-data-tree-node__tools\"\n onClick={(e) => e.stopPropagation()}\n >\n {tools}\n </div>\n </div>\n );\n },\n }}\n />\n );\n },\n});\n"],"names":["defineComponent","name","props","treeProps","emits","treeEmits","setup","emit","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTree","computed","dataTable","treeRef","ref","rootNodes","unref","handleAdd","dataTreeNode","addRecord","pid","data","id","handleEdit","editRecord","handleDelete","deleteRecord","handleLoad","node","resolve","level","lazy","children","load","filter","value","handleCurrentChange","_dataTree","allowSelectContainer","isLeaf","current","getSelection","setCurrentKey","setSelection","primaryKey","handleNodeDrop","draggingNode","dropNode","dropType","event","handleNodeClick","innerDataTree","render","defaultExpandAll","filterNodeMethod","$slots","currentNodeKey","_createVNode","ElTree","$props","draggable","default","scope","label","main","tools","_Fragment","ElButton","onClick","_createTextVNode","e","stopPropagation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElButton, ElTree } from \"element-plus\";\nimport type { NodeDropType } from \"element-plus/es/components/tree/src/tree.type\";\nimport type { DragEvents } from \"element-plus/es/components/tree/src/model/useDragNode\";\nimport type Node from \"element-plus/es/components/tree/src/model/node\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { treeEmits, treeProps } from \"./tree-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKTree\",\n props: treeProps,\n emits: treeEmits,\n setup(props, { emit }) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTree = computed(\n () => props.dataTree ?? (dataTableContext!.dataTable as DataTree)\n );\n\n const treeRef = ref<typeof ElTree | null>(null);\n\n const rootNodes = computed(() => unref(dataTree).rootNodes);\n\n const currentNodeKey = computed(\n () => (props.currentNodeKey || unref(dataTree).getSelection()[0]) ?? \"\"\n );\n\n onMounted(() => {\n watch(\n currentNodeKey,\n (currentNodeKey) => {\n unref(treeRef)?.setCurrentKey(currentNodeKey || null);\n },\n { immediate: true }\n );\n });\n\n unref(dataTree).afterLoadEvent.on(async () => {\n await nextTick();\n\n unref(treeRef)?.setCurrentKey(unref(currentNodeKey) || null);\n });\n\n const handleAdd = (dataTreeNode?: DataTreeNode) => {\n unref(dataTree).addRecord(\n dataTreeNode ? { pid: dataTreeNode.data.id } : {}\n );\n };\n\n const handleEdit = (dataTreeNode: DataTreeNode) => {\n unref(dataTree).editRecord(dataTreeNode.data);\n };\n\n const handleDelete = async (dataTreeNode: DataTreeNode) => {\n unref(dataTree).deleteRecord(dataTreeNode.data);\n };\n\n const handleLoad = async (node: Node, resolve: Function) => {\n if (node.level === 0) {\n return;\n }\n\n if (!unref(dataTree).lazy) {\n resolve(node.data.children);\n return;\n }\n\n const dataTreeNode = node.data as DataTreeNode;\n\n await dataTreeNode.load();\n\n resolve(dataTreeNode.children);\n };\n\n const filter = (value: any) => {\n unref(treeRef)?.filter(value);\n };\n\n const handleCurrentChange = (\n dataTreeNode: DataTreeNode | null,\n node: Node | null\n ) => {\n if (!dataTreeNode) {\n return;\n }\n\n const _dataTree = unref(dataTree);\n\n if (!props.allowSelectContainer && !dataTreeNode.isLeaf) {\n const current = _dataTree.getSelection()[0] ?? null;\n\n unref(treeRef)?.setCurrentKey(current);\n\n return;\n }\n\n _dataTree.setSelection([dataTreeNode.data[_dataTree.primaryKey]]);\n };\n\n // 没作用\n // watch(()=>props.currentNodeKey,()=>{\n // treeRef.value?.getCurrentKey(props.currentNodeKey)\n // console.log(\"props.currentNodeKey\",props.currentNodeKey)\n // },{ immediate:true })\n\n const handleNodeDrop = (\n draggingNode: Node,\n dropNode: Node,\n dropType: NodeDropType,\n event: DragEvents\n ) => {\n // console.log(draggingNode, dropNode);\n unref(dataTree).handleNodeDrop(\n draggingNode.data! as any,\n dropNode.data! as any,\n dropType\n );\n };\n\n const handleNodeClick = (node: DataTreeNode<any>) => {\n emit(\"nodeClick\", node);\n };\n\n return {\n treeRef,\n innerDataTree: dataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n filter,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n };\n },\n render() {\n const {\n defaultExpandAll,\n filterNodeMethod,\n innerDataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n handleCurrentChange,\n handleNodeDrop,\n handleNodeClick,\n $slots,\n } = this;\n\n return (\n <ElTree\n props={{ children: \"children\", isLeaf: \"isLeaf\" }}\n defaultExpandAll={defaultExpandAll}\n ref=\"treeRef\"\n class=\"mk-data-tree\"\n highlight-current\n data={rootNodes}\n lazy\n filterNodeMethod={filterNodeMethod as any}\n nodeKey=\"primaryValue\"\n expand-on-click-node={false}\n load={handleLoad}\n onCurrent-change={handleCurrentChange}\n onNode-drop={handleNodeDrop}\n draggable={this.$props.draggable}\n onNode-click={handleNodeClick}\n v-slots={{\n default: (scope: any) => {\n let children = $slots.default?.(scope);\n\n if (children) {\n return children;\n }\n\n const { data } = scope;\n\n const label = data.data[innerDataTree.props.label];\n\n const main = $slots[\"node-main\"]?.(scope) || label;\n\n const tools = $slots[\"node-tools\"]?.(scope) || (\n <Fragment>\n {$slots[\"node-tools-prefix\"]?.(scope)}\n <ElButton type=\"primary\" link onClick={() => handleAdd(data)}>\n 添加\n </ElButton>\n <ElButton type=\"primary\" link onClick={() => handleEdit(data)}>\n 编辑\n </ElButton>\n <ElButton type=\"danger\" link onClick={() => handleDelete(data)}>\n 删除\n </ElButton>\n {$slots[\"node-tools-suffix\"]?.(scope)}\n </Fragment>\n );\n\n return (\n <div class=\"mk-data-tree-node\">\n <div class=\"mk-data-tree-node_main\">{main}</div>\n\n <div\n class=\"mk-data-tree-node__tools\"\n onClick={(e) => e.stopPropagation()}\n >\n {tools}\n </div>\n </div>\n );\n },\n }}\n />\n );\n },\n});\n"],"names":["defineComponent","name","props","treeProps","emits","treeEmits","setup","emit","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTree","computed","dataTable","treeRef","ref","rootNodes","unref","currentNodeKey","getSelection","onMounted","watch","setCurrentKey","immediate","afterLoadEvent","on","nextTick","handleAdd","dataTreeNode","addRecord","pid","data","id","handleEdit","editRecord","handleDelete","deleteRecord","handleLoad","node","resolve","level","lazy","children","load","filter","value","handleCurrentChange","_dataTree","allowSelectContainer","isLeaf","current","setSelection","primaryKey","handleNodeDrop","draggingNode","dropNode","dropType","event","handleNodeClick","innerDataTree","render","defaultExpandAll","filterNodeMethod","$slots","_createVNode","ElTree","$props","draggable","default","scope","label","main","tools","_Fragment","ElButton","onClick","_createTextVNode","e","stopPropagation"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -77,7 +77,6 @@ import { MsMaterialGroupForm } from "./modules/ms/dataviews/ms-material/ms-mater
|
|
|
77
77
|
import { MsMaterialGroupTree } from "./modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js";
|
|
78
78
|
import { MsMaterialForm } from "./modules/ms/dataviews/ms-material/MsMaterialForm.js";
|
|
79
79
|
import { MsMaterialTable } from "./modules/ms/dataviews/ms-material/MsMaterialTable.js";
|
|
80
|
-
import { MsMaterialMan } from "./modules/ms/dataviews/ms-material/MsMaterialMan.js";
|
|
81
80
|
import { MsMemberForm } from "./modules/ms/dataviews/ms-member/MsMemberForm.js";
|
|
82
81
|
import { MsMemberTable } from "./modules/ms/dataviews/ms-member/MsMemberTable.js";
|
|
83
82
|
import { MsMemberRoleTable } from "./modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js";
|
|
@@ -126,6 +125,7 @@ import { CmsPartTypesForm } from "./modules/cms/dataviews/cms-part-types/CmsPart
|
|
|
126
125
|
import { CmsPartTypesTable } from "./modules/cms/dataviews/cms-part-types/CmsPartTypesTable.js";
|
|
127
126
|
import { CmsPartForm } from "./modules/cms/dataviews/cms-parts/CmsPartForm.js";
|
|
128
127
|
import { CmsPartTree } from "./modules/cms/dataviews/cms-parts/CmsPartTree.js";
|
|
128
|
+
import { CmsContentManPartForm } from "./modules/cms/dataviews/cms-parts/CmsContentManPartForm.js";
|
|
129
129
|
import { CmsTagsTable } from "./modules/cms/dataviews/cms-tags/CmsTagsTable.js";
|
|
130
130
|
import { CmsTagsForm } from "./modules/cms/dataviews/cms-tags/CmsTagsForm.js";
|
|
131
131
|
import { abstractSelectEmits, abstractSelectProps } from "./components/abstract/abstract-select/abstract-select-options.js";
|
|
@@ -173,6 +173,7 @@ export {
|
|
|
173
173
|
CmsAdDefinesTable,
|
|
174
174
|
CmsArticlesForm,
|
|
175
175
|
CmsArticlesTable,
|
|
176
|
+
CmsContentManPartForm,
|
|
176
177
|
CmsPartForm,
|
|
177
178
|
CmsPartTree,
|
|
178
179
|
CmsPartTypesForm,
|
|
@@ -257,7 +258,6 @@ export {
|
|
|
257
258
|
MsMaterialForm,
|
|
258
259
|
MsMaterialGroupForm,
|
|
259
260
|
MsMaterialGroupTree,
|
|
260
|
-
MsMaterialMan,
|
|
261
261
|
MsMaterialTable,
|
|
262
262
|
MsMemberForm,
|
|
263
263
|
MsMemberRoleForm,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref,
|
|
1
|
+
import { defineComponent, ref, reactive, watch, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, createTextVNode, unref, withCtx, toDisplayString, createBlock, createCommentVNode } from "vue";
|
|
2
2
|
import { ElScrollbar, ElMessageBox } from "element-plus";
|
|
3
3
|
import { Edit, Delete, Plus, MoreFilled } from "@element-plus/icons-vue";
|
|
4
4
|
import { MKDataTable } from "../../../../components/data-model/data-table/index.js";
|
|
@@ -58,20 +58,34 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
58
58
|
...{ name: "MKPartTree" },
|
|
59
59
|
__name: "index",
|
|
60
60
|
props: {
|
|
61
|
-
|
|
61
|
+
curSelectId: {}
|
|
62
62
|
},
|
|
63
63
|
emits: ["edit", "add", "deleteSuccessfully", "select"],
|
|
64
64
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
65
65
|
const treeRef = ref(null);
|
|
66
66
|
const optionSettings = __props;
|
|
67
|
-
const enableEdit = computed(() => optionSettings.EnableEdit);
|
|
68
67
|
const emit = __emit;
|
|
69
68
|
const i18n = useI18n();
|
|
70
69
|
const dataTree = reactive(new CmsPartTree());
|
|
70
|
+
const selectNodeId = ref(optionSettings.curSelectId);
|
|
71
|
+
watch(() => optionSettings.curSelectId, () => {
|
|
72
|
+
selectNodeId.value = optionSettings.curSelectId;
|
|
73
|
+
});
|
|
71
74
|
dataTree.listChangeEvent.once(() => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
var _a;
|
|
76
|
+
const list = dataTree.getList();
|
|
77
|
+
if (list.length > 0) {
|
|
78
|
+
if (!selectNodeId.value) {
|
|
79
|
+
selectNodeId.value = list[0].id;
|
|
80
|
+
}
|
|
81
|
+
for (let i = 0; i < list.length; i++) {
|
|
82
|
+
let item = list[i];
|
|
83
|
+
if (item.id == selectNodeId.value) {
|
|
84
|
+
emit("select", item);
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
(_a = item.children) == null ? void 0 : _a.forEach((child) => list.push(child));
|
|
88
|
+
}
|
|
75
89
|
}
|
|
76
90
|
});
|
|
77
91
|
const handleAddClick = (item) => {
|
|
@@ -126,13 +140,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
126
140
|
defaultExpandAll: "",
|
|
127
141
|
draggable: "",
|
|
128
142
|
ref_key: "treeRef",
|
|
129
|
-
ref: treeRef
|
|
143
|
+
ref: treeRef,
|
|
144
|
+
currentNodeKey: selectNodeId.value
|
|
130
145
|
}, {
|
|
131
146
|
"node-main": withCtx(({ data }) => [
|
|
132
147
|
createTextVNode(toDisplayString(data.data.title), 1)
|
|
133
148
|
]),
|
|
134
149
|
"node-tools": withCtx(({ data }) => [
|
|
135
|
-
|
|
150
|
+
createVNode(_component_el_dropdown, null, {
|
|
136
151
|
dropdown: withCtx(() => [
|
|
137
152
|
createVNode(_component_el_dropdown_menu, null, {
|
|
138
153
|
default: withCtx(() => [
|
|
@@ -177,10 +192,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
177
192
|
})
|
|
178
193
|
]),
|
|
179
194
|
_: 2
|
|
180
|
-
}, 1024)
|
|
195
|
+
}, 1024)
|
|
181
196
|
]),
|
|
182
197
|
_: 1
|
|
183
|
-
}, 8, ["data-tree"])
|
|
198
|
+
}, 8, ["data-tree", "currentNodeKey"])
|
|
184
199
|
]),
|
|
185
200
|
_: 1
|
|
186
201
|
}, 8, ["data-table"])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../../../src/modules/cms/components/part-tree/index.vue"],"sourcesContent":["<template>\
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../../../src/modules/cms/components/part-tree/index.vue"],"sourcesContent":["<template>\n <div class=\"cms-part-tree\">\n <div class=\"cms-part-tree__header\">\n <div>\n <MKSvgIcon iconClass=\"Notebook\" />\n 栏目\n </div>\n </div>\n <div class=\"cms-part-tree__body\">\n <ElScrollbar style=\"height: 100%;\">\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll draggable ref=\"treeRef\" :currentNodeKey=\"selectNodeId\">\n <template #node-main=\"{ data }\">\n {{ data.data.title }}\n </template>\n <template #node-tools=\"{ data }\">\n <el-dropdown>\n <ElIcon>\n <MoreFilled />\n </ElIcon>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </template>\n </MKTree>\n </MKDataTable>\n </ElScrollbar>\n </div>\n </div>\n</template>\n<script setup lang='ts'>\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\nimport { reactive, defineProps, watch, defineEmits, ref } from \"vue\";\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\nimport { CmsPartTree } from \"../../dataviews\";\nimport { useI18n } from \"../../../../composables\";\nimport { DataTreeNode } from \"@maketribe/dm\";\n\ndefineOptions({ name: \"MKPartTree\" });\nconst treeRef = ref(null);\n// 配置选项\nconst optionSettings = defineProps<{\n curSelectId?:string|undefined\n}>();\n\n// 事件定义\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\n\nconst i18n = useI18n()!;\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\nconst selectNodeId = ref(optionSettings.curSelectId);\n\nwatch(()=>optionSettings.curSelectId,()=>{\n selectNodeId.value = optionSettings.curSelectId\n})\n\ndataTree.listChangeEvent.once(() => {\n\n const list = dataTree.getList();\n\n if (list.length > 0) {\n //默认选择第一条\n if(!selectNodeId.value){ selectNodeId.value = list[0].id; }\n\n\n for(let i=0;i<list.length;i++){\n\n let item = list[i]\n\n if(item.id == selectNodeId.value){\n emit(\"select\", item);\n break;\n }\n item.children?.forEach((child:any)=>list.push(child))\n\n }\n }\n})\n\n/**\n * 点击添加栏目按钮\n * @param item \n */\nconst handleAddClick = (item: any) => {\n emit(\"add\", item);\n}\n\n/**\n * 编辑栏目\n * @param item \n */\nconst handleEditClick = (item: any) => {\n emit(\"edit\", item);\n}\n/**\n * 删除栏目\n * @param item \n */\nconst handleDeleteClick = async (item: any) => {\n // 删除提示\n const isConfirm = await ElMessageBox.confirm(\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\n { type: \"warning\" }\n )\n\n if (!isConfirm) {\n return;\n }\n const result = await dataTree.deleteAfterRefresh(item.id);\n if (result.data.code == 200) {\n emit('deleteSuccessfully', item)\n }\n}\n\n/**\n * 选择栏目\n * @param data \n */\nconst selectPart = (data: DataTreeNode) => {\n emit(\"select\", data.data);\n}\n\ndefineExpose({ dataTree });\n\n\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CM,UAAA,UAAU,IAAI,IAAI;AAExB,UAAM,iBAAiB;AAKvB,UAAM,OAAO;AAEb,UAAM,OAAO;AACb,UAAM,WAAW,SAAS,IAAI,YAAa,CAAA;AACrC,UAAA,eAAe,IAAI,eAAe,WAAW;AAE7C,UAAA,MAAI,eAAe,aAAY,MAAI;AACvC,mBAAa,QAAQ,eAAe;AAAA,IAAA,CACrC;AAEQ,aAAA,gBAAgB,KAAK,MAAM;;AAE5B,YAAA,OAAO,SAAS;AAElB,UAAA,KAAK,SAAS,GAAG;AAEhB,YAAA,CAAC,aAAa,OAAM;AAAe,uBAAA,QAAQ,KAAK,CAAC,EAAE;AAAA,QAAI;AAG1D,iBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAExB,cAAA,OAAO,KAAK,CAAC;AAEd,cAAA,KAAK,MAAM,aAAa,OAAM;AAC/B,iBAAK,UAAU,IAAI;AACnB;AAAA,UACF;AACA,qBAAK,aAAL,mBAAe,QAAQ,CAAC,UAAY,KAAK,KAAK,KAAK;AAAA,QAErD;AAAA,MACF;AAAA,IAAA,CACD;AAMK,UAAA,iBAAiB,CAAC,SAAc;AACpC,WAAK,OAAO,IAAI;AAAA,IAAA;AAOZ,UAAA,kBAAkB,CAAC,SAAc;AACrC,WAAK,QAAQ,IAAI;AAAA,IAAA;AAMb,UAAA,oBAAoB,OAAO,SAAc;AAEvC,YAAA,YAAY,MAAM,aAAa;AAAA,QACnC,KAAK,UAAU,gCAAgC;AAAA,QAC/C,KAAK,UAAU,8BAA8B;AAAA,QAC7C,EAAE,MAAM,UAAU;AAAA,MAAA;AAGpB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACA,YAAM,SAAS,MAAM,SAAS,mBAAmB,KAAK,EAAE;AACpD,UAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,aAAK,sBAAsB,IAAI;AAAA,MACjC;AAAA,IAAA;AAOI,UAAA,aAAa,CAAC,SAAuB;AACpC,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA;AAGb,aAAA,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CmsPartForm } from "./CmsPartForm.js";
|
|
2
|
+
import { MKError, Errors, DataFormType } from "@maketribe/dm";
|
|
3
|
+
class CmsContentManPartForm extends CmsPartForm {
|
|
4
|
+
async submit(data = {}) {
|
|
5
|
+
data = { ...this.data, ...data };
|
|
6
|
+
let response;
|
|
7
|
+
switch (this.getDataFormType()) {
|
|
8
|
+
case DataFormType.UPDATE:
|
|
9
|
+
response = await this.update(data);
|
|
10
|
+
break;
|
|
11
|
+
case DataFormType.ADD:
|
|
12
|
+
response = await this.add(data);
|
|
13
|
+
break;
|
|
14
|
+
default:
|
|
15
|
+
throw new MKError(Errors.FORM_TYPE_MISMATCH_ERROR_CODE);
|
|
16
|
+
}
|
|
17
|
+
if (response.data.code == 200) {
|
|
18
|
+
this.editRecord(data.id);
|
|
19
|
+
}
|
|
20
|
+
return response;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
CmsContentManPartForm
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=CmsContentManPartForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsContentManPartForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-parts/CmsContentManPartForm.ts"],"sourcesContent":["import { CmsPartForm } from \"./CmsPartForm\"\r\nimport { ResponseConfig, R } from \"@maketribe/request\";\r\nimport { DataFormType,Errors, MKError } from \"@maketribe/dm\";\r\n\r\n/**\r\n * 内容管理的栏目表单\r\n */\r\nexport class CmsContentManPartForm extends CmsPartForm{\r\n\r\n async submit(data: Record<string, any> = {}) {\r\n data = { ...this.data, ...data };\r\n let response: ResponseConfig<R<null>, any>;\r\n\r\n switch (this.getDataFormType()) {\r\n case DataFormType.UPDATE:\r\n response = await this.update(data);\r\n break;\r\n case DataFormType.ADD:\r\n response = await this.add(data);\r\n break;\r\n default:\r\n throw new MKError(Errors.FORM_TYPE_MISMATCH_ERROR_CODE);\r\n }\r\n\r\n if(response.data.code == 200){\r\n this.editRecord(data.id)\r\n }\r\n\r\n return response;\r\n }\r\n\r\n}\r\n"],"names":[],"mappings":";;AAOO,MAAM,8BAA8B,YAAW;AAAA,EAEpD,MAAM,OAAO,OAA4B,IAAI;AAC3C,WAAO,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK;AAC3B,QAAA;AAEI,YAAA,KAAK,gBAAmB,GAAA;AAAA,MAC9B,KAAK,aAAa;AACL,mBAAA,MAAM,KAAK,OAAO,IAAI;AACjC;AAAA,MACF,KAAK,aAAa;AACL,mBAAA,MAAM,KAAK,IAAI,IAAI;AAC9B;AAAA,MACF;AACQ,cAAA,IAAI,QAAQ,OAAO,6BAA6B;AAAA,IAC1D;AAEG,QAAA,SAAS,KAAK,QAAQ,KAAI;AACtB,WAAA,WAAW,KAAK,EAAE;AAAA,IACzB;AAEO,WAAA;AAAA,EACT;AAEF;"}
|
|
@@ -8,6 +8,7 @@ import { CmsPartTypesForm } from "./dataviews/cms-part-types/CmsPartTypesForm.js
|
|
|
8
8
|
import { CmsPartTypesTable } from "./dataviews/cms-part-types/CmsPartTypesTable.js";
|
|
9
9
|
import { CmsPartForm } from "./dataviews/cms-parts/CmsPartForm.js";
|
|
10
10
|
import { CmsPartTree } from "./dataviews/cms-parts/CmsPartTree.js";
|
|
11
|
+
import "@maketribe/dm";
|
|
11
12
|
import { CmsTagsTable } from "./dataviews/cms-tags/CmsTagsTable.js";
|
|
12
13
|
import { CmsTagsForm } from "./dataviews/cms-tags/CmsTagsForm.js";
|
|
13
14
|
const cmsModule = (module) => {
|
|
@@ -42,7 +43,7 @@ const cmsModule = (module) => {
|
|
|
42
43
|
});
|
|
43
44
|
module.registerExtendsPage({
|
|
44
45
|
name: "cms/ad",
|
|
45
|
-
path: "cms/ad",
|
|
46
|
+
path: "/cms/ad",
|
|
46
47
|
component: () => import("./pages/cms-ad/index.vue.js")
|
|
47
48
|
});
|
|
48
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/modules/cms/index.ts"],"sourcesContent":["import { InternalMkModule, MkModule } from \"../../core\";\n\nimport {\n CmsAdContentsTable,\n CmsAdContentsForm,\n CmsAdDefinesTable,\n CmsAdDefinesForm,\n CmsPartTree,\n CmsPartForm,\n CmsPartTypesTable,\n CmsPartTypesForm,\n CmsTagsTable,\n CmsTagsForm,\n CmsArticlesTable,\n CmsArticlesForm,\n} from \"./dataviews\";\n\nexport * from \"./dataviews\";\n\nconst cmsModule: MkModule = (module: InternalMkModule) => {\n module.registerDataTable(CmsAdContentsTable);\n module.registerDataForm(CmsAdContentsForm);\n\n module.registerDataTable(CmsAdDefinesTable);\n module.registerDataForm(CmsAdDefinesForm);\n\n module.registerDataTree(CmsPartTree);\n module.registerDataForm(CmsPartForm);\n\n module.registerDataTable(CmsPartTypesTable);\n module.registerDataForm(CmsPartTypesForm);\n\n module.registerDataTable(CmsTagsTable);\n module.registerDataForm(CmsTagsForm);\n\n module.registerDataTable(CmsArticlesTable);\n module.registerDataForm(CmsArticlesForm);\n\n module.registerExtendsPage({\n name: \"cms-resource/index\",\n path: \"/cms/resource\",\n component: () => import(\"./pages/cms-resource/index.vue\"),\n });\n\n\n // 内容管理\n module.registerExtendsPage({\n name: \"cms/contents\",\n path: \"/cms/contents\",\n component: () => import(\"./pages/cms-contents/index.vue\"),\n meta: { name: \"cms-contents\" },\n });\n\n // 栏目编辑\n module.registerExtendsPage({\n name: \"cms/article\",\n path: \"/cms/article\",\n component: () => import(\"./pages/cms-contents/article-edit-add-page.vue\"),\n meta: { name: \"cms-article\" },\n });\n\n // 广告定义页面\n module.registerExtendsPage({\n name: \"cms/ad\",\n path: \"cms/ad\",\n component: () => import(\"./pages/cms-ad/index.vue\")\n });\n\n // 发布页面\n // module.registerExtendsPage({\n // name: \"cms/publish\",\n // path: \"/cms/publish\",\n // component: () => import(\"./pages/cms-publish/index.vue\")\n // });\n};\n\nexport default cmsModule;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/modules/cms/index.ts"],"sourcesContent":["import { InternalMkModule, MkModule } from \"../../core\";\n\nimport {\n CmsAdContentsTable,\n CmsAdContentsForm,\n CmsAdDefinesTable,\n CmsAdDefinesForm,\n CmsPartTree,\n CmsPartForm,\n CmsPartTypesTable,\n CmsPartTypesForm,\n CmsTagsTable,\n CmsTagsForm,\n CmsArticlesTable,\n CmsArticlesForm,\n} from \"./dataviews\";\n\nexport * from \"./dataviews\";\n\nconst cmsModule: MkModule = (module: InternalMkModule) => {\n module.registerDataTable(CmsAdContentsTable);\n module.registerDataForm(CmsAdContentsForm);\n\n module.registerDataTable(CmsAdDefinesTable);\n module.registerDataForm(CmsAdDefinesForm);\n\n module.registerDataTree(CmsPartTree);\n module.registerDataForm(CmsPartForm);\n\n module.registerDataTable(CmsPartTypesTable);\n module.registerDataForm(CmsPartTypesForm);\n\n module.registerDataTable(CmsTagsTable);\n module.registerDataForm(CmsTagsForm);\n\n module.registerDataTable(CmsArticlesTable);\n module.registerDataForm(CmsArticlesForm);\n\n module.registerExtendsPage({\n name: \"cms-resource/index\",\n path: \"/cms/resource\",\n component: () => import(\"./pages/cms-resource/index.vue\"),\n });\n\n\n // 内容管理\n module.registerExtendsPage({\n name: \"cms/contents\",\n path: \"/cms/contents\",\n component: () => import(\"./pages/cms-contents/index.vue\"),\n meta: { name: \"cms-contents\" },\n });\n\n // 栏目编辑\n module.registerExtendsPage({\n name: \"cms/article\",\n path: \"/cms/article\",\n component: () => import(\"./pages/cms-contents/article-edit-add-page.vue\"),\n meta: { name: \"cms-article\" },\n });\n\n // 广告定义页面\n module.registerExtendsPage({\n name: \"cms/ad\",\n path: \"/cms/ad\",\n component: () => import(\"./pages/cms-ad/index.vue\")\n });\n\n // 发布页面\n // module.registerExtendsPage({\n // name: \"cms/publish\",\n // path: \"/cms/publish\",\n // component: () => import(\"./pages/cms-publish/index.vue\")\n // });\n};\n\nexport default cmsModule;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAmBM,MAAA,YAAsB,CAAC,WAA6B;AACxD,SAAO,kBAAkB,kBAAkB;AAC3C,SAAO,iBAAiB,iBAAiB;AAEzC,SAAO,kBAAkB,iBAAiB;AAC1C,SAAO,iBAAiB,gBAAgB;AAExC,SAAO,iBAAiB,WAAW;AACnC,SAAO,iBAAiB,WAAW;AAEnC,SAAO,kBAAkB,iBAAiB;AAC1C,SAAO,iBAAiB,gBAAgB;AAExC,SAAO,kBAAkB,YAAY;AACrC,SAAO,iBAAiB,WAAW;AAEnC,SAAO,kBAAkB,gBAAgB;AACzC,SAAO,iBAAiB,eAAe;AAEvC,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mCAAgC;AAAA,EAAA,CACzD;AAID,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mCAAgC;AAAA,IACxD,MAAM,EAAE,MAAM,eAAe;AAAA,EAAA,CAC9B;AAGD,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,mDAAgD;AAAA,IACxE,MAAM,EAAE,MAAM,cAAc;AAAA,EAAA,CAC7B;AAGD,SAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,6BAA0B;AAAA,EAAA,CACnD;AAQH;"}
|