@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
|
@@ -25,6 +25,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
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
|
require("../../../../components/basic/doc-editor/index.js");
|
|
30
32
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.vue2.js","sources":["../../../../../../src/page/index/dv/default/edit.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataForm\">\r\n <MKDataForm :data-form=\"dataForm\" />\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, Ref, reactive } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport { MKDataForm, MKPageContainer } from \"../../../../components\";\r\n\r\nconst router = useRouter();\r\n\r\nconst id = computed(() => unref(router.currentRoute).params.id as string);\r\n\r\nconst dataForm: Ref<DataForm | null> = computed(() => {\r\n const dataForm = DataModelDefines.instance.getDataForm(\r\n unref(router.currentRoute).meta.name as string\r\n );\r\n\r\n return dataForm ? (reactive(dataForm) as DataForm) : null;\r\n});\r\n\r\nwatch(\r\n dataForm,\r\n (dataForm) => {\r\n if (!dataForm) {\r\n return;\r\n }\r\n\r\n dataForm.submittedEvent.on(() => {\r\n router.push({ name: `dv/${dataForm.name}/list` });\r\n });\r\n\r\n dataForm.cancelEvent.on(() => {\r\n router.push({ name: `dv/${dataForm.name}/list` });\r\n });\r\n\r\n if (!unref(id)) {\r\n unref(dataForm)?.addRecord();\r\n return;\r\n }\r\n\r\n unref(dataForm)?.editRecord(unref(id));\r\n },\r\n { immediate: true }\r\n);\r\n</script>\r\n"],"names":["useRouter","computed","unref","dataForm","DataModelDefines","reactive","watch"],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit.vue2.js","sources":["../../../../../../src/page/index/dv/default/edit.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataForm\">\r\n <MKDataForm :data-form=\"dataForm\" />\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, Ref, reactive } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport { MKDataForm, MKPageContainer } from \"../../../../components\";\r\n\r\nconst router = useRouter();\r\n\r\nconst id = computed(() => unref(router.currentRoute).params.id as string);\r\n\r\nconst dataForm: Ref<DataForm | null> = computed(() => {\r\n const dataForm = DataModelDefines.instance.getDataForm(\r\n unref(router.currentRoute).meta.name as string\r\n );\r\n\r\n return dataForm ? (reactive(dataForm) as DataForm) : null;\r\n});\r\n\r\nwatch(\r\n dataForm,\r\n (dataForm) => {\r\n if (!dataForm) {\r\n return;\r\n }\r\n\r\n dataForm.submittedEvent.on(() => {\r\n router.push({ name: `dv/${dataForm.name}/list` });\r\n });\r\n\r\n dataForm.cancelEvent.on(() => {\r\n router.push({ name: `dv/${dataForm.name}/list` });\r\n });\r\n\r\n if (!unref(id)) {\r\n unref(dataForm)?.addRecord();\r\n return;\r\n }\r\n\r\n unref(dataForm)?.editRecord(unref(id));\r\n },\r\n { immediate: true }\r\n);\r\n</script>\r\n"],"names":["useRouter","computed","unref","dataForm","DataModelDefines","reactive","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,UAAM,SAASA,UAAAA;AAET,UAAA,KAAKC,aAAS,MAAMC,IAAA,MAAM,OAAO,YAAY,EAAE,OAAO,EAAY;AAElE,UAAA,WAAiCD,IAAAA,SAAS,MAAM;AAC9CE,YAAAA,YAAWC,kCAAiB,SAAS;AAAA,QACzCF,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK;AAAA,MAAA;AAG3BC,aAAAA,YAAYE,IAAAA,SAASF,SAAQ,IAAiB;AAAA,IAAA,CACtD;AAEDG,QAAA;AAAA,MACE;AAAA,MACA,CAACH,cAAa;;AACZ,YAAI,CAACA,WAAU;AACb;AAAA,QACF;AAEAA,kBAAS,eAAe,GAAG,MAAM;AAC/B,iBAAO,KAAK,EAAE,MAAM,MAAMA,UAAS,IAAI,SAAS;AAAA,QAAA,CACjD;AAEDA,kBAAS,YAAY,GAAG,MAAM;AAC5B,iBAAO,KAAK,EAAE,MAAM,MAAMA,UAAS,IAAI,SAAS;AAAA,QAAA,CACjD;AAEG,YAAA,CAACD,IAAAA,MAAM,EAAE,GAAG;AACRC,0BAAAA,SAAQ,MAARA,mBAAW;AACjB;AAAA,QACF;AAEAD,kBAAA,MAAMC,SAAQ,MAAdD,mBAAiB,WAAWA,IAAAA,MAAM,EAAE;AAAA,MACtC;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;;;;;;;;;;;;"}
|
|
@@ -22,6 +22,8 @@ require("@maketribe/utils");
|
|
|
22
22
|
require("../../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
23
23
|
require("../../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
24
24
|
require("../../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
25
|
+
require("../../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
26
|
+
require("../../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
25
27
|
require("../../../../../../components/basic/upload-file/upload-file-options.js");
|
|
26
28
|
require("../../../../../../components/basic/doc-editor/index.js");
|
|
27
29
|
require("../../../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/dialog.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTable\">\r\n <MKDataTable :data-table=\"dataTable\" enableQueryParams />\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTable } from \"@maketribe/dm\";\r\nimport { MKDataTable, MKPageContainer } from \"../../../../../../components\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport { useSingleViewWithDialog } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTable: Ref<DataTable | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTable.value = DataModelDefines.instance.getDataTable(name);\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nuseSingleViewWithDialog({ dataTable, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleViewWithDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/dialog.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTable\">\r\n <MKDataTable :data-table=\"dataTable\" enableQueryParams />\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTable } from \"@maketribe/dm\";\r\nimport { MKDataTable, MKPageContainer } from \"../../../../../../components\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport { useSingleViewWithDialog } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTable: Ref<DataTable | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTable.value = DataModelDefines.instance.getDataTable(name);\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nuseSingleViewWithDialog({ dataTable, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleViewWithDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,UAAM,SAASA,UAAAA;AAET,UAAA,YAAmCC,QAAI,IAAI;AAC3C,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,kBAAU,QAAQC,iBAAA,iBAAiB,SAAS,aAAa,IAAI;AAC7D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGIC,kBAAAA,wBAAA,EAAE,WAAW,SAAA,CAAU;;;;;;;;;;;;;;;"}
|
|
@@ -22,6 +22,8 @@ require("@maketribe/utils");
|
|
|
22
22
|
require("../../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
23
23
|
require("../../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
24
24
|
require("../../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
25
|
+
require("../../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
26
|
+
require("../../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
25
27
|
require("../../../../../../components/basic/upload-file/upload-file-options.js");
|
|
26
28
|
require("../../../../../../components/basic/doc-editor/index.js");
|
|
27
29
|
require("../../../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTable\" v-show=\"!isShowDataForm\">\r\n <MKDataTable :data-table=\"dataTable\" enableQueryParams />\r\n </MKPageContainer>\r\n <MKPageContainer v-if=\"dataForm\" v-show=\"isShowDataForm\">\r\n <MKDataForm :data-form=\"dataForm\" KDataForm />\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTable } from \"@maketribe/dm\";\r\nimport {\r\n MKDataTable,\r\n MKDataForm,\r\n MKPageContainer,\r\n} from \"../../../../../../components\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport { useSingleView } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTable: Ref<DataTable | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTable.value = DataModelDefines.instance.getDataTable(name);\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nconst { isShowDataForm } = useSingleView({ dataTable, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleView"],"mappings":"
|
|
1
|
+
{"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTable\" v-show=\"!isShowDataForm\">\r\n <MKDataTable :data-table=\"dataTable\" enableQueryParams />\r\n </MKPageContainer>\r\n <MKPageContainer v-if=\"dataForm\" v-show=\"isShowDataForm\">\r\n <MKDataForm :data-form=\"dataForm\" KDataForm />\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTable } from \"@maketribe/dm\";\r\nimport {\r\n MKDataTable,\r\n MKDataForm,\r\n MKPageContainer,\r\n} from \"../../../../../../components\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport { useSingleView } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTable: Ref<DataTable | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTable.value = DataModelDefines.instance.getDataTable(name);\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nconst { isShowDataForm } = useSingleView({ dataTable, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,UAAM,SAASA,UAAAA;AAET,UAAA,YAAmCC,QAAI,IAAI;AAC3C,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,kBAAU,QAAQC,iBAAA,iBAAiB,SAAS,aAAa,IAAI;AAC7D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpB,UAAM,EAAE,eAAe,IAAIC,cAAAA,cAAc,EAAE,WAAW,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -25,6 +25,8 @@ require("../../../../../../components/basic/upload-file/upload-file.js");
|
|
|
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
|
require("../../../../../../components/basic/doc-editor/index.js");
|
|
30
32
|
require("../../../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/table-tree/dialog.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTree\">\r\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\r\n <MKTableView>\r\n <MKTableTree />\r\n </MKTableView>\r\n </MKDataTable>\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTree } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport {\r\n MKPageContainer,\r\n MKDataTable,\r\n MKTableView,\r\n MKTableTree,\r\n} from \"../../../../../../components\";\r\nimport { useSingleViewWithDialog } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTree: Ref<DataTree | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTree.value = DataModelDefines.instance.getDataTree(name);\r\n\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleViewWithDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/table-tree/dialog.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTree\">\r\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\r\n <MKTableView>\r\n <MKTableTree />\r\n </MKTableView>\r\n </MKDataTable>\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTree } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport {\r\n MKPageContainer,\r\n MKDataTable,\r\n MKTableView,\r\n MKTableTree,\r\n} from \"../../../../../../components\";\r\nimport { useSingleViewWithDialog } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTree: Ref<DataTree | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTree.value = DataModelDefines.instance.getDataTree(name);\r\n\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleViewWithDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,UAAM,SAASA,UAAAA;AAET,UAAA,WAAiCC,QAAI,IAAI;AACzC,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,iBAAS,QAAQC,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAE3D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpBC,kBAAAA,wBAAwB,EAAE,WAAW,UAAU,SAAU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -25,6 +25,8 @@ require("../../../../../../components/basic/upload-file/upload-file.js");
|
|
|
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
|
require("../../../../../../components/basic/doc-editor/index.js");
|
|
30
32
|
require("../../../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/table-tree/normal.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTree\" v-show=\"!isShowDataForm\">\r\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\r\n <MKTableView>\r\n <MKTableTree />\r\n </MKTableView>\r\n </MKDataTable>\r\n </MKPageContainer>\r\n\r\n <MKPageContainer v-if=\"dataForm\" v-show=\"isShowDataForm\">\r\n <MKDataForm :data-form=\"dataForm\" KDataForm />\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTree } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport {\r\n MKPageContainer,\r\n MKDataTable,\r\n MKTableView,\r\n MKTableTree,\r\n MKDataForm,\r\n} from \"../../../../../../components\";\r\nimport { useSingleView } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTree: Ref<DataTree | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTree.value = DataModelDefines.instance.getDataTree(name as string);\r\n\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nconst { isShowDataForm } = useSingleView({ dataTable: dataTree, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleView"],"mappings":"
|
|
1
|
+
{"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/table-tree/normal.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTree\" v-show=\"!isShowDataForm\">\r\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\r\n <MKTableView>\r\n <MKTableTree />\r\n </MKTableView>\r\n </MKDataTable>\r\n </MKPageContainer>\r\n\r\n <MKPageContainer v-if=\"dataForm\" v-show=\"isShowDataForm\">\r\n <MKDataForm :data-form=\"dataForm\" KDataForm />\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTree } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport {\r\n MKPageContainer,\r\n MKDataTable,\r\n MKTableView,\r\n MKTableTree,\r\n MKDataForm,\r\n} from \"../../../../../../components\";\r\nimport { useSingleView } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTree: Ref<DataTree | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTree.value = DataModelDefines.instance.getDataTree(name as string);\r\n\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nconst { isShowDataForm } = useSingleView({ dataTable: dataTree, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,SAASA,UAAAA;AAET,UAAA,WAAiCC,QAAI,IAAI;AACzC,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,iBAAS,QAAQC,iBAAA,iBAAiB,SAAS,YAAY,IAAc;AAErE,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGd,UAAA,EAAE,mBAAmBC,cAAA,cAAc,EAAE,WAAW,UAAU,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -22,6 +22,8 @@ require("@maketribe/utils");
|
|
|
22
22
|
require("../../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
23
23
|
require("../../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
24
24
|
require("../../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
25
|
+
require("../../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
26
|
+
require("../../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
25
27
|
require("../../../../../../components/basic/upload-file/upload-file-options.js");
|
|
26
28
|
require("../../../../../../components/basic/doc-editor/index.js");
|
|
27
29
|
require("../../../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/tree/dialog.vue"],"sourcesContent":["<template>\r\n <MKDataTablePage v-if=\"dataTree\" :data-table=\"dataTree\">\r\n <MKTreeView />\r\n </MKDataTablePage>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, unref, Ref, ref, watch } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTree } from \"@maketribe/dm\";\r\nimport { MKTreeView } from \"../../../../../../components\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport { useSingleViewWithDialog } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTree: Ref<DataTree | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTree.value = DataModelDefines.instance.getDataTree(name);\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleViewWithDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/tree/dialog.vue"],"sourcesContent":["<template>\r\n <MKDataTablePage v-if=\"dataTree\" :data-table=\"dataTree\">\r\n <MKTreeView />\r\n </MKDataTablePage>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, unref, Ref, ref, watch } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTree } from \"@maketribe/dm\";\r\nimport { MKTreeView } from \"../../../../../../components\";\r\nimport { DataModelDefines } from \"../../../../../../core\";\r\nimport { useSingleViewWithDialog } from \"../../../../../../composables\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTree: Ref<DataTree | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTree.value = DataModelDefines.instance.getDataTree(name);\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleViewWithDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,UAAM,SAASA,UAAAA;AAET,UAAA,WAAiCC,QAAI,IAAI;AACzC,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,iBAAS,QAAQC,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAC3D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpBC,kBAAAA,wBAAwB,EAAE,WAAW,UAAU,SAAU,CAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -25,6 +25,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
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
|
require("../../../../components/basic/doc-editor/index.js");
|
|
30
32
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.js","sources":["../../../../../../src/page/index/dv/default/table.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTable\">\r\n <MKDataTable :data-table=\"dataTable\" selection enableQueryParams />\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataTable } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport { MKDataTable, MKPageContainer } from \"../../../../components\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTable: Ref<DataTable | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n ([_dataTable, name]) => {\r\n dataTable.value = DataModelDefines.instance.getDataTable(name as string);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nwatch(\r\n dataTable,\r\n (dataTable, _, onCleanup) => {\r\n if (dataTable) {\r\n dataTable.addRecordEvent.on(() => {\r\n router.push({ name: `dv/${dataTable.name}/edit` });\r\n });\r\n\r\n dataTable.editRecordEvent.on(({ item }) => {\r\n router.push({\r\n name: `dv/${dataTable.name}/edit`,\r\n params: { id: item[dataTable?.primaryKey as string] },\r\n });\r\n });\r\n }\r\n\r\n onCleanup(() => {\r\n dataTable?.clearSelection();\r\n dataTable?.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n);\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","dataTable"],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.vue2.js","sources":["../../../../../../src/page/index/dv/default/table.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTable\">\r\n <MKDataTable :data-table=\"dataTable\" selection enableQueryParams />\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { unref, computed, watch, ref, Ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataTable } from \"@maketribe/dm\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport { MKDataTable, MKPageContainer } from \"../../../../components\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTable: Ref<DataTable | null> = ref(null);\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n ([_dataTable, name]) => {\r\n dataTable.value = DataModelDefines.instance.getDataTable(name as string);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nwatch(\r\n dataTable,\r\n (dataTable, _, onCleanup) => {\r\n if (dataTable) {\r\n dataTable.addRecordEvent.on(() => {\r\n router.push({ name: `dv/${dataTable.name}/edit` });\r\n });\r\n\r\n dataTable.editRecordEvent.on(({ item }) => {\r\n router.push({\r\n name: `dv/${dataTable.name}/edit`,\r\n params: { id: item[dataTable?.primaryKey as string] },\r\n });\r\n });\r\n }\r\n\r\n onCleanup(() => {\r\n dataTable?.clearSelection();\r\n dataTable?.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n);\r\n</script>\r\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","dataTable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,UAAM,SAASA,UAAAA;AAET,UAAA,YAAmCC,QAAI,IAAI;AAEjDC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,CAAC,YAAY,IAAI,MAAM;AACtB,kBAAU,QAAQC,iBAAA,iBAAiB,SAAS,aAAa,IAAc;AAAA,MACzE;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpBH,QAAA;AAAA,MACE;AAAA,MACA,CAACI,YAAW,GAAG,cAAc;AAC3B,YAAIA,YAAW;AACbA,qBAAU,eAAe,GAAG,MAAM;AAChC,mBAAO,KAAK,EAAE,MAAM,MAAMA,WAAU,IAAI,SAAS;AAAA,UAAA,CAClD;AAEDA,qBAAU,gBAAgB,GAAG,CAAC,EAAE,WAAW;AACzC,mBAAO,KAAK;AAAA,cACV,MAAM,MAAMA,WAAU,IAAI;AAAA,cAC1B,QAAQ,EAAE,IAAI,KAAKA,yCAAW,UAAoB,EAAE;AAAA,YAAA,CACrD;AAAA,UAAA,CACF;AAAA,QACH;AAEA,kBAAU,MAAM;AACdA,mDAAW;AACXA,mDAAW;AAAA,QAAQ,CACpB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -26,6 +26,8 @@ require("../../components/basic/upload-file/upload-file.js");
|
|
|
26
26
|
require("../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
27
27
|
require("../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
28
28
|
require("../../components/basic/upload-file/ui/upload-image/index.js");
|
|
29
|
+
require("../../components/basic/upload-file/ui/upload-file/index.js");
|
|
30
|
+
require("../../components/basic/upload-file/ui/upload-video/index.js");
|
|
29
31
|
require("../../components/basic/upload-file/upload-file-options.js");
|
|
30
32
|
require("../../components/basic/doc-editor/index.js");
|
|
31
33
|
require("../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{loginFormData.account}} 绑定的邮箱!请查收!\r\n </div>\r\n </template> \r\n \r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput\r\n v-model=\"loginFormData.account\"\r\n placeholder=\"帐号\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput\r\n v-model=\"loginFormData.password\"\r\n type=\"password\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n\r\n // 验证不通过\r\n if(!await formEl.value?.validate()){\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence:scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult+\"\";\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","MKOpenVerifyCode","ElMessage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{loginFormData.account}} 绑定的邮箱!请查收!\r\n </div>\r\n </template> \r\n \r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput\r\n v-model=\"loginFormData.account\"\r\n placeholder=\"帐号\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput\r\n v-model=\"loginFormData.password\"\r\n type=\"password\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n\r\n // 验证不通过\r\n if(!await formEl.value?.validate()){\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence:scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult+\"\";\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","MKOpenVerifyCode","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EuDA,QAAAA,IAAI,IAAI;AAGpCA,QAAAA,IAAI,KAAK;AAE9B,UAAA,SAAmBA,QAAI,IAAI;AAEjC,UAAM,SAASC,eAAAA;AAEf,UAAM,SAASC,UAAAA;AAET,UAAA,UAAUF,QAAI,KAAK;AAEHG,QAAA;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsBA,iBAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiBH,QAAI,KAAK;AAChC,UAAM,QAAQG,IAAA;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgBC,IAAAA,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAGtC,UAAG,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAW;AACjC;AAAA,MACF;AAEA,UAAI,UAAU,MAAMC,uBAAiB,EAAE,OAAM,MAAM,OAAc;AAGjE,oBAAc,QAAQ,UAAQ;AAE1B,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXC,wBAAAA,UAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEAA,gCAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXA,wBAAAA,UAAA,MAAM,KAAK,OAAO,OAAO;AACnC;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AACVA,8BAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -26,6 +26,8 @@ require("../../components/basic/upload-file/upload-file.js");
|
|
|
26
26
|
require("../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
27
27
|
require("../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
28
28
|
require("../../components/basic/upload-file/ui/upload-image/index.js");
|
|
29
|
+
require("../../components/basic/upload-file/ui/upload-file/index.js");
|
|
30
|
+
require("../../components/basic/upload-file/ui/upload-video/index.js");
|
|
29
31
|
require("../../components/basic/upload-file/upload-file-options.js");
|
|
30
32
|
require("../../components/basic/doc-editor/index.js");
|
|
31
33
|
require("../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/signup/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n <div class=\"login-form-title\"> 账号申请 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 已有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/login')\">\r\n 返回登录\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n <ElForm\r\n :model=\"signFormData\"\r\n :rules=\"rules\"\r\n size=\"large\"\r\n ref=\"formEl\"\r\n >\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"signFormData.account\" placeholder=\"帐号\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"email\">\r\n <ElInput v-model=\"signFormData.email\" placeholder=\"邮箱\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"name\">\r\n <ElInput v-model=\"signFormData.name\" placeholder=\"姓名\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"nickName\">\r\n <ElInput v-model=\"signFormData.nickName\" placeholder=\"昵称\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"phone\">\r\n <ElInput v-model=\"signFormData.phone\" placeholder=\"手机号\" />\r\n </ElFormItem>\r\n\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\"\r\n :loading=\"loading\" @click=\"handleAccountApply\">\r\n 提交申请\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n </div>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { FormRules } from \"element-plus\";\r\nimport { Messager } from \"@maketribe/dm\";\r\nimport { useHttpRequest } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"signup\",\r\n path: \"/signup\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst router = useRouter();\r\n\r\nconst httpRequest = useHttpRequest()!;\r\n\r\nconst loading = ref(false);\r\n\r\nconst rules: FormRules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n email: [\r\n {\r\n required: true,\r\n trigger: \"change\",\r\n validator: (rule, value, callback) => {\r\n if (!value) {\r\n callback(new Error(\"邮箱必填\"));\r\n } else if (\r\n !/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/.test(value)\r\n ) {\r\n callback(new Error(\"邮箱规则不符\"));\r\n } else {\r\n callback();\r\n }\r\n },\r\n },\r\n ],\r\n name: [{ required: true, message: \"姓名必填\" }],\r\n};\r\n\r\n\r\nconst signFormData = reactive({\r\n account: \"\",\r\n email: \"\",\r\n name: \"\",\r\n nickName: \"\",\r\n phone: \"\",\r\n vCdoe:\"\"\r\n});\r\n\r\nconst handleAccountApply = async () => {\r\n\r\n if(! await formEl.value.validate()){\r\n return ;\r\n }\r\n\r\n // 验证码\r\n signFormData.vCdoe = (await MKOpenVerifyCode({ sence:\"AccountApply\" } as any)) + \"\";\r\n\r\n const result = await httpRequest.post(\"ms/app/account-apply\",signFormData);\r\n\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"注册失败\"});\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"注册成功,请联系管理员通过验证\" });\r\n};\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n</script>\r\n"],"names":["ref","useRouter","useHttpRequest","reactive","MKOpenVerifyCode","Messager"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/signup/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n <div class=\"login-form-title\"> 账号申请 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 已有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/login')\">\r\n 返回登录\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n <ElForm\r\n :model=\"signFormData\"\r\n :rules=\"rules\"\r\n size=\"large\"\r\n ref=\"formEl\"\r\n >\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"signFormData.account\" placeholder=\"帐号\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"email\">\r\n <ElInput v-model=\"signFormData.email\" placeholder=\"邮箱\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"name\">\r\n <ElInput v-model=\"signFormData.name\" placeholder=\"姓名\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"nickName\">\r\n <ElInput v-model=\"signFormData.nickName\" placeholder=\"昵称\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"phone\">\r\n <ElInput v-model=\"signFormData.phone\" placeholder=\"手机号\" />\r\n </ElFormItem>\r\n\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\"\r\n :loading=\"loading\" @click=\"handleAccountApply\">\r\n 提交申请\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n </div>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { FormRules } from \"element-plus\";\r\nimport { Messager } from \"@maketribe/dm\";\r\nimport { useHttpRequest } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"signup\",\r\n path: \"/signup\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst router = useRouter();\r\n\r\nconst httpRequest = useHttpRequest()!;\r\n\r\nconst loading = ref(false);\r\n\r\nconst rules: FormRules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n email: [\r\n {\r\n required: true,\r\n trigger: \"change\",\r\n validator: (rule, value, callback) => {\r\n if (!value) {\r\n callback(new Error(\"邮箱必填\"));\r\n } else if (\r\n !/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/.test(value)\r\n ) {\r\n callback(new Error(\"邮箱规则不符\"));\r\n } else {\r\n callback();\r\n }\r\n },\r\n },\r\n ],\r\n name: [{ required: true, message: \"姓名必填\" }],\r\n};\r\n\r\n\r\nconst signFormData = reactive({\r\n account: \"\",\r\n email: \"\",\r\n name: \"\",\r\n nickName: \"\",\r\n phone: \"\",\r\n vCdoe:\"\"\r\n});\r\n\r\nconst handleAccountApply = async () => {\r\n\r\n if(! await formEl.value.validate()){\r\n return ;\r\n }\r\n\r\n // 验证码\r\n signFormData.vCdoe = (await MKOpenVerifyCode({ sence:\"AccountApply\" } as any)) + \"\";\r\n\r\n const result = await httpRequest.post(\"ms/app/account-apply\",signFormData);\r\n\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"注册失败\"});\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"注册成功,请联系管理员通过验证\" });\r\n};\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n</script>\r\n"],"names":["ref","useRouter","useHttpRequest","reactive","MKOpenVerifyCode","Messager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEM,UAAA,SAAmBA,QAAI,IAAI;AAEjC,UAAM,SAASC,UAAAA;AAEf,UAAM,cAAcC,eAAAA;AAEd,UAAA,UAAUF,QAAI,KAAK;AAEzB,UAAM,QAAmB;AAAA,MACvB,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,SAAS;AAAA,UACT,WAAW,CAAC,MAAM,OAAO,aAAa;AACpC,gBAAI,CAAC,OAAO;AACD,uBAAA,IAAI,MAAM,MAAM,CAAC;AAAA,YAE1B,WAAA,CAAC,qDAAqD,KAAK,KAAK,GAChE;AACS,uBAAA,IAAI,MAAM,QAAQ,CAAC;AAAA,YAAA,OACvB;AACI;YACX;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,MAAM,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAI5C,UAAM,eAAeG,IAAAA,SAAS;AAAA,MAC5B,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAM;AAAA,IAAA,CACP;AAED,UAAM,qBAAqB,YAAY;AAErC,UAAG,CAAE,MAAM,OAAO,MAAM,YAAW;AACjC;AAAA,MACF;AAGA,mBAAa,QAAS,MAAMC,MAAA,iBAAiB,EAAE,OAAM,eAAA,CAAuB,IAAK;AAEjF,YAAM,SAAS,MAAM,YAAY,KAAK,wBAAuB,YAAY;AAErE,UAAA,OAAO,KAAK,QAAQ,KAAK;AAC3BC,oBAAS,MAAM,EAAE,SAAS,OAAO,KAAK,OAAO,QAAO;AACpD;AAAA,MACF;AAEAA,SAAAA,SAAS,QAAQ,EAAE,SAAS,kBAAmB,CAAA;AAAA,IAAA;AAItBL,QAAAA,IAAI,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { ref } from "vue";
|
|
1
|
+
import { ref, reactive } from "vue";
|
|
2
2
|
import { REMOVE_DECORATORMODULE_COMMAND, SELECTED_DECORATORMODULE_COMMAND, UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND } from "./decorator-module.js";
|
|
3
3
|
import "@lexical/utils";
|
|
4
4
|
import "lexical";
|
|
5
5
|
import "lexical-vue";
|
|
6
6
|
const DEVICE_VIEW_MODE = ref("pc");
|
|
7
|
+
const ToolbarExtendPlugins = reactive([]);
|
|
8
|
+
const registerDocEditorToolbarExtend = function(options) {
|
|
9
|
+
ToolbarExtendPlugins.push(options);
|
|
10
|
+
ToolbarExtendPlugins.sort((a, b) => a.sort < b.sort ? 1 : -1);
|
|
11
|
+
};
|
|
7
12
|
export {
|
|
8
13
|
DEVICE_VIEW_MODE,
|
|
9
14
|
REMOVE_DECORATORMODULE_COMMAND,
|
|
10
15
|
SELECTED_DECORATORMODULE_COMMAND,
|
|
11
|
-
|
|
16
|
+
ToolbarExtendPlugins,
|
|
17
|
+
UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND,
|
|
18
|
+
registerDocEditorToolbarExtend
|
|
12
19
|
};
|
|
13
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/basic/doc-editor/core/index.ts"],"sourcesContent":["\r\nimport { ref,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/basic/doc-editor/core/index.ts"],"sourcesContent":["\r\nimport { ref,reactive } from \"vue\"\r\nimport {\r\n useLexicalComposer\r\n} from \"lexical-vue\";\r\nexport * from \"./decorator-module\"\r\nexport * from \"./element-module\"\r\nexport * from \"./utils\"\r\n\r\nexport type DeviceVieeMode = 'pc' | 'mobile';\r\n\r\nexport const DEVICE_VIEW_MODE = ref<DeviceVieeMode>(\"pc\")\r\n\r\n/**\r\n * 工具条扩展\r\n */\r\nexport type ToolbarExtendPlugin = {\r\n icon: string;\r\n text:string,\r\n action:Function,\r\n sort:number\r\n};\r\n\r\n// 插入的插件列表\r\nexport const ToolbarExtendPlugins = reactive<ToolbarExtendPlugin[]>([]);\r\n\r\n/**\r\n * 注册工具条的扩展\r\n * @param options \r\n */\r\nexport const registerDocEditorToolbarExtend = function(options:ToolbarExtendPlugin){\r\n ToolbarExtendPlugins.push(options);\r\n ToolbarExtendPlugins.sort((a,b)=>a.sort<b.sort ? 1:-1);\r\n}\r\n\r\n\r\n"],"names":[],"mappings":";;;;;AAWa,MAAA,mBAAmB,IAAoB,IAAI;AAa3C,MAAA,uBAAuB,SAAgC,EAAE;AAMzD,MAAA,iCAAiC,SAAS,SAA4B;AACjF,uBAAqB,KAAK,OAAO;AACZ,uBAAA,KAAK,CAAC,GAAE,MAAI,EAAE,OAAK,EAAE,OAAO,IAAE,EAAE;AACvD;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, onMounted, watch, openBlock, createBlock, unref, withCtx, createElementVNode, normalizeClass, createVNode, renderSlot, Teleport, createCommentVNode } from "vue";
|
|
2
|
-
import { LexicalComposer, LexicalHistoryPlugin } from "lexical-vue";
|
|
2
|
+
import { LexicalComposer, LexicalAutoFocusPlugin, LexicalCheckListPlugin, LexicalHashtagPlugin, LexicalListPlugin, LexicalHistoryPlugin } from "lexical-vue";
|
|
3
3
|
import _sfc_main$5 from "./plugins/AutoLinkPlugin/index.vue.js";
|
|
4
4
|
import _sfc_main$3 from "./plugins/ImagePlugin/index.vue.js";
|
|
5
5
|
import _sfc_main$4 from "./plugins/ImageTextPlugin/index.vue.js";
|
|
@@ -8,6 +8,7 @@ import _sfc_main$2 from "./plugins/RichTextPlugin/index.vue.js";
|
|
|
8
8
|
import _sfc_main$7 from "./plugins/DecoratorModuleToolbarPlugin/index.vue.js";
|
|
9
9
|
import _sfc_main$6 from "./plugins/ModulePlugin/index.vue.js";
|
|
10
10
|
import Nodes from "./plugins/nodes.js";
|
|
11
|
+
import { useModules } from "./plugins/ModulePlugin/composables.js";
|
|
11
12
|
import { DEVICE_VIEW_MODE } from "./core/index.js";
|
|
12
13
|
import theme from "./themes/DocTheme.js";
|
|
13
14
|
import DocEditorCss from "./themes/doc-editor.css.js";
|
|
@@ -61,6 +62,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
61
62
|
const style = document.createElement("style");
|
|
62
63
|
style.setAttribute("type", "text/css");
|
|
63
64
|
style.innerHTML = [DocEditorCss, DocThemeCss, DocEditorEditCss].join("\r\n");
|
|
65
|
+
style.innerHTML += useModules().filter((item) => item.editorCss).map((item) => item.editorCss).join("\r\n");
|
|
64
66
|
doc.head.append(style);
|
|
65
67
|
props.js.split(",").filter((item) => !!item).forEach((path) => {
|
|
66
68
|
const script = document.createElement("script");
|
|
@@ -80,6 +82,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
80
82
|
updateStage();
|
|
81
83
|
return false;
|
|
82
84
|
}, { immediate: true });
|
|
85
|
+
setTimeout(() => updateStage(), 500);
|
|
83
86
|
});
|
|
84
87
|
return (_ctx, _cache) => {
|
|
85
88
|
return openBlock(), createBlock(unref(LexicalComposer), { "initial-config": config }, {
|
|
@@ -121,6 +124,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
121
124
|
renderSlot(_ctx.$slots, "after-extentions")
|
|
122
125
|
])
|
|
123
126
|
], 2),
|
|
127
|
+
createVNode(unref(LexicalAutoFocusPlugin)),
|
|
128
|
+
createVNode(unref(LexicalCheckListPlugin)),
|
|
129
|
+
createVNode(unref(LexicalHashtagPlugin)),
|
|
130
|
+
createVNode(unref(LexicalListPlugin)),
|
|
124
131
|
createVNode(unref(LexicalHistoryPlugin))
|
|
125
132
|
]),
|
|
126
133
|
_: 3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\r\n <LexicalComposer :initial-config=\"config\">\r\n <div class=\"mk-doc-editor\" :class=\"DEVICE_VIEW_MODE\">\r\n <ToolbarPlugin :js=\"js\" :css=\"css\" />\r\n <div class=\"mk-doc-editor__stage_warp\">\r\n <slot name=\"before-extentions\"></slot>\r\n <div class=\"mk-doc-editor__stage_body\">\r\n <slot name=\"header\"></slot>\r\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\r\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\r\n <RichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\" :placeholder=\"placeholder\">\r\n </RichTextPlugin>\r\n <ImagePlugin />\r\n <ImageTextPlugin />\r\n <AutoLinkPlugin />\r\n <ModulePlugin />\r\n </Teleport>\r\n <DecoratorModuleToolbarPlugin />\r\n <slot name=\"footer\"></slot>\r\n </div>\r\n <slot name=\"after-extentions\"></slot>\r\n </div>\r\n \r\n </div>\r\n <LexicalHistoryPlugin />\r\n </LexicalComposer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch } from \"vue\"\r\nimport {
|
|
1
|
+
{"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\r\n <LexicalComposer :initial-config=\"config\">\r\n <div class=\"mk-doc-editor\" :class=\"DEVICE_VIEW_MODE\">\r\n <ToolbarPlugin :js=\"js\" :css=\"css\" />\r\n <div class=\"mk-doc-editor__stage_warp\">\r\n <slot name=\"before-extentions\"></slot>\r\n <div class=\"mk-doc-editor__stage_body\">\r\n <slot name=\"header\"></slot>\r\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\r\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\r\n <RichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\" :placeholder=\"placeholder\">\r\n </RichTextPlugin>\r\n <ImagePlugin />\r\n <ImageTextPlugin />\r\n <AutoLinkPlugin />\r\n <ModulePlugin />\r\n </Teleport>\r\n <DecoratorModuleToolbarPlugin />\r\n <slot name=\"footer\"></slot>\r\n </div>\r\n <slot name=\"after-extentions\"></slot>\r\n </div>\r\n \r\n </div>\r\n <LexicalAutoFocusPlugin />\r\n <LexicalCheckListPlugin />\r\n <LexicalHashtagPlugin />\r\n <LexicalListPlugin />\r\n <LexicalHistoryPlugin />\r\n </LexicalComposer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch } from \"vue\"\r\nimport {\r\n LexicalComposer,\r\n LexicalAutoFocusPlugin,\r\n LexicalCheckListPlugin,\r\n LexicalHashtagPlugin,\r\n LexicalHistoryPlugin,\r\n LexicalListPlugin,\r\n} from 'lexical-vue'\r\nimport { \r\n ToolbarPlugin,\r\n RichTextPlugin,\r\n AutoLinkPlugin,\r\n ImagePlugin,\r\n ImageTextPlugin,\r\n DecoratorModuleToolbarPlugin,\r\n ModulePlugin\r\n} from \"./plugins\"\r\nimport { useModules } from \"./plugins/ModulePlugin/composables\"\r\nimport { DEVICE_VIEW_MODE } from \"./core\"\r\n\r\nimport DocTheme from \"./themes/DocTheme\";\r\nimport DocNodes from \"./plugins/nodes\"\r\nimport DocEditorCss from \"./themes/doc-editor.css?raw\";\r\nimport DocEditorEditCss from \"./themes/doc-editor-edit.css?raw\";\r\nimport DocThemeCss from \"./themes/doc-theme.css?raw\";\r\n\r\n// 定义组件\r\ndefineOptions({ name: \"MKDocEditor\" })\r\n\r\n// 事件\r\nconst emit = defineEmits(['change']);\r\n\r\n// 参数\r\nconst props = defineProps({\r\n placeholder:{type:String,default:\"这里输入正文...\"},\r\n content:{ type:String,default:`` },\r\n js:{ type:String,default:`` },\r\n css:{ type:String,default:`` }\r\n})\r\n \r\n\r\n// 配置\r\nconst config = {\r\n namespace: 'MyEditor',\r\n theme: DocTheme,\r\n nodes: [\r\n ...DocNodes,\r\n ],\r\n onError(error:Error) {\r\n // Catch any errors that occur during Lexical updates and log them\r\n // or throw them as needed. If you don't throw them, Lexical will\r\n // try to recover gracefully without losing user data.\r\n console.error(error)\r\n },\r\n}\r\n\r\n// iframe 编辑器\r\nconst iframeContentRef = ref(null as any);\r\nconst iframeBody = computed(()=>iframeContentRef.value?.contentWindow?.document?.body)\r\n\r\n//内容改变时\r\nconst updateStage = ()=>{\r\n setTimeout(() => {\r\n if(iframeBody.value?.scrollHeight > iframeBody.value?.offsetHeight){\r\n iframeContentRef.value.style.height = (iframeBody.value?.scrollHeight + 10)+\"px\";\r\n }\r\n }, 10);\r\n}\r\nconst contentChangeHandle = (content:any)=>{\r\n emit('change',content);\r\n updateStage();\r\n}\r\n\r\nonMounted(()=>{\r\n\r\n const doc = iframeContentRef.value?.contentWindow?.document;\r\n\r\n // 样式\r\n const style = document.createElement(\"style\");\r\n style.setAttribute(\"type\",\"text/css\")\r\n\r\n // 默认样式\r\n style.innerHTML = [DocEditorCss,DocThemeCss,DocEditorEditCss].join(\"\\r\\n\");\r\n\r\n //模块渲染样式\r\n style.innerHTML += useModules().filter(item=>item.editorCss).map(item=>item.editorCss).join(\"\\r\\n\");\r\n\r\n doc.head.append(style);\r\n\r\n // 扩展的js和css\r\n props.js.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const script = document.createElement(\"script\");\r\n script.src = path;\r\n script.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(script);\r\n })\r\n props.css.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const link = document.createElement(\"link\");\r\n link.href = path;\r\n link.setAttribute(\"rel\",\"stylesheet\")\r\n link.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(link);\r\n })\r\n\r\n // 设备显示模式改变\r\n watch(DEVICE_VIEW_MODE,(payload: string) => {\r\n doc.body.style.fontSize = payload == \"pc\" ? \"14px\" : \"18px\";\r\n updateStage();\r\n return false\r\n },{ immediate :true})\r\n\r\n // 初始化计算舞台\r\n setTimeout(()=> updateStage(),500)\r\n});\r\n\r\n</script>\r\n"],"names":["DocNodes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,UAAM,OAAO;AAGb,UAAM,QAAQ;AASd,UAAM,SAAS;AAAA,MACb,WAAW;AAAA,MACX;AAAA,MACA,OAAO;AAAA,QACL,GAAGA;AAAAA,MACL;AAAA,MACA,QAAQ,OAAa;AAInB,gBAAQ,MAAM,KAAK;AAAA,MACrB;AAAA,IAAA;AAII,UAAA,mBAAmB,IAAI,IAAW;AACxC,UAAM,aAAa,SAAS;;AAAI,gDAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC,aAAvC,mBAAiD;AAAA,KAAI;AAGrF,UAAM,cAAc,MAAI;AACtB,iBAAW,MAAM;;AACf,cAAG,gBAAW,UAAX,mBAAkB,kBAAe,gBAAW,UAAX,mBAAkB,eAAa;AACjE,2BAAiB,MAAM,MAAM,WAAU,gBAAW,UAAX,mBAAkB,gBAAe,KAAI;AAAA,QAC9E;AAAA,SACC,EAAE;AAAA,IAAA;AAED,UAAA,sBAAsB,CAAC,YAAc;AACzC,WAAK,UAAS,OAAO;AACT;IAAA;AAGd,cAAU,MAAI;;AAEN,YAAA,OAAM,4BAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC;AAG7C,YAAA,QAAQ,SAAS,cAAc,OAAO;AACtC,YAAA,aAAa,QAAO,UAAU;AAGpC,YAAM,YAAY,CAAC,cAAa,aAAY,gBAAgB,EAAE,KAAK,MAAM;AAGzE,YAAM,aAAa,WAAA,EAAa,OAAO,UAAM,KAAK,SAAS,EAAE,IAAI,CAAM,SAAA,KAAK,SAAS,EAAE,KAAK,MAAM;AAE9F,UAAA,KAAK,OAAO,KAAK;AAGf,YAAA,GAAG,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAC/C,cAAA,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,MAAM;AACN,eAAA,aAAa,eAAc,MAAM;AACpC,YAAA,KAAK,OAAO,MAAM;AAAA,MAAA,CACvB;AACK,YAAA,IAAI,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAChD,cAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,OAAO;AACP,aAAA,aAAa,OAAM,YAAY;AAC/B,aAAA,aAAa,eAAc,MAAM;AAClC,YAAA,KAAK,OAAO,IAAI;AAAA,MAAA,CACrB;AAGK,YAAA,kBAAiB,CAAC,YAAoB;AAC1C,YAAI,KAAK,MAAM,WAAW,WAAW,OAAO,SAAS;AACzC;AACL,eAAA;AAAA,MAAA,GACP,EAAE,WAAW,KAAA,CAAK;AAGT,iBAAA,MAAK,eAAc,GAAG;AAAA,IAAA,CAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/basic/doc-editor/index.ts"],"sourcesContent":["import { withInstall } from \"@maketribe/utils\";\r\nimport Editor from \"./editor.vue\";\r\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/basic/doc-editor/index.ts"],"sourcesContent":["import { withInstall } from \"@maketribe/utils\";\r\nimport Editor from \"./editor.vue\";\r\nimport { registerDocModule } from \"./plugins/ModulePlugin/composables\";\r\n\r\nexport const MKDocEditor = withInstall(Editor);\r\n\r\nexport { registerDocModule }\r\n\r\nexport default MKDocEditor;\r\n\r\n"],"names":["Editor"],"mappings":";;AAIa,MAAA,cAAc,YAAYA,SAAM;"}
|
|
@@ -61,9 +61,6 @@ class ImageNode extends TextNode {
|
|
|
61
61
|
if (this.__attrs.height) {
|
|
62
62
|
style.push("height:" + this.__attrs.height);
|
|
63
63
|
}
|
|
64
|
-
if (this.__attrs.float) {
|
|
65
|
-
style.push("float:" + this.__attrs.float);
|
|
66
|
-
}
|
|
67
64
|
if (this.__attrs.maxWidth) {
|
|
68
65
|
style.push("max-width:" + this.__attrs.maxWidth);
|
|
69
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageNode.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.ts"],"sourcesContent":["\r\nimport type {\r\n DOMConversionMap,\r\n DOMExportOutput,\r\n EditorConfig,\r\n LexicalNode,\r\n NodeKey,\r\n Spread,\r\n SerializedElementNode,\r\n SerializedTextNode\r\n} from 'lexical'\r\nimport { ElementNode,TextNode } from 'lexical'\r\n\r\n\r\n// 默认图片\r\nconst ImageDefaultSrc = \"data:image/png;base64,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\";\r\n\r\n\r\n/**\r\n * 图片属性类型\r\n */\r\nexport type ImageAttrType = {\r\n src:string,\r\n alt?:string,\r\n width?:string,\r\n height?:string,\r\n float?:string,\r\n maxWidth?:string,\r\n maxHeight?:string,\r\n margin?:string\r\n};\r\n\r\n/**\r\n * 图片节点序列化\r\n */\r\nexport type SerializedImageNode = Spread<\r\n {\r\n attrs: ImageAttrType\r\n },\r\n SerializedTextNode\r\n>\r\n\r\n/**\r\n * 定义图片节点\r\n */\r\nexport class ImageNode extends TextNode {\r\n __attrs: ImageAttrType\r\n\r\n static getType(): string {\r\n return 'Image'\r\n }\r\n\r\n static clone(node: ImageNode): ImageNode {\r\n return new ImageNode(node.__attrs, node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageNode): ImageNode {\r\n const node = $createImageNode(serializedNode.attrs)\r\n node.setFormat(serializedNode.format)\r\n return node\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n img: (el: HTMLElement) => {\r\n\r\n const src = el.getAttribute('src');\r\n const alt = el.getAttribute('alt');\r\n\r\n return el.tagName.toLowerCase() == \"img\" && !el.style.float ? {\r\n conversion: (domNode: HTMLElement) => {\r\n\r\n return { \r\n \r\n node:$createImageNode({\r\n src:src,\r\n alt:alt,\r\n width:domNode.style.width,\r\n height:domNode.style.height,\r\n maxWidth:domNode.style.maxWidth || \"100%\",\r\n maxHeight:domNode.style.maxHeight,\r\n margin:domNode.style.margin,\r\n float:\"\"\r\n } as ImageAttrType) \r\n };\r\n },\r\n priority: 1\r\n } : null\r\n },\r\n }\r\n }\r\n\r\n constructor(attrs: ImageAttrType, key?: NodeKey) {\r\n super(\"\",key)\r\n this.__attrs = attrs\r\n }\r\n\r\n exportJSON(): SerializedImageNode {\r\n\r\n return {\r\n ...super.exportJSON(),\r\n type: this.getType(),\r\n version: 1,\r\n attrs: this.__attrs,\r\n }\r\n }\r\n\r\n getStyles():string[]{\r\n\r\n const style : string[] = [];\r\n\r\n if(this.__attrs.width){\r\n style.push(\"width:\"+this.__attrs.width)\r\n }\r\n if(this.__attrs.height){\r\n style.push(\"height:\"+this.__attrs.height)\r\n }\r\n if(this.__attrs.float){\r\n style.push(\"float:\"+this.__attrs.float)\r\n }\r\n if(this.__attrs.maxWidth){\r\n style.push(\"max-width:\"+this.__attrs.maxWidth)\r\n }\r\n if(this.__attrs.maxHeight){\r\n style.push(\"max-height:\"+this.__attrs.maxHeight)\r\n }\r\n if(this.__attrs.float){\r\n style.push(\"float:\"+this.__attrs.float)\r\n }\r\n if(this.__attrs.margin){\r\n style.push(\"margin:\"+this.__attrs.margin)\r\n }\r\n\r\n return style\r\n }\r\n\r\n exportDOM(): DOMExportOutput {\r\n\r\n \r\n const element = document.createElement('img') \r\n\r\n element.setAttribute('src', this.__attrs.src) \r\n\r\n if(this.__attrs.alt != null){\r\n element.setAttribute('alt', this.__attrs.alt ?? \"\")\r\n }\r\n\r\n element.setAttribute(\"style\",this.getStyles().join(\";\"))\r\n\r\n \r\n return { element }\r\n }\r\n\r\n /**\r\n * 设置属性\r\n * @param pos \r\n */\r\n setAttrs(data?:any){\r\n const writable = this.getWritable();\r\n Object.assign(writable.__attrs,data)\r\n }\r\n\r\n /**\r\n * 创建DOM\r\n * @param config \r\n * @returns \r\n */\r\n createDOM(config: EditorConfig): HTMLElement {\r\n\r\n const element = document.createElement('img') \r\n\r\n element.setAttribute('src', this.__attrs.src || ImageDefaultSrc) \r\n\r\n if(this.__attrs.alt != null){\r\n element.setAttribute('alt', this.__attrs.alt ?? \"\")\r\n }\r\n\r\n element.setAttribute(\"style\",this.getStyles().join(\";\"))\r\n element.setAttribute(\"node-key\",this.__key)\r\n element.setAttribute(\"class\",config.theme.image ?? \"\")\r\n\r\n\r\n return element\r\n }\r\n\r\n updateDOM(\r\n prevNode: ImageNode,\r\n dom: HTMLElement,\r\n config: EditorConfig,\r\n ): boolean {\r\n // console.log(prevNode,dom,dom.firstChild,config);\r\n const inner = dom.firstChild\r\n if (inner === null){ return true }\r\n super.updateDOM(prevNode, inner as HTMLElement, config)\r\n return false\r\n }\r\n\r\n getTextContent(\r\n _includeInert?: boolean | undefined,\r\n _includeDirectionless?: false | undefined,\r\n ): string { return \"\"; }\r\n\r\n /**\r\n * 内联\r\n * @returns \r\n */\r\n isInline(): boolean {\r\n return true;\r\n }\r\n}\r\n/**\r\n * 定义内联图片节点\r\n */\r\nexport class InlineImageNode extends ImageNode{\r\n \r\n static getType(): string {\r\n return 'InlineImage'\r\n }\r\n\r\n static clone(node: ImageNode): ImageNode {\r\n return new InlineImageNode(node.__attrs, node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageNode): ImageNode {\r\n const node = $createImageNode(serializedNode.attrs)\r\n node.setFormat(serializedNode.format)\r\n return node\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n img: (el: HTMLElement) => {\r\n\r\n const src = el.getAttribute('src');\r\n const alt = el.getAttribute('alt');\r\n\r\n return el.tagName.toLowerCase() == \"img\" && el.style.float ? {\r\n conversion: (domNode: HTMLElement) => {\r\n \r\n // 内联图\r\n return { \r\n node:new InlineImageNode({\r\n src:src,\r\n alt:alt,\r\n width:domNode.style.width,\r\n height:domNode.style.height,\r\n maxWidth:domNode.style.maxWidth || \"100%\",\r\n maxHeight:domNode.style.maxHeight,\r\n margin:domNode.style.margin,\r\n float:domNode.style.float\r\n } as ImageAttrType) \r\n };\r\n },\r\n priority: 1\r\n } : null\r\n },\r\n }\r\n }\r\n\r\n constructor(attrs: ImageAttrType, key?: NodeKey) {\r\n super(attrs,key)\r\n }\r\n\r\n /**\r\n * 非内联元素\r\n * @returns \r\n */\r\n isInline(): boolean {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * 创建图片节点\r\n * @param src \r\n * @returns \r\n */\r\nexport function $createImageNode(attrs: ImageAttrType): ImageNode {\r\n return new ImageNode(attrs)\r\n}\r\n\r\n/**\r\n * 判断是否是图片节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isImageNode(\r\n node: ImageNode | LexicalNode | null | undefined,\r\n): node is ImageNode {\r\n return node instanceof ImageNode\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ImageNode.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.ts"],"sourcesContent":["\r\nimport type {\r\n DOMConversionMap,\r\n DOMExportOutput,\r\n EditorConfig,\r\n LexicalNode,\r\n NodeKey,\r\n Spread,\r\n SerializedElementNode,\r\n SerializedTextNode\r\n} from 'lexical'\r\nimport { ElementNode,TextNode } from 'lexical'\r\n\r\n\r\n// 默认图片\r\nconst ImageDefaultSrc = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAADkBJREFUeJzt3W/wHVdZwPHvL01S05AmbUhDm2L/0EJDaqVNbUmR2uIwBQtMbRxRJICow9BKFUZHxQr6ovIGZrDgqCNFgbajI6C2RR1NrRUKmYBpRQrTlmL8g9UpNKRtIk2bxhcnV5qQ5HfvPc/us3v3+5l5XiW/c59z555nd8/u2QOSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJGk+cy19xiXA5cCLgTOB44BFLXy21BdPAjuA+4EtwG3APwL7MpOqcRTwc8CDlE4YhjFZPAC8GVhAQ5o6AzgLuBFY31D70pB8Hng95ewgVBMF4DLg48CzGmhbGqrHgCuBzZGNRheAl1OuXRYHtysJ9gA/Atwe1WBkATgD2AYsC2xT0oF2AucBX4toLGpyYY5yze/gl5q1HPgYQQfvqAKwCbgwqC1JR3YR8JMRDUVdAnwZWBvUlqT53QucXdtIxBnARTj4pbatAy6obSSiALw6oA1Jk6seexEFYENAG5Imd1FtAxEF4PkBbUia3AtqG4iYBHwCH/yRMnwbWFLTQEQB2BfQhqTpVI3hxlYZSRqGyOWPmykLHk6gnXcVSG2YA04EXgt8htgxky6iE08CP9N24lKSa4C9WAD+P97SetZSrl/GAsA+ymuPpKGZA75IcgHowiTg9dkJSAn2ATdkJxGhtoId137KUidciGcA7MhOQEqyMzuBLhQASUksANKAWQCkPOm38SwA0oBZAKQBswBIebwEkJTHAiANmAVAypN+CbAwOwEpwMnApZTXZK8DTgVWAcfs//fdwMPAdsr79LcCfw98veU8Z1LvlzOql1YC7wD+iel/e1/Y38bKlnMfOXOMHDs/fnrfAfXKGuB3KUf12t/eKHYDH9zfdpssAAn5qp8WA79B7MA/OHYB1wKLWurTGQE5p+t9B9R564B/prmBf3DcQzvb3VkAEvJVv2wEHqe9wT+KxykvqG2SBSAhX/XH1cDTtD/4R7EXuKrB/j0vIMd0ve+AOulq8gb+wdFUEbAAJOSr7ttI7pH/4NhLM5cDFoCEfNVt68i55p8vHiN+YvD0gLzS9b4D6ozFtDvbP2ncTewtwvQC4FoAdcmvAOdkJ3EEL6Js6KFn8AxAEdbQ7EM+UfE4ZZ+/CKcF5FPFMwB1xTup3Ou+JUspuWo/zwBUayX9OPqPYjcxC4g8A5CAN9KPo//IEmBTdhIRLADqgp/KTmAKETmnnwFbAJTtZOC87CSmcD5wUnYStSwAynZpdgIV+pw7YAFQvguyE6hwYeXfewmgwVuXnUCFPucOWACU79TsBCqckp1ALQuAsq3KTqBCbe5eAmjwjpn/v3TW0uwEalkApAGzACjb7uwEKuyq/HsvATR4D2cnUKHPuQMWAOXbnp1Ahe3ZCdSyACjbvdkJVOhz7oAFQPm2ZidQoTZ35wA0eHdkJzClfZQdhnvNAqBs/0nZ4bdvvgA8lJ1ELQuAuuDm7ASmcFNAG+mXABF8JZhq9e2VYLuA4wP6vSYglyqeAagLvgl8ODuJCdwAPJKdRFd4BqAIayhH1uyj+3wR+VrwkwLyqeIZgLri68B7spMYw3XMwORfJM8AFGURcA/5R/nDxTZitwZLPwOI0PsOqFPW0t3NQc8K7uuJAXml630HOmop5QgRsQFF31xJ2ZI7e9CPYi9wRQP9tAAk5NtlLwP+CPg3vvvocztwDbAiLbt2XUX+wB/FWxvqowUgId8uWg9sYbzv61HKLrpHpWTarqvIPRPYS3ODHywA3ehAsmuAJ5n8e7uTmIdRuu5KyhlQ24P/MZo57X+m5wTkma73HUj0a9R9d3cDy1vPun1rKX1ta/DfTfyE36FYABLy7YrXEvNjvZN+baw5rUWUbbmbvEPwOKUoR97qOxILQEK+XbCe2GffbwEWttqDPCcCHyD2+9sFXE/cE37jWh2Qe7red6BlJ1KWwEYfvT4KzLXYj2wrgV8EPs/039lW4BfIu9WaXgAifjC1SQzpR/s9lFP2pvbD+x3KoBiakygbdV5I2a7rFMqmHaP39u+ivMBzO+U1XlspL/PIfqR3NfDflW2kjx/PAMZ3M/FH/oPj2tZ6o1onMAPjp/cdaMmv0/zgH0WT964VxwKQkG+GK4Cnaa8A7AV+opWeqYYFICHftn0/OYtb9gCXtdA/TW8VMzB+et+BBp3Adz/X32bsAjY03ktNywKQkG9bFgN3kTf4R/EIcHbDfdV0LAAJ+bblj8kf/KP4L+C0RnuraVgAEvJtwy+RP+gPjq9S7jurO57NDIyf3ncg2OV062UWz4x7GMbiob6wACTk26R1lPX62QP9SPFphrF4qA8sAAn5NmUl8CD5A3ycuI3hLB7qspXMwPjpfQcCLKJscpk9sCeJG+nAc+QDZwFIyLcJf0D+gJ4mrm/iy9DYLAAJ+UZ7G/kDuSbeHf+VaEzHMwPjp/cdqPBy4CnyB3Ft/Hz0F6OxWAAS8o3yfGAH+YM3Ip4GXhf79VRbTXmM+SWU9f6zyAKQkG+EFcB95A/cyNgDvDLyS5rCAmATh34B6Jcpl1uL07KLdxwzMH5634EJLQT+lvwB20TsphxxM5wBfG6MHL9EeUvwLLAAJORb6wPkD9QmYwdwTti3NZ5XATsnyPERyjLrvrMAJORb4y3kD9A24iHg9KDvbD7vYLpHpx+inDX0mQUgId9pXUK5Ts4enG3FgzT7muyFwO9X5viv9HuCcAUzMH5634ExnA58g/xB2XZ8kWY2I10B/F1Qjl+iv1ukWQAS8p3UsZRXSWcPxqy4Czim+lv8jucBXwnOcQvwrMAc22IBSMh3EguAT5E/CLPjr4jZLuulNHcmtRk4OiDHNi1nBsZP7ztwBO8lf/B1JW6mFMRpvQF4ouEcP0m/tk23ACTkO643kT/ouhY3Mfky4jnguhZz/DD9WeVoAUjIdxwvofmjVV/jLylbnI1jBfDxhBzfO2Z+2Y5lBsZP7ztwkFOA/yF/oHU5tgHnzvM9bqSZTVDHjXfOk18XpBcANwc90FLgs7T/JFwf7aPcyvsLyu3CHZQHW36Acr0/X4Fow1spzxp01bGUJyBrpI+f1AoWaA74c/KPrkZcdH2LtGXU9zFd7zuwX5sTVUZ70YVVjodjAUjI91BeR/4P1WgudgM/SPekFwDnAOAC4E7Gn9lWP+2krOe4JzmPZ1pGeY18jarxU/NgxyxYQ5nEcvDPvuXA39CtFYTVR/BaQy4ASyj3tJtc8aZuWU25c7EmO5GuGGoBmKNs3rk+OQ+171TKG51WJufRCUMtAO8Cfjw7CaV5IfDX5K8gTL8EiJA6izmFH6O8BTd7ZtrIj9vJXUG49DB5TRJVhnYGcC7wEfLvPKgbXgb8Cf1aQRhqSAXgOZRJv8iXW6j/rgA+RM5BofoIXmsoBeBoymO+z81ORJ30JuB92UlkGEoB+BDw4uwk1GlvB67NTqKPUicxxvCrATkaw4mraM+SgHzTdbkDr2G6d84bw40290lMLwCzvBbg+yhr+7Pv9ap/nqJMDn6q4c9ZQlmoVMO1AIewCrgFB7+msxD4M8pbjGfaLBaAxcAnKI98StNaAtxKs282qj6FrzWLBeD3GEDlVitGKwjPzE6kKbNWAN4OvDk7Cc2UEygrCE/OTqQJszQJ+ArgNgb8WKca9RXgYsrORlGOBr5d2YaTgMBa4E9x8Ks5aykrCJdlJxJpFgrA8ZQZ/2OzE9HMO5/yW5uZN0j1vQCMbtd06TVPmm2XUM42J90i7VC8C1DpesqSTqlNrwFuwGXlQN6jjFcHfLZh1MT7qbM4IId0GR34YeDJgM82jNp4F9NbFPD5Vfp4G/AMYCtlHzqpC94GfHCKv1tE2bmoRtUY7lsBWA5sAc6q/Ewp0j5gE3DThH+XXgD6NAl4FGX21cGvrhm9Zv5VyXlMrE8F4H3AZdlJSIcxuiX9QxP8TfU1fK2+XAL8LPCHlZ8jteFR4FJg2xj/dyFlMrvGzM8BXAxsplwvSX3wMGVF6n3z/D8LwDw5nEaZ8X925WdIbft3ypbk/3GE/3MU5e1DNWZ2EnAZ5blrB7/66Hspy4hXZSdyJF0tAAsot1TOzk5EqvACygtFOrtQrasF4D3Aq7OTkAKcx+FXEHoX4BA5bAI+Wtmm1DW3Aldy4DX/Aspr62vM1CTgBuAOcndslZpyI/AGvjNm0gtAly4BnkvZv8/Br1n1eg5cQZh+CdCVArCUcp20OjsRqWHXAL+ZncRIFwrAHPAR4EXZiUgteTelEKSLeK1Rrd8CNmYnIbXs/cC3spPowiSgNFRPUX8Q7v1dAEnTm5m7AJJaZgGQBswCIA2YBUAaMAuANGAWAGnALADSgFkApAGzAEgDZgGQBswCIA2YBUAaMAuANGAWAGnALADSgFkApAGzAEgDZgGQBswCIA2YBUAaMAuANGAWAGnALADSgFkApAGLKAB7AtqQNLn/rW0gogB8I6ANSZP7Zm0DEQXg/oA2JE3uvtoGIgrAZwPakDS5u2obiCgAtwS0IWlyt9Y2ELE7MMC9wAuD2pI0v38BzqltJOo24G8HtSNpPNdFNBJ1BjAHfAa4KKg9SYf3aeDiiIaiCgDA6cA2YHlgm5IO9C3gXGB7RGORTwJ+DdiIDwZJTXkC+FGCBj/EPwp8O3A58Ghwu9LQ7QReCfxDZKNNrAXYDJwPbG2gbWmItgDrgTuiG25qMdADwAbgp4GvNvQZ0qy7H3gjZXL9wSY+IHIS8Eif8VLKpcEG4EzgeGBxC58t9cUeyrP9DwCfA26jPOm3LzMpSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIE/wdtJeQPxMSAJQAAAABJRU5ErkJggg==\";\r\n\r\n\r\n/**\r\n * 图片属性类型\r\n */\r\nexport type ImageAttrType = {\r\n src:string,\r\n alt?:string,\r\n width?:string,\r\n height?:string,\r\n float?:string,\r\n maxWidth?:string,\r\n maxHeight?:string,\r\n margin?:string\r\n};\r\n\r\n/**\r\n * 图片节点序列化\r\n */\r\nexport type SerializedImageNode = Spread<\r\n {\r\n attrs: ImageAttrType\r\n },\r\n SerializedTextNode\r\n>\r\n\r\n/**\r\n * 定义图片节点\r\n */\r\nexport class ImageNode extends TextNode {\r\n __attrs: ImageAttrType\r\n\r\n static getType(): string {\r\n return 'Image'\r\n }\r\n\r\n static clone(node: ImageNode): ImageNode {\r\n return new ImageNode(node.__attrs, node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageNode): ImageNode {\r\n const node = $createImageNode(serializedNode.attrs)\r\n node.setFormat(serializedNode.format)\r\n return node\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n img: (el: HTMLElement) => {\r\n\r\n const src = el.getAttribute('src');\r\n const alt = el.getAttribute('alt');\r\n\r\n return el.tagName.toLowerCase() == \"img\" && !el.style.float ? {\r\n conversion: (domNode: HTMLElement) => {\r\n\r\n return { \r\n \r\n node:$createImageNode({\r\n src:src,\r\n alt:alt,\r\n width:domNode.style.width,\r\n height:domNode.style.height,\r\n maxWidth:domNode.style.maxWidth || \"100%\",\r\n maxHeight:domNode.style.maxHeight,\r\n margin:domNode.style.margin,\r\n float:\"\"\r\n } as ImageAttrType) \r\n };\r\n },\r\n priority: 1\r\n } : null\r\n },\r\n }\r\n }\r\n\r\n constructor(attrs: ImageAttrType, key?: NodeKey) {\r\n super(\"\",key)\r\n this.__attrs = attrs\r\n }\r\n\r\n exportJSON(): SerializedImageNode {\r\n\r\n return {\r\n ...super.exportJSON(),\r\n type: this.getType(),\r\n version: 1,\r\n attrs: this.__attrs,\r\n }\r\n }\r\n\r\n getStyles():string[]{\r\n\r\n const style : string[] = [];\r\n\r\n if(this.__attrs.width){\r\n style.push(\"width:\"+this.__attrs.width)\r\n }\r\n if(this.__attrs.height){\r\n style.push(\"height:\"+this.__attrs.height)\r\n }\r\n if(this.__attrs.maxWidth){\r\n style.push(\"max-width:\"+this.__attrs.maxWidth)\r\n }\r\n if(this.__attrs.maxHeight){\r\n style.push(\"max-height:\"+this.__attrs.maxHeight)\r\n }\r\n if(this.__attrs.float){\r\n style.push(\"float:\"+this.__attrs.float)\r\n }\r\n if(this.__attrs.margin){\r\n style.push(\"margin:\"+this.__attrs.margin)\r\n }\r\n\r\n return style\r\n }\r\n\r\n exportDOM(): DOMExportOutput {\r\n\r\n \r\n const element = document.createElement('img') \r\n\r\n element.setAttribute('src', this.__attrs.src) \r\n\r\n if(this.__attrs.alt != null){\r\n element.setAttribute('alt', this.__attrs.alt ?? \"\")\r\n }\r\n\r\n element.setAttribute(\"style\",this.getStyles().join(\";\"))\r\n\r\n \r\n return { element }\r\n }\r\n\r\n /**\r\n * 设置属性\r\n * @param pos \r\n */\r\n setAttrs(data?:any){\r\n const writable = this.getWritable();\r\n Object.assign(writable.__attrs,data)\r\n }\r\n\r\n /**\r\n * 创建DOM\r\n * @param config \r\n * @returns \r\n */\r\n createDOM(config: EditorConfig): HTMLElement {\r\n\r\n const element = document.createElement('img') \r\n\r\n element.setAttribute('src', this.__attrs.src || ImageDefaultSrc) \r\n\r\n if(this.__attrs.alt != null){\r\n element.setAttribute('alt', this.__attrs.alt ?? \"\")\r\n }\r\n\r\n element.setAttribute(\"style\",this.getStyles().join(\";\"))\r\n element.setAttribute(\"node-key\",this.__key)\r\n element.setAttribute(\"class\",config.theme.image ?? \"\")\r\n\r\n\r\n return element\r\n }\r\n\r\n updateDOM(\r\n prevNode: ImageNode,\r\n dom: HTMLElement,\r\n config: EditorConfig,\r\n ): boolean {\r\n // console.log(prevNode,dom,dom.firstChild,config);\r\n const inner = dom.firstChild\r\n if (inner === null){ return true }\r\n super.updateDOM(prevNode, inner as HTMLElement, config)\r\n return false\r\n }\r\n\r\n getTextContent(\r\n _includeInert?: boolean | undefined,\r\n _includeDirectionless?: false | undefined,\r\n ): string { return \"\"; }\r\n\r\n /**\r\n * 内联\r\n * @returns \r\n */\r\n isInline(): boolean {\r\n return true;\r\n }\r\n}\r\n/**\r\n * 定义内联图片节点\r\n */\r\nexport class InlineImageNode extends ImageNode{\r\n \r\n static getType(): string {\r\n return 'InlineImage'\r\n }\r\n\r\n static clone(node: ImageNode): ImageNode {\r\n return new InlineImageNode(node.__attrs, node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageNode): ImageNode {\r\n const node = $createImageNode(serializedNode.attrs)\r\n node.setFormat(serializedNode.format)\r\n return node\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n img: (el: HTMLElement) => {\r\n\r\n const src = el.getAttribute('src');\r\n const alt = el.getAttribute('alt');\r\n\r\n return el.tagName.toLowerCase() == \"img\" && el.style.float ? {\r\n conversion: (domNode: HTMLElement) => {\r\n \r\n // 内联图\r\n return { \r\n node:new InlineImageNode({\r\n src:src,\r\n alt:alt,\r\n width:domNode.style.width,\r\n height:domNode.style.height,\r\n maxWidth:domNode.style.maxWidth || \"100%\",\r\n maxHeight:domNode.style.maxHeight,\r\n margin:domNode.style.margin,\r\n float:domNode.style.float\r\n } as ImageAttrType) \r\n };\r\n },\r\n priority: 1\r\n } : null\r\n },\r\n }\r\n }\r\n\r\n constructor(attrs: ImageAttrType, key?: NodeKey) {\r\n super(attrs,key)\r\n }\r\n\r\n /**\r\n * 非内联元素\r\n * @returns \r\n */\r\n isInline(): boolean {\r\n return false;\r\n }\r\n\r\n\r\n}\r\n\r\n/**\r\n * 创建图片节点\r\n * @param src \r\n * @returns \r\n */\r\nexport function $createImageNode(attrs: ImageAttrType): ImageNode {\r\n return new ImageNode(attrs)\r\n}\r\n\r\n/**\r\n * 判断是否是图片节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isImageNode(\r\n node: ImageNode | LexicalNode | null | undefined,\r\n): node is ImageNode {\r\n return node instanceof ImageNode\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,8 @@ import { useLexicalComposer, useMounted } from "lexical-vue";
|
|
|
6
6
|
import { INSERT_IMAGE_COMMAND } from "./commands.js";
|
|
7
7
|
import { $createImageNode, ImageNode } from "./ImageNode.js";
|
|
8
8
|
import { $isImageTextNode } from "../ImageTextPlugin/ImageTextNode.js";
|
|
9
|
-
import { registerDocEditorToolbarExtend } from "
|
|
9
|
+
import { registerDocEditorToolbarExtend } from "../../core/index.js";
|
|
10
10
|
import { showImageEditDialog, imageUpload } from "./utils.js";
|
|
11
|
-
import "../../core/index.js";
|
|
12
11
|
import { ElLoading } from "element-plus";
|
|
13
12
|
import { useElementModule } from "../../core/element-module.js";
|
|
14
13
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImagePlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { $insertNodeToNearestRoot,mergeRegister,mediaFileReader,isMimeType } from '@lexical/utils'\r\nimport { \r\n COMMAND_PRIORITY_EDITOR,COMMAND_PRIORITY_LOW,CLICK_COMMAND,$isParagraphNode,\r\n $getSelection,$createParagraphNode,$isNodeSelection, $getNodeByKey\r\n} from 'lexical'\r\nimport { DRAG_DROP_PASTE } from '@lexical/rich-text'\r\nimport { useLexicalComposer,useMounted } from 'lexical-vue'\r\nimport { onMounted, } from 'vue'\r\nimport { INSERT_IMAGE_COMMAND,$createImageNode,ImageNode,type ImageAttrType } from './index'\r\nimport { $isImageTextNode } from '../ImageTextPlugin'\r\nimport { registerDocEditorToolbarExtend,type ToolbarExtendPlugin } from \"
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImagePlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { $insertNodeToNearestRoot,mergeRegister,mediaFileReader,isMimeType } from '@lexical/utils'\r\nimport { \r\n COMMAND_PRIORITY_EDITOR,COMMAND_PRIORITY_LOW,CLICK_COMMAND,$isParagraphNode,\r\n $getSelection,$createParagraphNode,$isNodeSelection, $getNodeByKey\r\n} from 'lexical'\r\nimport { DRAG_DROP_PASTE } from '@lexical/rich-text'\r\nimport { useLexicalComposer,useMounted } from 'lexical-vue'\r\nimport { onMounted, } from 'vue'\r\nimport { INSERT_IMAGE_COMMAND,$createImageNode,ImageNode,type ImageAttrType } from './index'\r\nimport { $isImageTextNode } from '../ImageTextPlugin'\r\nimport { registerDocEditorToolbarExtend,type ToolbarExtendPlugin } from \"../../core\"\r\nimport { showImageEditDialog,imageUpload } from \"./utils\"\r\nimport { useElementModule } from '../../core'\r\nimport { ElLoading } from 'element-plus'\r\n\r\n// 图片类型\r\nconst ACCEPTABLE_IMAGE_TYPES = [\r\n 'image/',\r\n 'image/heic',\r\n 'image/heif',\r\n 'image/gif',\r\n 'image/webp',\r\n]\r\n \r\n// 注册到工具条\r\nregisterDocEditorToolbarExtend({\r\n icon:\"Picture\",\r\n text:\"图片\",\r\n action:async ()=>{\r\n // 显示图片编辑面板\r\n showImageEditDialog({\r\n src:\"\", alt:\"\", width:\"\", height:\"\", maxWidth:\"100%\", maxHeight:\"\", margin:\"\"\r\n }).then(async (data:any)=>{\r\n const result = await uploadhandle([data.src])\r\n data.src = result[0]\r\n editor.dispatchCommand(INSERT_IMAGE_COMMAND,data)\r\n });\r\n },\r\n sort:11\r\n} as ToolbarExtendPlugin)\r\n\r\nconst editor = useLexicalComposer()\r\n\r\n// 上传处理函数\r\nconst uploadhandle = async (pathList:Array<string>)=>{\r\n\r\n if(pathList.length){\r\n\r\n const loadingInstance = ElLoading.service({ fullscreen: true,text:\"图片上传中...\" })\r\n\r\n const reesult = await Promise.all(pathList.map(path=>{\r\n return imageUpload(path)\r\n }))\r\n\r\n loadingInstance.close();\r\n\r\n return reesult;\r\n }\r\n\r\n return [];\r\n}\r\n\r\n// 使用元素模块 集成了模块选中删除以及工具条\r\nconst { isSelected, curSelectKey, curSelectPos,updateActiveViewState } = useElementModule(el=>{\r\n return el.tagName.toLowerCase() == \"img\" ? el : null\r\n},(selection)=>{\r\n \r\n const node = $getNodeByKey(curSelectKey.value) as ImageNode;\r\n\r\n if(node != null){\r\n \r\n const parent = node.getParent();\r\n const isImageText = $isImageTextNode(parent)\r\n\r\n // 工具条\r\n const toolbarList = [];\r\n\r\n if($isParagraphNode(parent) || isImageText){\r\n toolbarList.push({ title: isImageText ? \"居左\" : \"左对齐\",icon:`doc-align-left`,action(){\r\n editor.update(()=>{\r\n if(isImageText){\r\n node.setAttrs({float:\"left\"})\r\n }\r\n else{\r\n parent.setFormat(\"left\")\r\n }\r\n\r\n updateActiveViewState(null);\r\n })\r\n } \r\n });\r\n }\r\n\r\n if($isParagraphNode(parent)){\r\n toolbarList.push({ title: \"居中对齐\",icon:`doc-align-center`,action(){\r\n editor.update(()=>{ \r\n parent.setFormat(\"center\") \r\n updateActiveViewState(null);\r\n })\r\n } \r\n });\r\n }\r\n\r\n if($isParagraphNode(parent) || isImageText){\r\n toolbarList.push({ title: isImageText ? \"居右\" : \"右对齐\",icon:`doc-align-right`,action(){\r\n editor.update(()=>{\r\n\r\n if(isImageText){\r\n node.setAttrs({float:\"right\"})\r\n }\r\n else{\r\n parent.setFormat(\"right\")\r\n }\r\n updateActiveViewState(null);\r\n })\r\n } \r\n });\r\n }\r\n\r\n // 编辑\r\n toolbarList.push({ \r\n title:\"编辑\",icon:\"Edit\",action:async ()=>{\r\n\r\n // 显示图片编辑面板\r\n const data:any = await showImageEditDialog(node.__attrs);\r\n const result = await uploadhandle([data.src])\r\n data.src = result[0];\r\n editor.update(()=>{\r\n node.setAttrs(data)\r\n updateActiveViewState(null);\r\n })\r\n }\r\n });\r\n\r\n return toolbarList;\r\n }\r\n\r\n return null;\r\n})\r\n\r\n\r\n// 编辑器挂载\r\nuseMounted(()=>{\r\n // 注册事件\r\n return mergeRegister(\r\n // 插入图片\r\n editor.registerCommand<ImageAttrType>(INSERT_IMAGE_COMMAND,(payload) => {\r\n const p = $createParagraphNode()\r\n p.append($createImageNode(payload))\r\n $insertNodeToNearestRoot(p)\r\n return true\r\n },COMMAND_PRIORITY_EDITOR),\r\n\r\n // 剪切板图片\r\n editor.registerCommand(DRAG_DROP_PASTE,(files) => {\r\n\r\n (async () => {\r\n\r\n const filesResult = await mediaFileReader(files, [ACCEPTABLE_IMAGE_TYPES].flatMap((x) => x))\r\n \r\n const result = await uploadhandle(filesResult.filter(f=>isMimeType(f.file, ACCEPTABLE_IMAGE_TYPES)).map(f=>f.result))\r\n\r\n result.forEach(path=>{\r\n editor.dispatchCommand(INSERT_IMAGE_COMMAND, {\r\n src:path, alt:\"\", maxWidth:\":100%\"\r\n } as ImageAttrType)\r\n })\r\n\r\n })()\r\n\r\n return true\r\n },COMMAND_PRIORITY_LOW)\r\n )\r\n})\r\n\r\n// 当前插件挂载\r\nonMounted(() => {\r\n\r\n if (!editor.hasNodes([ImageNode])){\r\n throw new Error('ImagePlugin: 图片节点未注册!')\r\n }\r\n\r\n})\r\n\r\n</script>\r\n\r\n<template>\r\n <div class=\"mk-doc-active-mark\" v-if=\"isSelected\" :style=\"curSelectPos\">\r\n </div>\r\n</template>\r\n"],"names":[],"mappings":"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"}
|