@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
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { defineComponent, computed, ref, watch, unref, createVNode, Fragment, createTextVNode } from "vue";
|
|
2
|
+
import { ElTooltip } from "element-plus";
|
|
3
|
+
import { MKSvgIcon } from "../../../svg-icon/index.js";
|
|
4
|
+
import { MKUploadFile } from "../../upload-file.js";
|
|
5
|
+
import { uploadFileUiProps, uploadFileUiEmits } from "./upload-file-options.js";
|
|
6
|
+
import { UploadContext } from "../../context/UploadContext.js";
|
|
7
|
+
import "@maketribe/request";
|
|
8
|
+
import "@maketribe/utils";
|
|
9
|
+
import "../../context/web-file-upload-context.js";
|
|
10
|
+
import "../../context/web-file-upload-context-options.js";
|
|
11
|
+
const MKUploadFileItem = /* @__PURE__ */ defineComponent({
|
|
12
|
+
name: "MKUploadFileItem",
|
|
13
|
+
props: {
|
|
14
|
+
modelValue: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: ""
|
|
17
|
+
},
|
|
18
|
+
uploadContext: {
|
|
19
|
+
type: UploadContext,
|
|
20
|
+
required: true
|
|
21
|
+
},
|
|
22
|
+
width: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: "180px"
|
|
25
|
+
},
|
|
26
|
+
height: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: "180px"
|
|
29
|
+
},
|
|
30
|
+
icon: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: "Plus"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
emits: ["update:modelValue", "view", "delete"],
|
|
36
|
+
setup(props, {
|
|
37
|
+
emit
|
|
38
|
+
}) {
|
|
39
|
+
const uploadFileInstance = ref(null);
|
|
40
|
+
ref(null);
|
|
41
|
+
ref("");
|
|
42
|
+
const modelValue = computed({
|
|
43
|
+
get: () => props.modelValue,
|
|
44
|
+
set: (v) => {
|
|
45
|
+
emit("update:modelValue", v);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const getFileIconBySuffix = (v) => {
|
|
49
|
+
const index = v.lastIndexOf(".");
|
|
50
|
+
const indexBias = v.lastIndexOf("/");
|
|
51
|
+
const icon = ["html", "apk", "eps", "ppt", "xml", "pdf", "exe", "psd", "visio", "xls", "doc", "txt", "dll", "tiff", "bmp", "audio"];
|
|
52
|
+
const zipIcon = ["zip", "rar", "zip", "tar", "gz", "bz2", "7z"];
|
|
53
|
+
const suffixIcon = v.substring(index + 1);
|
|
54
|
+
const suffix = v.substring(indexBias + 1);
|
|
55
|
+
if (icon.includes(suffixIcon)) {
|
|
56
|
+
return {
|
|
57
|
+
icon: suffixIcon,
|
|
58
|
+
suffix
|
|
59
|
+
};
|
|
60
|
+
} else if (zipIcon.includes(suffixIcon)) {
|
|
61
|
+
return {
|
|
62
|
+
icon: "yasuo",
|
|
63
|
+
suffix
|
|
64
|
+
};
|
|
65
|
+
} else {
|
|
66
|
+
return {
|
|
67
|
+
icon: "weizhiwenjian",
|
|
68
|
+
suffix
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const handleUpdateModelValue = (v) => {
|
|
73
|
+
modelValue.value = v;
|
|
74
|
+
};
|
|
75
|
+
const handleClick = (event) => {
|
|
76
|
+
var _a;
|
|
77
|
+
event.stopPropagation();
|
|
78
|
+
if (unref(modelValue)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
(_a = unref(uploadFileInstance)) == null ? void 0 : _a.handleUpload();
|
|
82
|
+
};
|
|
83
|
+
const handleDelete = (event) => {
|
|
84
|
+
event.stopPropagation();
|
|
85
|
+
emit("delete", unref(modelValue));
|
|
86
|
+
};
|
|
87
|
+
return () => {
|
|
88
|
+
let content;
|
|
89
|
+
if (unref(modelValue)) {
|
|
90
|
+
content = createVNode(Fragment, null, [createVNode("div", {
|
|
91
|
+
"class": "mk-upload-file-ui-item__file"
|
|
92
|
+
}, [createVNode(MKSvgIcon, {
|
|
93
|
+
"iconClass": getFileIconBySuffix(props.modelValue).icon
|
|
94
|
+
}, null), createVNode("div", {
|
|
95
|
+
"class": "mk-upload-file-ui-item__file__name"
|
|
96
|
+
}, [getFileIconBySuffix(props.modelValue).suffix])]), createVNode("div", {
|
|
97
|
+
"class": "mk-upload-file-ui-item__mask"
|
|
98
|
+
}, [createVNode(ElTooltip, {
|
|
99
|
+
"content": "删除"
|
|
100
|
+
}, {
|
|
101
|
+
default: () => [createVNode(MKSvgIcon, {
|
|
102
|
+
"iconClass": "Delete",
|
|
103
|
+
"onClick": handleDelete
|
|
104
|
+
}, null)]
|
|
105
|
+
})])]);
|
|
106
|
+
} else {
|
|
107
|
+
content = createVNode("div", {
|
|
108
|
+
"class": "mk-upload-file-ui-item__wrapper__desc"
|
|
109
|
+
}, [createVNode(MKSvgIcon, {
|
|
110
|
+
"iconClass": props.icon,
|
|
111
|
+
"class": "mk-upload-file-ui-item__wrapper__desc__icon"
|
|
112
|
+
}, null), createVNode("span", {
|
|
113
|
+
"class": "mk-upload-file-ui-item__wrapper__desc__text"
|
|
114
|
+
}, [createTextVNode("点击上传文件")])]);
|
|
115
|
+
}
|
|
116
|
+
return createVNode("div", {
|
|
117
|
+
"class": "mk-upload-file-ui-item",
|
|
118
|
+
"style": {
|
|
119
|
+
width: props.width,
|
|
120
|
+
height: props.height
|
|
121
|
+
}
|
|
122
|
+
}, [createVNode(MKUploadFile, {
|
|
123
|
+
"modelValue": props.modelValue,
|
|
124
|
+
"onUpdate:modelValue": handleUpdateModelValue,
|
|
125
|
+
"uploadContext": props.uploadContext,
|
|
126
|
+
"ref": (el) => uploadFileInstance.value = el
|
|
127
|
+
}, {
|
|
128
|
+
default: () => [createVNode("div", {
|
|
129
|
+
"class": "mk-upload-file-ui-item__wrapper",
|
|
130
|
+
"onClick": handleClick
|
|
131
|
+
}, [content])]
|
|
132
|
+
})]);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
const UploadFile = /* @__PURE__ */ defineComponent({
|
|
137
|
+
name: "MKUploadFile",
|
|
138
|
+
props: uploadFileUiProps,
|
|
139
|
+
emits: uploadFileUiEmits,
|
|
140
|
+
setup(props, {
|
|
141
|
+
emit
|
|
142
|
+
}) {
|
|
143
|
+
const modelValue = computed({
|
|
144
|
+
get: () => props.modelValue,
|
|
145
|
+
set: (v) => emit("update:modelValue", v)
|
|
146
|
+
});
|
|
147
|
+
const currentImageSrc = ref("");
|
|
148
|
+
const multiple = computed(() => props.multiple);
|
|
149
|
+
const isShowImageViewer = ref(false);
|
|
150
|
+
watch(computed(() => [unref(modelValue), unref(multiple)]), ([value, multiple2]) => {
|
|
151
|
+
if (multiple2 && !Array.isArray(value)) {
|
|
152
|
+
modelValue.value = [];
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
immediate: true
|
|
156
|
+
});
|
|
157
|
+
const handleDelete = (src) => {
|
|
158
|
+
if (!unref(multiple)) {
|
|
159
|
+
modelValue.value = "";
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const index = unref(modelValue).indexOf(src);
|
|
163
|
+
if (index === -1) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
modelValue.value.splice(index, 1);
|
|
167
|
+
};
|
|
168
|
+
const handleShowImageViewer = (src) => {
|
|
169
|
+
isShowImageViewer.value = true;
|
|
170
|
+
currentImageSrc.value = src;
|
|
171
|
+
};
|
|
172
|
+
const handleAppendImage = (src) => {
|
|
173
|
+
const _value = unref(modelValue);
|
|
174
|
+
if (Array.isArray(_value)) {
|
|
175
|
+
_value.push(src);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
return () => {
|
|
179
|
+
const _multiple = unref(multiple);
|
|
180
|
+
let content;
|
|
181
|
+
if (!_multiple) {
|
|
182
|
+
content = createVNode(MKUploadFileItem, {
|
|
183
|
+
"onView": handleShowImageViewer,
|
|
184
|
+
"onDelete": handleDelete,
|
|
185
|
+
"modelValue": unref(modelValue),
|
|
186
|
+
"onUpdate:modelValue": (value) => modelValue.value = value,
|
|
187
|
+
"uploadContext": props.uploadContext,
|
|
188
|
+
"width": props.width,
|
|
189
|
+
"height": props.height,
|
|
190
|
+
"icon": props.icon
|
|
191
|
+
}, null);
|
|
192
|
+
} else {
|
|
193
|
+
let images = null;
|
|
194
|
+
if (Array.isArray(unref(modelValue))) {
|
|
195
|
+
images = unref(modelValue).map((src) => createVNode(MKUploadFileItem, {
|
|
196
|
+
"onView": handleShowImageViewer,
|
|
197
|
+
"onDelete": handleDelete,
|
|
198
|
+
"modelValue": src,
|
|
199
|
+
"uploadContext": props.uploadContext,
|
|
200
|
+
"width": props.width,
|
|
201
|
+
"height": props.height,
|
|
202
|
+
"icon": props.icon
|
|
203
|
+
}, null));
|
|
204
|
+
}
|
|
205
|
+
content = createVNode(Fragment, null, [images, createVNode(MKUploadFileItem, {
|
|
206
|
+
"onUpdate:modelValue": handleAppendImage,
|
|
207
|
+
"uploadContext": props.uploadContext,
|
|
208
|
+
"width": props.width,
|
|
209
|
+
"height": props.height,
|
|
210
|
+
"icon": props.icon
|
|
211
|
+
}, null)]);
|
|
212
|
+
}
|
|
213
|
+
return createVNode("div", {
|
|
214
|
+
"class": "mk-upload-file-ui",
|
|
215
|
+
"style": {
|
|
216
|
+
width: _multiple ? "" : props.width
|
|
217
|
+
}
|
|
218
|
+
}, [content]);
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
export {
|
|
223
|
+
UploadFile as default
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=upload-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-file.js","sources":["../../../../../../../src/components/basic/upload-file/ui/upload-file/upload-file.tsx"],"sourcesContent":["import {\r\n Fragment,\r\n Ref,\r\n VNode,\r\n computed,\r\n defineComponent,\r\n ref,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { ElImage, ElTooltip, ElImageViewer } from \"element-plus\";\r\nimport { MKSvgIcon } from \"../../../svg-icon\";\r\nimport { MKUploadFile } from \"../../upload-file\";\r\nimport { uploadFileUiEmits, uploadFileUiProps } from \"./upload-file-options\";\r\nimport { UploadContext } from \"../../context\";\r\n\r\nconst MKUploadFileItem = defineComponent({\r\n name: \"MKUploadFileItem\",\r\n props: {\r\n modelValue: {\r\n type: String,\r\n default: \"\",\r\n },\r\n uploadContext: {\r\n type: UploadContext,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n height: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n icon: {\r\n type: String,\r\n default: \"Plus\",\r\n }\r\n },\r\n emits: [\"update:modelValue\", \"view\", \"delete\"],\r\n setup(props, { emit }) {\r\n const uploadFileInstance: Ref<InstanceType<typeof MKUploadFile> | null> =\r\n ref(null);\r\n\r\n const imageInstance: Ref<InstanceType<typeof ElImage> | null> = ref(null);\r\n\r\n const currentFileName: Ref<string> = ref(\"\")\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue as string,\r\n set: (v: string) => {\r\n emit(\"update:modelValue\", v);\r\n },\r\n });\r\n\r\n\r\n\r\n const getFileIconBySuffix = (v: string) => {\r\n const index = v.lastIndexOf('.');\r\n const indexBias = v.lastIndexOf('/');\r\n const icon = [\"html\", \"apk\", \"eps\", \"ppt\", \"xml\", \"pdf\", \"exe\", \"psd\", \"visio\", \"xls\", \"doc\", \"txt\", \"dll\", \"tiff\", \"bmp\", \"audio\"]\r\n const zipIcon = [\"zip\", \"rar\", \"zip\", \"tar\", \"gz\", \"bz2\", \"7z\"]\r\n const suffixIcon = v.substring(index + 1)\r\n const suffix = v.substring(indexBias + 1)\r\n if (icon.includes(suffixIcon)) {\r\n return {\r\n icon: suffixIcon,\r\n suffix: suffix,\r\n }\r\n } else if (zipIcon.includes(suffixIcon)) {\r\n return {\r\n icon: \"yasuo\",\r\n suffix: suffix\r\n }\r\n } else {\r\n return {\r\n icon: \"weizhiwenjian\",\r\n suffix: suffix\r\n }\r\n }\r\n }\r\n\r\n const handleUpdateModelValue = (v: string) => {\r\n modelValue.value = v;\r\n };\r\n\r\n const handleClick = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n if (unref(modelValue)) {\r\n return;\r\n }\r\n\r\n unref(uploadFileInstance)?.handleUpload();\r\n };\r\n\r\n const handleDelete = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n // modelValue.value = \"\";\r\n emit(\"delete\", unref(modelValue));\r\n };\r\n\r\n return () => {\r\n let content;\r\n\r\n if (unref(modelValue)) {\r\n content = (\r\n <Fragment>\r\n <div class=\"mk-upload-file-ui-item__file\">\r\n <MKSvgIcon iconClass={getFileIconBySuffix(props.modelValue).icon} />\r\n <div class=\"mk-upload-file-ui-item__file__name\">\r\n {getFileIconBySuffix(props.modelValue).suffix}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mk-upload-file-ui-item__mask\">\r\n <ElTooltip content=\"删除\">\r\n <MKSvgIcon iconClass=\"Delete\" onClick={handleDelete} />\r\n </ElTooltip>\r\n </div>\r\n </Fragment>\r\n );\r\n } else {\r\n content = <div class=\"mk-upload-file-ui-item__wrapper__desc\">\r\n <MKSvgIcon iconClass={props.icon} class=\"mk-upload-file-ui-item__wrapper__desc__icon\" />\r\n <span class=\"mk-upload-file-ui-item__wrapper__desc__text\">点击上传文件</span>\r\n </div>;\r\n }\r\n\r\n return (\r\n <div class=\"mk-upload-file-ui-item\" style={{ width: props.width, height: props.height }}>\r\n <MKUploadFile\r\n modelValue={props.modelValue}\r\n onUpdate:modelValue={handleUpdateModelValue}\r\n uploadContext={props.uploadContext}\r\n ref={\r\n ((el: InstanceType<typeof MKUploadFile>) =>\r\n (uploadFileInstance.value = el)) as any\r\n }\r\n >\r\n <div class=\"mk-upload-file-ui-item__wrapper\" onClick={handleClick}>\r\n {content}\r\n </div>\r\n </MKUploadFile>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n\r\nexport default defineComponent({\r\n name: \"MKUploadFile\",\r\n props: uploadFileUiProps,\r\n emits: uploadFileUiEmits,\r\n setup(props, { emit }) {\r\n const modelValue = computed({\r\n get: () => props.modelValue as string[] | string,\r\n set: (v: string[] | string) => emit(\"update:modelValue\", v),\r\n });\r\n\r\n const currentImageSrc: Ref<string> = ref(\"\");\r\n\r\n const multiple = computed(() => props.multiple);\r\n\r\n const isShowImageViewer: Ref<boolean> = ref(false);\r\n\r\n watch(\r\n computed(() => [unref(modelValue), unref(multiple)]),\r\n ([value, multiple]) => {\r\n if (multiple && !Array.isArray(value)) {\r\n modelValue.value = [];\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleDelete = (src: string) => {\r\n if (!unref(multiple)) {\r\n modelValue.value = \"\";\r\n return;\r\n }\r\n\r\n const index = unref(modelValue).indexOf(src);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n (modelValue.value as string[]).splice(index, 1);\r\n };\r\n\r\n const handleShowImageViewer = (src: string) => {\r\n isShowImageViewer.value = true;\r\n currentImageSrc.value = src;\r\n };\r\n\r\n const handleCloseImageViewer = () => {\r\n isShowImageViewer.value = false;\r\n };\r\n\r\n const handleAppendImage = (src: string) => {\r\n const _value = unref(modelValue);\r\n\r\n if (Array.isArray(_value)) {\r\n _value.push(src);\r\n }\r\n };\r\n\r\n return () => {\r\n const _multiple = unref(multiple);\r\n\r\n let content;\r\n\r\n if (!_multiple) {\r\n content = (\r\n <MKUploadFileItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={unref(modelValue) as string}\r\n onUpdate:modelValue={(value) => (modelValue.value = value)}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n );\r\n } else {\r\n let images: VNode[] | null = null;\r\n\r\n if (Array.isArray(unref(modelValue))) {\r\n images = (unref(modelValue) as string[]).map((src) => (\r\n <MKUploadFileItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={src}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n ));\r\n }\r\n\r\n content = (\r\n <Fragment>\r\n {images}\r\n <MKUploadFileItem\r\n onUpdate:modelValue={handleAppendImage}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n </Fragment>\r\n );\r\n }\r\n\r\n return (\r\n <div class=\"mk-upload-file-ui\" style={{ width: _multiple ? \"\" : props.width }}>\r\n {content}\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKUploadFileItem","defineComponent","name","props","modelValue","type","String","default","uploadContext","UploadContext","required","width","height","icon","emits","setup","emit","uploadFileInstance","ref","computed","get","set","v","getFileIconBySuffix","index","lastIndexOf","indexBias","zipIcon","suffixIcon","substring","suffix","includes","handleUpdateModelValue","value","handleClick","event","stopPropagation","unref","handleUpload","handleDelete","content","_createVNode","_Fragment","MKSvgIcon","ElTooltip","_createTextVNode","MKUploadFile","el","uploadFileUiProps","uploadFileUiEmits","currentImageSrc","multiple","isShowImageViewer","watch","Array","isArray","immediate","src","indexOf","splice","handleShowImageViewer","handleAppendImage","_value","push","_multiple","images","map"],"mappings":";;;;;;;;;;AAgBA,MAAMA,mBAAmBC,gCAAgB;AAAA,EACvCC,MAAM;AAAA,EACNC,OAAO;AAAA,IACLC,YAAY;AAAA,MACVC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDC,eAAe;AAAA,MACbH,MAAMI;AAAAA,MACNC,UAAU;AAAA,IACX;AAAA,IACDC,OAAO;AAAA,MACLN,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDK,QAAQ;AAAA,MACNP,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDM,MAAM;AAAA,MACJR,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EACDO,OAAO,CAAC,qBAAqB,QAAQ,QAAQ;AAAA,EAC7CC,MAAMZ,OAAO;AAAA,IAAEa;AAAAA,EAAK,GAAG;AACrB,UAAMC,qBACJC,IAAI,IAAI;AAEsDA,QAAI,IAAI;AAEnCA,QAAI,EAAE;AAE3C,UAAMd,aAAae,SAAS;AAAA,MAC1BC,KAAKA,MAAMjB,MAAMC;AAAAA,MACjBiB,KAAMC,OAAc;AAClBN,aAAK,qBAAqBM,CAAC;AAAA,MAC7B;AAAA,IACF,CAAC;AAID,UAAMC,sBAAuBD,OAAc;AACzC,YAAME,QAAQF,EAAEG,YAAY,GAAG;AAC/B,YAAMC,YAAYJ,EAAEG,YAAY,GAAG;AACnC,YAAMZ,OAAO,CAAC,QAAQ,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,SAAS,OAAO,OAAO,OAAO,OAAO,QAAQ,OAAO,OAAO;AAClI,YAAMc,UAAU,CAAC,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,IAAI;AAC9D,YAAMC,aAAaN,EAAEO,UAAUL,QAAQ,CAAC;AACxC,YAAMM,SAASR,EAAEO,UAAUH,YAAY,CAAC;AACxC,UAAIb,KAAKkB,SAASH,UAAU,GAAG;AAC7B,eAAO;AAAA,UACLf,MAAMe;AAAAA,UACNE;AAAAA;MAEH,WAAUH,QAAQI,SAASH,UAAU,GAAG;AACvC,eAAO;AAAA,UACLf,MAAM;AAAA,UACNiB;AAAAA;MAEJ,OAAO;AACL,eAAO;AAAA,UACLjB,MAAM;AAAA,UACNiB;AAAAA;MAEJ;AAAA;AAGF,UAAME,yBAA0BV,OAAc;AAC5ClB,iBAAW6B,QAAQX;AAAAA;AAGrB,UAAMY,cAAeC,WAAsB;;AACzCA,YAAMC,gBAAe;AAErB,UAAIC,MAAMjC,UAAU,GAAG;AACrB;AAAA,MACF;AAEAiC,kBAAMpB,kBAAkB,MAAxBoB,mBAA2BC;AAAAA;AAG7B,UAAMC,eAAgBJ,WAAsB;AAC1CA,YAAMC,gBAAe;AAGrBpB,WAAK,UAAUqB,MAAMjC,UAAU,CAAC;AAAA;AAGlC,WAAO,MAAM;AACX,UAAIoC;AAEJ,UAAIH,MAAMjC,UAAU,GAAG;AACrBoC,kBAAOC,YAAAC,iBAAAD,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAE,WAAA;AAAA,UAAA,aAGqBpB,oBAAoBpB,MAAMC,UAAU,EAAES;AAAAA,QAAI,GAAA,IAAA,GAAA4B,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,WAE7DlB,CAAAA,oBAAoBpB,MAAMC,UAAU,EAAE0B,MAAM,CAAA,CAAA,CAAA,GAAAW,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAG,WAAA;AAAA,UAAA,WAAA;AAAA,QAAA,GAAA;AAAA,UAAArC,SAAAA,MAAAkC,CAAAA,YAAAE,WAAA;AAAA,YAAA,aAAA;AAAA,YAAA,WAMNJ;AAAAA,UAAY,GAAA,IAAA,CAAA;AAAA,SAI1D,CAAA,CAAA,CAAA,CAAA;AAAA,MACH,OAAO;AACLC,kBAAOC,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAE,WAAA;AAAA,UAAA,aACiBxC,MAAMU;AAAAA,UAAI,SAAA;AAAA,QAAA,GAAA,IAAA,GAAA4B,YAAA,QAAA;AAAA,UAAA,SAAA;AAAA,QAAA,GAAA,CAAAI,gBAE5B,QAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MACR;AAEA,aAAAJ,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,SAC6C;AAAA,UAAE9B,OAAOR,MAAMQ;AAAAA,UAAOC,QAAQT,MAAMS;AAAAA,QAAO;AAAA,SAAC6B,CAAAA,YAAAK,cAAA;AAAA,QAAA,cAEvE3C,MAAMC;AAAAA,QAAU,uBACP4B;AAAAA,QAAsB,iBAC5B7B,MAAMK;AAAAA,QAAa,OAE9BuC,QACC9B,mBAAmBgB,QAAQc;AAAAA,MAAG,GAAA;AAAA,QAAAxC,SAAAA,MAAA,CAAAkC,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,UAAA,WAGmBP;AAAAA,QAAW,GAAA,CAC9DM,OAAO,CAAA,CAAA;AAAA,MAAA,CAAA,CAAA,CAAA;AAAA;EAMpB;AACF,CAAC;AAED,MAAevC,6CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO6C;AAAAA,EACPlC,OAAOmC;AAAAA,EACPlC,MAAMZ,OAAO;AAAA,IAAEa;AAAAA,EAAK,GAAG;AACrB,UAAMZ,aAAae,SAAS;AAAA,MAC1BC,KAAKA,MAAMjB,MAAMC;AAAAA,MACjBiB,KAAMC,OAAyBN,KAAK,qBAAqBM,CAAC;AAAA,IAC5D,CAAC;AAED,UAAM4B,kBAA+BhC,IAAI,EAAE;AAE3C,UAAMiC,WAAWhC,SAAS,MAAMhB,MAAMgD,QAAQ;AAE9C,UAAMC,oBAAkClC,IAAI,KAAK;AAEjDmC,UACElC,SAAS,MAAM,CAACkB,MAAMjC,UAAU,GAAGiC,MAAMc,QAAQ,CAAC,CAAC,GACnD,CAAC,CAAClB,OAAOkB,SAAQ,MAAM;AACrB,UAAIA,aAAY,CAACG,MAAMC,QAAQtB,KAAK,GAAG;AACrC7B,mBAAW6B,QAAQ;MACrB;AAAA,IACF,GACA;AAAA,MAAEuB,WAAW;AAAA,IAAK,CACpB;AAEA,UAAMjB,eAAgBkB,SAAgB;AACpC,UAAI,CAACpB,MAAMc,QAAQ,GAAG;AACpB/C,mBAAW6B,QAAQ;AACnB;AAAA,MACF;AAEA,YAAMT,QAAQa,MAAMjC,UAAU,EAAEsD,QAAQD,GAAG;AAE3C,UAAIjC,UAAU,IAAI;AAChB;AAAA,MACF;AAECpB,iBAAW6B,MAAmB0B,OAAOnC,OAAO,CAAC;AAAA;AAGhD,UAAMoC,wBAAyBH,SAAgB;AAC7CL,wBAAkBnB,QAAQ;AAC1BiB,sBAAgBjB,QAAQwB;AAAAA;AAO1B,UAAMI,oBAAqBJ,SAAgB;AACzC,YAAMK,SAASzB,MAAMjC,UAAU;AAE/B,UAAIkD,MAAMC,QAAQO,MAAM,GAAG;AACzBA,eAAOC,KAAKN,GAAG;AAAA,MACjB;AAAA;AAGF,WAAO,MAAM;AACX,YAAMO,YAAY3B,MAAMc,QAAQ;AAEhC,UAAIX;AAEJ,UAAI,CAACwB,WAAW;AACdxB,kBAAOC,YAAAzC,kBAAA;AAAA,UAAA,UAEK4D;AAAAA,UAAqB,YACnBrB;AAAAA,UAAY,cACVF,MAAMjC,UAAU;AAAA,UAAC,uBACP6B,WAAW7B,WAAW6B,QAAQA;AAAAA,UAAM,iBAC3C9B,MAAMK;AAAAA,UAAa,SAC3BL,MAAMQ;AAAAA,UAAK,UACVR,MAAMS;AAAAA,UAAM,QACdT,MAAMU;AAAAA,QAEf,GAAA,IAAA;AAAA,MACH,OAAO;AACL,YAAIoD,SAAyB;AAE7B,YAAIX,MAAMC,QAAQlB,MAAMjC,UAAU,CAAC,GAAG;AACpC6D,mBAAU5B,MAAMjC,UAAU,EAAe8D,IAAKT,SAAGhB,YAAAzC,kBAAA;AAAA,YAAA,UAErC4D;AAAAA,YAAqB,YACnBrB;AAAAA,YAAY,cACVkB;AAAAA,YAAG,iBACAtD,MAAMK;AAAAA,YAAa,SAC3BL,MAAMQ;AAAAA,YAAK,UACVR,MAAMS;AAAAA,YAAM,QACdT,MAAMU;AAAAA,UAAI,GAAA,IAAA,CAEnB;AAAA,QACH;AAEA2B,kBAAOC,YAAAC,iBAEFuB,QAAMxB,YAAAzC,kBAAA;AAAA,UAAA,uBAEgB6D;AAAAA,UAAiB,iBACvB1D,MAAMK;AAAAA,UAAa,SAC3BL,MAAMQ;AAAAA,UAAK,UACVR,MAAMS;AAAAA,UAAM,QACdT,MAAMU;AAAAA,WAGjB,IAAA,CAAA,CAAA;AAAA,MACH;AAEA,aAAA4B,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,SACwC;AAAA,UAAE9B,OAAOqD,YAAY,KAAK7D,MAAMQ;AAAAA,QAAM;AAAA,MAAC,GAAA,CAC1E6B,OAAO,CAAA;AAAA;EAIhB;AACF,CAAC;"}
|
|
@@ -44,6 +44,7 @@ const MKUploadImageItem = /* @__PURE__ */ defineComponent({
|
|
|
44
44
|
emit("update:modelValue", v);
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
|
+
console.log(props.uploadContext);
|
|
47
48
|
const handleUpdateModelValue = (v) => {
|
|
48
49
|
modelValue.value = v;
|
|
49
50
|
};
|
|
@@ -70,7 +71,7 @@ const MKUploadImageItem = /* @__PURE__ */ defineComponent({
|
|
|
70
71
|
"ref": (el) => imageInstance.value = el,
|
|
71
72
|
"src": unref(modelValue),
|
|
72
73
|
"class": "mk-upload-image-item__image",
|
|
73
|
-
"fit": "
|
|
74
|
+
"fit": "contain"
|
|
74
75
|
}, null), createVNode("div", {
|
|
75
76
|
"class": "mk-upload-image-item__mask"
|
|
76
77
|
}, [createVNode(ElTooltip, {
|
|
@@ -160,6 +161,7 @@ const UploadImage = /* @__PURE__ */ defineComponent({
|
|
|
160
161
|
};
|
|
161
162
|
return () => {
|
|
162
163
|
const _multiple = unref(multiple);
|
|
164
|
+
console.log(_multiple);
|
|
163
165
|
let content;
|
|
164
166
|
if (!_multiple) {
|
|
165
167
|
content = createVNode(MKUploadImageItem, {
|
|
@@ -202,7 +204,7 @@ const UploadImage = /* @__PURE__ */ defineComponent({
|
|
|
202
204
|
return createVNode("div", {
|
|
203
205
|
"class": "mk-upload-image",
|
|
204
206
|
"style": {
|
|
205
|
-
width: _multiple ? "" : props.width
|
|
207
|
+
width: !_multiple ? "" : props.width
|
|
206
208
|
}
|
|
207
209
|
}, [content, imageViewer]);
|
|
208
210
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-image.js","sources":["../../../../../../../src/components/basic/upload-file/ui/upload-image/upload-image.tsx"],"sourcesContent":["import {\r\n Fragment,\r\n Ref,\r\n VNode,\r\n computed,\r\n defineComponent,\r\n ref,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { ElImage, ElTooltip, ElImageViewer } from \"element-plus\";\r\nimport { MKSvgIcon } from \"../../../svg-icon\";\r\nimport { MKUploadFile } from \"../../upload-file\";\r\nimport { uploadImageEmits, uploadImageProps } from \"./upload-image-options\";\r\nimport { UploadContext } from \"../../context\";\r\n\r\nconst MKUploadImageItem = defineComponent({\r\n name: \"MKUploadImageItem\",\r\n props: {\r\n modelValue: {\r\n type: String,\r\n default: \"\",\r\n },\r\n uploadContext: {\r\n type: UploadContext,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n height: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n icon: {\r\n type: String,\r\n default: \"Plus\",\r\n }\r\n },\r\n emits: [\"update:modelValue\", \"view\", \"delete\"],\r\n setup(props, { emit }) {\r\n const uploadFileInstance: Ref<InstanceType<typeof MKUploadFile> | null> =\r\n ref(null);\r\n\r\n const imageInstance: Ref<InstanceType<typeof ElImage> | null> = ref(null);\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue as string,\r\n set: (v: string) => {\r\n emit(\"update:modelValue\", v);\r\n },\r\n });\r\n\r\n const handleUpdateModelValue = (v: string) => {\r\n modelValue.value = v;\r\n };\r\n\r\n const handleClick = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n if (unref(modelValue)) {\r\n return;\r\n }\r\n\r\n unref(uploadFileInstance)?.handleUpload();\r\n };\r\n\r\n const handleView = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n emit(\"view\", unref(modelValue));\r\n };\r\n\r\n const handleDelete = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n // modelValue.value = \"\";\r\n emit(\"delete\", unref(modelValue));\r\n };\r\n\r\n return () => {\r\n let content;\r\n\r\n if (unref(modelValue)) {\r\n content = (\r\n <Fragment>\r\n <ElImage ref={\r\n ((el: InstanceType<typeof ElImage>) =>\r\n (imageInstance.value = el)) as any\r\n }\r\n src={unref(modelValue)}\r\n class=\"mk-upload-image-item__image\"\r\n fit=\"cover\"\r\n />\r\n\r\n <div class=\"mk-upload-image-item__mask\">\r\n <ElTooltip content=\"查看\">\r\n <MKSvgIcon iconClass=\"View\" onClick={handleView} />\r\n </ElTooltip>\r\n <ElTooltip content=\"删除\">\r\n <MKSvgIcon iconClass=\"Delete\" onClick={handleDelete} />\r\n </ElTooltip>\r\n </div>\r\n </Fragment>\r\n );\r\n } else {\r\n content = <MKSvgIcon iconClass={props.icon} />;\r\n }\r\n\r\n return (\r\n <div class=\"mk-upload-image-item\" style={{width:props.width,height:props.height}}>\r\n <MKUploadFile\r\n modelValue={props.modelValue}\r\n onUpdate:modelValue={handleUpdateModelValue}\r\n uploadContext={props.uploadContext}\r\n ref={\r\n ((el: InstanceType<typeof MKUploadFile>) =>\r\n (uploadFileInstance.value = el)) as any\r\n }\r\n >\r\n <div class=\"mk-upload-image-item__wrapper\" onClick={handleClick}>\r\n {content}\r\n </div>\r\n </MKUploadFile>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n\r\nexport default defineComponent({\r\n name: \"MKUploadImage\",\r\n props: uploadImageProps,\r\n emits: uploadImageEmits,\r\n setup(props, { emit }) {\r\n const modelValue = computed({\r\n get: () => props.modelValue as string[] | string,\r\n set: (v: string[] | string) => emit(\"update:modelValue\", v),\r\n });\r\n\r\n const currentImageSrc: Ref<string> = ref(\"\");\r\n\r\n const multiple = computed(() => props.multiple);\r\n\r\n const isShowImageViewer: Ref<boolean> = ref(false);\r\n\r\n watch(\r\n computed(() => [unref(modelValue), unref(multiple)]),\r\n ([value, multiple]) => {\r\n if (multiple && !Array.isArray(value)) {\r\n modelValue.value = [];\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleDelete = (src: string) => {\r\n if (!unref(multiple)) {\r\n modelValue.value = \"\";\r\n return;\r\n }\r\n\r\n const index = unref(modelValue).indexOf(src);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n (modelValue.value as string[]).splice(index, 1);\r\n };\r\n\r\n const handleShowImageViewer = (src: string) => {\r\n isShowImageViewer.value = true;\r\n currentImageSrc.value = src;\r\n };\r\n\r\n const handleCloseImageViewer = () => {\r\n isShowImageViewer.value = false;\r\n };\r\n\r\n const handleAppendImage = (src: string) => {\r\n const _value = unref(modelValue);\r\n\r\n if (Array.isArray(_value)) {\r\n _value.push(src);\r\n }\r\n };\r\n\r\n return () => {\r\n const _multiple = unref(multiple);\r\n\r\n let content;\r\n\r\n if (!_multiple) {\r\n content = (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={unref(modelValue) as string}\r\n onUpdate:modelValue={(value) => (modelValue.value = value)}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n );\r\n } else {\r\n let images: VNode[] | null = null;\r\n\r\n if (Array.isArray(unref(modelValue))) {\r\n images = (unref(modelValue) as string[]).map((src) => (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={src}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n ));\r\n }\r\n\r\n content = (\r\n <Fragment>\r\n {images}\r\n <MKUploadImageItem\r\n onUpdate:modelValue={handleAppendImage}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n </Fragment>\r\n );\r\n }\r\n\r\n const imageViewer = unref(isShowImageViewer) ? (\r\n <ElImageViewer teleported zIndex={99}\r\n onClose={handleCloseImageViewer}\r\n urlList={[unref(currentImageSrc)]}\r\n />\r\n ) : null;\r\n\r\n return (\r\n <div class=\"mk-upload-image\" style={{width:_multiple?\"\":props.width}}>\r\n {content}\r\n {imageViewer}\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKUploadImageItem","defineComponent","name","props","modelValue","type","String","default","uploadContext","UploadContext","required","width","height","icon","emits","setup","emit","uploadFileInstance","ref","imageInstance","computed","get","set","v","handleUpdateModelValue","value","handleClick","event","stopPropagation","unref","handleUpload","handleView","handleDelete","content","_createVNode","_Fragment","ElImage","el","ElTooltip","MKSvgIcon","MKUploadFile","uploadImageProps","uploadImageEmits","currentImageSrc","multiple","isShowImageViewer","watch","Array","isArray","immediate","src","index","indexOf","splice","handleShowImageViewer","handleCloseImageViewer","handleAppendImage","_value","push","_multiple","images","map","imageViewer","ElImageViewer"],"mappings":";;;;;;;;;;AAgBA,MAAMA,oBAAoBC,gCAAgB;AAAA,EACxCC,MAAM;AAAA,EACNC,OAAO;AAAA,IACLC,YAAY;AAAA,MACVC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDC,eAAe;AAAA,MACbH,MAAMI;AAAAA,MACNC,UAAU;AAAA,IACX;AAAA,IACDC,OAAO;AAAA,MACLN,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDK,QAAQ;AAAA,MACNP,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDM,MAAM;AAAA,MACJR,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EACDO,OAAO,CAAC,qBAAqB,QAAQ,QAAQ;AAAA,EAC7CC,MAAMZ,OAAO;AAAA,IAAEa;AAAAA,EAAK,GAAG;AACrB,UAAMC,qBACJC,IAAI,IAAI;AAEV,UAAMC,gBAA0DD,IAAI,IAAI;AAExE,UAAMd,aAAagB,SAAS;AAAA,MAC1BC,KAAKA,MAAMlB,MAAMC;AAAAA,MACjBkB,KAAMC,OAAc;AAClBP,aAAK,qBAAqBO,CAAC;AAAA,MAC7B;AAAA,IACF,CAAC;AAED,UAAMC,yBAA0BD,OAAc;AAC5CnB,iBAAWqB,QAAQF;AAAAA;AAGrB,UAAMG,cAAeC,WAAsB;;AACzCA,YAAMC,gBAAe;AAErB,UAAIC,MAAMzB,UAAU,GAAG;AACrB;AAAA,MACF;AAEAyB,kBAAMZ,kBAAkB,MAAxBY,mBAA2BC;AAAAA;AAG7B,UAAMC,aAAcJ,WAAsB;AACxCA,YAAMC,gBAAe;AAErBZ,WAAK,QAAQa,MAAMzB,UAAU,CAAC;AAAA;AAGhC,UAAM4B,eAAgBL,WAAsB;AAC1CA,YAAMC,gBAAe;AAGrBZ,WAAK,UAAUa,MAAMzB,UAAU,CAAC;AAAA;AAGlC,WAAO,MAAM;AACX,UAAI6B;AAEJ,UAAIJ,MAAMzB,UAAU,GAAG;AACrB6B,kBAAOC,YAAAC,UAAAD,MAAAA,CAAAA,YAAAE,SAAA;AAAA,UAAA,OAGGC,QACClB,cAAcM,QAAQY;AAAAA,UAAG,OAEzBR,MAAMzB,UAAU;AAAA,UAAC,SAAA;AAAA,UAAA,OAAA;AAAA,QAAA,GAAA,IAAA,GAAA8B,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAI,WAAA;AAAA,UAAA,WAAA;AAAA,QAAA,GAAA;AAAA,UAAA/B,SAAAA,MAAA2B,CAAAA,YAAAK,WAAA;AAAA,YAAA,aAAA;AAAA,YAAA,WAOiBR;AAAAA,UAAU,GAAA,IAAA,CAAA;AAAA,SAAAG,GAAAA,YAAAI,WAAA;AAAA,UAAA,WAAA;AAAA,QAAA,GAAA;AAAA,UAAA/B,SAAAA,MAAA2B,CAAAA,YAAAK,WAAA;AAAA,YAAA,aAAA;AAAA,YAAA,WAGRP;AAAAA,UAAY,GAAA,IAAA,CAAA;AAAA,SAI1D,CAAA,CAAA,CAAA,CAAA;AAAA,MACH,OAAO;AACLC,kBAAOC,YAAAK,WAAA;AAAA,UAAA,aAAyBpC,MAAMU;AAAAA,QAAQ,GAAA,IAAA;AAAA,MAChD;AAEA,aAAAqB,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,SAC2C;AAAA,UAACvB,OAAMR,MAAMQ;AAAAA,UAAMC,QAAOT,MAAMS;AAAAA,QAAM;AAAA,SAACsB,CAAAA,YAAAM,cAAA;AAAA,QAAA,cAEhErC,MAAMC;AAAAA,QAAU,uBACPoB;AAAAA,QAAsB,iBAC5BrB,MAAMK;AAAAA,QAAa,OAE9B6B,QACCpB,mBAAmBQ,QAAQY;AAAAA,MAAG,GAAA;AAAA,QAAA9B,SAAAA,MAAA,CAAA2B,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,UAAA,WAGiBR;AAAAA,QAAW,GAAA,CAC5DO,OAAO,CAAA,CAAA;AAAA,MAAA,CAAA,CAAA,CAAA;AAAA;EAMpB;AACF,CAAC;AAED,MAAehC,8CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOsC;AAAAA,EACP3B,OAAO4B;AAAAA,EACP3B,MAAMZ,OAAO;AAAA,IAAEa;AAAAA,EAAK,GAAG;AACrB,UAAMZ,aAAagB,SAAS;AAAA,MAC1BC,KAAKA,MAAMlB,MAAMC;AAAAA,MACjBkB,KAAMC,OAAyBP,KAAK,qBAAqBO,CAAC;AAAA,IAC5D,CAAC;AAED,UAAMoB,kBAA+BzB,IAAI,EAAE;AAE3C,UAAM0B,WAAWxB,SAAS,MAAMjB,MAAMyC,QAAQ;AAE9C,UAAMC,oBAAkC3B,IAAI,KAAK;AAEjD4B,UACE1B,SAAS,MAAM,CAACS,MAAMzB,UAAU,GAAGyB,MAAMe,QAAQ,CAAC,CAAC,GACnD,CAAC,CAACnB,OAAOmB,SAAQ,MAAM;AACrB,UAAIA,aAAY,CAACG,MAAMC,QAAQvB,KAAK,GAAG;AACrCrB,mBAAWqB,QAAQ;MACrB;AAAA,IACF,GACA;AAAA,MAAEwB,WAAW;AAAA,IAAK,CACpB;AAEA,UAAMjB,eAAgBkB,SAAgB;AACpC,UAAI,CAACrB,MAAMe,QAAQ,GAAG;AACpBxC,mBAAWqB,QAAQ;AACnB;AAAA,MACF;AAEA,YAAM0B,QAAQtB,MAAMzB,UAAU,EAAEgD,QAAQF,GAAG;AAE3C,UAAIC,UAAU,IAAI;AAChB;AAAA,MACF;AAEC/C,iBAAWqB,MAAmB4B,OAAOF,OAAO,CAAC;AAAA;AAGhD,UAAMG,wBAAyBJ,SAAgB;AAC7CL,wBAAkBpB,QAAQ;AAC1BkB,sBAAgBlB,QAAQyB;AAAAA;AAG1B,UAAMK,yBAAyBA,MAAM;AACnCV,wBAAkBpB,QAAQ;AAAA;AAG5B,UAAM+B,oBAAqBN,SAAgB;AACzC,YAAMO,SAAS5B,MAAMzB,UAAU;AAE/B,UAAI2C,MAAMC,QAAQS,MAAM,GAAG;AACzBA,eAAOC,KAAKR,GAAG;AAAA,MACjB;AAAA;AAGF,WAAO,MAAM;AACX,YAAMS,YAAY9B,MAAMe,QAAQ;AAEhC,UAAIX;AAEJ,UAAI,CAAC0B,WAAW;AACd1B,kBAAOC,YAAAlC,mBAAA;AAAA,UAAA,UAEKsD;AAAAA,UAAqB,YACnBtB;AAAAA,UAAY,cACVH,MAAMzB,UAAU;AAAA,UAAC,uBACPqB,WAAWrB,WAAWqB,QAAQA;AAAAA,UAAM,iBAC3CtB,MAAMK;AAAAA,UAAa,SAC3BL,MAAMQ;AAAAA,UAAK,UACVR,MAAMS;AAAAA,UAAM,QACdT,MAAMU;AAAAA,QAEf,GAAA,IAAA;AAAA,MACH,OAAO;AACL,YAAI+C,SAAyB;AAE7B,YAAIb,MAAMC,QAAQnB,MAAMzB,UAAU,CAAC,GAAG;AACpCwD,mBAAU/B,MAAMzB,UAAU,EAAeyD,IAAKX,SAAGhB,YAAAlC,mBAAA;AAAA,YAAA,UAErCsD;AAAAA,YAAqB,YACnBtB;AAAAA,YAAY,cACVkB;AAAAA,YAAG,iBACA/C,MAAMK;AAAAA,YAAa,SAC3BL,MAAMQ;AAAAA,YAAK,UACVR,MAAMS;AAAAA,YAAM,QACdT,MAAMU;AAAAA,UAAI,GAAA,IAAA,CAEnB;AAAA,QACH;AAEAoB,kBAAOC,YAAAC,iBAEFyB,QAAM1B,YAAAlC,mBAAA;AAAA,UAAA,uBAEgBwD;AAAAA,UAAiB,iBACvBrD,MAAMK;AAAAA,UAAa,SAC3BL,MAAMQ;AAAAA,UAAK,UACVR,MAAMS;AAAAA,UAAM,QACdT,MAAMU;AAAAA,WAGjB,IAAA,CAAA,CAAA;AAAA,MACH;AAEA,YAAMiD,cAAcjC,MAAMgB,iBAAiB,IAACX,YAAA6B,eAAA;AAAA,QAAA,cAAA;AAAA,QAAA,UACR;AAAA,QAAE,WACzBR;AAAAA,QAAsB,WACtB,CAAC1B,MAAMc,eAAe,CAAC;AAAA,MAAC,GAAA,IAAA,IAEjC;AAEJ,aAAAT,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,SACsC;AAAA,UAACvB,OAAMgD,YAAU,KAAGxD,MAAMQ;AAAAA,QAAK;AAAA,SAChEsB,CAAAA,SACA6B,WAAW,CAAA;AAAA;EAIpB;AACF,CAAC;"}
|
|
1
|
+
{"version":3,"file":"upload-image.js","sources":["../../../../../../../src/components/basic/upload-file/ui/upload-image/upload-image.tsx"],"sourcesContent":["import {\r\n Fragment,\r\n Ref,\r\n VNode,\r\n computed,\r\n defineComponent,\r\n ref,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { ElImage, ElTooltip, ElImageViewer } from \"element-plus\";\r\nimport { MKSvgIcon } from \"../../../svg-icon\";\r\nimport { MKUploadFile } from \"../../upload-file\";\r\nimport { uploadImageEmits, uploadImageProps } from \"./upload-image-options\";\r\nimport { UploadContext } from \"../../context\";\r\n\r\nconst MKUploadImageItem = defineComponent({\r\n name: \"MKUploadImageItem\",\r\n props: {\r\n modelValue: {\r\n type: String,\r\n default: \"\",\r\n },\r\n uploadContext: {\r\n type: UploadContext,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n height: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n icon: {\r\n type: String,\r\n default: \"Plus\",\r\n }\r\n },\r\n emits: [\"update:modelValue\", \"view\", \"delete\"],\r\n setup(props, { emit }) {\r\n const uploadFileInstance: Ref<InstanceType<typeof MKUploadFile> | null> =\r\n ref(null);\r\n\r\n const imageInstance: Ref<InstanceType<typeof ElImage> | null> = ref(null);\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue as string,\r\n set: (v: string) => {\r\n emit(\"update:modelValue\", v);\r\n },\r\n });\r\n console.log(props.uploadContext)\r\n const handleUpdateModelValue = (v: string) => {\r\n modelValue.value = v;\r\n };\r\n\r\n const handleClick = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n if (unref(modelValue)) {\r\n return;\r\n }\r\n\r\n unref(uploadFileInstance)?.handleUpload();\r\n };\r\n\r\n const handleView = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n emit(\"view\", unref(modelValue));\r\n };\r\n\r\n const handleDelete = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n // modelValue.value = \"\";\r\n emit(\"delete\", unref(modelValue));\r\n };\r\n\r\n return () => {\r\n let content;\r\n\r\n if (unref(modelValue)) {\r\n content = (\r\n <Fragment>\r\n <ElImage ref={\r\n ((el: InstanceType<typeof ElImage>) =>\r\n (imageInstance.value = el)) as any\r\n }\r\n src={unref(modelValue)}\r\n class=\"mk-upload-image-item__image\"\r\n fit=\"contain\"\r\n />\r\n\r\n <div class=\"mk-upload-image-item__mask\">\r\n <ElTooltip content=\"查看\">\r\n <MKSvgIcon iconClass=\"View\" onClick={handleView} />\r\n </ElTooltip>\r\n <ElTooltip content=\"删除\">\r\n <MKSvgIcon iconClass=\"Delete\" onClick={handleDelete} />\r\n </ElTooltip>\r\n </div>\r\n </Fragment>\r\n );\r\n } else {\r\n content = <MKSvgIcon iconClass={props.icon} />;\r\n }\r\n\r\n return (\r\n <div class=\"mk-upload-image-item\" style={{ width: props.width, height: props.height }}>\r\n <MKUploadFile\r\n modelValue={props.modelValue}\r\n onUpdate:modelValue={handleUpdateModelValue}\r\n uploadContext={props.uploadContext}\r\n ref={\r\n ((el: InstanceType<typeof MKUploadFile>) =>\r\n (uploadFileInstance.value = el)) as any\r\n }\r\n >\r\n <div class=\"mk-upload-image-item__wrapper\" onClick={handleClick}>\r\n {content}\r\n </div>\r\n </MKUploadFile>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n\r\nexport default defineComponent({\r\n name: \"MKUploadImage\",\r\n props: uploadImageProps,\r\n emits: uploadImageEmits,\r\n setup(props, { emit }) {\r\n const modelValue = computed({\r\n get: () => props.modelValue as string[] | string,\r\n set: (v: string[] | string) => emit(\"update:modelValue\", v),\r\n });\r\n\r\n const currentImageSrc: Ref<string> = ref(\"\");\r\n\r\n const multiple = computed(() => props.multiple);\r\n\r\n const isShowImageViewer: Ref<boolean> = ref(false);\r\n\r\n watch(\r\n computed(() => [unref(modelValue), unref(multiple)]),\r\n ([value, multiple]) => {\r\n if (multiple && !Array.isArray(value)) {\r\n modelValue.value = [];\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleDelete = (src: string) => {\r\n if (!unref(multiple)) {\r\n modelValue.value = \"\";\r\n return;\r\n }\r\n\r\n const index = unref(modelValue).indexOf(src);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n (modelValue.value as string[]).splice(index, 1);\r\n };\r\n\r\n const handleShowImageViewer = (src: string) => {\r\n isShowImageViewer.value = true;\r\n currentImageSrc.value = src;\r\n };\r\n\r\n const handleCloseImageViewer = () => {\r\n isShowImageViewer.value = false;\r\n };\r\n\r\n const handleAppendImage = (src: string) => {\r\n const _value = unref(modelValue);\r\n\r\n if (Array.isArray(_value)) {\r\n _value.push(src);\r\n }\r\n };\r\n\r\n return () => {\r\n const _multiple = unref(multiple);\r\n console.log(_multiple)\r\n let content;\r\n\r\n if (!_multiple) {\r\n content = (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={unref(modelValue) as string}\r\n onUpdate:modelValue={(value) => (modelValue.value = value)}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n );\r\n } else {\r\n let images: VNode[] | null = null;\r\n\r\n if (Array.isArray(unref(modelValue))) {\r\n images = (unref(modelValue) as string[]).map((src) => (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={src}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n ));\r\n }\r\n\r\n content = (\r\n <Fragment>\r\n {images}\r\n <MKUploadImageItem\r\n onUpdate:modelValue={handleAppendImage}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n </Fragment>\r\n );\r\n }\r\n\r\n const imageViewer = unref(isShowImageViewer) ? (\r\n <ElImageViewer teleported zIndex={99}\r\n onClose={handleCloseImageViewer}\r\n urlList={[unref(currentImageSrc)]}\r\n />\r\n ) : null;\r\n\r\n return (\r\n <div class=\"mk-upload-image\" style={{ width: !_multiple ? \"\" : props.width }}>\r\n {content}\r\n {imageViewer}\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKUploadImageItem","defineComponent","name","props","modelValue","type","String","default","uploadContext","UploadContext","required","width","height","icon","emits","setup","emit","uploadFileInstance","ref","imageInstance","computed","get","set","v","console","log","handleUpdateModelValue","value","handleClick","event","stopPropagation","unref","handleUpload","handleView","handleDelete","content","_createVNode","_Fragment","ElImage","el","ElTooltip","MKSvgIcon","MKUploadFile","uploadImageProps","uploadImageEmits","currentImageSrc","multiple","isShowImageViewer","watch","Array","isArray","immediate","src","index","indexOf","splice","handleShowImageViewer","handleCloseImageViewer","handleAppendImage","_value","push","_multiple","images","map","imageViewer","ElImageViewer"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { withInstall } from "@maketribe/utils";
|
|
2
|
+
import UploadVideo from "./upload-video.js";
|
|
3
|
+
import { uploadVideoEmits, uploadVideoProps } from "./upload-video-options.js";
|
|
4
|
+
const MKUploadVideo = withInstall(UploadVideo);
|
|
5
|
+
export {
|
|
6
|
+
MKUploadVideo,
|
|
7
|
+
MKUploadVideo as default,
|
|
8
|
+
uploadVideoEmits,
|
|
9
|
+
uploadVideoProps
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/components/basic/upload-file/ui/upload-video/index.ts"],"sourcesContent":["import { withInstall } from \"@maketribe/utils\";\r\nimport UploadVideo from \"./upload-video\"\r\n\r\nexport const MKUploadVideo = withInstall(UploadVideo);\r\nexport default MKUploadVideo;\r\n\r\nexport * from \"./upload-video-options\";\r\n"],"names":[],"mappings":";;;AAGa,MAAA,gBAAgB,YAAY,WAAW;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { buildProps } from "@maketribe/utils";
|
|
2
|
+
import { UploadContext } from "../../context/UploadContext.js";
|
|
3
|
+
import { WebFileUploadContext } from "../../context/WebFileUploadContext.js";
|
|
4
|
+
import "../../context/web-file-upload-context.js";
|
|
5
|
+
import "../../context/web-file-upload-context-options.js";
|
|
6
|
+
const uploadVideoProps = buildProps({
|
|
7
|
+
uploadContext: {
|
|
8
|
+
type: UploadContext,
|
|
9
|
+
default: () => new WebFileUploadContext()
|
|
10
|
+
},
|
|
11
|
+
modelValue: {
|
|
12
|
+
type: [String, Array]
|
|
13
|
+
},
|
|
14
|
+
multiple: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: false
|
|
17
|
+
},
|
|
18
|
+
width: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: "180px"
|
|
21
|
+
},
|
|
22
|
+
height: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: "180px"
|
|
25
|
+
},
|
|
26
|
+
icon: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: "UploadFilled"
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const uploadVideoEmits = {
|
|
32
|
+
"update:modelValue": (path) => true
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
uploadVideoEmits,
|
|
36
|
+
uploadVideoProps
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=upload-video-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-video-options.js","sources":["../../../../../../../src/components/basic/upload-file/ui/upload-video/upload-video-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { WebFileUploadContext, UploadContext } from \"../../context\";\r\n\r\nexport const uploadVideoProps = buildProps({\r\n uploadContext: {\r\n type: UploadContext,\r\n default: () => new WebFileUploadContext(),\r\n },\r\n modelValue: {\r\n type: [String, Array<String>],\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n width: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n height: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n icon: {\r\n type: String,\r\n default: \"UploadFilled\",\r\n }\r\n} as const);\r\n\r\nexport type UploadVideoProps = ExtractPropTypes<typeof uploadVideoProps>;\r\n\r\nexport const uploadVideoEmits = {\r\n \"update:modelValue\": (path: string | string[]) => true,\r\n};\r\n\r\nexport type UploadVideoEmits = typeof uploadVideoEmits;\r\n"],"names":[],"mappings":";;;;;AAIO,MAAM,mBAAmB,WAAW;AAAA,EACzC,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS,MAAM,IAAI,qBAAqB;AAAA,EAC1C;AAAA,EACA,YAAY;AAAA,IACV,MAAM,CAAC,QAAQ,KAAa;AAAA,EAC9B;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAU;AAIH,MAAM,mBAAmB;AAAA,EAC9B,qBAAqB,CAAC,SAA4B;AACpD;"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { defineComponent, computed, ref, watch, unref, createVNode, Fragment, createTextVNode } from "vue";
|
|
2
|
+
import { ElTooltip } from "element-plus";
|
|
3
|
+
import { MKSvgIcon } from "../../../svg-icon/index.js";
|
|
4
|
+
import { MKUploadFile } from "../../upload-file.js";
|
|
5
|
+
import { uploadVideoProps, uploadVideoEmits } from "./upload-video-options.js";
|
|
6
|
+
import { UploadContext } from "../../context/UploadContext.js";
|
|
7
|
+
import "@maketribe/request";
|
|
8
|
+
import "@maketribe/utils";
|
|
9
|
+
import "../../context/web-file-upload-context.js";
|
|
10
|
+
import "../../context/web-file-upload-context-options.js";
|
|
11
|
+
const MKUploadFileItem = /* @__PURE__ */ defineComponent({
|
|
12
|
+
name: "MKUploadFileItem",
|
|
13
|
+
props: {
|
|
14
|
+
modelValue: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: ""
|
|
17
|
+
},
|
|
18
|
+
uploadContext: {
|
|
19
|
+
type: UploadContext,
|
|
20
|
+
required: true
|
|
21
|
+
},
|
|
22
|
+
width: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: "180px"
|
|
25
|
+
},
|
|
26
|
+
height: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: "180px"
|
|
29
|
+
},
|
|
30
|
+
icon: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: "Plus"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
emits: ["update:modelValue", "view", "delete"],
|
|
36
|
+
setup(props, {
|
|
37
|
+
emit
|
|
38
|
+
}) {
|
|
39
|
+
const uploadFileInstance = ref(null);
|
|
40
|
+
ref(null);
|
|
41
|
+
ref("");
|
|
42
|
+
const modelValue = computed({
|
|
43
|
+
get: () => props.modelValue,
|
|
44
|
+
set: (v) => {
|
|
45
|
+
emit("update:modelValue", v);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const handleUpdateModelValue = (v) => {
|
|
49
|
+
modelValue.value = v;
|
|
50
|
+
};
|
|
51
|
+
const handleClick = (event) => {
|
|
52
|
+
var _a;
|
|
53
|
+
event.stopPropagation();
|
|
54
|
+
if (unref(modelValue)) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
(_a = unref(uploadFileInstance)) == null ? void 0 : _a.handleUpload();
|
|
58
|
+
};
|
|
59
|
+
const handleView = (event) => {
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
emit("view", unref(modelValue));
|
|
62
|
+
};
|
|
63
|
+
const handleDelete = (event) => {
|
|
64
|
+
event.stopPropagation();
|
|
65
|
+
emit("delete", unref(modelValue));
|
|
66
|
+
};
|
|
67
|
+
return () => {
|
|
68
|
+
let content;
|
|
69
|
+
if (unref(modelValue)) {
|
|
70
|
+
content = createVNode(Fragment, null, [createVNode("div", {
|
|
71
|
+
"class": "mk-upload-video-item__file"
|
|
72
|
+
}, [createVNode(MKSvgIcon, {
|
|
73
|
+
"iconClass": "video"
|
|
74
|
+
}, null)]), createVNode("div", {
|
|
75
|
+
"class": "mk-upload-video-item__mask"
|
|
76
|
+
}, [createVNode(ElTooltip, {
|
|
77
|
+
"content": "查看"
|
|
78
|
+
}, {
|
|
79
|
+
default: () => [createVNode(MKSvgIcon, {
|
|
80
|
+
"iconClass": "View",
|
|
81
|
+
"onClick": handleView
|
|
82
|
+
}, null)]
|
|
83
|
+
}), createVNode(ElTooltip, {
|
|
84
|
+
"content": "删除"
|
|
85
|
+
}, {
|
|
86
|
+
default: () => [createVNode(MKSvgIcon, {
|
|
87
|
+
"iconClass": "Delete",
|
|
88
|
+
"onClick": handleDelete
|
|
89
|
+
}, null)]
|
|
90
|
+
})])]);
|
|
91
|
+
} else {
|
|
92
|
+
content = createVNode("div", {
|
|
93
|
+
"class": "mk-upload-video-item__wrapper__desc"
|
|
94
|
+
}, [createVNode(MKSvgIcon, {
|
|
95
|
+
"iconClass": props.icon,
|
|
96
|
+
"class": "mk-upload-video-item__wrapper__desc__icon"
|
|
97
|
+
}, null), createVNode("span", {
|
|
98
|
+
"class": "mk-upload-video-item__wrapper__desc__text"
|
|
99
|
+
}, [createTextVNode("点击上传视频")])]);
|
|
100
|
+
}
|
|
101
|
+
return createVNode("div", {
|
|
102
|
+
"class": "mk-upload-video-item",
|
|
103
|
+
"style": {
|
|
104
|
+
width: props.width,
|
|
105
|
+
height: props.height
|
|
106
|
+
}
|
|
107
|
+
}, [createVNode(MKUploadFile, {
|
|
108
|
+
"modelValue": props.modelValue,
|
|
109
|
+
"onUpdate:modelValue": handleUpdateModelValue,
|
|
110
|
+
"uploadContext": props.uploadContext,
|
|
111
|
+
"ref": (el) => uploadFileInstance.value = el
|
|
112
|
+
}, {
|
|
113
|
+
default: () => [createVNode("div", {
|
|
114
|
+
"class": "mk-upload-video-item__wrapper",
|
|
115
|
+
"onClick": handleClick
|
|
116
|
+
}, [content])]
|
|
117
|
+
})]);
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
const UploadVideo = /* @__PURE__ */ defineComponent({
|
|
122
|
+
name: "MKUploadFile",
|
|
123
|
+
props: uploadVideoProps,
|
|
124
|
+
emits: uploadVideoEmits,
|
|
125
|
+
setup(props, {
|
|
126
|
+
emit
|
|
127
|
+
}) {
|
|
128
|
+
const modelValue = computed({
|
|
129
|
+
get: () => props.modelValue,
|
|
130
|
+
set: (v) => emit("update:modelValue", v)
|
|
131
|
+
});
|
|
132
|
+
const currentVideoSrc = ref("");
|
|
133
|
+
const multiple = computed(() => props.multiple);
|
|
134
|
+
const isShowVideoViewer = ref(false);
|
|
135
|
+
watch(computed(() => [unref(modelValue), unref(multiple)]), ([value, multiple2]) => {
|
|
136
|
+
if (multiple2 && !Array.isArray(value)) {
|
|
137
|
+
modelValue.value = [];
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
immediate: true
|
|
141
|
+
});
|
|
142
|
+
const handleDelete = (src) => {
|
|
143
|
+
if (!unref(multiple)) {
|
|
144
|
+
modelValue.value = "";
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const index = unref(modelValue).indexOf(src);
|
|
148
|
+
if (index === -1) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
modelValue.value.splice(index, 1);
|
|
152
|
+
};
|
|
153
|
+
const handleShowImageViewer = (src) => {
|
|
154
|
+
isShowVideoViewer.value = true;
|
|
155
|
+
currentVideoSrc.value = src;
|
|
156
|
+
};
|
|
157
|
+
const handleAppendImage = (src) => {
|
|
158
|
+
const _value = unref(modelValue);
|
|
159
|
+
if (Array.isArray(_value)) {
|
|
160
|
+
_value.push(src);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
return () => {
|
|
164
|
+
const _multiple = unref(multiple);
|
|
165
|
+
let content;
|
|
166
|
+
if (!_multiple) {
|
|
167
|
+
content = createVNode(MKUploadFileItem, {
|
|
168
|
+
"onView": handleShowImageViewer,
|
|
169
|
+
"onDelete": handleDelete,
|
|
170
|
+
"modelValue": unref(modelValue),
|
|
171
|
+
"onUpdate:modelValue": (value) => modelValue.value = value,
|
|
172
|
+
"uploadContext": props.uploadContext,
|
|
173
|
+
"width": props.width,
|
|
174
|
+
"height": props.height,
|
|
175
|
+
"icon": props.icon
|
|
176
|
+
}, null);
|
|
177
|
+
} else {
|
|
178
|
+
let images = null;
|
|
179
|
+
if (Array.isArray(unref(modelValue))) {
|
|
180
|
+
images = unref(modelValue).map((src) => createVNode(MKUploadFileItem, {
|
|
181
|
+
"onView": handleShowImageViewer,
|
|
182
|
+
"onDelete": handleDelete,
|
|
183
|
+
"modelValue": src,
|
|
184
|
+
"uploadContext": props.uploadContext,
|
|
185
|
+
"width": props.width,
|
|
186
|
+
"height": props.height,
|
|
187
|
+
"icon": props.icon
|
|
188
|
+
}, null));
|
|
189
|
+
}
|
|
190
|
+
content = createVNode(Fragment, null, [images, createVNode(MKUploadFileItem, {
|
|
191
|
+
"onUpdate:modelValue": handleAppendImage,
|
|
192
|
+
"uploadContext": props.uploadContext,
|
|
193
|
+
"width": props.width,
|
|
194
|
+
"height": props.height,
|
|
195
|
+
"icon": props.icon
|
|
196
|
+
}, null)]);
|
|
197
|
+
}
|
|
198
|
+
const videoViewer = unref(isShowVideoViewer) ? createVNode("div", {
|
|
199
|
+
"class": "mk-upload-video-viewer"
|
|
200
|
+
}, [createVNode(MKSvgIcon, {
|
|
201
|
+
"class": "mk-upload-video-viewer__close",
|
|
202
|
+
"iconClass": "Close",
|
|
203
|
+
"onClick": () => isShowVideoViewer.value = false
|
|
204
|
+
}, null), createVNode("div", {
|
|
205
|
+
"class": "mk-upload-video-viewer__mask"
|
|
206
|
+
}, null), createVNode("video", {
|
|
207
|
+
"class": "mk-upload-video-viewer__video",
|
|
208
|
+
"src": currentVideoSrc.value,
|
|
209
|
+
"controls": true
|
|
210
|
+
}, null)]) : null;
|
|
211
|
+
return createVNode("div", {
|
|
212
|
+
"class": "mk-upload-video",
|
|
213
|
+
"style": {
|
|
214
|
+
width: _multiple ? "" : props.width
|
|
215
|
+
}
|
|
216
|
+
}, [content, videoViewer]);
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
export {
|
|
221
|
+
UploadVideo as default
|
|
222
|
+
};
|
|
223
|
+
//# sourceMappingURL=upload-video.js.map
|