@maketribe/ms-app 3.2.24 → 3.2.25
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/components/basic/doc-editor/core/index.js +7 -0
- package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js +7 -0
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +0 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +66 -39
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +21 -18
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +15 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +2 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +3 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +10 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +49 -34
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +7 -10
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/context/UploadContext.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/index.js +13 -3
- package/dist/cjs/components/basic/upload-file/index.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/ui/upload-file/index.js +11 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/index.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file-options.js +38 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file-options.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file.js +224 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +4 -2
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/ui/upload-video/index.js +11 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/index.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video-options.js +38 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video-options.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video.js +222 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/upload-file-options.js +2 -1
- package/dist/cjs/components/basic/upload-file/upload-file-options.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/upload-file.js +1 -0
- package/dist/cjs/components/basic/upload-file/upload-file.js.map +1 -1
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js +2 -0
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +2 -0
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js +2 -0
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js +2 -0
- package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js +2 -0
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/cjs/core/component/DataFormComponents.js +14 -0
- package/dist/cjs/core/component/DataFormComponents.js.map +1 -1
- package/dist/cjs/index.js +73 -61
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/installer.js +17 -14
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/components/bar/index.js +2 -0
- package/dist/cjs/layouts/components/bar/index.js.map +1 -1
- package/dist/cjs/layouts/components/header/tools.js +2 -0
- package/dist/cjs/layouts/components/header/tools.js.map +1 -1
- package/dist/cjs/layouts/components/menu/menu-item.js +2 -0
- package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/cjs/layouts/container/default.js +2 -0
- package/dist/cjs/layouts/container/default.js.map +1 -1
- package/dist/cjs/message-impl/DialogerImpl.js +2 -0
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -0
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +11 -7
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +3 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -0
- 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-atlas.vue.js +2 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +3 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +8 -6
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +2 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +2 -0
- 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 +2 -0
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +2 -0
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list.js +2 -0
- package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +2 -0
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +2 -0
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +2 -0
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/cjs/modules/ms/image-upload-context/index.js +2 -0
- package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -1
- package/dist/cjs/modules/ms/index.js +4 -2
- package/dist/cjs/modules/ms/index.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js +17 -3
- package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/material-upload-context.js +2 -0
- package/dist/cjs/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js +2 -0
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +2 -0
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +3 -0
- 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 +2 -0
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js +2 -0
- package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +2 -0
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +2 -0
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +2 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +2 -0
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/table.vue2.js +2 -0
- package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js +2 -0
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js +2 -0
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/index.js +9 -2
- package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js +8 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +0 -3
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +1 -2
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +66 -39
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +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/ModulePlugin/ModuleBlockNode.js +21 -18
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +15 -0
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +2 -2
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +1 -2
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +3 -2
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +10 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +50 -35
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -2
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +7 -10
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/esm/components/basic/upload-file/context/UploadContext.js.map +1 -1
- package/dist/esm/components/basic/upload-file/index.js +10 -0
- package/dist/esm/components/basic/upload-file/index.js.map +1 -1
- package/dist/esm/components/basic/upload-file/ui/upload-file/index.js +11 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/index.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file-options.js +38 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file-options.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file.js +225 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +4 -2
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/esm/components/basic/upload-file/ui/upload-video/index.js +11 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/index.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video-options.js +38 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video-options.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video.js +223 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video.js.map +1 -0
- package/dist/esm/components/basic/upload-file/upload-file-options.js +2 -1
- package/dist/esm/components/basic/upload-file/upload-file-options.js.map +1 -1
- package/dist/esm/components/basic/upload-file/upload-file.js +1 -0
- package/dist/esm/components/basic/upload-file/upload-file.js.map +1 -1
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js +2 -0
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -0
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js +2 -0
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js +2 -0
- package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js +2 -0
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/esm/core/component/DataFormComponents.js +14 -0
- package/dist/esm/core/component/DataFormComponents.js.map +1 -1
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/installer.js +3 -0
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/components/bar/index.js +2 -0
- package/dist/esm/layouts/components/bar/index.js.map +1 -1
- package/dist/esm/layouts/components/header/tools.js +2 -0
- package/dist/esm/layouts/components/header/tools.js.map +1 -1
- package/dist/esm/layouts/components/menu/menu-item.js +2 -0
- package/dist/esm/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/esm/layouts/container/default.js +2 -0
- package/dist/esm/layouts/container/default.js.map +1 -1
- package/dist/esm/message-impl/DialogerImpl.js +2 -0
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -0
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +11 -7
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +3 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -0
- 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-atlas.vue.js +2 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +3 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +8 -6
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +2 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +2 -0
- 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 +2 -0
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +2 -0
- package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list.js +2 -0
- package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +2 -0
- package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +2 -0
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +2 -0
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/esm/modules/ms/image-upload-context/index.js +2 -0
- package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -1
- package/dist/esm/modules/ms/index.js +4 -2
- package/dist/esm/modules/ms/index.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js +17 -3
- package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/material-upload-context.js +2 -0
- package/dist/esm/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
- package/dist/esm/modules/ms/pages/icons/index.vue2.js +2 -0
- package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js +2 -0
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +3 -0
- 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 +2 -0
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +2 -0
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js +2 -0
- package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +2 -0
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +2 -0
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -0
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +2 -0
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +2 -0
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/table.vue2.js +2 -0
- package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js +2 -0
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js +2 -0
- package/dist/esm/page/signup/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/upload-file-ui.css +1 -0
- package/dist/style/components/upload-image.css +1 -1
- package/dist/style/components/upload-video-ui.css +1 -0
- package/dist/style/index.css +3 -3
- package/dist/style/src/components/basic/doc-editor/index.scss +5 -3
- package/dist/style/src/components/index.scss +2 -0
- package/dist/style/src/components/upload-file-ui.scss +89 -0
- package/dist/style/src/components/upload-image.scss +3 -2
- package/dist/style/src/components/upload-video-ui.scss +139 -0
- package/dist/style/src/index.scss +4 -0
- package/dist/types/components/basic/doc-editor/core/index.d.ts +15 -0
- package/dist/types/components/basic/doc-editor/index.d.ts +2 -2
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +7 -1
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.d.ts +8 -0
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +2 -1
- package/dist/types/components/basic/upload-file/context/UploadContext.d.ts +1 -0
- package/dist/types/components/basic/upload-file/ui/index.d.ts +2 -0
- package/dist/types/components/basic/upload-file/ui/upload-file/index.d.ts +67 -0
- package/dist/types/components/basic/upload-file/ui/upload-file/upload-file-options.d.ts +35 -0
- package/dist/types/components/basic/upload-file/ui/upload-file/upload-file.d.ts +67 -0
- package/dist/types/components/basic/upload-file/ui/upload-video/index.d.ts +67 -0
- package/dist/types/components/basic/upload-file/ui/upload-video/upload-video-options.d.ts +35 -0
- package/dist/types/components/basic/upload-file/ui/upload-video/upload-video.d.ts +67 -0
- package/dist/types/components/basic/upload-file/upload-file-options.d.ts +1 -0
- package/dist/types/components/basic/upload-file/upload-file.d.ts +2 -0
- package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +4 -1
- package/dist/types/modules/ms/components/index.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js +0 -11
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js +0 -11
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js.map +0 -1
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/defines.d.ts +0 -15
|
@@ -21,6 +21,8 @@ require("@maketribe/utils");
|
|
|
21
21
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
22
22
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
23
23
|
require("../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
24
|
+
require("../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
25
|
+
require("../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
24
26
|
require("../../../../../components/basic/upload-file/upload-file-options.js");
|
|
25
27
|
require("../../../../../components/basic/doc-editor/index.js");
|
|
26
28
|
require("../../../../../components/basic/copy-container/index.js");
|
|
@@ -48,9 +50,9 @@ require("../../../../ms/dataviews/log/local-log/LocalLogTree.js");
|
|
|
48
50
|
require("../../../../ms/components/material-list/index.js");
|
|
49
51
|
require("../../../../ms/components/markdown-editor/index.js");
|
|
50
52
|
require("../../../../ms/components/rich-text-editor/index.js");
|
|
53
|
+
require("@element-plus/icons-vue");
|
|
51
54
|
require("../../../../ms/material-upload-context/material-upload-context-options.js");
|
|
52
55
|
require("../../../../ms/material-upload-context/material-upload-context.js");
|
|
53
|
-
require("@element-plus/icons-vue");
|
|
54
56
|
const CmsArticlesTable = require("../../../dataviews/cms-articles/CmsArticlesTable.js");
|
|
55
57
|
const CmsArticlesForm = require("../../../dataviews/cms-articles/CmsArticlesForm.js");
|
|
56
58
|
require("@codemirror/lang-html");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-list.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-list.vue"],"sourcesContent":["<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon> \r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon> \r\n 发布时间 : {{ article.publishTime }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <a v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a>\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\" v-if=\"CmsSettings.publish.mode == 'static'\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable,CmsArticlesForm } from \"../../../dataviews\"\r\nimport { reactive, defineProps, watch,onMounted } from \"vue\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n// 发布文章表单\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n// 草稿文章\r\nconst draftArticleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n// 初始化\r\nonMounted(()=>{\r\n articleForm.init();\r\n draftArticleForm.init();\r\n\r\n // 监听栏目数据变化\r\n watch(() => props.part, (item: any) => {\r\n if (item.cmsPartTypeId != 1) {\r\n\r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n // 只查草稿\r\n defaultGroup.addCondition(\"isDraft\", \"=\", 1);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n }, { immediate: true })\r\n})\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"删除文章?\",\r\n message: \"是否删除文章?\",\r\n type: \"warning\"\r\n })\r\n\r\n if (!isConfirm) { return; }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n// 添加记录\r\narticlesDv.addRecordEvent.on(() => editArticleHandle(props.part, true))\r\n\r\n/**\r\n * fault文章\r\n * @param article \r\n */\r\nconst publishArticleHandle = async (article: any) => {\r\n\r\n try {\r\n\r\n if (await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })) {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n // 调用发布接口\r\n const response:any = await CmsArticlesForm.publish(CmsSettings.publish.mode,article.cmsPartId,article.id);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n }\r\n\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n\r\n</script>\r\n"],"names":["useCmsSettings","reactive","CmsArticlesTable","CmsArticlesForm","useRouter","onMounted","watch","isWhereFilter","Dialoger","Messager"],"mappings":"
|
|
1
|
+
{"version":3,"file":"article-list.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-list.vue"],"sourcesContent":["<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon> \r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon> \r\n 发布时间 : {{ article.publishTime }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <a v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a>\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\" v-if=\"CmsSettings.publish.mode == 'static'\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable,CmsArticlesForm } from \"../../../dataviews\"\r\nimport { reactive, defineProps, watch,onMounted } from \"vue\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n// 发布文章表单\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n// 草稿文章\r\nconst draftArticleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n// 初始化\r\nonMounted(()=>{\r\n articleForm.init();\r\n draftArticleForm.init();\r\n\r\n // 监听栏目数据变化\r\n watch(() => props.part, (item: any) => {\r\n if (item.cmsPartTypeId != 1) {\r\n\r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n // 只查草稿\r\n defaultGroup.addCondition(\"isDraft\", \"=\", 1);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n }, { immediate: true })\r\n})\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"删除文章?\",\r\n message: \"是否删除文章?\",\r\n type: \"warning\"\r\n })\r\n\r\n if (!isConfirm) { return; }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n// 添加记录\r\narticlesDv.addRecordEvent.on(() => editArticleHandle(props.part, true))\r\n\r\n/**\r\n * fault文章\r\n * @param article \r\n */\r\nconst publishArticleHandle = async (article: any) => {\r\n\r\n try {\r\n\r\n if (await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })) {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n // 调用发布接口\r\n const response:any = await CmsArticlesForm.publish(CmsSettings.publish.mode,article.cmsPartId,article.id);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n }\r\n\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n\r\n</script>\r\n"],"names":["useCmsSettings","reactive","CmsArticlesTable","CmsArticlesForm","useRouter","onMounted","watch","isWhereFilter","Dialoger","Messager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,cAAcA,YAAAA;AAGpB,UAAM,aAAaC,IAAAA,SAAS,IAAIC,iBAAAA,iBAAkB,CAAA;AAElD,UAAM,cAAcD,IAAAA,SAAS,IAAIE,gBAAAA,gBAAiB,CAAA;AAElD,UAAM,mBAAmBF,IAAAA,SAAS,IAAIE,gBAAAA,gBAAiB,CAAA;AAGvD,UAAM,QAAQ;AAId,UAAM,SAASC,UAAAA;AAGfC,QAAAA,UAAU,MAAI;AACZ,kBAAY,KAAK;AACjB,uBAAiB,KAAK;AAGtBC,UAAAA,MAAM,MAAM,MAAM,MAAM,CAAC,SAAc;AACjC,YAAA,KAAK,iBAAiB,GAAG;AAE3B,gBAAM,aAAa,WAAW;AAE1B,cAAAC,GAAAA,cAAc,UAAU,GAAG;AAEvB,kBAAA,eAAe,WAAW;AAEhC,yBAAa,MAAM;AACnB,yBAAa,aAAa,aAAa,KAAK,KAAK,EAAE;AAEtC,yBAAA,aAAa,WAAW,KAAK,CAAC;AAAA,UAC7C;AAEA,qBAAW,KAAK;AAAA,QAClB;AAAA,MAAA,GACC,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CACvB;AAKK,UAAA,sBAAsB,OAAO,SAAc;AACzC,YAAA,YAAY,MAAMC,GAAA,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MAAA,CACP;AAED,UAAI,CAAC,WAAW;AAAE;AAAA,MAAQ;AACpB,YAAA,WAAW,mBAAmB,KAAK,EAAE;AAAA,IAAA;AAM7C,UAAM,oBAAoB,CAAC,MAAW,SAAS,UAAU;AACvD,aAAO,KAAK,EAAE,MAAM,gBAAgB,OAAO,EAAE,IAAI,SAAS,SAAY,KAAK,IAAI,QAAQ,SAAS,KAAK,KAAK,UAAa;AAAA,IAAA;AAIzH,eAAW,eAAe,GAAG,MAAO,kBAAkB,MAAM,MAAM,IAAI,CAAC;AAMjE,UAAA,uBAAuB,OAAO,YAAiB;AAE/C,UAAA;AAEE,YAAA,MAAMA,GAAS,SAAA,QAAQ,EAAE,OAAO,QAAQ,SAAS,WAAW,MAAM,UAAU,CAAC,GAAG;AAEvE,qBAAA,oBAAoB;AAGzB,gBAAA,WAAe,MAAML,gCAAgB,QAAQ,YAAY,QAAQ,MAAK,QAAQ,WAAU,QAAQ,EAAE;AAEpG,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9BM,eAAA,SAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,UACF;AAEAA,aAAAA,SAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,QACtC;AAAA,MAAA,UAEA;AACW,mBAAA,oBAAoB;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -32,6 +32,8 @@ require("../../../../../components/basic/upload-file/upload-file.js");
|
|
|
32
32
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
33
33
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
34
34
|
require("../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
35
|
+
require("../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
36
|
+
require("../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
35
37
|
require("../../../../../components/basic/upload-file/upload-file-options.js");
|
|
36
38
|
require("../../../../../components/basic/doc-editor/index.js");
|
|
37
39
|
require("../../../../../components/basic/copy-container/index.js");
|
|
@@ -50,9 +52,9 @@ require("../../../../ms/dataviews/log/local-log/LocalLogTree.js");
|
|
|
50
52
|
require("../../../../ms/components/material-list/index.js");
|
|
51
53
|
require("../../../../ms/components/markdown-editor/index.js");
|
|
52
54
|
require("../../../../ms/components/rich-text-editor/index.js");
|
|
55
|
+
const elIcons = require("@element-plus/icons-vue");
|
|
53
56
|
require("../../../../ms/material-upload-context/material-upload-context-options.js");
|
|
54
57
|
require("../../../../ms/material-upload-context/material-upload-context.js");
|
|
55
|
-
const elIcons = require("@element-plus/icons-vue");
|
|
56
58
|
require("@codemirror/lang-html");
|
|
57
59
|
const _hoisted_1 = {
|
|
58
60
|
key: 0,
|
|
@@ -80,7 +82,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
80
82
|
const props = __props;
|
|
81
83
|
const partAdBanner = vue.ref(null);
|
|
82
84
|
const loading = vue.ref(true);
|
|
83
|
-
const adContentForm = vue.reactive(new CmsAdContentsForm.CmsAdContentsForm());
|
|
85
|
+
const adContentForm = vue.reactive(new CmsAdContentsForm.CmsAdContentsForm({ cutSise: cmsSettings$1.part.bannerImageSize }));
|
|
84
86
|
adContentForm.beforeSubmitEvent.on(async ({ data }) => {
|
|
85
87
|
if (partAdBanner.value) {
|
|
86
88
|
data.adDefineId = partAdBanner.value.id;
|
|
@@ -178,24 +180,24 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
178
180
|
]),
|
|
179
181
|
vue.createElementVNode("div", _hoisted_8, [
|
|
180
182
|
vue.createVNode(_component_el_button, {
|
|
181
|
-
|
|
183
|
+
type: "primary",
|
|
182
184
|
style: { "margin-left": "10px" },
|
|
183
185
|
icon: vue.unref(elIcons.EditPen),
|
|
184
186
|
onClick: ($event) => showAdDefineHandle(item.id)
|
|
185
187
|
}, {
|
|
186
188
|
default: vue.withCtx(() => [
|
|
187
|
-
vue.createTextVNode("
|
|
189
|
+
vue.createTextVNode(" 编辑当前轮播项 ")
|
|
188
190
|
]),
|
|
189
191
|
_: 2
|
|
190
192
|
}, 1032, ["icon", "onClick"]),
|
|
191
193
|
vue.createVNode(_component_el_button, {
|
|
192
|
-
|
|
194
|
+
type: "primary",
|
|
193
195
|
style: { "margin-left": "10px" },
|
|
194
196
|
icon: vue.unref(elIcons.Plus),
|
|
195
197
|
onClick: _cache[0] || (_cache[0] = ($event) => showAdDefineHandle(null))
|
|
196
198
|
}, {
|
|
197
199
|
default: vue.withCtx(() => [
|
|
198
|
-
vue.createTextVNode("
|
|
200
|
+
vue.createTextVNode(" 添加新轮播项 ")
|
|
199
201
|
]),
|
|
200
202
|
_: 1
|
|
201
203
|
}, 8, ["icon"])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"part-banner-edit.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-loading=\"loading\" v-if=\"cmsSettings.part.openBanner\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" height=\"240px\" arrow=\"always\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button
|
|
1
|
+
{"version":3,"file":"part-banner-edit.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-loading=\"loading\" v-if=\"cmsSettings.part.openBanner\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" height=\"240px\" arrow=\"always\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle(item.id)\">\r\n 编辑当前轮播项\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle(null)\">\r\n 添加新轮播项\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else description=\"暂无轮播数据\" :image-size=\"80\" style=\"height: 240px;\">\r\n <template #description>\r\n <el-text>暂无轮播数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, computed, ref, watch, defineProps } from \"vue\";\r\nimport { DataViewRequest, Where } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdDefinesTable, CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete, Plus } from \"@element-plus/icons-vue\"\r\nimport { debounce } from \"lodash-es\"\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconst props = defineProps({ partId: { type: String }, title: { type: String } })\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({cutSise:cmsSettings.part.bannerImageSize}))\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n // 添加广告\r\n const result = await adRequest.add({ key: `part_${props.partId}`, desc: `${props.title}的Banner` })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async (partId: any) => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", `part_${partId}`);\r\n\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data[0];\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n\r\n//显示栏目广告的编辑弹窗\r\nconst showAdDefineHandle = (id: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.partId, id => {\r\n loadPartAdDefineData(id)\r\n }, { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":["DataViewRequest","cmsSettings","useCmsSettings","ref","reactive","CmsAdContentsForm","Messager","Where","Dialoger","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDM,UAAA,YAAY,IAAIA,QAAAA,gBAAgB,EAAE,MAAM,aAAa,YAAY,OAAO;AAE9E,UAAMC,gBAAcC,YAAAA;AACpB,UAAM,QAAQ;AAER,UAAA,eAAeC,QAAgB,IAAI;AACnC,UAAA,UAAUA,QAAI,IAAI;AAClB,UAAA,gBAAgBC,aAA4B,IAAIC,oCAAkB,EAAC,SAAQJ,cAAY,KAAK,gBAAgB,CAAA,CAAC;AAEnH,kBAAc,kBAAkB,GAAG,OAAO,EAAE,WAAW;AAErD,UAAI,aAAa,OAAO;AACjB,aAAA,aAAa,aAAa,MAAM;AAAA,MAAA,OAElC;AACC,YAAA;AAGF,gBAAM,SAAS,MAAM,UAAU,IAAI,EAAE,KAAK,QAAQ,MAAM,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,WAAW;AAE7F,cAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,yBAAa,QAAQ,EAAE,IAAI,OAAO,KAAK;AAClC,iBAAA,aAAa,OAAO,KAAK;AAAA,UAChC;AAAA,iBAEO,OAAO;AACdK,aAAAA,SAAS,MAAM,EAAE,SAAS,QAAS,CAAA;AAAA,QACrC;AAAA,MACF;AAAA,IAAA,CAED;AAGa,kBAAA,eAAe,GAAG,MAAM;AACpC,2BAAqB,MAAM,MAAM;AAAA,IAAA,CAClC;AAGK,UAAA,uBAAuB,OAAO,WAAgB;AAE9C,UAAA;AAEF,gBAAQ,QAAQ;AACV,cAAA,QAAQ,IAAIC,QAAAA;AAClB,cAAM,aAAa,OAAO,KAAK,QAAQ,MAAM,EAAE;AAGlC,qBAAA,SAAS,MAAM,UAAU,MAAM;AAAA,UAC1C,MAAM;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,WAAW;AAAA,UACb;AAAA,QACD,CAAA,GAAG,KAAK,KAAK,CAAC;AAAA,eACR,GAAG;AACV,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAII,UAAA,qBAAqB,CAAC,OAAY;AACtCC,SAAAA,SAAS,eAAe;AAAA,QACtB,UAAU;AAAA,QACV,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAIHC,QAAAA,UAAU,MAAM;AACRC,UAAAA,MAAA,MAAM,MAAM,QAAQ,CAAM,OAAA;AAC9B,6BAAqB,EAAE;AAAA,MAAA,GACtB,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -21,6 +21,8 @@ require("@maketribe/utils");
|
|
|
21
21
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
22
22
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
23
23
|
require("../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
24
|
+
require("../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
25
|
+
require("../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
24
26
|
require("../../../../../components/basic/upload-file/upload-file-options.js");
|
|
25
27
|
require("../../../../../components/basic/doc-editor/index.js");
|
|
26
28
|
require("../../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"part-info.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-info.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n <el-divider content-position=\"left\">其他配置</el-divider>\r\n <MKDataFormItem name=\"sortNo\"></MKDataFormItem>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\nprops.partDataForm.submittedEvent.on(() => {\r\n props.partDataForm.editRecord(props.part.id)\r\n})\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":["useCmsSettings","CmsPartForm"],"mappings":"
|
|
1
|
+
{"version":3,"file":"part-info.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-info.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n <el-divider content-position=\"left\">其他配置</el-divider>\r\n <MKDataFormItem name=\"sortNo\"></MKDataFormItem>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\nprops.partDataForm.submittedEvent.on(() => {\r\n props.partDataForm.editRecord(props.part.id)\r\n})\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":["useCmsSettings","CmsPartForm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,UAAM,cAAcA,YAAAA;AACpB,UAAM,QAAQ;AAgBR,UAAA,aAAa,eAAe,GAAG,MAAM;AACvC,YAAM,aAAa,WAAW,MAAM,KAAK,EAAE;AAAA,IAAA,CAC9C;AAKK,UAAA,aAAa,CAAC,SAAiB;AAC7B,UAAA,MAAM,aAAa,KAAK,iBAAiB,KAAKC,YAAAA,YAAY,qBAAqB,SAAS,IAAI,GAAG;AACxF,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAKA,YAAAA,YAAY,kBAAkB,SAAS,IAAI,GAAG;AAC1F,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAKA,YAAAA,YAAY,eAAe,SAAS,IAAI,GAAG;AACxF,cAAA,aAAa,KAAK,aAAa;AAC9B,eAAA;AAAA,MAAA,OAEN;AACM,eAAA;AAAA,MACX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -25,6 +25,8 @@ require("@maketribe/utils");
|
|
|
25
25
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
26
26
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
27
27
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
28
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
29
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
28
30
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
29
31
|
const index$1 = require("../../../../components/basic/doc-editor/index.js");
|
|
30
32
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"richtext-outline\" style=\"margin-right: 5px\" />\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"publishAllPartHandle\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-right: 10px\" />\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px\" />\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"curSelectPartId\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-if=\"partExt && activeTabName == 'part-ext'\">\r\n <el-button type=\"primary\" v-if=\"partExt.save\" text @click=\"partExt.save()\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\r\n v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id)\" v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id,'1')\" v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px;\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\" v-loading=\"partDataForm.loading\">\r\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </el-tab-pane>\r\n <el-tab-pane v-if=\"partExt\" label=\"页面扩展设置\" name=\"part-ext\">\r\n <component :is=\"partExt.component\" />\r\n </el-tab-pane>\r\n \r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"publishLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\" >\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, watch,watchEffect } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm,CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtension, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(()=>route.query.pid,(v:any)=>{\r\n curSelectPartId.value = v \r\n},{ immediate:true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = ref(false)\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExt = ref<PartExtension>();\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart:any = null;\r\nwatchEffect(async ()=>{\r\n if((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart){\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else{\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExt.value = usePartExtension(curSelectPartItem.value.id);\r\n }\r\n};\r\n\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if(v){\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n \r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }:any) => {\r\n if(response.data.data){\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n \r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n \r\n await CmsPartForm.publishAll()\r\n } \r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n \r\n try {\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id,optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst EditorChangeHandle = (v: any) => {\r\n partDataForm.data.content = v\r\n}\r\n</script>\r\n"],"names":["useRoute","useRouter","ref","watch","reactive","CmsPartMiniForm","useCmsSettings","CmsContentManPartForm","watchEffect","usePartExtension","Dialoger","CmsPartForm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2HA,UAAM,QAAQA,UAAAA;AACd,UAAM,SAASC,UAAAA;AAGf,UAAM,kBAAkBC,IAAA,IAAY,MAAM,MAAM,GAAa;AAC7DC,QAAAA,MAAM,MAAI,MAAM,MAAM,KAAI,CAAC,MAAQ;AACjC,sBAAgB,QAAQ;AAAA,IAAA,GACxB,EAAE,WAAU,KAAA,CAAM;AAGpB,UAAM,eAAeC,IAAAA,SAA0B,IAAIC,gBAAAA,gBAAiB,CAAA;AAG9D,UAAA,cAAcC,2BAAe,IAAI;AAGjC,UAAA,cAAcJ,QAAI,KAAK;AAG7B,UAAM,aAAaA,IAAAA,IAAI;AAAA,MACrB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAAA,CACf;AAGK,UAAA,iBAAiBA,QAAI,KAAK;AAG1B,UAAA,UAAUA,QAAI,KAAK;AAGnB,UAAA,gBAAgBA,QAAI,cAAc;AAGlC,UAAA,oBAAoBA,QAAI,IAAW;AAGnC,UAAA,cAAcA,QAAI,IAAI;AAG5B,UAAM,UAAUA,IAAAA;AAGhB,UAAM,eAAeE,IAAAA,SAAS,IAAIG,sBAAAA,sBAAuB,CAAA;AAGzD,iBAAa,KAAK;AAGlB,QAAI,qBAAyB;AAC7BC,QAAAA,YAAY,YAAU;AAChB,WAAA,cAAc,SAAS,UAAU,cAAc,SAAS,mBAAmB,kBAAkB,SAAS,oBAAmB;AACvH,YAAA;AACF,+BAAqB,kBAAkB;AACvC,gBAAM,aAAa,WAAW,kBAAkB,MAAM,EAAE;AAAA,iBACjD,OAAO;AACd,kBAAQ,IAAI,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IAAA,CACD;AAGK,UAAA,mBAAmB,OAAO,SAAc;AAExC,UAAA,kBAAkB,SAAS,MAAM;AAEnC,0BAAkB,QAAQ;AAEtB,YAAA,CAAC,kBAAkB,MAAM,iBAAiB;AAC5C,wBAAc,QAAQ;AAAA,QAAA,OAEpB;AACF,wBAAc,QAAQ;AAAA,QACxB;AACO,eAAA,QAAQ,EAAE,MAAM,gBAAgB,OAAO,EAAE,KAAK,kBAAkB,MAAM,GAAG,EAAU,CAAA;AAC1F,gBAAQ,QAAQC,eAAA,iBAAiB,kBAAkB,MAAM,EAAE;AAAA,MAC7D;AAAA,IAAA;AAII,UAAA,mBAAmB,CAAC,SAAc;AACtC,UAAI,KAAK,MAAM,kBAAkB,MAAM,IAAI;AACzC,0BAAkB,QAAQ;AAAA,MAC5B;AAAA,IAAA;AAII,UAAA,iBAAiB,CAAC,SAAc;AACpC,wBAAkB,QAAQ;AAC1B,oBAAc,QAAQ;AAAA,IAAA;AAMlB,UAAA,qBAAqB,OAAO,SAAe;AAC/C,YAAMC,GAAAA,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,MAAA,CACX;AAED,UAAI,KAAK,IAAI;AACX,qBAAa,UAAU,EAAE,UAAU,KAAK,GAAI,CAAA;AAAA,MAC9C;AAAA,IAAA;AAIIP,cAAA,aAAa,OAAO,MAAM;AAC9B,UAAG,GAAE;AACH,mBAAW,MAAM,gBAAgB,CAAC,CAAC,kBAAkB,MAAM;AAC3D,mBAAW,MAAM,iBAAiB,CAAC,CAAC,kBAAkB,MAAM;AAC5D,mBAAW,MAAM,mBAAmB,CAAC,CAAC,kBAAkB,MAAM;AAAA,MAChE;AAAA,IAAA,CACD;AAGD,iBAAa,eAAe,GAAG,CAAC,EAAE,eAAmB;;AAChD,UAAA,SAAS,KAAK,MAAK;AAEJ,wBAAA,QAAQ,SAAS,KAAK;AAErC,0BAAY,MAAe,aAA3B,mBAAqC;AAAA,MACxC;AAAA,IAAA,CAED;AAGD,UAAM,uBAAuB,YAAY;AAEnC,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,cAAMQ,YAAAA,YAAY;MAAW,UAE/B;AACE,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGF,UAAM,oBAAoB,YAAY;AAEhC,UAAA;AAEF,uBAAe,QAAQ;AAEvB,cAAMA,YAAAA,YAAY,QAAQ,kBAAkB,MAAM,IAAG,WAAW,KAAK;AAErE,oBAAY,QAAQ;AAAA,MAAA,UAEpB;AACA,uBAAe,QAAQ;AAAA,MACzB;AAAA,IAAA;AAMF,UAAM,iBAAiB,YAAY;AACjC,wBAAkB,QAAQ,aAAa;AACvC,YAAM,aAAa;IAAO;AAOtB,UAAA,qBAAqB,CAAC,MAAW;AACrC,mBAAa,KAAK,UAAU;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"richtext-outline\" style=\"margin-right: 5px\" />\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"publishAllPartHandle\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-right: 10px\" />\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px\" />\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"curSelectPartId\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-if=\"partExt && activeTabName == 'part-ext'\">\r\n <el-button type=\"primary\" v-if=\"partExt.save\" text @click=\"partExt.save()\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\r\n v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id)\" v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id,'1')\" v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px;\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\" v-loading=\"partDataForm.loading\">\r\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </el-tab-pane>\r\n <el-tab-pane v-if=\"partExt\" label=\"页面扩展设置\" name=\"part-ext\">\r\n <component :is=\"partExt.component\" />\r\n </el-tab-pane>\r\n \r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"publishLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\" >\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, watch,watchEffect } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm,CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtension, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(()=>route.query.pid,(v:any)=>{\r\n curSelectPartId.value = v \r\n},{ immediate:true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = ref(false)\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExt = ref<PartExtension>();\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart:any = null;\r\nwatchEffect(async ()=>{\r\n if((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart){\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else{\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExt.value = usePartExtension(curSelectPartItem.value.id);\r\n }\r\n};\r\n\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if(v){\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n \r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }:any) => {\r\n if(response.data.data){\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n \r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n \r\n await CmsPartForm.publishAll()\r\n } \r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n \r\n try {\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id,optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst EditorChangeHandle = (v: any) => {\r\n partDataForm.data.content = v\r\n}\r\n</script>\r\n"],"names":["useRoute","useRouter","ref","watch","reactive","CmsPartMiniForm","useCmsSettings","CmsContentManPartForm","watchEffect","usePartExtension","Dialoger","CmsPartForm"],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ require("@maketribe/utils");
|
|
|
21
21
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
22
22
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
23
23
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
24
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
25
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
24
26
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
25
27
|
require("../../../../components/basic/doc-editor/index.js");
|
|
26
28
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager title=\"模版资产管理\" :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n <ElButton type=\"primary\" @click=\"publishAllHandle\">全站发布</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { CmsPartForm } from \"../../dataviews/cms-parts\";\r\n\r\n// 创建cms模版资源管理器\r\nconst resourceManager = reactive(new ResourceManager({ baseURL: \"/cms/template/resource\" })) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n\r\n try {\r\n resourceManager.loadingManager.startLoading();\r\n CmsPartForm.publishAssets();\r\n } \r\n finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n//全站发布\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n \r\n\r\n try {\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n await CmsPartForm.publishAll()\r\n\r\n\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n</script>\r\n"],"names":["reactive","ResourceManager","CmsPartForm"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager title=\"模版资产管理\" :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n <ElButton type=\"primary\" @click=\"publishAllHandle\">全站发布</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { CmsPartForm } from \"../../dataviews/cms-parts\";\r\n\r\n// 创建cms模版资源管理器\r\nconst resourceManager = reactive(new ResourceManager({ baseURL: \"/cms/template/resource\" })) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n\r\n try {\r\n resourceManager.loadingManager.startLoading();\r\n CmsPartForm.publishAssets();\r\n } \r\n finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n//全站发布\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n \r\n\r\n try {\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n await CmsPartForm.publishAll()\r\n\r\n\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n</script>\r\n"],"names":["reactive","ResourceManager","CmsPartForm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBM,UAAA,kBAAkBA,IAAAA,SAAS,IAAIC,gBAAAA,gBAAgB,EAAE,SAAS,yBAA0B,CAAA,CAAC;AAG3F,UAAM,sBAAsB,YAAY;AAElC,UAAA;AACF,wBAAgB,eAAe;AAC/BC,oBAAA,YAAY,cAAc;AAAA,MAAA,UAE5B;AACE,wBAAgB,eAAe;MACjC;AAAA,IAAA;AAIF,UAAM,mBAAmB,YAAY;AAI/B,UAAA;AAEF,wBAAgB,eAAe;AAE/B,cAAMA,YAAAA,YAAY;MAAW,UAG7B;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -30,6 +30,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
30
30
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
31
31
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
32
32
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
33
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
34
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
33
35
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
34
36
|
require("../../../../components/basic/doc-editor/index.js");
|
|
35
37
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\n\r\nexport const materialListProps = buildProps({\r\n materialTable: {\r\n type: MsMaterialTable,\r\n },\r\n selectable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n allowMaterialTypeValues: {\r\n type: Array,\r\n default: () => []\r\n },\r\n} as const);\r\n\r\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\r\n"],"names":["buildProps","MsMaterialTable"],"mappings":"
|
|
1
|
+
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\n\r\nexport const materialListProps = buildProps({\r\n materialTable: {\r\n type: MsMaterialTable,\r\n },\r\n selectable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n allowMaterialTypeValues: {\r\n type: Array,\r\n default: () => []\r\n },\r\n} as const);\r\n\r\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\r\n"],"names":["buildProps","MsMaterialTable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoBA,MAAAA,WAAW;AAAA,EAC1C,eAAe;AAAA,IACb,MAAMC,gBAAA;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,yBAAyB;AAAA,IACvB,MAAM;AAAA,IACN,SAAS,MAAM,CAAC;AAAA,EAClB;AACF,CAAU;;"}
|
|
@@ -33,6 +33,8 @@ const uploadFile = require("../../../../components/basic/upload-file/upload-file
|
|
|
33
33
|
const webFileUploadContext = require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
34
34
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
35
35
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
36
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
37
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
36
38
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
37
39
|
require("../../../../components/basic/doc-editor/index.js");
|
|
38
40
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n Fragment,\r\n getCurrentInstance,\r\n onBeforeUnmount,\r\n onMounted,\r\n reactive,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { base64ToBlob } from \"@maketribe/utils\";\r\nimport { DvOpt, WebFileUpload } from \"@maketribe/request\";\r\nimport { materialListProps } from \"./material-list-options\";\r\nimport MaterialGroup from \"./material-group\";\r\nimport {\r\n MsMaterial,\r\n MsMaterialForm,\r\n MsMaterialGroupNode,\r\n MsMaterialGroupTree,\r\n MsMaterialTable,\r\n MsMaterialType,\r\n} from \"../../dataviews\";\r\nimport {\r\n MKUploadFile,\r\n MKWebFileUploadContext,\r\n} from \"../../../../components/basic/upload-file\";\r\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\";\r\nimport {\r\n MKDataTable,\r\n MKDataTablePagination,\r\n} from \"../../../../components/data-model\";\r\nimport { ElButton, ElScrollbar } from \"element-plus\";\r\nimport MaterialItem from \"./material-item.vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\n\r\nconst RATIO_OPTIONS = [\r\n {\r\n value: \"1\",\r\n label: \"1:1\",\r\n width: 1,\r\n height: 1,\r\n },\r\n {\r\n value: \"2\",\r\n label: \"2:1\",\r\n width: 2,\r\n height: 1,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"4:3\",\r\n width: 4,\r\n height: 3,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"16:9\",\r\n width: 16,\r\n height: 9,\r\n },\r\n];\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialList\",\r\n props: materialListProps,\r\n setup(props) {\r\n const materialGroupTree = reactive(\r\n new MsMaterialGroupTree()\r\n ) as MsMaterialGroupTree;\r\n\r\n const webFileUpload = new WebFileUpload();\r\n\r\n const _materialTable = reactive(new MsMaterialTable());\r\n\r\n const materialForm = reactive(\r\n new (class extends MsMaterialForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"materialGroupId\",\r\n label: \"素材组\",\r\n componentInfo: \"MKDataTreeSelect\",\r\n componentProps: {\r\n dataTree: this.register(new MsMaterialGroupTree()),\r\n checkStrictly: false,\r\n },\r\n }),\r\n ]);\r\n }\r\n })()\r\n ) as MsMaterialForm;\r\n\r\n const materialTable = computed(\r\n () => (props.materialTable ?? _materialTable) as MsMaterialTable\r\n );\r\n\r\n const loading = computed(() => unref(materialTable).loading);\r\n\r\n const materialTypes = computed(() =>\r\n unref(materialTable).getMaterialTypes()\r\n );\r\n\r\n const currentMaterialType = computed(\r\n () => unref(materialTable).currentMaterialType\r\n );\r\n\r\n const currentMaterialTypeId = computed(\r\n () => unref(currentMaterialType)?.value ?? \"\"\r\n );\r\n\r\n const materialList = computed(() => unref(materialTable).getList());\r\n\r\n onBeforeUnmount(() => {\r\n _materialTable.dispose();\r\n materialGroupTree.dispose();\r\n materialForm.dispose();\r\n });\r\n\r\n onMounted(() => {\r\n const instance = getCurrentInstance();\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.afterInitdEvent.on(() => {\r\n materialTable.setAllowMaterialTypeValues(\r\n props.allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n });\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n watch(\r\n computed(() => props.allowMaterialTypeValues),\r\n (allowMaterialTypeValues) => {\r\n unref(materialTable).setAllowMaterialTypeValues(\r\n allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n }\r\n );\r\n });\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.deleteRecordEvent.on(\r\n async ({ item }) => {\r\n const isConfirm = await Dialoger.confirm({\r\n message: \"是否确认删除\",\r\n title: \"素材删除\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n materialTable.deleteAfterRefresh(item);\r\n }\r\n );\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleMaterialTypeClick = (materialType: MsMaterialType) => {\r\n if (materialType.value === unref(currentMaterialTypeId)) {\r\n return;\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialType(materialType);\r\n };\r\n\r\n materialGroupTree.selectionChangeEvent.on(() => {\r\n const currentGroupId = materialGroupTree.getSelection()[0];\r\n\r\n if (!currentGroupId) {\r\n unref(materialTable).setList([]);\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialGroupId(currentGroupId);\r\n });\r\n\r\n function getDefaultSelectMaterialGroup(\r\n nodes: MsMaterialGroupNode[]\r\n ): MsMaterialGroupNode | null {\r\n if (!nodes.length) {\r\n return null;\r\n }\r\n\r\n return getDefaultSelectMaterialGroup(nodes[0].children) ?? nodes[0];\r\n }\r\n\r\n materialGroupTree.afterLoadEvent.on(() => {\r\n const list = materialGroupTree.getList();\r\n\r\n const defaultSelectGroup = getDefaultSelectMaterialGroup(list);\r\n\r\n if (defaultSelectGroup) {\r\n materialGroupTree.setSelection([defaultSelectGroup.id]);\r\n }\r\n });\r\n\r\n materialForm.submittedEvent.on(() => {\r\n unref(materialTable).load();\r\n });\r\n\r\n const handleMaterialItemClick = (\r\n event: MouseEvent,\r\n material: MsMaterial\r\n ) => {\r\n if (!props.selectable) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n unref(materialTable).setSelection([material.id]);\r\n };\r\n\r\n const handleMoveClick = (material: MsMaterial) => {\r\n Dialoger.dataFormDialog({\r\n recId: material.id,\r\n title: \"设置素材分组\",\r\n dataForm: materialForm,\r\n });\r\n };\r\n\r\n const handleCutClick = async (material: MsMaterial) => {\r\n const cropperResult = await ImageCropper({\r\n src: material.path,\r\n ratioOptions: RATIO_OPTIONS,\r\n });\r\n\r\n if (!cropperResult.isConfirm) {\r\n return;\r\n }\r\n\r\n const handleOverrideClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const uploadResponse = await webFileUpload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (uploadResponse.data.code !== 200) {\r\n Messager.error({ message: uploadResponse.data.msg });\r\n return;\r\n }\r\n\r\n const response = await DvOpt.createInstance({\r\n name: \"mk-material\",\r\n }).save({\r\n ...material,\r\n path: uploadResponse.data.data.path,\r\n });\r\n\r\n if (response.code !== 200) {\r\n Messager.error({ message: response.msg });\r\n return;\r\n }\r\n\r\n unref(materialTable).load();\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleNewClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const result = await unref(materialTable).upload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (result.data.code !== 200) {\r\n Messager.error({ message: result.data.msg });\r\n return;\r\n }\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"提示\",\r\n width: \"400px\",\r\n onClose: handleCancelClick,\r\n body: () => \"修改已存在的素材。是新建新素材还是覆盖现有素材\",\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton type=\"danger\" onClick={handleOverrideClick}>\r\n 覆盖\r\n </ElButton>\r\n <ElButton type=\"primary\" onClick={handleNewClick}>\r\n 新建\r\n </ElButton>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n };\r\n\r\n const handleDownload = () => {};\r\n\r\n return () => {\r\n const materialTypeVNodes = unref(materialTypes).map((materialType) => {\r\n const className = [\r\n \"mk-material-list__type\",\r\n unref(currentMaterialTypeId) === materialType.value\r\n ? \"is-active\"\r\n : \"\",\r\n ];\r\n\r\n return (\r\n <div\r\n key={materialType.value}\r\n class={className}\r\n onClick={() => handleMaterialTypeClick(materialType)}\r\n >\r\n {materialType.label}\r\n </div>\r\n );\r\n });\r\n\r\n let currentMaterialTypeVNode: any = null;\r\n\r\n if (unref(currentMaterialType)) {\r\n currentMaterialTypeVNode = (\r\n <Fragment>\r\n <span>\r\n {unref(currentMaterialType)!.label}大小不超过\r\n {unref(currentMaterialType)!.limit} M\r\n </span>\r\n <MKWebFileUploadContext\r\n webFileUpload={unref(materialTable).upload}\r\n accept={unref(currentMaterialType)!.accept}\r\n >\r\n <MKUploadFile>\r\n <ElButton type=\"primary\">\r\n 选择{unref(currentMaterialType)!.label}\r\n </ElButton>\r\n </MKUploadFile>\r\n </MKWebFileUploadContext>\r\n </Fragment>\r\n );\r\n }\r\n\r\n const materialListVNodes = unref(materialList).map((material) => (\r\n <MaterialItem\r\n key={material.id}\r\n class=\"mk-material-list__item\"\r\n materialTable={unref(materialTable)}\r\n material={material}\r\n onMove={handleMoveClick}\r\n onCut={handleCutClick}\r\n onDownload={handleDownload}\r\n onClick={\r\n ((event: MouseEvent) =>\r\n handleMaterialItemClick(event, material)) as any\r\n }\r\n />\r\n ));\r\n\r\n return (\r\n <div class=\"mk-material-list\">\r\n <MaterialGroup materialGroupTree={unref(materialGroupTree)} />\r\n\r\n <div class=\"mk-material-list__main\" v-loading={unref(loading)}>\r\n <div class=\"mk-material-list__header\">\r\n <div class=\"mk-material-list__header-left\">\r\n <div class=\"mk-material-list__types\">{materialTypeVNodes}</div>\r\n </div>\r\n <div class=\"mk-material-list__header-right\">\r\n {currentMaterialTypeVNode}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mk-material-list__body\">\r\n <MKDataTable dataTable={unref(materialTable)} autoLoad={false}>\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"mk-material-list__wrapper\">\r\n {materialListVNodes}\r\n </div>\r\n </ElScrollbar>\r\n <div class=\"mk-material-list__footer\">\r\n <MKDataTablePagination dataTable={unref(materialTable)} />\r\n </div>\r\n </MKDataTable>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["RATIO_OPTIONS","value","label","width","height","defineComponent","name","props","materialListProps","setup","materialGroupTree","reactive","MsMaterialGroupTree","webFileUpload","WebFileUpload","_materialTable","MsMaterialTable","materialForm","MsMaterialForm","initialize","setColumns","FormColumn","componentInfo","componentProps","dataTree","register","checkStrictly","materialTable","computed","loading","unref","materialTypes","getMaterialTypes","currentMaterialType","currentMaterialTypeId","materialList","getList","onBeforeUnmount","dispose","onMounted","getCurrentInstance","watch","_","onCleanup","disposable","afterInitdEvent","on","setAllowMaterialTypeValues","allowMaterialTypeValues","immediate","deleteRecordEvent","item","isConfirm","Dialoger","confirm","message","title","type","deleteAfterRefresh","handleMaterialTypeClick","materialType","setCurrentMaterialType","selectionChangeEvent","currentGroupId","getSelection","setList","setCurrentMaterialGroupId","getDefaultSelectMaterialGroup","nodes","length","children","afterLoadEvent","list","defaultSelectGroup","setSelection","id","submittedEvent","load","handleMaterialItemClick","event","material","selectable","preventDefault","stopPropagation","handleMoveClick","dataFormDialog","recId","dataForm","handleCutClick","cropperResult","ImageCropper","src","path","ratioOptions","handleOverrideClick","blob","base64ToBlob","data","uploadResponse","upload","File","desc","code","Messager","error","msg","response","DvOpt","createInstance","save","dialogInstance","destroy","handleNewClick","result","handleCancelClick","customRender","onClose","body","footer","_createVNode","_Fragment","ElButton","default","_createTextVNode","handleDownload","materialTypeVNodes","map","className","onClick","currentMaterialTypeVNode","limit","MKWebFileUploadContext","accept","MKUploadFile","materialListVNodes","MaterialItem","MaterialGroup","_withDirectives","MKDataTable","ElScrollbar","MKDataTablePagination","_resolveDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-list.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n Fragment,\r\n getCurrentInstance,\r\n onBeforeUnmount,\r\n onMounted,\r\n reactive,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { base64ToBlob } from \"@maketribe/utils\";\r\nimport { DvOpt, WebFileUpload } from \"@maketribe/request\";\r\nimport { materialListProps } from \"./material-list-options\";\r\nimport MaterialGroup from \"./material-group\";\r\nimport {\r\n MsMaterial,\r\n MsMaterialForm,\r\n MsMaterialGroupNode,\r\n MsMaterialGroupTree,\r\n MsMaterialTable,\r\n MsMaterialType,\r\n} from \"../../dataviews\";\r\nimport {\r\n MKUploadFile,\r\n MKWebFileUploadContext,\r\n} from \"../../../../components/basic/upload-file\";\r\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\";\r\nimport {\r\n MKDataTable,\r\n MKDataTablePagination,\r\n} from \"../../../../components/data-model\";\r\nimport { ElButton, ElScrollbar } from \"element-plus\";\r\nimport MaterialItem from \"./material-item.vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\n\r\nconst RATIO_OPTIONS = [\r\n {\r\n value: \"1\",\r\n label: \"1:1\",\r\n width: 1,\r\n height: 1,\r\n },\r\n {\r\n value: \"2\",\r\n label: \"2:1\",\r\n width: 2,\r\n height: 1,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"4:3\",\r\n width: 4,\r\n height: 3,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"16:9\",\r\n width: 16,\r\n height: 9,\r\n },\r\n];\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialList\",\r\n props: materialListProps,\r\n setup(props) {\r\n const materialGroupTree = reactive(\r\n new MsMaterialGroupTree()\r\n ) as MsMaterialGroupTree;\r\n\r\n const webFileUpload = new WebFileUpload();\r\n\r\n const _materialTable = reactive(new MsMaterialTable());\r\n\r\n const materialForm = reactive(\r\n new (class extends MsMaterialForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"materialGroupId\",\r\n label: \"素材组\",\r\n componentInfo: \"MKDataTreeSelect\",\r\n componentProps: {\r\n dataTree: this.register(new MsMaterialGroupTree()),\r\n checkStrictly: false,\r\n },\r\n }),\r\n ]);\r\n }\r\n })()\r\n ) as MsMaterialForm;\r\n\r\n const materialTable = computed(\r\n () => (props.materialTable ?? _materialTable) as MsMaterialTable\r\n );\r\n\r\n const loading = computed(() => unref(materialTable).loading);\r\n\r\n const materialTypes = computed(() =>\r\n unref(materialTable).getMaterialTypes()\r\n );\r\n\r\n const currentMaterialType = computed(\r\n () => unref(materialTable).currentMaterialType\r\n );\r\n\r\n const currentMaterialTypeId = computed(\r\n () => unref(currentMaterialType)?.value ?? \"\"\r\n );\r\n\r\n const materialList = computed(() => unref(materialTable).getList());\r\n\r\n onBeforeUnmount(() => {\r\n _materialTable.dispose();\r\n materialGroupTree.dispose();\r\n materialForm.dispose();\r\n });\r\n\r\n onMounted(() => {\r\n const instance = getCurrentInstance();\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.afterInitdEvent.on(() => {\r\n materialTable.setAllowMaterialTypeValues(\r\n props.allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n });\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n watch(\r\n computed(() => props.allowMaterialTypeValues),\r\n (allowMaterialTypeValues) => {\r\n unref(materialTable).setAllowMaterialTypeValues(\r\n allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n }\r\n );\r\n });\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.deleteRecordEvent.on(\r\n async ({ item }) => {\r\n const isConfirm = await Dialoger.confirm({\r\n message: \"是否确认删除\",\r\n title: \"素材删除\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n materialTable.deleteAfterRefresh(item);\r\n }\r\n );\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleMaterialTypeClick = (materialType: MsMaterialType) => {\r\n if (materialType.value === unref(currentMaterialTypeId)) {\r\n return;\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialType(materialType);\r\n };\r\n\r\n materialGroupTree.selectionChangeEvent.on(() => {\r\n const currentGroupId = materialGroupTree.getSelection()[0];\r\n\r\n if (!currentGroupId) {\r\n unref(materialTable).setList([]);\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialGroupId(currentGroupId);\r\n });\r\n\r\n function getDefaultSelectMaterialGroup(\r\n nodes: MsMaterialGroupNode[]\r\n ): MsMaterialGroupNode | null {\r\n if (!nodes.length) {\r\n return null;\r\n }\r\n\r\n return getDefaultSelectMaterialGroup(nodes[0].children) ?? nodes[0];\r\n }\r\n\r\n materialGroupTree.afterLoadEvent.on(() => {\r\n const list = materialGroupTree.getList();\r\n\r\n const defaultSelectGroup = getDefaultSelectMaterialGroup(list);\r\n\r\n if (defaultSelectGroup) {\r\n materialGroupTree.setSelection([defaultSelectGroup.id]);\r\n }\r\n });\r\n\r\n materialForm.submittedEvent.on(() => {\r\n unref(materialTable).load();\r\n });\r\n\r\n const handleMaterialItemClick = (\r\n event: MouseEvent,\r\n material: MsMaterial\r\n ) => {\r\n if (!props.selectable) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n unref(materialTable).setSelection([material.id]);\r\n };\r\n\r\n const handleMoveClick = (material: MsMaterial) => {\r\n Dialoger.dataFormDialog({\r\n recId: material.id,\r\n title: \"设置素材分组\",\r\n dataForm: materialForm,\r\n });\r\n };\r\n\r\n const handleCutClick = async (material: MsMaterial) => {\r\n const cropperResult = await ImageCropper({\r\n src: material.path,\r\n ratioOptions: RATIO_OPTIONS,\r\n });\r\n\r\n if (!cropperResult.isConfirm) {\r\n return;\r\n }\r\n\r\n const handleOverrideClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const uploadResponse = await webFileUpload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (uploadResponse.data.code !== 200) {\r\n Messager.error({ message: uploadResponse.data.msg });\r\n return;\r\n }\r\n\r\n const response = await DvOpt.createInstance({\r\n name: \"mk-material\",\r\n }).save({\r\n ...material,\r\n path: uploadResponse.data.data.path,\r\n });\r\n\r\n if (response.code !== 200) {\r\n Messager.error({ message: response.msg });\r\n return;\r\n }\r\n\r\n unref(materialTable).load();\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleNewClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const result = await unref(materialTable).upload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (result.data.code !== 200) {\r\n Messager.error({ message: result.data.msg });\r\n return;\r\n }\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"提示\",\r\n width: \"400px\",\r\n onClose: handleCancelClick,\r\n body: () => \"修改已存在的素材。是新建新素材还是覆盖现有素材\",\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton type=\"danger\" onClick={handleOverrideClick}>\r\n 覆盖\r\n </ElButton>\r\n <ElButton type=\"primary\" onClick={handleNewClick}>\r\n 新建\r\n </ElButton>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n };\r\n\r\n const handleDownload = () => {};\r\n\r\n return () => {\r\n const materialTypeVNodes = unref(materialTypes).map((materialType) => {\r\n const className = [\r\n \"mk-material-list__type\",\r\n unref(currentMaterialTypeId) === materialType.value\r\n ? \"is-active\"\r\n : \"\",\r\n ];\r\n\r\n return (\r\n <div\r\n key={materialType.value}\r\n class={className}\r\n onClick={() => handleMaterialTypeClick(materialType)}\r\n >\r\n {materialType.label}\r\n </div>\r\n );\r\n });\r\n\r\n let currentMaterialTypeVNode: any = null;\r\n\r\n if (unref(currentMaterialType)) {\r\n currentMaterialTypeVNode = (\r\n <Fragment>\r\n <span>\r\n {unref(currentMaterialType)!.label}大小不超过\r\n {unref(currentMaterialType)!.limit} M\r\n </span>\r\n <MKWebFileUploadContext\r\n webFileUpload={unref(materialTable).upload}\r\n accept={unref(currentMaterialType)!.accept}\r\n >\r\n <MKUploadFile>\r\n <ElButton type=\"primary\">\r\n 选择{unref(currentMaterialType)!.label}\r\n </ElButton>\r\n </MKUploadFile>\r\n </MKWebFileUploadContext>\r\n </Fragment>\r\n );\r\n }\r\n\r\n const materialListVNodes = unref(materialList).map((material) => (\r\n <MaterialItem\r\n key={material.id}\r\n class=\"mk-material-list__item\"\r\n materialTable={unref(materialTable)}\r\n material={material}\r\n onMove={handleMoveClick}\r\n onCut={handleCutClick}\r\n onDownload={handleDownload}\r\n onClick={\r\n ((event: MouseEvent) =>\r\n handleMaterialItemClick(event, material)) as any\r\n }\r\n />\r\n ));\r\n\r\n return (\r\n <div class=\"mk-material-list\">\r\n <MaterialGroup materialGroupTree={unref(materialGroupTree)} />\r\n\r\n <div class=\"mk-material-list__main\" v-loading={unref(loading)}>\r\n <div class=\"mk-material-list__header\">\r\n <div class=\"mk-material-list__header-left\">\r\n <div class=\"mk-material-list__types\">{materialTypeVNodes}</div>\r\n </div>\r\n <div class=\"mk-material-list__header-right\">\r\n {currentMaterialTypeVNode}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mk-material-list__body\">\r\n <MKDataTable dataTable={unref(materialTable)} autoLoad={false}>\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"mk-material-list__wrapper\">\r\n {materialListVNodes}\r\n </div>\r\n </ElScrollbar>\r\n <div class=\"mk-material-list__footer\">\r\n <MKDataTablePagination dataTable={unref(materialTable)} />\r\n </div>\r\n </MKDataTable>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["RATIO_OPTIONS","value","label","width","height","defineComponent","name","props","materialListProps","setup","materialGroupTree","reactive","MsMaterialGroupTree","webFileUpload","WebFileUpload","_materialTable","MsMaterialTable","materialForm","MsMaterialForm","initialize","setColumns","FormColumn","componentInfo","componentProps","dataTree","register","checkStrictly","materialTable","computed","loading","unref","materialTypes","getMaterialTypes","currentMaterialType","currentMaterialTypeId","materialList","getList","onBeforeUnmount","dispose","onMounted","getCurrentInstance","watch","_","onCleanup","disposable","afterInitdEvent","on","setAllowMaterialTypeValues","allowMaterialTypeValues","immediate","deleteRecordEvent","item","isConfirm","Dialoger","confirm","message","title","type","deleteAfterRefresh","handleMaterialTypeClick","materialType","setCurrentMaterialType","selectionChangeEvent","currentGroupId","getSelection","setList","setCurrentMaterialGroupId","getDefaultSelectMaterialGroup","nodes","length","children","afterLoadEvent","list","defaultSelectGroup","setSelection","id","submittedEvent","load","handleMaterialItemClick","event","material","selectable","preventDefault","stopPropagation","handleMoveClick","dataFormDialog","recId","dataForm","handleCutClick","cropperResult","ImageCropper","src","path","ratioOptions","handleOverrideClick","blob","base64ToBlob","data","uploadResponse","upload","File","desc","code","Messager","error","msg","response","DvOpt","createInstance","save","dialogInstance","destroy","handleNewClick","result","handleCancelClick","customRender","onClose","body","footer","_createVNode","_Fragment","ElButton","default","_createTextVNode","handleDownload","materialTypeVNodes","map","className","onClick","currentMaterialTypeVNode","limit","MKWebFileUploadContext","accept","MKUploadFile","materialListVNodes","MaterialItem","MaterialGroup","_withDirectives","MKDataTable","ElScrollbar","MKDataTablePagination","_resolveDirective"],"mappings":"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"}
|
|
@@ -30,6 +30,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
30
30
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
31
31
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
32
32
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
33
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
34
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
33
35
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
34
36
|
require("../../../../components/basic/doc-editor/index.js");
|
|
35
37
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-select-api.js","sources":["../../../../../../src/modules/ms/components/material-select/material-select-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { MKMaterialList } from \"../material-list\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\nexport type MKMaterialSelectOptions = {\r\n allowMaterialTypeValues?: any[];\r\n};\r\nexport type MKMaterialSelectResult = {\r\n success: boolean;\r\n data: MsMaterial | null;\r\n path: string;\r\n};\r\n\r\nexport default async function MaterialSelect(\r\n options: MKMaterialSelectOptions = {}\r\n): Promise<MKMaterialSelectResult> {\r\n return new Promise((resolve) => {\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n\r\n resolve({ success: false, data: null, path: \"\" });\r\n };\r\n\r\n const handleConfirmClick = () => {\r\n dialogInstance.destroy();\r\n\r\n const selection = materialTable.getSelection()[0];\r\n\r\n const selectMaterial = materialTable\r\n .getList()\r\n .find((item) => item.id === selection);\r\n\r\n if (!selectMaterial) {\r\n resolve({ success: false, data: null, path: \"\" });\r\n return;\r\n }\r\n\r\n resolve({\r\n success: true,\r\n data: selectMaterial,\r\n path: selectMaterial.path,\r\n });\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"素材选择\",\r\n class: \"mk-material-select\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <MKMaterialList\r\n class=\"mk-material-select__list\"\r\n selectable\r\n materialTable={materialTable}\r\n allowMaterialTypeValues={options.allowMaterialTypeValues}\r\n />\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={materialTable.getSelection().length === 0}\r\n onClick={handleConfirmClick}\r\n >\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["MaterialSelect","options","Promise","resolve","materialTable","reactive","MsMaterialTable","handleCancelClick","dialogInstance","destroy","success","data","path","handleConfirmClick","selection","getSelection","selectMaterial","getList","find","item","id","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKMaterialList","allowMaterialTypeValues","footer","_Fragment","ElButton","default","_createTextVNode","length"],"mappings":"
|
|
1
|
+
{"version":3,"file":"material-select-api.js","sources":["../../../../../../src/modules/ms/components/material-select/material-select-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { MKMaterialList } from \"../material-list\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\nexport type MKMaterialSelectOptions = {\r\n allowMaterialTypeValues?: any[];\r\n};\r\nexport type MKMaterialSelectResult = {\r\n success: boolean;\r\n data: MsMaterial | null;\r\n path: string;\r\n};\r\n\r\nexport default async function MaterialSelect(\r\n options: MKMaterialSelectOptions = {}\r\n): Promise<MKMaterialSelectResult> {\r\n return new Promise((resolve) => {\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n\r\n resolve({ success: false, data: null, path: \"\" });\r\n };\r\n\r\n const handleConfirmClick = () => {\r\n dialogInstance.destroy();\r\n\r\n const selection = materialTable.getSelection()[0];\r\n\r\n const selectMaterial = materialTable\r\n .getList()\r\n .find((item) => item.id === selection);\r\n\r\n if (!selectMaterial) {\r\n resolve({ success: false, data: null, path: \"\" });\r\n return;\r\n }\r\n\r\n resolve({\r\n success: true,\r\n data: selectMaterial,\r\n path: selectMaterial.path,\r\n });\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"素材选择\",\r\n class: \"mk-material-select\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <MKMaterialList\r\n class=\"mk-material-select__list\"\r\n selectable\r\n materialTable={materialTable}\r\n allowMaterialTypeValues={options.allowMaterialTypeValues}\r\n />\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={materialTable.getSelection().length === 0}\r\n onClick={handleConfirmClick}\r\n >\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["MaterialSelect","options","Promise","resolve","materialTable","reactive","MsMaterialTable","handleCancelClick","dialogInstance","destroy","success","data","path","handleConfirmClick","selection","getSelection","selectMaterial","getList","find","item","id","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKMaterialList","allowMaterialTypeValues","footer","_Fragment","ElButton","default","_createTextVNode","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAee,eAAeA,eAC5BC,UAAmC,IACF;AACjC,SAAO,IAAIC,QAASC,aAAY;AAC9B,UAAMC,gBAAgBC,IAAAA,SAAS,IAAIC,gBAAAA,gBAAiB,CAAA;AAEpD,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAEtBN,cAAQ;AAAA,QAAEO,SAAS;AAAA,QAAOC,MAAM;AAAA,QAAMC,MAAM;AAAA,MAAG,CAAC;AAAA;AAGlD,UAAMC,qBAAqBA,MAAM;AAC/BL,qBAAeC,QAAO;AAEtB,YAAMK,YAAYV,cAAcW,aAAc,EAAC,CAAC;AAEhD,YAAMC,iBAAiBZ,cACpBa,UACAC,KAAMC,UAASA,KAAKC,OAAON,SAAS;AAEvC,UAAI,CAACE,gBAAgB;AACnBb,gBAAQ;AAAA,UAAEO,SAAS;AAAA,UAAOC,MAAM;AAAA,UAAMC,MAAM;AAAA,QAAG,CAAC;AAChD;AAAA,MACF;AAEAT,cAAQ;AAAA,QACNO,SAAS;AAAA,QACTC,MAAMK;AAAAA,QACNJ,MAAMI,eAAeJ;AAAAA,MACvB,CAAC;AAAA;AAGH,UAAMJ,iBAAiBa,GAAQ,SAACC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,SAASA,MAAM;AACblB,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDkB,MAAMA,MAAM;AACV,eAAAC,IAAAA,YAAAC,MAAAA,gBAAA;AAAA,UAAA,SAAA;AAAA,UAAA,cAAA;AAAA,UAAA,iBAImBzB;AAAAA,UAAa,2BACHH,QAAQ6B;AAAAA,QAAuB,GAAA,IAAA;AAAA,MAG7D;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAH,IAAA,YAAAI,IAAA,UAAAJ,MAAAA,CAAAA,IAAAA,YAAAK,YAAAA,UAAA;AAAA,UAAA,WAEuB1B;AAAAA,QAAiB,GAAA;AAAA,UAAA2B,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,IAAA,YAAAK,sBAAA;AAAA,UAAA,QAAA;AAAA,UAAA,YAGxB7B,cAAcW,aAAc,EAACqB,WAAW;AAAA,UAAC,WAC1CvB;AAAAA,QAAkB,GAAA;AAAA,UAAAqB,SAAAA,MAAA,CAAAC,oBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAMnC;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;;"}
|
|
@@ -32,6 +32,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
32
32
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
33
33
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
34
34
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
35
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
36
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
35
37
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
36
38
|
require("../../../../components/basic/doc-editor/index.js");
|
|
37
39
|
const index$2 = require("../../../../components/basic/copy-container/index.js");
|