@maketribe/ms-app 3.2.10 → 3.2.11
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/abstract/abstract-select/abstract-select-options.js.map +1 -1
- package/dist/cjs/components/abstract/abstract-select/abstract-select.js.map +1 -1
- package/dist/cjs/components/abstract/abstract-select/index.js.map +1 -1
- package/dist/cjs/components/basic/button/button-options.js.map +1 -1
- package/dist/cjs/components/basic/code-editor/code-editor-options.js.map +1 -1
- package/dist/cjs/components/basic/code-editor/code-editor.js.map +1 -1
- package/dist/cjs/components/basic/code-editor/index.js.map +1 -1
- package/dist/cjs/components/basic/config-provider/config-provider-options.js.map +1 -1
- package/dist/cjs/components/basic/data-select/data-select-options.js.map +1 -1
- package/dist/cjs/components/basic/data-select/data-select.js.map +1 -1
- package/dist/cjs/components/basic/data-table-select/data-table-select-options.js.map +1 -1
- package/dist/cjs/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/cjs/components/basic/data-table-select/index.js.map +1 -1
- package/dist/cjs/components/basic/data-tree-select/index.js.map +1 -1
- package/dist/cjs/components/basic/date-picker/date-picker-options.js.map +1 -1
- package/dist/cjs/components/basic/date-picker/date-picker.js.map +1 -1
- package/dist/cjs/components/basic/date-picker/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/icon-select/icon-select-options.js.map +1 -1
- package/dist/cjs/components/basic/icon-select/icon-select.js.map +1 -1
- package/dist/cjs/components/basic/icon-select/index.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-api.js +3 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-api.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-content-options.js +2 -0
- package/dist/cjs/components/basic/image-cropper/image-cropper-content-options.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-content.js +24 -23
- package/dist/cjs/components/basic/image-cropper/image-cropper-content.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/index.js.map +1 -1
- package/dist/cjs/components/basic/json-editor/json-editor-options.js.map +1 -1
- package/dist/cjs/components/basic/json-editor/json-editor.js.map +1 -1
- package/dist/cjs/components/basic/page-container/index.js.map +1 -1
- package/dist/cjs/components/basic/page-container/page-container.js.map +1 -1
- package/dist/cjs/components/basic/radio/index.js.map +1 -1
- package/dist/cjs/components/basic/radio/radio-options.js.map +1 -1
- package/dist/cjs/components/basic/radio/radio.js.map +1 -1
- package/dist/cjs/components/basic/system-provider/system-provider.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/context/WebFileUploadContext.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +2 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/cjs/components/business/resource-list/index.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/index.js.map +1 -1
- package/dist/cjs/components/business/resource-select/index.js.map +1 -1
- package/dist/cjs/components/business/resource-select/resource-select-api.js.map +1 -1
- package/dist/cjs/components/business/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-drawer/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/token.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/composables/use-form-item.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/data-form-item/data-form-item.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/data-form.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/token.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form/form-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-action/column-action-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-action/column-action.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-date/column-date.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-icon/column-icon.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-image/column-image-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-json/column-json-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-json/column-json.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-link/column-link-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-object-mapping-text/column-object-mapping-text-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-select/column-select-header.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-select/column-select-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-select/column-select.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort-options.js.map +1 -1
- 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/column-sort/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-switch/column-switch-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-switch/column-switch.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-tag/column-tag-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-tag/column-tag.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-text/column-text-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-text/column-text.js.map +1 -1
- 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/batch-opt/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/composables/use-query-params.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-column/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/token.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/table-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -1
- package/dist/cjs/components/data-model/data-table-pagination/data-table-pagination-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table-pagination/data-table-pagination.js.map +1 -1
- package/dist/cjs/composables/use-column-component.js.map +1 -1
- package/dist/cjs/composables/use-i18n.js.map +1 -1
- package/dist/cjs/composables/use-single-view.js.map +1 -1
- package/dist/cjs/constants/data-model.js.map +1 -1
- package/dist/cjs/constants/menu.js.map +1 -1
- package/dist/cjs/constants/route.js.map +1 -1
- package/dist/cjs/core/MSAppClient.js.map +1 -1
- package/dist/cjs/core/MkModule.js.map +1 -1
- package/dist/cjs/core/PageManager.js.map +1 -1
- package/dist/cjs/core/Router.js.map +1 -1
- package/dist/cjs/core/UserInfo.js.map +1 -1
- package/dist/cjs/core/UserSession.js.map +1 -1
- package/dist/cjs/core/component/ConfigComponents.js.map +1 -1
- package/dist/cjs/core/component/DataFilterComponents.js.map +1 -1
- package/dist/cjs/core/component/DataTableComponents.js.map +1 -1
- package/dist/cjs/core/component/DataTableHeaderComponents.js.map +1 -1
- package/dist/cjs/core/menu/Menu.js.map +1 -1
- package/dist/cjs/core/menu/MenuNode.js.map +1 -1
- package/dist/cjs/core/tabs/Tab.js.map +1 -1
- package/dist/cjs/define-data-form.js.map +1 -1
- package/dist/cjs/define-data-table.js.map +1 -1
- package/dist/cjs/define-data-tree.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/init-application.js.map +1 -1
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/components/dialogs/dialogs.js.map +1 -1
- package/dist/cjs/layouts/components/header/index.js.map +1 -1
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +1 -0
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/constants/index.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +2 -0
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +2 -0
- 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 +2 -0
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartTree.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +2 -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 +4 -7
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +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.map +1 -1
- package/dist/cjs/modules/ms/components/image-select/image-select-api.js +76 -0
- package/dist/cjs/modules/ms/components/image-select/image-select-api.js.map +1 -0
- package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +111 -0
- package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -0
- package/dist/cjs/modules/ms/components/image-select/index.js +7 -0
- package/dist/cjs/modules/ms/components/image-select/index.js.map +1 -0
- package/dist/cjs/modules/ms/components/markdown-editor/markdown-editor.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/components/file-view/file-view.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/components/image-view/image-view.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/index.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-group-form-popover.js +1 -0
- package/dist/cjs/modules/ms/components/material-list/material-group-form-popover.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-group.js +1 -0
- package/dist/cjs/modules/ms/components/material-list/material-group.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/index.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/index.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-deny-ip-access-list/MsDenyIPAccessListTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-ip-white-list/MsIPWhitelistTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js +12 -2
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberNickNameColumn.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member-role/MsMemberRoleForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/ms-permission-point/MsPermissionPointDefineForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/ms-route/MsRouteForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/ms-route/MsRouteTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRoleForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRoleTable.js.map +1 -1
- package/dist/cjs/modules/ms/image-upload-context/index.js +55 -0
- package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -0
- package/dist/cjs/modules/ms/index.js +2 -0
- package/dist/cjs/modules/ms/index.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/material-upload-context-options.js.map +1 -1
- 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.map +1 -1
- 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 +1 -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 +1 -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 +1 -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 +1 -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/components/role-permission-config/role-permission-config.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/404.vue.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/cjs/router-middleware/auth.js.map +1 -1
- package/dist/esm/components/abstract/abstract-select/abstract-select-options.js.map +1 -1
- package/dist/esm/components/abstract/abstract-select/abstract-select.js.map +1 -1
- package/dist/esm/components/abstract/abstract-select/index.js.map +1 -1
- package/dist/esm/components/basic/button/button-options.js.map +1 -1
- package/dist/esm/components/basic/code-editor/code-editor-options.js.map +1 -1
- package/dist/esm/components/basic/code-editor/code-editor.js.map +1 -1
- package/dist/esm/components/basic/code-editor/index.js.map +1 -1
- package/dist/esm/components/basic/config-provider/config-provider-options.js.map +1 -1
- package/dist/esm/components/basic/data-select/data-select-options.js.map +1 -1
- package/dist/esm/components/basic/data-select/data-select.js.map +1 -1
- package/dist/esm/components/basic/data-table-select/data-table-select-options.js.map +1 -1
- package/dist/esm/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/esm/components/basic/data-table-select/index.js.map +1 -1
- package/dist/esm/components/basic/data-tree-select/index.js.map +1 -1
- package/dist/esm/components/basic/date-picker/date-picker-options.js.map +1 -1
- package/dist/esm/components/basic/date-picker/date-picker.js.map +1 -1
- package/dist/esm/components/basic/date-picker/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/icon-select/icon-select-options.js.map +1 -1
- package/dist/esm/components/basic/icon-select/icon-select.js.map +1 -1
- package/dist/esm/components/basic/icon-select/index.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-api.js +3 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-api.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-content-options.js +2 -0
- package/dist/esm/components/basic/image-cropper/image-cropper-content-options.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-content.js +25 -24
- package/dist/esm/components/basic/image-cropper/image-cropper-content.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/index.js.map +1 -1
- package/dist/esm/components/basic/json-editor/json-editor-options.js.map +1 -1
- package/dist/esm/components/basic/json-editor/json-editor.js.map +1 -1
- package/dist/esm/components/basic/page-container/index.js.map +1 -1
- package/dist/esm/components/basic/page-container/page-container.js.map +1 -1
- package/dist/esm/components/basic/radio/index.js.map +1 -1
- package/dist/esm/components/basic/radio/radio-options.js.map +1 -1
- package/dist/esm/components/basic/radio/radio.js.map +1 -1
- package/dist/esm/components/basic/system-provider/system-provider.js.map +1 -1
- package/dist/esm/components/basic/upload-file/context/WebFileUploadContext.js.map +1 -1
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +2 -0
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/esm/components/business/resource-list/index.js.map +1 -1
- package/dist/esm/components/business/resource-manager/index.js.map +1 -1
- package/dist/esm/components/business/resource-select/index.js.map +1 -1
- package/dist/esm/components/business/resource-select/resource-select-api.js.map +1 -1
- package/dist/esm/components/business/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-drawer/index.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/index.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/token.js.map +1 -1
- package/dist/esm/components/data-model/data-form/components/form-detail/form-detail-options.js.map +1 -1
- package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
- package/dist/esm/components/data-model/data-form/composables/use-form-item.js.map +1 -1
- package/dist/esm/components/data-model/data-form/data-form-item/data-form-item.js.map +1 -1
- package/dist/esm/components/data-model/data-form/data-form.js.map +1 -1
- package/dist/esm/components/data-model/data-form/index.js.map +1 -1
- package/dist/esm/components/data-model/data-form/token.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form/form-options.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-action/column-action-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-action/column-action.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-date/column-date.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-icon/column-icon.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-image/column-image-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-json/column-json-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-json/column-json.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-link/column-link-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-object-mapping-text/column-object-mapping-text-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-select/column-select-header.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-select/column-select-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-select/column-select.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort-options.js.map +1 -1
- 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/column-sort/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-switch/column-switch-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-switch/column-switch.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-tag/column-tag-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-tag/column-tag.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-text/column-text-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-text/column-text.js.map +1 -1
- 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/batch-opt/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/esm/components/data-model/data-table/composables/use-query-params.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-column/data-table-column-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-column/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
- package/dist/esm/components/data-model/data-table/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/token.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/table-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -1
- package/dist/esm/components/data-model/data-table-pagination/data-table-pagination-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table-pagination/data-table-pagination.js.map +1 -1
- package/dist/esm/composables/use-column-component.js.map +1 -1
- package/dist/esm/composables/use-i18n.js.map +1 -1
- package/dist/esm/composables/use-single-view.js.map +1 -1
- package/dist/esm/constants/data-model.js.map +1 -1
- package/dist/esm/constants/menu.js.map +1 -1
- package/dist/esm/constants/route.js.map +1 -1
- package/dist/esm/core/MSAppClient.js.map +1 -1
- package/dist/esm/core/MkModule.js.map +1 -1
- package/dist/esm/core/PageManager.js.map +1 -1
- package/dist/esm/core/Router.js.map +1 -1
- package/dist/esm/core/UserInfo.js.map +1 -1
- package/dist/esm/core/UserSession.js.map +1 -1
- package/dist/esm/core/component/ConfigComponents.js.map +1 -1
- package/dist/esm/core/component/DataFilterComponents.js.map +1 -1
- package/dist/esm/core/component/DataTableComponents.js.map +1 -1
- package/dist/esm/core/component/DataTableHeaderComponents.js.map +1 -1
- package/dist/esm/core/menu/Menu.js.map +1 -1
- package/dist/esm/core/menu/MenuNode.js.map +1 -1
- package/dist/esm/core/tabs/Tab.js.map +1 -1
- package/dist/esm/define-data-form.js.map +1 -1
- package/dist/esm/define-data-table.js.map +1 -1
- package/dist/esm/define-data-tree.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init-application.js.map +1 -1
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/components/dialogs/dialogs.js.map +1 -1
- package/dist/esm/layouts/components/header/index.js.map +1 -1
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +1 -0
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/constants/index.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +2 -0
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +2 -0
- 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 +2 -0
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartTree.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +2 -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 +4 -7
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +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.map +1 -1
- package/dist/esm/modules/ms/components/image-select/image-select-api.js +77 -0
- package/dist/esm/modules/ms/components/image-select/image-select-api.js.map +1 -0
- package/dist/esm/modules/ms/components/image-select/image-select-panel.js +112 -0
- package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -0
- package/dist/esm/modules/ms/components/image-select/index.js +7 -0
- package/dist/esm/modules/ms/components/image-select/index.js.map +1 -0
- package/dist/esm/modules/ms/components/markdown-editor/markdown-editor.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/components/file-view/file-view.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/components/image-view/image-view.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/index.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-group-form-popover.js +1 -0
- package/dist/esm/modules/ms/components/material-list/material-group-form-popover.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-group.js +1 -0
- package/dist/esm/modules/ms/components/material-list/material-group.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/index.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/index.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-deny-ip-access-list/MsDenyIPAccessListTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-ip-white-list/MsIPWhitelistTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js +12 -2
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberNickNameColumn.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member-role/MsMemberRoleForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/ms-permission-point/MsPermissionPointDefineForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/ms-route/MsRouteForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/ms-route/MsRouteTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRoleForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRoleTable.js.map +1 -1
- package/dist/esm/modules/ms/image-upload-context/index.js +55 -0
- package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -0
- package/dist/esm/modules/ms/index.js +2 -0
- package/dist/esm/modules/ms/index.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/material-upload-context-options.js.map +1 -1
- 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.map +1 -1
- 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 +1 -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 +1 -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 +1 -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 +1 -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/components/role-permission-config/role-permission-config.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +1 -0
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/esm/page/index/404.vue.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/router-middleware/auth.js.map +1 -1
- package/dist/style/index.css +2 -2
- package/dist/style/src/components/basic/data-tree-select/data-tree-select.scss +11 -11
- package/dist/style/src/components/classify-search.scss +31 -31
- package/dist/style/src/components/code-editor.scss +7 -7
- package/dist/style/src/components/data-filter-drawer.scss +5 -5
- package/dist/style/src/components/data-table-select-dialog.scss +30 -30
- package/dist/style/src/components/form/form-detail.scss +28 -28
- package/dist/style/src/components/form/form-icon-select.scss +35 -35
- package/dist/style/src/components/image-cropper.scss +34 -34
- package/dist/style/src/components/index.scss +60 -60
- package/dist/style/src/components/material-list.scss +83 -83
- package/dist/style/src/components/page-container.scss +20 -20
- package/dist/style/src/components/pagination.scss +21 -21
- package/dist/style/src/components/table/column-sort.scss +17 -17
- package/dist/style/src/components/table/index.scss +6 -6
- package/dist/style/src/components/table/table-filter.scss +12 -12
- package/dist/style/src/components/table-view.scss +78 -78
- package/dist/style/src/index.scss +28 -28
- package/dist/style/src/modules/ms/pages/icon.scss +50 -50
- package/dist/style/src/modules/ms/pages/index.scss +3 -3
- package/dist/style/src/page/dv/index.scss +3 -3
- package/dist/style/src/page/dv/ms-menu.scss +9 -9
- package/dist/style/src/theme/theme.scss +324 -324
- package/dist/style/theme/theme.css +1 -1
- package/dist/types/components/basic/image-cropper/image-cropper-api.d.ts +2 -0
- package/dist/types/components/basic/image-cropper/image-cropper-content-options.d.ts +2 -0
- package/dist/types/components/basic/image-cropper/image-cropper-content.d.ts +6 -0
- package/dist/types/components/basic/image-cropper/index.d.ts +6 -0
- package/dist/types/modules/ms/components/image-select/image-select-api.d.ts +5 -0
- package/dist/types/modules/ms/components/image-select/image-select-panel.d.ts +8 -0
- package/dist/types/modules/ms/components/image-select/index.d.ts +3 -0
- package/dist/types/modules/ms/dataviews/ms-material/MsMaterialTable.d.ts +1 -1
- package/dist/types/modules/ms/image-upload-context/index.d.ts +13 -0
- package/dist/types/modules/ms/index.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-item.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-item.vue"],"sourcesContent":["<template>\n <ElCard\n :class=\"['mk-material-item', isSelected ? 'is-selected' : '']\"\n shadow=\"never\"\n @click.capture=\"handleClick\"\n >\n <div class=\"mk-material-item__tools\">\n <div class=\"mk-material-item__tools-item\">\n <ElDropdown>\n <MKSvgIcon iconClass=\"More\" />\n\n <template #dropdown>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 1\"\n @click=\"handleCutClick\"\n >\n 裁切\n </ElDropdownItem>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 2\"\n @click=\"handleDownloadClick\"\n >\n 下载\n </ElDropdownItem>\n <ElDropdownItem @click=\"handleMoveClick\">移动分组</ElDropdownItem>\n <ElDropdownItem @click=\"handleDeleteClick\">删除</ElDropdownItem>\n </template>\n </ElDropdown>\n </div>\n </div>\n\n <div class=\"mk-material-item__preview\">\n <MaterialComponent :src=\"material.path\" />\n </div>\n <div class=\"mk-material-item__title\">{{ material.desc }}</div>\n </ElCard>\n</template>\n\n<script setup lang=\"ts\">\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews/ms-material\";\nimport { computed, toRaw } from \"vue\";\n\nconst props = defineProps({\n materialTable: { type: MsMaterialTable, required: true },\n material: { type: Object, required: true },\n});\n\nconst emit = defineEmits([\"click\", \"move\", \"cut\", \"download\"]);\n\nconst isSelected = computed(() =>\n props.materialTable.getSelection().includes(props.material.id)\n);\n\nconst currentMaterialTypeValue = computed(\n () => props.materialTable.currentMaterialType?.value ?? null\n);\n\nconst MaterialComponent = computed(() => {\n const component =\n props.materialTable.resolveMaterialComponent(\n props.material as MsMaterial\n ) || props.materialTable.materialComponents.resolveComponent(\"MKFileView\")!;\n\n return toRaw(component.component);\n});\n\nconst handleClick = (event: MouseEvent) => {\n emit(\"click\", event);\n};\n\nconst handleDeleteClick = () => {\n props.materialTable.deleteRecord(props.material);\n};\n\nconst handleMoveClick = () => {\n emit(\"move\", props.material);\n};\n\nconst handleCutClick = () => {\n emit(\"cut\", props.material);\n};\n\nconst handleDownloadClick = () => {\n emit(\"download\", props.material);\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA0CA,UAAM,QAAQ;AAKd,UAAM,OAAO;AAEb,UAAM,aAAa;AAAA,MAAS,MAC1B,MAAM,cAAc,aAAA,EAAe,SAAS,MAAM,SAAS,EAAE;AAAA,IAAA;AAG/D,UAAM,2BAA2B;AAAA,MAC/B,MAAA;;AAAM,4BAAM,cAAc,wBAApB,mBAAyC,UAAS;AAAA;AAAA,IAAA;AAGpD,UAAA,oBAAoB,SAAS,MAAM;AACjC,YAAA,YACJ,MAAM,cAAc;AAAA,QAClB,MAAM;AAAA,MACH,KAAA,MAAM,cAAc,mBAAmB,iBAAiB,YAAY;AAEpE,aAAA,MAAM,UAAU,SAAS;AAAA,IAAA,CACjC;AAEK,UAAA,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS,KAAK;AAAA,IAAA;AAGrB,UAAM,oBAAoB,MAAM;AACxB,YAAA,cAAc,aAAa,MAAM,QAAQ;AAAA,IAAA;AAGjD,UAAM,kBAAkB,MAAM;AACvB,WAAA,QAAQ,MAAM,QAAQ;AAAA,IAAA;AAG7B,UAAM,iBAAiB,MAAM;AACtB,WAAA,OAAO,MAAM,QAAQ;AAAA,IAAA;AAG5B,UAAM,sBAAsB,MAAM;AAC3B,WAAA,YAAY,MAAM,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"material-item.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-item.vue"],"sourcesContent":["<template>\r\n <ElCard\r\n :class=\"['mk-material-item', isSelected ? 'is-selected' : '']\"\r\n shadow=\"never\"\r\n @click.capture=\"handleClick\"\r\n >\r\n <div class=\"mk-material-item__tools\">\r\n <div class=\"mk-material-item__tools-item\">\r\n <ElDropdown>\r\n <MKSvgIcon iconClass=\"More\" />\r\n\r\n <template #dropdown>\r\n <ElDropdownItem\r\n v-if=\"currentMaterialTypeValue === 1\"\r\n @click=\"handleCutClick\"\r\n >\r\n 裁切\r\n </ElDropdownItem>\r\n <ElDropdownItem\r\n v-if=\"currentMaterialTypeValue === 2\"\r\n @click=\"handleDownloadClick\"\r\n >\r\n 下载\r\n </ElDropdownItem>\r\n <ElDropdownItem @click=\"handleMoveClick\">移动分组</ElDropdownItem>\r\n <ElDropdownItem @click=\"handleDeleteClick\">删除</ElDropdownItem>\r\n </template>\r\n </ElDropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mk-material-item__preview\">\r\n <MaterialComponent :src=\"material.path\" />\r\n </div>\r\n <div class=\"mk-material-item__title\">{{ material.desc }}</div>\r\n </ElCard>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews/ms-material\";\r\nimport { computed, toRaw } from \"vue\";\r\n\r\nconst props = defineProps({\r\n materialTable: { type: MsMaterialTable, required: true },\r\n material: { type: Object, required: true },\r\n});\r\n\r\nconst emit = defineEmits([\"click\", \"move\", \"cut\", \"download\"]);\r\n\r\nconst isSelected = computed(() =>\r\n props.materialTable.getSelection().includes(props.material.id)\r\n);\r\n\r\nconst currentMaterialTypeValue = computed(\r\n () => props.materialTable.currentMaterialType?.value ?? null\r\n);\r\n\r\nconst MaterialComponent = computed(() => {\r\n const component =\r\n props.materialTable.resolveMaterialComponent(\r\n props.material as MsMaterial\r\n ) || props.materialTable.materialComponents.resolveComponent(\"MKFileView\")!;\r\n\r\n return toRaw(component.component);\r\n});\r\n\r\nconst handleClick = (event: MouseEvent) => {\r\n emit(\"click\", event);\r\n};\r\n\r\nconst handleDeleteClick = () => {\r\n props.materialTable.deleteRecord(props.material);\r\n};\r\n\r\nconst handleMoveClick = () => {\r\n emit(\"move\", props.material);\r\n};\r\n\r\nconst handleCutClick = () => {\r\n emit(\"cut\", props.material);\r\n};\r\n\r\nconst handleDownloadClick = () => {\r\n emit(\"download\", props.material);\r\n};\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA0CA,UAAM,QAAQ;AAKd,UAAM,OAAO;AAEb,UAAM,aAAa;AAAA,MAAS,MAC1B,MAAM,cAAc,aAAA,EAAe,SAAS,MAAM,SAAS,EAAE;AAAA,IAAA;AAG/D,UAAM,2BAA2B;AAAA,MAC/B,MAAA;;AAAM,4BAAM,cAAc,wBAApB,mBAAyC,UAAS;AAAA;AAAA,IAAA;AAGpD,UAAA,oBAAoB,SAAS,MAAM;AACjC,YAAA,YACJ,MAAM,cAAc;AAAA,QAClB,MAAM;AAAA,MACH,KAAA,MAAM,cAAc,mBAAmB,iBAAiB,YAAY;AAEpE,aAAA,MAAM,UAAU,SAAS;AAAA,IAAA,CACjC;AAEK,UAAA,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS,KAAK;AAAA,IAAA;AAGrB,UAAM,oBAAoB,MAAM;AACxB,YAAA,cAAc,aAAa,MAAM,QAAQ;AAAA,IAAA;AAGjD,UAAM,kBAAkB,MAAM;AACvB,WAAA,QAAQ,MAAM,QAAQ;AAAA,IAAA;AAG7B,UAAM,iBAAiB,MAAM;AACtB,WAAA,OAAO,MAAM,QAAQ;AAAA,IAAA;AAG5B,UAAM,sBAAsB,MAAM;AAC3B,WAAA,YAAY,MAAM,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\n\nexport const materialListProps = buildProps({\n materialTable: {\n type: MsMaterialTable,\n },\n selectable: {\n type: Boolean,\n default: false,\n },\n allowMaterialTypeValues: {\n type: Array,\n default: () => []\n },\n} as const);\n\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,eAAe;AAAA,IACb,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,yBAAyB;AAAA,IACvB,MAAM;AAAA,IACN,SAAS,MAAM,CAAC;AAAA,EAClB;AACF,CAAU;"}
|
|
1
|
+
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\n\r\nexport const materialListProps = buildProps({\r\n materialTable: {\r\n type: MsMaterialTable,\r\n },\r\n selectable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n allowMaterialTypeValues: {\r\n type: Array,\r\n default: () => []\r\n },\r\n} as const);\r\n\r\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,eAAe;AAAA,IACb,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,yBAAyB;AAAA,IACvB,MAAM;AAAA,IACN,SAAS,MAAM,CAAC;AAAA,EAClB;AACF,CAAU;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n Fragment,\n getCurrentInstance,\n onBeforeUnmount,\n onMounted,\n reactive,\n unref,\n watch,\n} from \"vue\";\nimport { base64ToBlob } from \"@maketribe/utils\";\nimport { DvOpt, WebFileUpload } from \"@maketribe/request\";\nimport { materialListProps } from \"./material-list-options\";\nimport MaterialGroup from \"./material-group\";\nimport {\n MsMaterial,\n MsMaterialForm,\n MsMaterialGroupNode,\n MsMaterialGroupTree,\n MsMaterialTable,\n MsMaterialType,\n} from \"../../dataviews\";\nimport {\n MKUploadFile,\n MKWebFileUploadContext,\n} from \"../../../../components/basic/upload-file\";\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\";\nimport {\n MKDataTable,\n MKDataTablePagination,\n} from \"../../../../components/data-model\";\nimport { ElButton, ElScrollbar } from \"element-plus\";\nimport MaterialItem from \"./material-item.vue\";\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\n\nconst RATIO_OPTIONS = [\n {\n value: \"1\",\n label: \"1:1\",\n width: 1,\n height: 1,\n },\n {\n value: \"2\",\n label: \"2:1\",\n width: 2,\n height: 1,\n },\n {\n value: \"3\",\n label: \"4:3\",\n width: 4,\n height: 3,\n },\n {\n value: \"3\",\n label: \"16:9\",\n width: 16,\n height: 9,\n },\n];\n\nexport default defineComponent({\n name: \"MKMaterialList\",\n props: materialListProps,\n setup(props) {\n const materialGroupTree = reactive(\n new MsMaterialGroupTree()\n ) as MsMaterialGroupTree;\n\n const webFileUpload = new WebFileUpload();\n\n const _materialTable = reactive(new MsMaterialTable());\n\n const materialForm = reactive(\n new (class extends MsMaterialForm {\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({\n name: \"materialGroupId\",\n label: \"素材组\",\n componentInfo: \"MKDataTreeSelect\",\n componentProps: {\n dataTree: this.register(new MsMaterialGroupTree()),\n checkStrictly: false,\n },\n }),\n ]);\n }\n })()\n ) as MsMaterialForm;\n\n const materialTable = computed(\n () => (props.materialTable ?? _materialTable) as MsMaterialTable\n );\n\n const loading = computed(() => unref(materialTable).loading);\n\n const materialTypes = computed(() =>\n unref(materialTable).getMaterialTypes()\n );\n\n const currentMaterialType = computed(\n () => unref(materialTable).currentMaterialType\n );\n\n const currentMaterialTypeId = computed(\n () => unref(currentMaterialType)?.value ?? \"\"\n );\n\n const materialList = computed(() => unref(materialTable).getList());\n\n onBeforeUnmount(() => {\n _materialTable.dispose();\n materialGroupTree.dispose();\n materialForm.dispose();\n });\n\n onMounted(() => {\n const instance = getCurrentInstance();\n\n watch(\n materialTable,\n (materialTable, _, onCleanup) => {\n const disposable = materialTable.afterInitdEvent.on(() => {\n materialTable.setAllowMaterialTypeValues(\n props.allowMaterialTypeValues as MsMaterialType[\"value\"][]\n );\n });\n\n onCleanup(() => {\n disposable.dispose();\n });\n },\n { immediate: true }\n );\n\n watch(\n computed(() => props.allowMaterialTypeValues),\n (allowMaterialTypeValues) => {\n unref(materialTable).setAllowMaterialTypeValues(\n allowMaterialTypeValues as MsMaterialType[\"value\"][]\n );\n }\n );\n });\n\n watch(\n materialTable,\n (materialTable, _, onCleanup) => {\n const disposable = materialTable.deleteRecordEvent.on(\n async ({ item }) => {\n const isConfirm = await Dialoger.confirm({\n message: \"是否确认删除\",\n title: \"素材删除\",\n type: \"warning\",\n });\n\n if (!isConfirm) {\n return;\n }\n\n materialTable.deleteAfterRefresh(item);\n }\n );\n\n onCleanup(() => {\n disposable.dispose();\n });\n },\n { immediate: true }\n );\n\n const handleMaterialTypeClick = (materialType: MsMaterialType) => {\n if (materialType.value === unref(currentMaterialTypeId)) {\n return;\n }\n\n unref(materialTable).setCurrentMaterialType(materialType);\n };\n\n materialGroupTree.selectionChangeEvent.on(() => {\n const currentGroupId = materialGroupTree.getSelection()[0];\n\n if (!currentGroupId) {\n unref(materialTable).setList([]);\n }\n\n unref(materialTable).setCurrentMaterialGroupId(currentGroupId);\n });\n\n function getDefaultSelectMaterialGroup(\n nodes: MsMaterialGroupNode[]\n ): MsMaterialGroupNode | null {\n if (!nodes.length) {\n return null;\n }\n\n return getDefaultSelectMaterialGroup(nodes[0].children) ?? nodes[0];\n }\n\n materialGroupTree.afterLoadEvent.on(() => {\n const list = materialGroupTree.getList();\n\n const defaultSelectGroup = getDefaultSelectMaterialGroup(list);\n\n if (defaultSelectGroup) {\n materialGroupTree.setSelection([defaultSelectGroup.id]);\n }\n });\n\n materialForm.submittedEvent.on(() => {\n unref(materialTable).load();\n });\n\n const handleMaterialItemClick = (\n event: MouseEvent,\n material: MsMaterial\n ) => {\n if (!props.selectable) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n unref(materialTable).setSelection([material.id]);\n };\n\n const handleMoveClick = (material: MsMaterial) => {\n Dialoger.dataFormDialog({\n recId: material.id,\n title: \"设置素材分组\",\n dataForm: materialForm,\n });\n };\n\n const handleCutClick = async (material: MsMaterial) => {\n const cropperResult = await ImageCropper({\n src: material.path,\n ratioOptions: RATIO_OPTIONS,\n });\n\n if (!cropperResult.isConfirm) {\n return;\n }\n\n const handleOverrideClick = async () => {\n try {\n const blob = base64ToBlob(cropperResult.data);\n\n const uploadResponse = await webFileUpload.upload(\n new File([blob], material.desc, { type: blob.type })\n );\n\n if (uploadResponse.data.code !== 200) {\n Messager.error({ message: uploadResponse.data.msg });\n return;\n }\n\n const response = await DvOpt.createInstance({\n name: \"mk-material\",\n }).save({\n ...material,\n path: uploadResponse.data.data.path,\n });\n\n if (response.code !== 200) {\n Messager.error({ message: response.msg });\n return;\n }\n\n unref(materialTable).load();\n } catch {\n Messager.error({ message: \"网络异常\" });\n } finally {\n dialogInstance.destroy();\n }\n };\n\n const handleNewClick = async () => {\n try {\n const blob = base64ToBlob(cropperResult.data);\n\n const result = await unref(materialTable).upload.upload(\n new File([blob], material.desc, { type: blob.type })\n );\n\n if (result.data.code !== 200) {\n Messager.error({ message: result.data.msg });\n return;\n }\n } catch {\n Messager.error({ message: \"网络异常\" });\n } finally {\n dialogInstance.destroy();\n }\n };\n\n const handleCancelClick = () => {\n dialogInstance.destroy();\n };\n\n const dialogInstance = Dialoger.customRender({\n title: \"提示\",\n width: \"400px\",\n onClose: handleCancelClick,\n body: () => \"修改已存在的素材。是新建新素材还是覆盖现有素材\",\n footer: () => {\n return (\n <Fragment>\n <ElButton type=\"danger\" onClick={handleOverrideClick}>\n 覆盖\n </ElButton>\n <ElButton type=\"primary\" onClick={handleNewClick}>\n 新建\n </ElButton>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n </Fragment>\n );\n },\n });\n };\n\n const handleDownload = () => {};\n\n return () => {\n const materialTypeVNodes = unref(materialTypes).map((materialType) => {\n const className = [\n \"mk-material-list__type\",\n unref(currentMaterialTypeId) === materialType.value\n ? \"is-active\"\n : \"\",\n ];\n\n return (\n <div\n key={materialType.value}\n class={className}\n onClick={() => handleMaterialTypeClick(materialType)}\n >\n {materialType.label}\n </div>\n );\n });\n\n let currentMaterialTypeVNode: any = null;\n\n if (unref(currentMaterialType)) {\n currentMaterialTypeVNode = (\n <Fragment>\n <span>\n {unref(currentMaterialType)!.label}大小不超过\n {unref(currentMaterialType)!.limit} M\n </span>\n <MKWebFileUploadContext\n webFileUpload={unref(materialTable).upload}\n accept={unref(currentMaterialType)!.accept}\n >\n <MKUploadFile>\n <ElButton type=\"primary\">\n 选择{unref(currentMaterialType)!.label}\n </ElButton>\n </MKUploadFile>\n </MKWebFileUploadContext>\n </Fragment>\n );\n }\n\n const materialListVNodes = unref(materialList).map((material) => (\n <MaterialItem\n key={material.id}\n class=\"mk-material-list__item\"\n materialTable={unref(materialTable)}\n material={material}\n onMove={handleMoveClick}\n onCut={handleCutClick}\n onDownload={handleDownload}\n onClick={\n ((event: MouseEvent) =>\n handleMaterialItemClick(event, material)) as any\n }\n />\n ));\n\n return (\n <div class=\"mk-material-list\">\n <MaterialGroup materialGroupTree={unref(materialGroupTree)} />\n\n <div class=\"mk-material-list__main\" v-loading={unref(loading)}>\n <div class=\"mk-material-list__header\">\n <div class=\"mk-material-list__header-left\">\n <div class=\"mk-material-list__types\">{materialTypeVNodes}</div>\n </div>\n <div class=\"mk-material-list__header-right\">\n {currentMaterialTypeVNode}\n </div>\n </div>\n\n <div class=\"mk-material-list__body\">\n <MKDataTable dataTable={unref(materialTable)} autoLoad={false}>\n <ElScrollbar height=\"100%\">\n <div class=\"mk-material-list__wrapper\">\n {materialListVNodes}\n </div>\n </ElScrollbar>\n <div class=\"mk-material-list__footer\">\n <MKDataTablePagination dataTable={unref(materialTable)} />\n </div>\n </MKDataTable>\n </div>\n </div>\n </div>\n );\n };\n },\n});\n"],"names":["RATIO_OPTIONS","value","label","width","height","defineComponent","name","props","materialListProps","setup","materialGroupTree","reactive","MsMaterialGroupTree","webFileUpload","WebFileUpload","_materialTable","MsMaterialTable","materialForm","MsMaterialForm","initialize","setColumns","FormColumn","componentInfo","componentProps","dataTree","register","checkStrictly","materialTable","computed","loading","unref","materialTypes","getMaterialTypes","currentMaterialType","currentMaterialTypeId","materialList","getList","onBeforeUnmount","dispose","onMounted","getCurrentInstance","watch","_","onCleanup","disposable","afterInitdEvent","on","setAllowMaterialTypeValues","allowMaterialTypeValues","immediate","deleteRecordEvent","item","isConfirm","Dialoger","confirm","message","title","type","deleteAfterRefresh","handleMaterialTypeClick","materialType","setCurrentMaterialType","selectionChangeEvent","currentGroupId","getSelection","setList","setCurrentMaterialGroupId","getDefaultSelectMaterialGroup","nodes","length","children","afterLoadEvent","list","defaultSelectGroup","setSelection","id","submittedEvent","load","handleMaterialItemClick","event","material","selectable","preventDefault","stopPropagation","handleMoveClick","dataFormDialog","recId","dataForm","handleCutClick","cropperResult","ImageCropper","src","path","ratioOptions","handleOverrideClick","blob","base64ToBlob","data","uploadResponse","upload","File","desc","code","Messager","error","msg","response","DvOpt","createInstance","save","dialogInstance","destroy","handleNewClick","result","handleCancelClick","customRender","onClose","body","footer","_createVNode","_Fragment","ElButton","default","_createTextVNode","handleDownload","materialTypeVNodes","map","className","onClick","currentMaterialTypeVNode","limit","MKWebFileUploadContext","accept","MKUploadFile","materialListVNodes","MaterialItem","MaterialGroup","_withDirectives","MKDataTable","ElScrollbar","MKDataTablePagination","_resolveDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAMA,gBAAgB,CACpB;AAAA,EACEC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,QAAQ;AACV,GACA;AAAA,EACEH,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,QAAQ;AACV,GACA;AAAA,EACEH,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,QAAQ;AACV,GACA;AAAA,EACEH,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,QAAQ;AACV,CAAC;AAGH,MAAeC,+CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,UAAMG,oBAAoBC,SACxB,IAAIC,oBACN,CAAA;AAEA,UAAMC,gBAAgB,IAAIC;AAE1B,UAAMC,iBAAiBJ,SAAS,IAAIK,gBAAiB,CAAA;AAErD,UAAMC,eAAeN,SACnB,IAAK,cAAcO,eAAe;AAAA,MAChC,MAAgBC,aAAa;AAC3B,cAAM,MAAMA;AAEZ,aAAKC,WAAW,CACd,IAAIC,WAAW;AAAA,UACbf,MAAM;AAAA,UACNJ,OAAO;AAAA,UACPoB,eAAe;AAAA,UACfC,gBAAgB;AAAA,YACdC,UAAU,KAAKC,SAAS,IAAIb,oBAAmB,CAAE;AAAA,YACjDc,eAAe;AAAA,UACjB;AAAA,QACD,CAAA,CAAC,CACH;AAAA,MACH;AAAA,IACD,EAAA,CACH;AAEA,UAAMC,gBAAgBC,SACpB,MAAOrB,MAAMoB,iBAAiBZ,cAChC;AAEA,UAAMc,UAAUD,SAAS,MAAME,MAAMH,aAAa,EAAEE,OAAO;AAE3D,UAAME,gBAAgBH,SAAS,MAC7BE,MAAMH,aAAa,EAAEK,iBAAgB,CACvC;AAEA,UAAMC,sBAAsBL,SAC1B,MAAME,MAAMH,aAAa,EAAEM,mBAC7B;AAEA,UAAMC,wBAAwBN,SAC5B,MAAME;;AAAAA,0BAAMG,mBAAmB,MAAzBH,mBAA4B7B,UAAS;AAAA,KAC7C;AAEA,UAAMkC,eAAeP,SAAS,MAAME,MAAMH,aAAa,EAAES,QAAO,CAAE;AAElEC,oBAAgB,MAAM;AACpBtB,qBAAeuB,QAAO;AACtB5B,wBAAkB4B,QAAO;AACzBrB,mBAAaqB,QAAO;AAAA,IACtB,CAAC;AAEDC,cAAU,MAAM;AACGC,yBAAoB;AAErCC,YACEd,eACA,CAACA,gBAAee,GAAGC,cAAc;AAC/B,cAAMC,aAAajB,eAAckB,gBAAgBC,GAAG,MAAM;AACxDnB,UAAAA,eAAcoB,2BACZxC,MAAMyC,uBACR;AAAA,QACF,CAAC;AAEDL,kBAAU,MAAM;AACdC,qBAAWN,QAAO;AAAA,QACpB,CAAC;AAAA,MACH,GACA;AAAA,QAAEW,WAAW;AAAA,MAAK,CACpB;AAEAR,YACEb,SAAS,MAAMrB,MAAMyC,uBAAuB,GAC3CA,6BAA4B;AAC3BlB,cAAMH,aAAa,EAAEoB,2BACnBC,uBACF;AAAA,MACF,CACF;AAAA,IACF,CAAC;AAEDP,UACEd,eACA,CAACA,gBAAee,GAAGC,cAAc;AAC/B,YAAMC,aAAajB,eAAcuB,kBAAkBJ,GACjD,OAAO;AAAA,QAAEK;AAAAA,MAAK,MAAM;AAClB,cAAMC,YAAY,MAAMC,SAASC,QAAQ;AAAA,UACvCC,SAAS;AAAA,UACTC,OAAO;AAAA,UACPC,MAAM;AAAA,QACR,CAAC;AAED,YAAI,CAACL,WAAW;AACd;AAAA,QACF;AAEAzB,QAAAA,eAAc+B,mBAAmBP,IAAI;AAAA,MACvC,CACF;AAEAR,gBAAU,MAAM;AACdC,mBAAWN,QAAO;AAAA,MACpB,CAAC;AAAA,IACH,GACA;AAAA,MAAEW,WAAW;AAAA,IAAK,CACpB;AAEA,UAAMU,0BAA2BC,kBAAiC;AAChE,UAAIA,aAAa3D,UAAU6B,MAAMI,qBAAqB,GAAG;AACvD;AAAA,MACF;AAEAJ,YAAMH,aAAa,EAAEkC,uBAAuBD,YAAY;AAAA;AAG1DlD,sBAAkBoD,qBAAqBhB,GAAG,MAAM;AAC9C,YAAMiB,iBAAiBrD,kBAAkBsD,aAAc,EAAC,CAAC;AAEzD,UAAI,CAACD,gBAAgB;AACnBjC,cAAMH,aAAa,EAAEsC,QAAQ,CAAE,CAAA;AAAA,MACjC;AAEAnC,YAAMH,aAAa,EAAEuC,0BAA0BH,cAAc;AAAA,IAC/D,CAAC;AAED,aAASI,8BACPC,OAC4B;AAC5B,UAAI,CAACA,MAAMC,QAAQ;AACjB,eAAO;AAAA,MACT;AAEA,aAAOF,8BAA8BC,MAAM,CAAC,EAAEE,QAAQ,KAAKF,MAAM,CAAC;AAAA,IACpE;AAEA1D,sBAAkB6D,eAAezB,GAAG,MAAM;AACxC,YAAM0B,OAAO9D,kBAAkB0B;AAE/B,YAAMqC,qBAAqBN,8BAA8BK,IAAI;AAE7D,UAAIC,oBAAoB;AACtB/D,0BAAkBgE,aAAa,CAACD,mBAAmBE,EAAE,CAAC;AAAA,MACxD;AAAA,IACF,CAAC;AAED1D,iBAAa2D,eAAe9B,GAAG,MAAM;AACnChB,YAAMH,aAAa,EAAEkD;IACvB,CAAC;AAED,UAAMC,0BAA0BA,CAC9BC,OACAC,aACG;AACH,UAAI,CAACzE,MAAM0E,YAAY;AACrB;AAAA,MACF;AAEAF,YAAMG,eAAc;AACpBH,YAAMI,gBAAe;AAErBrD,YAAMH,aAAa,EAAE+C,aAAa,CAACM,SAASL,EAAE,CAAC;AAAA;AAGjD,UAAMS,kBAAmBJ,cAAyB;AAChD3B,eAASgC,eAAe;AAAA,QACtBC,OAAON,SAASL;AAAAA,QAChBnB,OAAO;AAAA,QACP+B,UAAUtE;AAAAA,MACZ,CAAC;AAAA;AAGH,UAAMuE,iBAAiB,OAAOR,aAAyB;AACrD,YAAMS,gBAAgB,MAAMC,aAAa;AAAA,QACvCC,KAAKX,SAASY;AAAAA,QACdC,cAAc7F;AAAAA,MAChB,CAAC;AAED,UAAI,CAACyF,cAAcrC,WAAW;AAC5B;AAAA,MACF;AAEA,YAAM0C,sBAAsB,YAAY;AACtC,YAAI;AACF,gBAAMC,OAAOC,aAAaP,cAAcQ,IAAI;AAE5C,gBAAMC,iBAAiB,MAAMrF,cAAcsF,OACzC,IAAIC,KAAK,CAACL,IAAI,GAAGf,SAASqB,MAAM;AAAA,YAAE5C,MAAMsC,KAAKtC;AAAAA,UAAM,CAAA,CACrD;AAEA,cAAIyC,eAAeD,KAAKK,SAAS,KAAK;AACpCC,qBAASC,MAAM;AAAA,cAAEjD,SAAS2C,eAAeD,KAAKQ;AAAAA,YAAI,CAAC;AACnD;AAAA,UACF;AAEA,gBAAMC,WAAW,MAAMC,MAAMC,eAAe;AAAA,YAC1CtG,MAAM;AAAA,UACP,CAAA,EAAEuG,KAAK;AAAA,YACN,GAAG7B;AAAAA,YACHY,MAAMM,eAAeD,KAAKA,KAAKL;AAAAA,UACjC,CAAC;AAED,cAAIc,SAASJ,SAAS,KAAK;AACzBC,qBAASC,MAAM;AAAA,cAAEjD,SAASmD,SAASD;AAAAA,YAAI,CAAC;AACxC;AAAA,UACF;AAEA3E,gBAAMH,aAAa,EAAEkD;QACvB,QAAQ;AACN0B,mBAASC,MAAM;AAAA,YAAEjD,SAAS;AAAA,UAAO,CAAC;AAAA,QACpC,UAAU;AACRuD,yBAAeC,QAAO;AAAA,QACxB;AAAA;AAGF,YAAMC,iBAAiB,YAAY;AACjC,YAAI;AACF,gBAAMjB,OAAOC,aAAaP,cAAcQ,IAAI;AAE5C,gBAAMgB,SAAS,MAAMnF,MAAMH,aAAa,EAAEwE,OAAOA,OAC/C,IAAIC,KAAK,CAACL,IAAI,GAAGf,SAASqB,MAAM;AAAA,YAAE5C,MAAMsC,KAAKtC;AAAAA,UAAM,CAAA,CACrD;AAEA,cAAIwD,OAAOhB,KAAKK,SAAS,KAAK;AAC5BC,qBAASC,MAAM;AAAA,cAAEjD,SAAS0D,OAAOhB,KAAKQ;AAAAA,YAAI,CAAC;AAC3C;AAAA,UACF;AAAA,QACF,QAAQ;AACNF,mBAASC,MAAM;AAAA,YAAEjD,SAAS;AAAA,UAAO,CAAC;AAAA,QACpC,UAAU;AACRuD,yBAAeC,QAAO;AAAA,QACxB;AAAA;AAGF,YAAMG,oBAAoBA,MAAM;AAC9BJ,uBAAeC,QAAO;AAAA;AAGxB,YAAMD,iBAAiBzD,SAAS8D,aAAa;AAAA,QAC3C3D,OAAO;AAAA,QACPrD,OAAO;AAAA,QACPiH,SAASF;AAAAA,QACTG,MAAMA,MAAM;AAAA,QACZC,QAAQA,MAAM;AACZ,iBAAAC,YAAAC,UAAAD,MAAAA,CAAAA,YAAAE,UAAA;AAAA,YAAA,QAAA;AAAA,YAAA,WAEqC3B;AAAAA,UAAmB,GAAA;AAAA,YAAA4B,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,WAAAJ,GAAAA,YAAAE,UAAA;AAAA,YAAA,QAAA;AAAA,YAAA,WAGlBT;AAAAA,UAAc,GAAA;AAAA,YAAAU,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,WAAAJ,GAAAA,YAAAE,UAAA;AAAA,YAAA,WAG7BP;AAAAA,UAAiB,GAAA;AAAA,YAAAQ,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,UAAA,CAAA,CAAA,CAAA;AAAA,QAG1C;AAAA,MACF,CAAC;AAAA;AAGH,UAAMC,iBAAiBA,MAAM;AAAA;AAE7B,WAAO,MAAM;AACX,YAAMC,qBAAqB/F,MAAMC,aAAa,EAAE+F,IAAKlE,kBAAiB;AACpE,cAAMmE,YAAY,CAChB,0BACAjG,MAAMI,qBAAqB,MAAM0B,aAAa3D,QAC1C,cACA,EAAE;AAGR,eAAAsH,YAAA,OAAA;AAAA,UAAA,OAES3D,aAAa3D;AAAAA,UAAK,SAChB8H;AAAAA,UAAS,WACPC,MAAMrE,wBAAwBC,YAAY;AAAA,WAElDA,CAAAA,aAAa1D,KAAK,CAAA;AAAA,MAGzB,CAAC;AAED,UAAI+H,2BAAgC;AAEpC,UAAInG,MAAMG,mBAAmB,GAAG;AAC9BgG,mCAAwBV,YAAAC,UAAA,MAAA,CAAAD,YAAA,QAAA,MAAA,CAGjBzF,MAAMG,mBAAmB,EAAG/B,OAAKyH,gBACjC7F,OAAAA,GAAAA,MAAMG,mBAAmB,EAAGiG,OAAKP,gBAAA,IAAA,CAAA,CAAA,GAAAJ,YAAAY,wBAAA;AAAA,UAAA,iBAGnBrG,MAAMH,aAAa,EAAEwE;AAAAA,UAAM,UAClCrE,MAAMG,mBAAmB,EAAGmG;AAAAA,QAAM,GAAA;AAAA,UAAAV,SAAAA,MAAAH,CAAAA,YAAAc,cAAA,MAAA;AAAA,YAAAX,SAAAA,MAAAH,CAAAA,YAAAE,UAAA;AAAA,cAAA,QAAA;AAAA,YAAA,GAAA;AAAA,cAAAC,SAAAA,MAAA,CAAAC,gBAAA,IAAA,GAInC7F,MAAMG,mBAAmB,EAAG/B,KAAK;AAAA,YAAA,CAAA,CAAA;AAAA,UAAA,CAAA,CAAA;AAAA,QAK7C,CAAA,CAAA,CAAA;AAAA,MACH;AAEA,YAAMoI,qBAAqBxG,MAAMK,YAAY,EAAE2F,IAAK9C,cAAQuC,YAAAgB,WAAA;AAAA,QAAA,OAEnDvD,SAASL;AAAAA,QAAE,SAAA;AAAA,QAAA,iBAED7C,MAAMH,aAAa;AAAA,QAAC,YACzBqD;AAAAA,QAAQ,UACVI;AAAAA,QAAe,SAChBI;AAAAA,QAAc,cACToC;AAAAA,QAAc,WAEtB7C,WACAD,wBAAwBC,OAAOC,QAAQ;AAAA,MAAC,GAAA,IAAA,CAG/C;AAED,aAAAuC,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,YAAAiB,eAAA;AAAA,QAAA,qBAEsC1G,MAAMpB,iBAAiB;AAAA,MAAC+H,GAAAA,IAAAA,GAAAA,eAAAlB,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAKdM,GAAAA,CAAAA,kBAAkB,MAAAN,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAGvDU,GAAAA,CAAAA,wBAAwB,MAAAV,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,YAAAmB,aAAA;AAAA,QAAA,aAKH5G,MAAMH,aAAa;AAAA,QAAC,YAAY;AAAA,MAAK,GAAA;AAAA,QAAA+F,SAAAA,MAAAH,CAAAA,YAAAoB,aAAA;AAAA,UAAA,UAAA;AAAA,QAAA,GAAA;AAAA,UAAAjB,SAAAA,MAAA,CAAAH,YAAA,OAAA;AAAA,YAAA,SAAA;AAAA,UAAA,GAAA,CAGtDe,kBAAkB,CAAA,CAAA;AAAA,QAAA,CAAA,GAAAf,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAqB,uBAAA;AAAA,UAAA,aAIa9G,MAAMH,aAAa;AAAA,QAAC,GAAA,IAAA,CAAA,CAAA,CAAA;AAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAAkH,iBAAA,SAAA,GAlBf/G,MAAMD,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA;AAAA;EA0BrE;AACF,CAAC;"}
|
|
1
|
+
{"version":3,"file":"material-list.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n Fragment,\r\n getCurrentInstance,\r\n onBeforeUnmount,\r\n onMounted,\r\n reactive,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { base64ToBlob } from \"@maketribe/utils\";\r\nimport { DvOpt, WebFileUpload } from \"@maketribe/request\";\r\nimport { materialListProps } from \"./material-list-options\";\r\nimport MaterialGroup from \"./material-group\";\r\nimport {\r\n MsMaterial,\r\n MsMaterialForm,\r\n MsMaterialGroupNode,\r\n MsMaterialGroupTree,\r\n MsMaterialTable,\r\n MsMaterialType,\r\n} from \"../../dataviews\";\r\nimport {\r\n MKUploadFile,\r\n MKWebFileUploadContext,\r\n} from \"../../../../components/basic/upload-file\";\r\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\";\r\nimport {\r\n MKDataTable,\r\n MKDataTablePagination,\r\n} from \"../../../../components/data-model\";\r\nimport { ElButton, ElScrollbar } from \"element-plus\";\r\nimport MaterialItem from \"./material-item.vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\n\r\nconst RATIO_OPTIONS = [\r\n {\r\n value: \"1\",\r\n label: \"1:1\",\r\n width: 1,\r\n height: 1,\r\n },\r\n {\r\n value: \"2\",\r\n label: \"2:1\",\r\n width: 2,\r\n height: 1,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"4:3\",\r\n width: 4,\r\n height: 3,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"16:9\",\r\n width: 16,\r\n height: 9,\r\n },\r\n];\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialList\",\r\n props: materialListProps,\r\n setup(props) {\r\n const materialGroupTree = reactive(\r\n new MsMaterialGroupTree()\r\n ) as MsMaterialGroupTree;\r\n\r\n const webFileUpload = new WebFileUpload();\r\n\r\n const _materialTable = reactive(new MsMaterialTable());\r\n\r\n const materialForm = reactive(\r\n new (class extends MsMaterialForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"materialGroupId\",\r\n label: \"素材组\",\r\n componentInfo: \"MKDataTreeSelect\",\r\n componentProps: {\r\n dataTree: this.register(new MsMaterialGroupTree()),\r\n checkStrictly: false,\r\n },\r\n }),\r\n ]);\r\n }\r\n })()\r\n ) as MsMaterialForm;\r\n\r\n const materialTable = computed(\r\n () => (props.materialTable ?? _materialTable) as MsMaterialTable\r\n );\r\n\r\n const loading = computed(() => unref(materialTable).loading);\r\n\r\n const materialTypes = computed(() =>\r\n unref(materialTable).getMaterialTypes()\r\n );\r\n\r\n const currentMaterialType = computed(\r\n () => unref(materialTable).currentMaterialType\r\n );\r\n\r\n const currentMaterialTypeId = computed(\r\n () => unref(currentMaterialType)?.value ?? \"\"\r\n );\r\n\r\n const materialList = computed(() => unref(materialTable).getList());\r\n\r\n onBeforeUnmount(() => {\r\n _materialTable.dispose();\r\n materialGroupTree.dispose();\r\n materialForm.dispose();\r\n });\r\n\r\n onMounted(() => {\r\n const instance = getCurrentInstance();\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.afterInitdEvent.on(() => {\r\n materialTable.setAllowMaterialTypeValues(\r\n props.allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n });\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n watch(\r\n computed(() => props.allowMaterialTypeValues),\r\n (allowMaterialTypeValues) => {\r\n unref(materialTable).setAllowMaterialTypeValues(\r\n allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n }\r\n );\r\n });\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.deleteRecordEvent.on(\r\n async ({ item }) => {\r\n const isConfirm = await Dialoger.confirm({\r\n message: \"是否确认删除\",\r\n title: \"素材删除\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n materialTable.deleteAfterRefresh(item);\r\n }\r\n );\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleMaterialTypeClick = (materialType: MsMaterialType) => {\r\n if (materialType.value === unref(currentMaterialTypeId)) {\r\n return;\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialType(materialType);\r\n };\r\n\r\n materialGroupTree.selectionChangeEvent.on(() => {\r\n const currentGroupId = materialGroupTree.getSelection()[0];\r\n\r\n if (!currentGroupId) {\r\n unref(materialTable).setList([]);\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialGroupId(currentGroupId);\r\n });\r\n\r\n function getDefaultSelectMaterialGroup(\r\n nodes: MsMaterialGroupNode[]\r\n ): MsMaterialGroupNode | null {\r\n if (!nodes.length) {\r\n return null;\r\n }\r\n\r\n return getDefaultSelectMaterialGroup(nodes[0].children) ?? nodes[0];\r\n }\r\n\r\n materialGroupTree.afterLoadEvent.on(() => {\r\n const list = materialGroupTree.getList();\r\n\r\n const defaultSelectGroup = getDefaultSelectMaterialGroup(list);\r\n\r\n if (defaultSelectGroup) {\r\n materialGroupTree.setSelection([defaultSelectGroup.id]);\r\n }\r\n });\r\n\r\n materialForm.submittedEvent.on(() => {\r\n unref(materialTable).load();\r\n });\r\n\r\n const handleMaterialItemClick = (\r\n event: MouseEvent,\r\n material: MsMaterial\r\n ) => {\r\n if (!props.selectable) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n unref(materialTable).setSelection([material.id]);\r\n };\r\n\r\n const handleMoveClick = (material: MsMaterial) => {\r\n Dialoger.dataFormDialog({\r\n recId: material.id,\r\n title: \"设置素材分组\",\r\n dataForm: materialForm,\r\n });\r\n };\r\n\r\n const handleCutClick = async (material: MsMaterial) => {\r\n const cropperResult = await ImageCropper({\r\n src: material.path,\r\n ratioOptions: RATIO_OPTIONS,\r\n });\r\n\r\n if (!cropperResult.isConfirm) {\r\n return;\r\n }\r\n\r\n const handleOverrideClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const uploadResponse = await webFileUpload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (uploadResponse.data.code !== 200) {\r\n Messager.error({ message: uploadResponse.data.msg });\r\n return;\r\n }\r\n\r\n const response = await DvOpt.createInstance({\r\n name: \"mk-material\",\r\n }).save({\r\n ...material,\r\n path: uploadResponse.data.data.path,\r\n });\r\n\r\n if (response.code !== 200) {\r\n Messager.error({ message: response.msg });\r\n return;\r\n }\r\n\r\n unref(materialTable).load();\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleNewClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const result = await unref(materialTable).upload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (result.data.code !== 200) {\r\n Messager.error({ message: result.data.msg });\r\n return;\r\n }\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"提示\",\r\n width: \"400px\",\r\n onClose: handleCancelClick,\r\n body: () => \"修改已存在的素材。是新建新素材还是覆盖现有素材\",\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton type=\"danger\" onClick={handleOverrideClick}>\r\n 覆盖\r\n </ElButton>\r\n <ElButton type=\"primary\" onClick={handleNewClick}>\r\n 新建\r\n </ElButton>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n };\r\n\r\n const handleDownload = () => {};\r\n\r\n return () => {\r\n const materialTypeVNodes = unref(materialTypes).map((materialType) => {\r\n const className = [\r\n \"mk-material-list__type\",\r\n unref(currentMaterialTypeId) === materialType.value\r\n ? \"is-active\"\r\n : \"\",\r\n ];\r\n\r\n return (\r\n <div\r\n key={materialType.value}\r\n class={className}\r\n onClick={() => handleMaterialTypeClick(materialType)}\r\n >\r\n {materialType.label}\r\n </div>\r\n );\r\n });\r\n\r\n let currentMaterialTypeVNode: any = null;\r\n\r\n if (unref(currentMaterialType)) {\r\n currentMaterialTypeVNode = (\r\n <Fragment>\r\n <span>\r\n {unref(currentMaterialType)!.label}大小不超过\r\n {unref(currentMaterialType)!.limit} M\r\n </span>\r\n <MKWebFileUploadContext\r\n webFileUpload={unref(materialTable).upload}\r\n accept={unref(currentMaterialType)!.accept}\r\n >\r\n <MKUploadFile>\r\n <ElButton type=\"primary\">\r\n 选择{unref(currentMaterialType)!.label}\r\n </ElButton>\r\n </MKUploadFile>\r\n </MKWebFileUploadContext>\r\n </Fragment>\r\n );\r\n }\r\n\r\n const materialListVNodes = unref(materialList).map((material) => (\r\n <MaterialItem\r\n key={material.id}\r\n class=\"mk-material-list__item\"\r\n materialTable={unref(materialTable)}\r\n material={material}\r\n onMove={handleMoveClick}\r\n onCut={handleCutClick}\r\n onDownload={handleDownload}\r\n onClick={\r\n ((event: MouseEvent) =>\r\n handleMaterialItemClick(event, material)) as any\r\n }\r\n />\r\n ));\r\n\r\n return (\r\n <div class=\"mk-material-list\">\r\n <MaterialGroup materialGroupTree={unref(materialGroupTree)} />\r\n\r\n <div class=\"mk-material-list__main\" v-loading={unref(loading)}>\r\n <div class=\"mk-material-list__header\">\r\n <div class=\"mk-material-list__header-left\">\r\n <div class=\"mk-material-list__types\">{materialTypeVNodes}</div>\r\n </div>\r\n <div class=\"mk-material-list__header-right\">\r\n {currentMaterialTypeVNode}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mk-material-list__body\">\r\n <MKDataTable dataTable={unref(materialTable)} autoLoad={false}>\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"mk-material-list__wrapper\">\r\n {materialListVNodes}\r\n </div>\r\n </ElScrollbar>\r\n <div class=\"mk-material-list__footer\">\r\n <MKDataTablePagination dataTable={unref(materialTable)} />\r\n </div>\r\n </MKDataTable>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["RATIO_OPTIONS","value","label","width","height","defineComponent","name","props","materialListProps","setup","materialGroupTree","reactive","MsMaterialGroupTree","webFileUpload","WebFileUpload","_materialTable","MsMaterialTable","materialForm","MsMaterialForm","initialize","setColumns","FormColumn","componentInfo","componentProps","dataTree","register","checkStrictly","materialTable","computed","loading","unref","materialTypes","getMaterialTypes","currentMaterialType","currentMaterialTypeId","materialList","getList","onBeforeUnmount","dispose","onMounted","getCurrentInstance","watch","_","onCleanup","disposable","afterInitdEvent","on","setAllowMaterialTypeValues","allowMaterialTypeValues","immediate","deleteRecordEvent","item","isConfirm","Dialoger","confirm","message","title","type","deleteAfterRefresh","handleMaterialTypeClick","materialType","setCurrentMaterialType","selectionChangeEvent","currentGroupId","getSelection","setList","setCurrentMaterialGroupId","getDefaultSelectMaterialGroup","nodes","length","children","afterLoadEvent","list","defaultSelectGroup","setSelection","id","submittedEvent","load","handleMaterialItemClick","event","material","selectable","preventDefault","stopPropagation","handleMoveClick","dataFormDialog","recId","dataForm","handleCutClick","cropperResult","ImageCropper","src","path","ratioOptions","handleOverrideClick","blob","base64ToBlob","data","uploadResponse","upload","File","desc","code","Messager","error","msg","response","DvOpt","createInstance","save","dialogInstance","destroy","handleNewClick","result","handleCancelClick","customRender","onClose","body","footer","_createVNode","_Fragment","ElButton","default","_createTextVNode","handleDownload","materialTypeVNodes","map","className","onClick","currentMaterialTypeVNode","limit","MKWebFileUploadContext","accept","MKUploadFile","materialListVNodes","MaterialItem","MaterialGroup","_withDirectives","MKDataTable","ElScrollbar","MKDataTablePagination","_resolveDirective"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/modules/ms/components/material-select/index.ts"],"sourcesContent":["import MaterialSelect from \"./material-select-api\";\n\nexport const MKMaterialSelect = MaterialSelect;\n\nexport default MaterialSelect;\n"],"names":[],"mappings":";AAEO,MAAM,mBAAmB;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/modules/ms/components/material-select/index.ts"],"sourcesContent":["import MaterialSelect from \"./material-select-api\";\r\n\r\nexport const MKMaterialSelect = MaterialSelect;\r\n\r\nexport default MaterialSelect;\r\n"],"names":[],"mappings":";AAEO,MAAM,mBAAmB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-select-api.js","sources":["../../../../../../src/modules/ms/components/material-select/material-select-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\nimport { Dialoger } from \"@maketribe/dm\";\nimport { MKMaterialList } from \"../material-list\";\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\nimport { ElButton } from \"element-plus\";\n\nexport type MKMaterialSelectOptions = {\n allowMaterialTypeValues?: any[];\n};\nexport type MKMaterialSelectResult = {\n success: boolean;\n data: MsMaterial | null;\n path: string;\n};\n\nexport default async function MaterialSelect(\n options: MKMaterialSelectOptions = {}\n): Promise<MKMaterialSelectResult> {\n return new Promise((resolve) => {\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\n\n const handleCancelClick = () => {\n dialogInstance.destroy();\n\n resolve({ success: false, data: null, path: \"\" });\n };\n\n const handleConfirmClick = () => {\n dialogInstance.destroy();\n\n const selection = materialTable.getSelection()[0];\n\n const selectMaterial = materialTable\n .getList()\n .find((item) => item.id === selection);\n\n if (!selectMaterial) {\n resolve({ success: false, data: null, path: \"\" });\n return;\n }\n\n resolve({\n success: true,\n data: selectMaterial,\n path: selectMaterial.path,\n });\n };\n\n const dialogInstance = Dialoger.customRender({\n title: \"素材选择\",\n class: \"mk-material-select\",\n width: \"70%\",\n onClose: () => {\n dialogInstance.destroy();\n },\n body: () => {\n return (\n <MKMaterialList\n class=\"mk-material-select__list\"\n selectable\n materialTable={materialTable}\n allowMaterialTypeValues={options.allowMaterialTypeValues}\n />\n );\n },\n footer: () => {\n return (\n <Fragment>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n <ElButton\n type=\"primary\"\n disabled={materialTable.getSelection().length === 0}\n onClick={handleConfirmClick}\n >\n 确定\n </ElButton>\n </Fragment>\n );\n },\n });\n });\n}\n"],"names":["MaterialSelect","options","Promise","resolve","materialTable","reactive","MsMaterialTable","handleCancelClick","dialogInstance","destroy","success","data","path","handleConfirmClick","selection","getSelection","selectMaterial","getList","find","item","id","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKMaterialList","allowMaterialTypeValues","footer","_Fragment","ElButton","default","_createTextVNode","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAee,eAAeA,eAC5BC,UAAmC,IACF;AACjC,SAAO,IAAIC,QAASC,aAAY;AAC9B,UAAMC,gBAAgBC,SAAS,IAAIC,gBAAiB,CAAA;AAEpD,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAEtBN,cAAQ;AAAA,QAAEO,SAAS;AAAA,QAAOC,MAAM;AAAA,QAAMC,MAAM;AAAA,MAAG,CAAC;AAAA;AAGlD,UAAMC,qBAAqBA,MAAM;AAC/BL,qBAAeC,QAAO;AAEtB,YAAMK,YAAYV,cAAcW,aAAc,EAAC,CAAC;AAEhD,YAAMC,iBAAiBZ,cACpBa,UACAC,KAAMC,UAASA,KAAKC,OAAON,SAAS;AAEvC,UAAI,CAACE,gBAAgB;AACnBb,gBAAQ;AAAA,UAAEO,SAAS;AAAA,UAAOC,MAAM;AAAA,UAAMC,MAAM;AAAA,QAAG,CAAC;AAChD;AAAA,MACF;AAEAT,cAAQ;AAAA,QACNO,SAAS;AAAA,QACTC,MAAMK;AAAAA,QACNJ,MAAMI,eAAeJ;AAAAA,MACvB,CAAC;AAAA;AAGH,UAAMJ,iBAAiBa,SAASC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,SAASA,MAAM;AACblB,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDkB,MAAMA,MAAM;AACV,eAAAC,YAAAC,gBAAA;AAAA,UAAA,SAAA;AAAA,UAAA,cAAA;AAAA,UAAA,iBAImBzB;AAAAA,UAAa,2BACHH,QAAQ6B;AAAAA,QAAuB,GAAA,IAAA;AAAA,MAG7D;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAH,YAAAI,UAAAJ,MAAAA,CAAAA,YAAAK,UAAA;AAAA,UAAA,WAEuB1B;AAAAA,QAAiB,GAAA;AAAA,UAAA2B,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,YAGxB7B,cAAcW,aAAc,EAACqB,WAAW;AAAA,UAAC,WAC1CvB;AAAAA,QAAkB,GAAA;AAAA,UAAAqB,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAMnC;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
|
|
1
|
+
{"version":3,"file":"material-select-api.js","sources":["../../../../../../src/modules/ms/components/material-select/material-select-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { MKMaterialList } from \"../material-list\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\nexport type MKMaterialSelectOptions = {\r\n allowMaterialTypeValues?: any[];\r\n};\r\nexport type MKMaterialSelectResult = {\r\n success: boolean;\r\n data: MsMaterial | null;\r\n path: string;\r\n};\r\n\r\nexport default async function MaterialSelect(\r\n options: MKMaterialSelectOptions = {}\r\n): Promise<MKMaterialSelectResult> {\r\n return new Promise((resolve) => {\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n\r\n resolve({ success: false, data: null, path: \"\" });\r\n };\r\n\r\n const handleConfirmClick = () => {\r\n dialogInstance.destroy();\r\n\r\n const selection = materialTable.getSelection()[0];\r\n\r\n const selectMaterial = materialTable\r\n .getList()\r\n .find((item) => item.id === selection);\r\n\r\n if (!selectMaterial) {\r\n resolve({ success: false, data: null, path: \"\" });\r\n return;\r\n }\r\n\r\n resolve({\r\n success: true,\r\n data: selectMaterial,\r\n path: selectMaterial.path,\r\n });\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"素材选择\",\r\n class: \"mk-material-select\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <MKMaterialList\r\n class=\"mk-material-select__list\"\r\n selectable\r\n materialTable={materialTable}\r\n allowMaterialTypeValues={options.allowMaterialTypeValues}\r\n />\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={materialTable.getSelection().length === 0}\r\n onClick={handleConfirmClick}\r\n >\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["MaterialSelect","options","Promise","resolve","materialTable","reactive","MsMaterialTable","handleCancelClick","dialogInstance","destroy","success","data","path","handleConfirmClick","selection","getSelection","selectMaterial","getList","find","item","id","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKMaterialList","allowMaterialTypeValues","footer","_Fragment","ElButton","default","_createTextVNode","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAee,eAAeA,eAC5BC,UAAmC,IACF;AACjC,SAAO,IAAIC,QAASC,aAAY;AAC9B,UAAMC,gBAAgBC,SAAS,IAAIC,gBAAiB,CAAA;AAEpD,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAEtBN,cAAQ;AAAA,QAAEO,SAAS;AAAA,QAAOC,MAAM;AAAA,QAAMC,MAAM;AAAA,MAAG,CAAC;AAAA;AAGlD,UAAMC,qBAAqBA,MAAM;AAC/BL,qBAAeC,QAAO;AAEtB,YAAMK,YAAYV,cAAcW,aAAc,EAAC,CAAC;AAEhD,YAAMC,iBAAiBZ,cACpBa,UACAC,KAAMC,UAASA,KAAKC,OAAON,SAAS;AAEvC,UAAI,CAACE,gBAAgB;AACnBb,gBAAQ;AAAA,UAAEO,SAAS;AAAA,UAAOC,MAAM;AAAA,UAAMC,MAAM;AAAA,QAAG,CAAC;AAChD;AAAA,MACF;AAEAT,cAAQ;AAAA,QACNO,SAAS;AAAA,QACTC,MAAMK;AAAAA,QACNJ,MAAMI,eAAeJ;AAAAA,MACvB,CAAC;AAAA;AAGH,UAAMJ,iBAAiBa,SAASC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,SAASA,MAAM;AACblB,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDkB,MAAMA,MAAM;AACV,eAAAC,YAAAC,gBAAA;AAAA,UAAA,SAAA;AAAA,UAAA,cAAA;AAAA,UAAA,iBAImBzB;AAAAA,UAAa,2BACHH,QAAQ6B;AAAAA,QAAuB,GAAA,IAAA;AAAA,MAG7D;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAH,YAAAI,UAAAJ,MAAAA,CAAAA,YAAAK,UAAA;AAAA,UAAA,WAEuB1B;AAAAA,QAAiB,GAAA;AAAA,UAAA2B,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,YAGxB7B,cAAcW,aAAc,EAACqB,WAAW;AAAA,UAAC,WAC1CvB;AAAAA,QAAkB,GAAA;AAAA,UAAAqB,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAMnC;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/index.ts"],"sourcesContent":["import { defineAsyncComponent } from \"vue\";\nimport { withInstall } from \"@maketribe/utils\";\n\nconst _RichTextEditor = defineAsyncComponent(\n () => import(\"./rich-text-editor\")\n);\n\nexport const MKRichTextEditor = withInstall(_RichTextEditor);\n\nexport default MKRichTextEditor;\n\nexport * from \"./rich-text-editor-options\";\n"],"names":[],"mappings":";;;AAGA,MAAM,kBAAkB;AAAA,EACtB,MAAM,OAAO,uBAAoB;AACnC;AAEa,MAAA,mBAAmB,YAAY,eAAe;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/index.ts"],"sourcesContent":["import { defineAsyncComponent } from \"vue\";\r\nimport { withInstall } from \"@maketribe/utils\";\r\n\r\nconst _RichTextEditor = defineAsyncComponent(\r\n () => import(\"./rich-text-editor\")\r\n);\r\n\r\nexport const MKRichTextEditor = withInstall(_RichTextEditor);\r\n\r\nexport default MKRichTextEditor;\r\n\r\nexport * from \"./rich-text-editor-options\";\r\n"],"names":[],"mappings":";;;AAGA,MAAM,kBAAkB;AAAA,EACtB,MAAM,OAAO,uBAAoB;AACnC;AAEa,MAAA,mBAAmB,YAAY,eAAe;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalLogTree.js","sources":["../../../../../../../src/modules/ms/dataviews/log/local-log/LocalLogTree.ts"],"sourcesContent":["import { DataTree, DataTreeNode, DataTreeOptions } from \"@maketribe/dm\";\nimport { R, CancelToken } from \"@maketribe/request\";\nimport { defineDataTree } from \"../../../../../define-data-tree\";\nimport { Event } from \"@maketribe/utils\";\n\nexport type LocalLog = {\n name: string;\n path: string;\n isDirectory: boolean;\n children: LocalLog[];\n};\n\nexport class LocalLogTree extends DataTree<LocalLog> {\n constructor(options: DataTreeOptions = { props: { label: \"name\" } }) {\n super({ name: \"local-log\", props: { label: \"path\" }, ...options });\n }\n\n protected async initialize(): Promise<void> {\n await super.initialize();\n\n this.afterInitdEvent.once(() => {\n this.append(\n this.createDataTreeNode({\n name: \"root\",\n path: \"/\",\n isDirectory: true,\n children: [],\n })\n );\n });\n }\n\n createDataTreeNode(data: LocalLog) {\n const dataTreeNode: DataTreeNode<LocalLog> =\n new (class extends DataTreeNode<LocalLog> {\n get isLeaf() {\n return !(this.data?.isDirectory ?? false);\n }\n\n protected async loadRequest(params: Record<string, any>) {\n const response = await this.httpRequest.get<\n R<LocalLog[]> & { totalRecCount: string }\n >(\"/ms/system/local-log-dir-root\", {\n params: { ...params, path: this.data!.path },\n cancelToken: new CancelToken((cancel) => {\n this.loadCancel = cancel;\n }),\n });\n\n response.data.data = response.data.data.map((item) => ({\n name: item.name,\n path: item.path,\n isDirectory: item.isDirectory,\n children: [],\n })) as LocalLog[];\n\n this.loadCancel = null;\n\n return response;\n }\n })({ name: this.name });\n\n dataTreeNode.setTree(this);\n\n dataTreeNode.setData(data);\n\n return dataTreeNode;\n }\n\n formatItem(item: LocalLog): LocalLog {\n return { ...item, children: [] };\n }\n}\n\ndefineDataTree(LocalLogTree);\n"],"names":[],"mappings":";;;AAYO,MAAM,qBAAqB,SAAmB;AAAA,EACnD,YAAY,UAA2B,EAAE,OAAO,EAAE,OAAO,OAAA,KAAY;AAC7D,UAAA,EAAE,MAAM,aAAa,OAAO,EAAE,OAAO,OAAO,GAAG,GAAG,QAAA,CAAS;AAAA,EACnE;AAAA,EAEA,MAAgB,aAA4B;AAC1C,UAAM,MAAM;AAEP,SAAA,gBAAgB,KAAK,MAAM;AACzB,WAAA;AAAA,QACH,KAAK,mBAAmB;AAAA,UACtB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU,CAAC;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAAA,EACH;AAAA,EAEA,mBAAmB,MAAgB;AAC3B,UAAA,eACJ,IAAK,cAAc,aAAuB;AAAA,MACxC,IAAI,SAAS;;AACJ,eAAA,IAAE,UAAK,SAAL,mBAAW,gBAAe;AAAA,MACrC;AAAA,MAEA,MAAgB,YAAY,QAA6B;AACvD,cAAM,WAAW,MAAM,KAAK,YAAY,IAEtC,iCAAiC;AAAA,UACjC,QAAQ,EAAE,GAAG,QAAQ,MAAM,KAAK,KAAM,KAAK;AAAA,UAC3C,aAAa,IAAI,YAAY,CAAC,WAAW;AACvC,iBAAK,aAAa;AAAA,UAAA,CACnB;AAAA,QAAA,CACF;AAED,iBAAS,KAAK,OAAO,SAAS,KAAK,KAAK,IAAI,CAAC,UAAU;AAAA,UACrD,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,UACX,aAAa,KAAK;AAAA,UAClB,UAAU,CAAC;AAAA,QACX,EAAA;AAEF,aAAK,aAAa;AAEX,eAAA;AAAA,MACT;AAAA,IACC,EAAA,EAAE,MAAM,KAAK,KAAM,CAAA;AAExB,iBAAa,QAAQ,IAAI;AAEzB,iBAAa,QAAQ,IAAI;AAElB,WAAA;AAAA,EACT;AAAA,EAEA,WAAW,MAA0B;AACnC,WAAO,EAAE,GAAG,MAAM,UAAU,CAAG,EAAA;AAAA,EACjC;AACF;AAEA,eAAe,YAAY;"}
|
|
1
|
+
{"version":3,"file":"LocalLogTree.js","sources":["../../../../../../../src/modules/ms/dataviews/log/local-log/LocalLogTree.ts"],"sourcesContent":["import { DataTree, DataTreeNode, DataTreeOptions } from \"@maketribe/dm\";\r\nimport { R, CancelToken } from \"@maketribe/request\";\r\nimport { defineDataTree } from \"../../../../../define-data-tree\";\r\nimport { Event } from \"@maketribe/utils\";\r\n\r\nexport type LocalLog = {\r\n name: string;\r\n path: string;\r\n isDirectory: boolean;\r\n children: LocalLog[];\r\n};\r\n\r\nexport class LocalLogTree extends DataTree<LocalLog> {\r\n constructor(options: DataTreeOptions = { props: { label: \"name\" } }) {\r\n super({ name: \"local-log\", props: { label: \"path\" }, ...options });\r\n }\r\n\r\n protected async initialize(): Promise<void> {\r\n await super.initialize();\r\n\r\n this.afterInitdEvent.once(() => {\r\n this.append(\r\n this.createDataTreeNode({\r\n name: \"root\",\r\n path: \"/\",\r\n isDirectory: true,\r\n children: [],\r\n })\r\n );\r\n });\r\n }\r\n\r\n createDataTreeNode(data: LocalLog) {\r\n const dataTreeNode: DataTreeNode<LocalLog> =\r\n new (class extends DataTreeNode<LocalLog> {\r\n get isLeaf() {\r\n return !(this.data?.isDirectory ?? false);\r\n }\r\n\r\n protected async loadRequest(params: Record<string, any>) {\r\n const response = await this.httpRequest.get<\r\n R<LocalLog[]> & { totalRecCount: string }\r\n >(\"/ms/system/local-log-dir-root\", {\r\n params: { ...params, path: this.data!.path },\r\n cancelToken: new CancelToken((cancel) => {\r\n this.loadCancel = cancel;\r\n }),\r\n });\r\n\r\n response.data.data = response.data.data.map((item) => ({\r\n name: item.name,\r\n path: item.path,\r\n isDirectory: item.isDirectory,\r\n children: [],\r\n })) as LocalLog[];\r\n\r\n this.loadCancel = null;\r\n\r\n return response;\r\n }\r\n })({ name: this.name });\r\n\r\n dataTreeNode.setTree(this);\r\n\r\n dataTreeNode.setData(data);\r\n\r\n return dataTreeNode;\r\n }\r\n\r\n formatItem(item: LocalLog): LocalLog {\r\n return { ...item, children: [] };\r\n }\r\n}\r\n\r\ndefineDataTree(LocalLogTree);\r\n"],"names":[],"mappings":";;;AAYO,MAAM,qBAAqB,SAAmB;AAAA,EACnD,YAAY,UAA2B,EAAE,OAAO,EAAE,OAAO,OAAA,KAAY;AAC7D,UAAA,EAAE,MAAM,aAAa,OAAO,EAAE,OAAO,OAAO,GAAG,GAAG,QAAA,CAAS;AAAA,EACnE;AAAA,EAEA,MAAgB,aAA4B;AAC1C,UAAM,MAAM;AAEP,SAAA,gBAAgB,KAAK,MAAM;AACzB,WAAA;AAAA,QACH,KAAK,mBAAmB;AAAA,UACtB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU,CAAC;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAAA,EACH;AAAA,EAEA,mBAAmB,MAAgB;AAC3B,UAAA,eACJ,IAAK,cAAc,aAAuB;AAAA,MACxC,IAAI,SAAS;;AACJ,eAAA,IAAE,UAAK,SAAL,mBAAW,gBAAe;AAAA,MACrC;AAAA,MAEA,MAAgB,YAAY,QAA6B;AACvD,cAAM,WAAW,MAAM,KAAK,YAAY,IAEtC,iCAAiC;AAAA,UACjC,QAAQ,EAAE,GAAG,QAAQ,MAAM,KAAK,KAAM,KAAK;AAAA,UAC3C,aAAa,IAAI,YAAY,CAAC,WAAW;AACvC,iBAAK,aAAa;AAAA,UAAA,CACnB;AAAA,QAAA,CACF;AAED,iBAAS,KAAK,OAAO,SAAS,KAAK,KAAK,IAAI,CAAC,UAAU;AAAA,UACrD,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,UACX,aAAa,KAAK;AAAA,UAClB,UAAU,CAAC;AAAA,QACX,EAAA;AAEF,aAAK,aAAa;AAEX,eAAA;AAAA,MACT;AAAA,IACC,EAAA,EAAE,MAAM,KAAK,KAAM,CAAA;AAExB,iBAAa,QAAQ,IAAI;AAEzB,iBAAa,QAAQ,IAAI;AAElB,WAAA;AAAA,EACT;AAAA,EAEA,WAAW,MAA0B;AACnC,WAAO,EAAE,GAAG,MAAM,UAAU,CAAG,EAAA;AAAA,EACjC;AACF;AAEA,eAAe,YAAY;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsConfigForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { ConfigComponents, ITypeResolver } from \"../../../../core\";\nimport { Disposable } from \"@maketribe/utils\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsConfig<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type MsConfigFormOptions = DataFormOptions & {\n configComponent?: IComponents;\n};\n\nexport class MsConfigForm\n extends DataForm<MsConfig>\n implements ITypeResolver<MsConfig>\n{\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\n\n configComponent: IComponents;\n\n constructor(options: MsConfigFormOptions = {}) {\n super({\n name: MsConfigForm[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n (window as any).configForm = this;\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n defaultValue: \"\",\n componentInfo: \"MKFormInput\",\n componentProps: { type: \"textarea\", rows: 4 },\n }),\n ]);\n\n let disposable: Disposable | null = null;\n\n this.dataChangeEvent.on(({ data }) => {\n disposable?.dispose();\n\n if (!data) {\n return null;\n }\n\n disposable = new Disposable();\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(\n this.resolveItemType(this.data!)\n ) || this.configComponent.resolveComponent(\"MKFormInput\")!;\n\n disposable.register(\n this.getColumn(\"type\")!.valueChangeEvent.on(() => {\n if (!this.data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(\n this.resolveItemType(this.data!)\n ) || this.configComponent.resolveComponent(\"MKFormInput\")!;\n\n this.data!.value = null;\n })\n );\n });\n }\n\n formatItem(item: MsConfig): MsConfig {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: MsConfig) {\n return this.resolveType(config.type);\n }\n}\n"],"names":["_a","valueFormColumn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MsConfigForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigForm.ts"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormOptions,\r\n FormColumn,\r\n IComponents,\r\n} from \"@maketribe/dm\";\r\nimport { ConfigComponents, ITypeResolver } from \"../../../../core\";\r\nimport { Disposable } from \"@maketribe/utils\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsConfig<T = any> = {\r\n id: string;\r\n key: string;\r\n type: string;\r\n value: T;\r\n};\r\n\r\nexport type MsConfigFormOptions = DataFormOptions & {\r\n configComponent?: IComponents;\r\n};\r\n\r\nexport class MsConfigForm\r\n extends DataForm<MsConfig>\r\n implements ITypeResolver<MsConfig>\r\n{\r\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\r\n\r\n configComponent: IComponents;\r\n\r\n constructor(options: MsConfigFormOptions = {}) {\r\n super({\r\n name: MsConfigForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n\r\n this.configComponent = options.configComponent ?? new ConfigComponents();\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n (window as any).configForm = this;\r\n\r\n const defaultType = \"string\";\r\n this.setColumns([\r\n new FormColumn({ name: \"id\", label: \"编号\" }),\r\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\r\n new FormColumn({\r\n name: \"type\",\r\n label: \"类型\",\r\n componentInfo: \"MKFormDataSelect\",\r\n defaultValue: defaultType,\r\n required: true,\r\n componentProps: {\r\n options: [\r\n { value: \"string\", label: \"字符串\" },\r\n { value: \"int\", label: \"整数\" },\r\n { value: \"json\", label: \"JSON\" },\r\n ],\r\n },\r\n }),\r\n new FormColumn({\r\n name: \"value\",\r\n label: \"配置值\",\r\n required: true,\r\n defaultValue: null,\r\n rules: [\r\n {\r\n validator: (rule, value, callback) => {\r\n if (this.data?.type === \"json\") {\r\n try {\r\n JSON.parse(value);\r\n } catch (e) {\r\n callback(new Error(\"JSON格式错误\"));\r\n }\r\n }\r\n\r\n callback();\r\n },\r\n },\r\n ],\r\n componentInfo: this.resolveType(defaultType),\r\n }),\r\n new FormColumn({\r\n name: \"memo\",\r\n label: \"备注\",\r\n defaultValue: \"\",\r\n componentInfo: \"MKFormInput\",\r\n componentProps: { type: \"textarea\", rows: 4 },\r\n }),\r\n ]);\r\n\r\n let disposable: Disposable | null = null;\r\n\r\n this.dataChangeEvent.on(({ data }) => {\r\n disposable?.dispose();\r\n\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n disposable = new Disposable();\r\n\r\n const valueFormColumn = this.getColumn(\"value\")!;\r\n valueFormColumn.componentInfo =\r\n this.configComponent.resolveComponent(\r\n this.resolveItemType(this.data!)\r\n ) || this.configComponent.resolveComponent(\"MKFormInput\")!;\r\n\r\n disposable.register(\r\n this.getColumn(\"type\")!.valueChangeEvent.on(() => {\r\n if (!this.data) {\r\n return;\r\n }\r\n\r\n const valueFormColumn = this.getColumn(\"value\")!;\r\n valueFormColumn.componentInfo =\r\n this.configComponent.resolveComponent(\r\n this.resolveItemType(this.data!)\r\n ) || this.configComponent.resolveComponent(\"MKFormInput\")!;\r\n\r\n this.data!.value = null;\r\n })\r\n );\r\n });\r\n }\r\n\r\n formatItem(item: MsConfig): MsConfig {\r\n let value = item.value;\r\n\r\n if (item.type !== \"json\") {\r\n try {\r\n value = JSON.parse(item.value);\r\n } catch (e) {}\r\n }\r\n\r\n return { ...item, value };\r\n }\r\n\r\n formatSubmitData(data: any) {\r\n return {\r\n ...data,\r\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\r\n };\r\n }\r\n\r\n resolveType(type: string) {\r\n switch (type) {\r\n case \"int\":\r\n return \"MKConfigInputNumber\";\r\n case \"json\":\r\n return \"MKConfigJsonEditor\";\r\n default:\r\n return \"MKConfigInput\";\r\n }\r\n }\r\n\r\n resolveItemType(config: MsConfig) {\r\n return this.resolveType(config.type);\r\n }\r\n}\r\n"],"names":["_a","valueFormColumn"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n TableHeaderItem,\n RefreshButton,\n AddButton,\n FilterColumn,\n} from \"@maketribe/dm\";\nimport { MsConfig } from \"./MsConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { MSAppClient } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport class MsConfigTable extends DataTable<MsConfig> {\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\n\n private static _instance: MsConfigTable | null = null;\n\n static get instance(): MsConfigTable {\n if (!MsConfigTable._instance) {\n MsConfigTable._instance = new MsConfigTable();\n MsConfigTable._instance.init().then(() => {\n MsConfigTable._instance!.dataFilter.setReady();\n });\n }\n\n return MsConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({\n name: MsConfigTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.header.rightArea = [\n new RefreshButton(),\n new AddButton(),\n new TableHeaderItem({\n componentInfo: \"MKBatchOpt\",\n predicate: () =>\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\n }),\n ];\n\n this.dataFilter.setColumns([\n new FilterColumn({ name: \"key\", label: \"配置键\" }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableColumn({ name: \"memo\", label: \"备注\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: MsConfig): MsConfig {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.query({\n data: { condition: where, pc: 1, pn: 1 },\n });\n\n if (response.data.code !== 200) {\n throw new Error(response.data.msg);\n }\n\n try {\n return JSON.parse(response.data.data[0]?.value);\n } catch {\n return null;\n }\n }\n\n static async setConfigValue(key: string, value: any) {\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n\n const where = new Where();\n where.addCondition(\"key\", \"=\", key);\n\n const listResponse = await dataViewRequest.query({\n data: { condition: where, pc: 1, pn: 1 },\n });\n\n if (listResponse.data.code !== 200) {\n throw new Error(listResponse.data.msg);\n }\n\n const response =\n listResponse.data.data.length === 0\n ? await dataViewRequest.add({ key, value })\n : await dataViewRequest.update({\n ...listResponse.data.data[0],\n value,\n });\n\n return response.data;\n }\n}\n\n(window as any).MsConfigTable = MsConfigTable;\n"],"names":["_b","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\r\nimport {\r\n DataTable,\r\n DataTableOptions,\r\n TableColumn,\r\n TableActionColumn,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n FilterColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsConfig } from \"./MsConfigForm\";\r\nimport { R, ResponseConfig } from \"@maketribe/request\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsConfigTable extends DataTable<MsConfig> {\r\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\r\n\r\n private static _instance: MsConfigTable | null = null;\r\n\r\n static get instance(): MsConfigTable {\r\n if (!MsConfigTable._instance) {\r\n MsConfigTable._instance = new MsConfigTable();\r\n MsConfigTable._instance.init().then(() => {\r\n MsConfigTable._instance!.dataFilter.setReady();\r\n });\r\n }\r\n\r\n return MsConfigTable._instance;\r\n }\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsConfigTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({ name: \"key\", label: \"配置键\" }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"key\", label: \"配置键\" }),\r\n new TableColumn({ name: \"memo\", label: \"备注\" }),\r\n new TableActionColumn(),\r\n ]);\r\n }\r\n\r\n formatItem(item: MsConfig): MsConfig {\r\n let value = item.value;\r\n\r\n try {\r\n value = JSON.parse(value);\r\n } catch (e) {}\r\n\r\n return { ...item, value };\r\n }\r\n\r\n static async loadConfig<T = any>(\r\n key: string\r\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.allList({\r\n data: { condition: where },\r\n });\r\n\r\n return {\r\n ...response,\r\n data: {\r\n ...response.data,\r\n data: response.data.data?.[0] ?? null,\r\n },\r\n };\r\n }\r\n\r\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n throw new Error(response.data.msg);\r\n }\r\n\r\n try {\r\n return JSON.parse(response.data.data[0]?.value);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static async setConfigValue(key: string, value: any) {\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n\r\n const where = new Where();\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const listResponse = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (listResponse.data.code !== 200) {\r\n throw new Error(listResponse.data.msg);\r\n }\r\n\r\n const response =\r\n listResponse.data.data.length === 0\r\n ? await dataViewRequest.add({ key, value })\r\n : await dataViewRequest.update({\r\n ...listResponse.data.data[0],\r\n value,\r\n });\r\n\r\n return response.data;\r\n }\r\n}\r\n\r\n(window as any).MsConfigTable = MsConfigTable;\r\n"],"names":["_b","_a"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsDenyIPAccessListTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-deny-ip-access-list/MsDenyIPAccessListTable.ts"],"sourcesContent":["import {\n ActionButton,\n DataTable,\n DeleteButton,\n EditButton,\n TableActionColumn,\n TableColumn,\n Messager,\n TableHeaderItem,\n RefreshButton,\n AddButton,\n} from \"@maketribe/dm\";\nimport { MsDenyIPAccessList } from \"./MsDenyIPAccessListForm\";\nimport { MSAppClient } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport class MsDenyIPAccessListTable<\n T = MsDenyIPAccessList,\n F = T\n> extends DataTable<T, F> {\n static [DATA_MODEL_NAME]: string = \"ms-deny-access-ip-list\";\n\n constructor(options = {}) {\n super({\n name: MsDenyIPAccessListTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n async initialize() {\n await super.initialize();\n\n this.header.rightArea = [\n new RefreshButton(),\n new AddButton(),\n new TableHeaderItem({\n componentInfo: \"MKBatchOpt\",\n predicate: () =>\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\n }),\n ];\n\n this.setColumns([\n new TableColumn({ name: \"ipAddress\", label: \"IP地址\" }),\n new TableColumn({ name: \"createdAt\", label: \"创建时间\" }),\n new TableActionColumn({\n width: \"180px\",\n buttons: [\n new EditButton(),\n new DeleteButton({ label: \"移除\" }),\n new ActionButton({\n label: \"禁用\",\n type: \"danger\",\n handler: async (row) => {\n this.loadingManager.startLoading();\n\n const result = await this.dataViewRequest.callDVRequest({\n action: `disable/${row.id}`,\n });\n\n this.loadingManager.completeLoading();\n if (result.data.code !== 200) {\n Messager.error({\n message: result.data.msg || \"禁用失败\",\n });\n return;\n }\n Messager.success({ message: \"禁用成功\" });\n\n this.load();\n },\n predicate: (row) => row.valid === 1,\n }),\n new ActionButton({\n label: \"启用\",\n type: \"success\",\n handler: async (row) => {\n this.loadingManager.startLoading();\n\n const result = await this.dataViewRequest.callDVRequest({\n action: `enable/${row.id}`,\n });\n\n this.loadingManager.completeLoading();\n if (result.data.code !== 200) {\n Messager.error({\n message: result.data.msg || \"启用失败\",\n });\n return;\n }\n Messager.success({ message: \"启用成功\" });\n\n this.load();\n },\n predicate: (row) => row.valid === 0,\n }),\n ],\n }),\n ]);\n }\n}\n"],"names":["_b","_a"],"mappings":";;;;;;;;;;;;;AAiBO,MAAM,2BAAN,MAAM,kCAGH,gBACA,sBADA,IAAgB;AAAA,EAGxB,YAAY,UAAU,IAAI;AAClB,UAAA;AAAA,MACJ,MAAM,yBAAwB,eAAe;AAAA,MAC7C,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAM,aAAa;AACjB,UAAM,MAAM;AAEZ,SAAK,OAAO,YAAY;AAAA,MACtB,IAAI,cAAc;AAAA,MAClB,IAAI,UAAU;AAAA,MACd,IAAI,gBAAgB;AAAA,QAClB,eAAe;AAAA,QACf,WAAW,MACT;;AAAA,yBAAAA,OAAAC,MAAA,YAAY,aAAZ,gBAAAA,IAAsB,gBAAtB,gBAAAD,IAAmC,aAAnC,mBAA6C,YAAW;AAAA;AAAA,MAAA,CAC3D;AAAA,IAAA;AAGH,SAAK,WAAW;AAAA,MACd,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,kBAAkB;AAAA,QACpB,OAAO;AAAA,QACP,SAAS;AAAA,UACP,IAAI,WAAW;AAAA,UACf,IAAI,aAAa,EAAE,OAAO,MAAM;AAAA,UAChC,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,WAAW,IAAI,EAAE;AAAA,cAAA,CAC1B;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,UACD,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,UAAU,IAAI,EAAE;AAAA,cAAA,CACzB;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAjFE,cAJW,0BAIH,IAA2B;AAJ9B,IAAM,0BAAN;"}
|
|
1
|
+
{"version":3,"file":"MsDenyIPAccessListTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-deny-ip-access-list/MsDenyIPAccessListTable.ts"],"sourcesContent":["import {\r\n ActionButton,\r\n DataTable,\r\n DeleteButton,\r\n EditButton,\r\n TableActionColumn,\r\n TableColumn,\r\n Messager,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n} from \"@maketribe/dm\";\r\nimport { MsDenyIPAccessList } from \"./MsDenyIPAccessListForm\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsDenyIPAccessListTable<\r\n T = MsDenyIPAccessList,\r\n F = T\r\n> extends DataTable<T, F> {\r\n static [DATA_MODEL_NAME]: string = \"ms-deny-access-ip-list\";\r\n\r\n constructor(options = {}) {\r\n super({\r\n name: MsDenyIPAccessListTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"ipAddress\", label: \"IP地址\" }),\r\n new TableColumn({ name: \"createdAt\", label: \"创建时间\" }),\r\n new TableActionColumn({\r\n width: \"180px\",\r\n buttons: [\r\n new EditButton(),\r\n new DeleteButton({ label: \"移除\" }),\r\n new ActionButton({\r\n label: \"禁用\",\r\n type: \"danger\",\r\n handler: async (row) => {\r\n this.loadingManager.startLoading();\r\n\r\n const result = await this.dataViewRequest.callDVRequest({\r\n action: `disable/${row.id}`,\r\n });\r\n\r\n this.loadingManager.completeLoading();\r\n if (result.data.code !== 200) {\r\n Messager.error({\r\n message: result.data.msg || \"禁用失败\",\r\n });\r\n return;\r\n }\r\n Messager.success({ message: \"禁用成功\" });\r\n\r\n this.load();\r\n },\r\n predicate: (row) => row.valid === 1,\r\n }),\r\n new ActionButton({\r\n label: \"启用\",\r\n type: \"success\",\r\n handler: async (row) => {\r\n this.loadingManager.startLoading();\r\n\r\n const result = await this.dataViewRequest.callDVRequest({\r\n action: `enable/${row.id}`,\r\n });\r\n\r\n this.loadingManager.completeLoading();\r\n if (result.data.code !== 200) {\r\n Messager.error({\r\n message: result.data.msg || \"启用失败\",\r\n });\r\n return;\r\n }\r\n Messager.success({ message: \"启用成功\" });\r\n\r\n this.load();\r\n },\r\n predicate: (row) => row.valid === 0,\r\n }),\r\n ],\r\n }),\r\n ]);\r\n }\r\n}\r\n"],"names":["_b","_a"],"mappings":";;;;;;;;;;;;;AAiBO,MAAM,2BAAN,MAAM,kCAGH,gBACA,sBADA,IAAgB;AAAA,EAGxB,YAAY,UAAU,IAAI;AAClB,UAAA;AAAA,MACJ,MAAM,yBAAwB,eAAe;AAAA,MAC7C,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAM,aAAa;AACjB,UAAM,MAAM;AAEZ,SAAK,OAAO,YAAY;AAAA,MACtB,IAAI,cAAc;AAAA,MAClB,IAAI,UAAU;AAAA,MACd,IAAI,gBAAgB;AAAA,QAClB,eAAe;AAAA,QACf,WAAW,MACT;;AAAA,yBAAAA,OAAAC,MAAA,YAAY,aAAZ,gBAAAA,IAAsB,gBAAtB,gBAAAD,IAAmC,aAAnC,mBAA6C,YAAW;AAAA;AAAA,MAAA,CAC3D;AAAA,IAAA;AAGH,SAAK,WAAW;AAAA,MACd,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,kBAAkB;AAAA,QACpB,OAAO;AAAA,QACP,SAAS;AAAA,UACP,IAAI,WAAW;AAAA,UACf,IAAI,aAAa,EAAE,OAAO,MAAM;AAAA,UAChC,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,WAAW,IAAI,EAAE;AAAA,cAAA,CAC1B;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,UACD,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,UAAU,IAAI,EAAE;AAAA,cAAA,CACzB;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAjFE,cAJW,0BAIH,IAA2B;AAJ9B,IAAM,0BAAN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsIPWhitelistTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-ip-white-list/MsIPWhitelistTable.ts"],"sourcesContent":["import {\n ActionButton,\n DataTable,\n DeleteButton,\n EditButton,\n TableActionColumn,\n TableColumn,\n Messager,\n TableHeaderItem,\n RefreshButton,\n AddButton,\n} from \"@maketribe/dm\";\nimport { MsIPWhitelist } from \"./MsIPWhitelistForm\";\nimport { MSAppClient } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport class MsIPWhitelistTable<T = MsIPWhitelist, F = T> extends DataTable<\n T,\n F\n> {\n static [DATA_MODEL_NAME]: string = \"ms-access-ip-whitelist\";\n\n constructor(options = {}) {\n super({\n name: MsIPWhitelistTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n async initialize() {\n await super.initialize();\n\n this.header.rightArea = [\n new RefreshButton(),\n new AddButton(),\n new TableHeaderItem({\n componentInfo: \"MKBatchOpt\",\n predicate: () =>\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\n }),\n ];\n\n this.setColumns([\n new TableColumn({ name: \"ipAddress\", label: \"IP地址\" }),\n new TableColumn({ name: \"createdAt\", label: \"创建时间\" }),\n new TableActionColumn({\n width: \"180px\",\n buttons: [\n new EditButton(),\n new DeleteButton({ label: \"移除\" }),\n new ActionButton({\n label: \"禁用\",\n type: \"danger\",\n handler: async (row) => {\n this.loadingManager.startLoading();\n\n const result = await this.dataViewRequest.callDVRequest({\n action: `disable/${row.id}`,\n });\n\n this.loadingManager.completeLoading();\n if (result.data.code !== 200) {\n Messager.error({\n message: result.data.msg || \"禁用失败\",\n });\n return;\n }\n Messager.success({ message: \"禁用成功\" });\n\n this.load();\n },\n predicate: (row) => row.valid === 1,\n }),\n new ActionButton({\n label: \"启用\",\n type: \"success\",\n handler: async (row) => {\n this.loadingManager.startLoading();\n\n const result = await this.dataViewRequest.callDVRequest({\n action: `enable/${row.id}`,\n });\n\n this.loadingManager.completeLoading();\n if (result.data.code !== 200) {\n Messager.error({\n message: result.data.msg || \"启用失败\",\n });\n return;\n }\n Messager.success({ message: \"启用成功\" });\n\n this.load();\n },\n predicate: (row) => row.valid === 0,\n }),\n ],\n }),\n ]);\n }\n}\n"],"names":["_b","_a"],"mappings":";;;;;;;;;;;;;AAiBO,MAAM,sBAAN,MAAM,6BAAqD,gBAIxD,sBAJwD,IAGhE;AAAA,EAGA,YAAY,UAAU,IAAI;AAClB,UAAA;AAAA,MACJ,MAAM,oBAAmB,eAAe;AAAA,MACxC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAM,aAAa;AACjB,UAAM,MAAM;AAEZ,SAAK,OAAO,YAAY;AAAA,MACtB,IAAI,cAAc;AAAA,MAClB,IAAI,UAAU;AAAA,MACd,IAAI,gBAAgB;AAAA,QAClB,eAAe;AAAA,QACf,WAAW,MACT;;AAAA,yBAAAA,OAAAC,MAAA,YAAY,aAAZ,gBAAAA,IAAsB,gBAAtB,gBAAAD,IAAmC,aAAnC,mBAA6C,YAAW;AAAA;AAAA,MAAA,CAC3D;AAAA,IAAA;AAGH,SAAK,WAAW;AAAA,MACd,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,kBAAkB;AAAA,QACpB,OAAO;AAAA,QACP,SAAS;AAAA,UACP,IAAI,WAAW;AAAA,UACf,IAAI,aAAa,EAAE,OAAO,MAAM;AAAA,UAChC,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,WAAW,IAAI,EAAE;AAAA,cAAA,CAC1B;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,UACD,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,UAAU,IAAI,EAAE;AAAA,cAAA,CACzB;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAjFE,cAJW,qBAIH,IAA2B;AAJ9B,IAAM,qBAAN;"}
|
|
1
|
+
{"version":3,"file":"MsIPWhitelistTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-ip-white-list/MsIPWhitelistTable.ts"],"sourcesContent":["import {\r\n ActionButton,\r\n DataTable,\r\n DeleteButton,\r\n EditButton,\r\n TableActionColumn,\r\n TableColumn,\r\n Messager,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n} from \"@maketribe/dm\";\r\nimport { MsIPWhitelist } from \"./MsIPWhitelistForm\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsIPWhitelistTable<T = MsIPWhitelist, F = T> extends DataTable<\r\n T,\r\n F\r\n> {\r\n static [DATA_MODEL_NAME]: string = \"ms-access-ip-whitelist\";\r\n\r\n constructor(options = {}) {\r\n super({\r\n name: MsIPWhitelistTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"ipAddress\", label: \"IP地址\" }),\r\n new TableColumn({ name: \"createdAt\", label: \"创建时间\" }),\r\n new TableActionColumn({\r\n width: \"180px\",\r\n buttons: [\r\n new EditButton(),\r\n new DeleteButton({ label: \"移除\" }),\r\n new ActionButton({\r\n label: \"禁用\",\r\n type: \"danger\",\r\n handler: async (row) => {\r\n this.loadingManager.startLoading();\r\n\r\n const result = await this.dataViewRequest.callDVRequest({\r\n action: `disable/${row.id}`,\r\n });\r\n\r\n this.loadingManager.completeLoading();\r\n if (result.data.code !== 200) {\r\n Messager.error({\r\n message: result.data.msg || \"禁用失败\",\r\n });\r\n return;\r\n }\r\n Messager.success({ message: \"禁用成功\" });\r\n\r\n this.load();\r\n },\r\n predicate: (row) => row.valid === 1,\r\n }),\r\n new ActionButton({\r\n label: \"启用\",\r\n type: \"success\",\r\n handler: async (row) => {\r\n this.loadingManager.startLoading();\r\n\r\n const result = await this.dataViewRequest.callDVRequest({\r\n action: `enable/${row.id}`,\r\n });\r\n\r\n this.loadingManager.completeLoading();\r\n if (result.data.code !== 200) {\r\n Messager.error({\r\n message: result.data.msg || \"启用失败\",\r\n });\r\n return;\r\n }\r\n Messager.success({ message: \"启用成功\" });\r\n\r\n this.load();\r\n },\r\n predicate: (row) => row.valid === 0,\r\n }),\r\n ],\r\n }),\r\n ]);\r\n }\r\n}\r\n"],"names":["_b","_a"],"mappings":";;;;;;;;;;;;;AAiBO,MAAM,sBAAN,MAAM,6BAAqD,gBAIxD,sBAJwD,IAGhE;AAAA,EAGA,YAAY,UAAU,IAAI;AAClB,UAAA;AAAA,MACJ,MAAM,oBAAmB,eAAe;AAAA,MACxC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAM,aAAa;AACjB,UAAM,MAAM;AAEZ,SAAK,OAAO,YAAY;AAAA,MACtB,IAAI,cAAc;AAAA,MAClB,IAAI,UAAU;AAAA,MACd,IAAI,gBAAgB;AAAA,QAClB,eAAe;AAAA,QACf,WAAW,MACT;;AAAA,yBAAAA,OAAAC,MAAA,YAAY,aAAZ,gBAAAA,IAAsB,gBAAtB,gBAAAD,IAAmC,aAAnC,mBAA6C,YAAW;AAAA;AAAA,MAAA,CAC3D;AAAA,IAAA;AAGH,SAAK,WAAW;AAAA,MACd,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,YAAY,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,MACpD,IAAI,kBAAkB;AAAA,QACpB,OAAO;AAAA,QACP,SAAS;AAAA,UACP,IAAI,WAAW;AAAA,UACf,IAAI,aAAa,EAAE,OAAO,MAAM;AAAA,UAChC,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,WAAW,IAAI,EAAE;AAAA,cAAA,CAC1B;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,UACD,IAAI,aAAa;AAAA,YACf,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO,QAAQ;AACtB,mBAAK,eAAe;AAEpB,oBAAM,SAAS,MAAM,KAAK,gBAAgB,cAAc;AAAA,gBACtD,QAAQ,UAAU,IAAI,EAAE;AAAA,cAAA,CACzB;AAED,mBAAK,eAAe;AAChB,kBAAA,OAAO,KAAK,SAAS,KAAK;AAC5B,yBAAS,MAAM;AAAA,kBACb,SAAS,OAAO,KAAK,OAAO;AAAA,gBAAA,CAC7B;AACD;AAAA,cACF;AACA,uBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAEpC,mBAAK,KAAK;AAAA,YACZ;AAAA,YACA,WAAW,CAAC,QAAQ,IAAI,UAAU;AAAA,UAAA,CACnC;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAjFE,cAJW,qBAIH,IAA2B;AAJ9B,IAAM,qBAAN;"}
|
|
@@ -15,6 +15,7 @@ import { DATA_MODEL_NAME } from "../../../../constants/data-model.js";
|
|
|
15
15
|
import { MODULE_NAME } from "../../constants/index.js";
|
|
16
16
|
import { MsConfigTable } from "../ms-config/MsConfigTable.js";
|
|
17
17
|
import { MsMaterialComponents } from "./MsMaterialComponents.js";
|
|
18
|
+
import { isEqual } from "lodash-es";
|
|
18
19
|
const _MsMaterialTable = class _MsMaterialTable extends (_b = DataTable, _a = DATA_MODEL_NAME, _b) {
|
|
19
20
|
constructor(options = {}) {
|
|
20
21
|
super({
|
|
@@ -144,11 +145,20 @@ const _MsMaterialTable = class _MsMaterialTable extends (_b = DataTable, _a = DA
|
|
|
144
145
|
this.currentMaterialGroupId = materialGroupId;
|
|
145
146
|
this.attachMaterialTableCondition();
|
|
146
147
|
}
|
|
147
|
-
setCurrentMaterialType(
|
|
148
|
-
|
|
148
|
+
setCurrentMaterialType(materialType) {
|
|
149
|
+
var _a2;
|
|
150
|
+
if ((materialType == null ? void 0 : materialType.value) === ((_a2 = this.currentMaterialType) == null ? void 0 : _a2.value)) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
this.currentMaterialType = materialType;
|
|
149
154
|
this.attachMaterialTableCondition();
|
|
150
155
|
}
|
|
151
156
|
setAllowMaterialTypeValues(allowMaterialTypeValues) {
|
|
157
|
+
const targetAllowMaterialTypeValues = allowMaterialTypeValues.slice().sort();
|
|
158
|
+
const originAllowMaterialTypeValues = this.allowMaterialTypeValues.slice().sort();
|
|
159
|
+
if (isEqual(targetAllowMaterialTypeValues, originAllowMaterialTypeValues)) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
152
162
|
this.allowMaterialTypeValues = allowMaterialTypeValues;
|
|
153
163
|
this.setCurrentMaterialType(this.getMaterialTypes()[0] ?? null);
|
|
154
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsMaterialTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-material/MsMaterialTable.ts"],"sourcesContent":["import {\n Component,\n DataTable,\n DataTableOptions,\n IComponents,\n Messager,\n TableColumn,\n} from \"@maketribe/dm\";\nimport { MsMaterial, MsMaterialForm } from \"./MsMaterialForm\";\nimport { MsConfigTable } from \"../ms-config\";\nimport { ITypeResolver } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\nimport { MsMaterialGroupNode } from \"./ms-material-group\";\nimport { DvOpt, UploadError, WebFileUpload } from \"@maketribe/request\";\nimport { MsMaterialComponents } from \"./MsMaterialComponents\";\n\nexport type MsMaterialType = {\n value: number;\n accept: string;\n label: string;\n limit: number;\n};\n\nexport type MaterialTableOptions = DataTableOptions & {\n materialComponents?: IComponents;\n};\n\nexport class MsMaterialTable\n extends DataTable<MsMaterial>\n implements ITypeResolver<MsMaterial>\n{\n static [DATA_MODEL_NAME]: string = \"mk-material\";\n\n materialTypes: MsMaterialType[] = [];\n\n allowMaterialTypeValues: MsMaterialType[\"value\"][] = [];\n\n materialComponents: IComponents;\n\n currentMaterialGroupId: MsMaterialGroupNode[\"id\"] | null = null;\n\n currentMaterialType: MsMaterialType | null = null;\n\n upload: WebFileUpload;\n\n materialForm: MsMaterialForm = this.register(new MsMaterialForm());\n\n constructor(options: MaterialTableOptions = {}) {\n super({\n name: MsMaterialTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n\n this.materialComponents =\n options.materialComponents ?? new MsMaterialComponents();\n\n this.upload = new WebFileUpload({\n filters: [\n (file) => {\n if (!this.currentMaterialType) {\n throw new UploadError(\"不能上传文件,素材类型无效\");\n }\n\n if (this.currentMaterialType.limit * 1024 * 1024 < file.size) {\n throw new UploadError(\"文件太大不能上传\");\n }\n },\n ],\n });\n }\n\n getMaterialTypes(): MsMaterialType[] {\n if (!this.allowMaterialTypeValues.length) {\n return this.materialTypes;\n }\n\n return this.materialTypes.filter((materialType) =>\n this.allowMaterialTypeValues.includes(materialType.value)\n );\n }\n\n async loadMaterialTypes() {\n const configResponse = await MsConfigTable.loadConfig<MsMaterialType[]>(\n \"ms-material-types\"\n );\n\n if (configResponse.data.code !== 200 || !configResponse.data.data) {\n throw new Error();\n }\n\n const config = configResponse.data.data;\n\n this.materialTypes = config.value || [];\n }\n\n protected async initialize() {\n await super.initialize();\n\n const dvOpt = DvOpt.createInstance({\n name: MsMaterialTable[DATA_MODEL_NAME],\n });\n\n this.upload.uploadEvent.on(({ uploadItem }) => {\n uploadItem.completeEvent.once(async () => {\n if (!this.currentMaterialGroupId || !this.currentMaterialType) {\n Messager.error({ message: \"上传失败\" });\n return;\n }\n\n try {\n const response = await dvOpt.save({\n materialGroupId: this.currentMaterialGroupId,\n type: this.currentMaterialType.value!,\n desc: uploadItem.payload.name,\n path: uploadItem.response!.data.data.path,\n });\n\n if (response.code !== 200) {\n Messager.error({ message: response.msg });\n return;\n }\n } catch {\n Messager.error({ message: \"网络异常\" });\n }\n\n this.load();\n });\n });\n\n this.materialTypes = [\n { value: 1, accept: \"image/*\", limit: 10, label: \"图片\" },\n { value: 2, accept: \"video/*\", limit: 500, label: \"视频\" },\n { value: 4, accept: \"*\", limit: 100, label: \"文档\" },\n ];\n\n this.currentMaterialType = this.materialTypes[0];\n\n const mapping = this.materialTypes.reduce((result, item) => {\n result[item.value] = result.label;\n\n return result;\n }, {} as Record<any, any>);\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKColumnObjectMappingText\",\n componentProps: {\n mapping,\n },\n }),\n new TableColumn({ name: \"desc\", label: \"描述\" }),\n new TableColumn({ name: \"path\", label: \"路径\" }),\n ]);\n }\n formatItem(item: MsMaterial): MsMaterial {\n return {\n id: item.id,\n materialGroupId: item.materialGroupId || null,\n type: item.type ? item.type : 1,\n desc: item.desc || \"\",\n path: item.path || \"\",\n };\n }\n\n resolveType(type: string): string {\n switch (type) {\n case \"1\":\n return \"MKImageView\";\n case \"2\":\n return \"MKVideoView\";\n case \"3\":\n return \"MKAudioView\";\n default:\n return \"MKDocumentView\";\n }\n }\n\n resolveItemType(item: MsMaterial): string {\n return this.resolveType(item.type.toString());\n }\n\n resolveMaterialComponent(item: MsMaterial): Component | null {\n return this.materialComponents.resolveComponent(this.resolveItemType(item));\n }\n\n setCurrentMaterialGroupId(materialGroupId: MsMaterialGroupNode[\"id\"] | null) {\n this.currentMaterialGroupId = materialGroupId;\n\n this.attachMaterialTableCondition();\n }\n\n setCurrentMaterialType(materialTypeId: MsMaterialType | null) {\n this.currentMaterialType = materialTypeId;\n\n this.attachMaterialTableCondition();\n }\n\n setAllowMaterialTypeValues(\n allowMaterialTypeValues: MsMaterialType[\"value\"][]\n ) {\n this.allowMaterialTypeValues = allowMaterialTypeValues;\n\n this.setCurrentMaterialType(this.getMaterialTypes()[0] ?? null);\n }\n\n protected attachMaterialTableCondition() {\n if (!this.currentMaterialGroupId || !this.currentMaterialType) {\n return;\n }\n\n this.useCondition((defaultGroup) => {\n defaultGroup.clear();\n\n defaultGroup.addCondition(\n \"materialGroupId\",\n \"=\",\n this.currentMaterialGroupId\n );\n\n defaultGroup.addCondition(\"type\", \"=\", this.currentMaterialType!.value);\n });\n\n this.load();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MsMaterialTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-material/MsMaterialTable.ts"],"sourcesContent":["import {\r\n Component,\r\n DataTable,\r\n DataTableOptions,\r\n IComponents,\r\n Messager,\r\n TableColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsMaterial, MsMaterialForm } from \"./MsMaterialForm\";\r\nimport { MsConfigTable } from \"../ms-config\";\r\nimport { ITypeResolver } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\nimport { MsMaterialGroupNode } from \"./ms-material-group\";\r\nimport { DvOpt, UploadError, WebFileUpload } from \"@maketribe/request\";\r\nimport { MsMaterialComponents } from \"./MsMaterialComponents\";\r\nimport { isEqual } from \"lodash-es\";\r\n\r\nexport type MsMaterialType = {\r\n value: number;\r\n accept: string;\r\n label: string;\r\n limit: number;\r\n};\r\n\r\nexport type MaterialTableOptions = DataTableOptions & {\r\n materialComponents?: IComponents;\r\n};\r\n\r\nexport class MsMaterialTable\r\n extends DataTable<MsMaterial>\r\n implements ITypeResolver<MsMaterial>\r\n{\r\n static [DATA_MODEL_NAME]: string = \"mk-material\";\r\n\r\n materialTypes: MsMaterialType[] = [];\r\n\r\n allowMaterialTypeValues: MsMaterialType[\"value\"][] = [];\r\n\r\n materialComponents: IComponents;\r\n\r\n currentMaterialGroupId: MsMaterialGroupNode[\"id\"] | null = null;\r\n\r\n currentMaterialType: MsMaterialType | null = null;\r\n\r\n upload: WebFileUpload;\r\n\r\n materialForm: MsMaterialForm = this.register(new MsMaterialForm());\r\n\r\n constructor(options: MaterialTableOptions = {}) {\r\n super({\r\n name: MsMaterialTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n\r\n this.materialComponents =\r\n options.materialComponents ?? new MsMaterialComponents();\r\n\r\n this.upload = new WebFileUpload({\r\n filters: [\r\n (file) => {\r\n if (!this.currentMaterialType) {\r\n throw new UploadError(\"不能上传文件,素材类型无效\");\r\n }\r\n\r\n if (this.currentMaterialType.limit * 1024 * 1024 < file.size) {\r\n throw new UploadError(\"文件太大不能上传\");\r\n }\r\n },\r\n ],\r\n });\r\n }\r\n\r\n getMaterialTypes(): MsMaterialType[] {\r\n if (!this.allowMaterialTypeValues.length) {\r\n return this.materialTypes;\r\n }\r\n\r\n return this.materialTypes.filter((materialType) =>\r\n this.allowMaterialTypeValues.includes(materialType.value)\r\n );\r\n }\r\n\r\n async loadMaterialTypes() {\r\n const configResponse = await MsConfigTable.loadConfig<MsMaterialType[]>(\r\n \"ms-material-types\"\r\n );\r\n\r\n if (configResponse.data.code !== 200 || !configResponse.data.data) {\r\n throw new Error();\r\n }\r\n\r\n const config = configResponse.data.data;\r\n\r\n this.materialTypes = config.value || [];\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n const dvOpt = DvOpt.createInstance({\r\n name: MsMaterialTable[DATA_MODEL_NAME],\r\n });\r\n\r\n this.upload.uploadEvent.on(({ uploadItem }) => {\r\n uploadItem.completeEvent.once(async () => {\r\n if (!this.currentMaterialGroupId || !this.currentMaterialType) {\r\n Messager.error({ message: \"上传失败\" });\r\n return;\r\n }\r\n\r\n try {\r\n const response = await dvOpt.save({\r\n materialGroupId: this.currentMaterialGroupId,\r\n type: this.currentMaterialType.value!,\r\n desc: uploadItem.payload.name,\r\n path: uploadItem.response!.data.data.path,\r\n });\r\n\r\n if (response.code !== 200) {\r\n Messager.error({ message: response.msg });\r\n return;\r\n }\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n }\r\n\r\n this.load();\r\n });\r\n });\r\n\r\n this.materialTypes = [\r\n { value: 1, accept: \"image/*\", limit: 10, label: \"图片\" },\r\n { value: 2, accept: \"video/*\", limit: 500, label: \"视频\" },\r\n { value: 4, accept: \"*\", limit: 100, label: \"文档\" },\r\n ];\r\n\r\n this.currentMaterialType = this.materialTypes[0];\r\n\r\n const mapping = this.materialTypes.reduce((result, item) => {\r\n result[item.value] = result.label;\r\n\r\n return result;\r\n }, {} as Record<any, any>);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\r\n new TableColumn({\r\n name: \"type\",\r\n label: \"类型\",\r\n componentInfo: \"MKColumnObjectMappingText\",\r\n componentProps: {\r\n mapping,\r\n },\r\n }),\r\n new TableColumn({ name: \"desc\", label: \"描述\" }),\r\n new TableColumn({ name: \"path\", label: \"路径\" }),\r\n ]);\r\n }\r\n formatItem(item: MsMaterial): MsMaterial {\r\n return {\r\n id: item.id,\r\n materialGroupId: item.materialGroupId || null,\r\n type: item.type ? item.type : 1,\r\n desc: item.desc || \"\",\r\n path: item.path || \"\",\r\n };\r\n }\r\n\r\n resolveType(type: string): string {\r\n switch (type) {\r\n case \"1\":\r\n return \"MKImageView\";\r\n case \"2\":\r\n return \"MKVideoView\";\r\n case \"3\":\r\n return \"MKAudioView\";\r\n default:\r\n return \"MKDocumentView\";\r\n }\r\n }\r\n\r\n resolveItemType(item: MsMaterial): string {\r\n return this.resolveType(item.type.toString());\r\n }\r\n\r\n resolveMaterialComponent(item: MsMaterial): Component | null {\r\n return this.materialComponents.resolveComponent(this.resolveItemType(item));\r\n }\r\n\r\n setCurrentMaterialGroupId(materialGroupId: MsMaterialGroupNode[\"id\"] | null) {\r\n this.currentMaterialGroupId = materialGroupId;\r\n\r\n this.attachMaterialTableCondition();\r\n }\r\n\r\n setCurrentMaterialType(materialType: MsMaterialType | null) {\r\n if (materialType?.value === this.currentMaterialType?.value) {\r\n return;\r\n }\r\n\r\n this.currentMaterialType = materialType;\r\n\r\n this.attachMaterialTableCondition();\r\n }\r\n\r\n setAllowMaterialTypeValues(\r\n allowMaterialTypeValues: MsMaterialType[\"value\"][]\r\n ) {\r\n const targetAllowMaterialTypeValues = allowMaterialTypeValues\r\n .slice()\r\n .sort();\r\n\r\n const originAllowMaterialTypeValues = this.allowMaterialTypeValues\r\n .slice()\r\n .sort();\r\n\r\n if (isEqual(targetAllowMaterialTypeValues, originAllowMaterialTypeValues)) {\r\n return;\r\n }\r\n\r\n this.allowMaterialTypeValues = allowMaterialTypeValues;\r\n\r\n this.setCurrentMaterialType(this.getMaterialTypes()[0] ?? null);\r\n }\r\n\r\n protected attachMaterialTableCondition() {\r\n if (!this.currentMaterialGroupId || !this.currentMaterialType) {\r\n return;\r\n }\r\n\r\n this.useCondition((defaultGroup) => {\r\n defaultGroup.clear();\r\n\r\n defaultGroup.addCondition(\r\n \"materialGroupId\",\r\n \"=\",\r\n this.currentMaterialGroupId\r\n );\r\n\r\n defaultGroup.addCondition(\"type\", \"=\", this.currentMaterialType!.value);\r\n });\r\n\r\n this.load();\r\n }\r\n}\r\n"],"names":["_a"],"mappings":"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"}
|
package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsMaterialGroupTree.js","sources":["../../../../../../../src/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.ts"],"sourcesContent":["import { DataTableOptions, DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { MsMaterialGroup } from \"./MsMaterialGroupForm\";\nimport { ResponseConfig, R } from \"@maketribe/request\";\nimport { DATA_MODEL_NAME } from \"../../../../../constants\";\nimport { MODULE_NAME } from \"../../../constants\";\n\nexport type MsMaterialGroupNode = MsMaterialGroup & {\n children: MsMaterialGroupNode[];\n};\n\nexport class MsMaterialGroupTree extends DataTree<MsMaterialGroupNode> {\n static [DATA_MODEL_NAME]: string = \"mk-material-group\";\n\n currentDataTreeNode: DataTreeNode<MsMaterialGroupNode> | null;\n\n constructor(options: DataTableOptions = {}) {\n super({\n name: MsMaterialGroupTree[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n props: { label: \"desc\", parent: \"parentGroupId\" },\n ...options,\n });\n\n this.currentDataTreeNode = null;\n }\n\n formatItem(item: MsMaterialGroupNode): MsMaterialGroupNode {\n item.children = item.children ?? [];\n\n return item;\n }\n\n load(\n params?: Record<string, any>\n ): Promise<\n ResponseConfig<R<MsMaterialGroupNode[]> & { totalRecCount: string }>\n > {\n return this.loadAll(params);\n }\n\n public nodeHasChildren(node: DataTreeNode<MsMaterialGroupNode>): boolean {\n return node.children.length > 0;\n }\n\n getCurrentNode() {\n if (this.currentDataTreeNode) {\n return this.currentDataTreeNode;\n }\n\n const getFirstNode = (\n nodes: DataTreeNode<MsMaterialGroupNode>[]\n ): DataTreeNode<MsMaterialGroupNode> | null => {\n const node = nodes[0];\n\n if (node.children.length) {\n return getFirstNode(node.children);\n }\n\n return node;\n };\n\n if (this.rootNodes.length === 0) {\n return null;\n }\n\n return (this.currentDataTreeNode = getFirstNode(this.rootNodes));\n }\n\n setCurrentNode(node: DataTreeNode<MsMaterialGroupNode> | null) {\n this.currentDataTreeNode = node;\n }\n}\n"],"names":[],"mappings":";;;;;;;AAUO,MAAM,uBAAN,MAAM,8BAA4B,eAC/B,sBAD+B,IAA8B;AAAA,EAKrE,YAAY,UAA4B,IAAI;AACpC,UAAA;AAAA,MACJ,MAAM,qBAAoB,eAAe;AAAA,MACzC,YAAY;AAAA,MACZ,OAAO,EAAE,OAAO,QAAQ,QAAQ,gBAAgB;AAAA,MAChD,GAAG;AAAA,IAAA,CACJ;AARH;AAUE,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,WAAW,MAAgD;AACpD,SAAA,WAAW,KAAK,YAAY,CAAA;AAE1B,WAAA;AAAA,EACT;AAAA,EAEA,KACE,QAGA;AACO,WAAA,KAAK,QAAQ,MAAM;AAAA,EAC5B;AAAA,EAEO,gBAAgB,MAAkD;AAChE,WAAA,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,iBAAiB;AACf,QAAI,KAAK,qBAAqB;AAC5B,aAAO,KAAK;AAAA,IACd;AAEM,UAAA,eAAe,CACnB,UAC6C;AACvC,YAAA,OAAO,MAAM,CAAC;AAEhB,UAAA,KAAK,SAAS,QAAQ;AACjB,eAAA,aAAa,KAAK,QAAQ;AAAA,MACnC;AAEO,aAAA;AAAA,IAAA;AAGL,QAAA,KAAK,UAAU,WAAW,GAAG;AACxB,aAAA;AAAA,IACT;AAEA,WAAQ,KAAK,sBAAsB,aAAa,KAAK,SAAS;AAAA,EAChE;AAAA,EAEA,eAAe,MAAgD;AAC7D,SAAK,sBAAsB;AAAA,EAC7B;AACF;AA5DE,cADW,sBACH,IAA2B;AAD9B,IAAM,sBAAN;"}
|
|
1
|
+
{"version":3,"file":"MsMaterialGroupTree.js","sources":["../../../../../../../src/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.ts"],"sourcesContent":["import { DataTableOptions, DataTree, DataTreeNode } from \"@maketribe/dm\";\r\nimport { MsMaterialGroup } from \"./MsMaterialGroupForm\";\r\nimport { ResponseConfig, R } from \"@maketribe/request\";\r\nimport { DATA_MODEL_NAME } from \"../../../../../constants\";\r\nimport { MODULE_NAME } from \"../../../constants\";\r\n\r\nexport type MsMaterialGroupNode = MsMaterialGroup & {\r\n children: MsMaterialGroupNode[];\r\n};\r\n\r\nexport class MsMaterialGroupTree extends DataTree<MsMaterialGroupNode> {\r\n static [DATA_MODEL_NAME]: string = \"mk-material-group\";\r\n\r\n currentDataTreeNode: DataTreeNode<MsMaterialGroupNode> | null;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsMaterialGroupTree[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n props: { label: \"desc\", parent: \"parentGroupId\" },\r\n ...options,\r\n });\r\n\r\n this.currentDataTreeNode = null;\r\n }\r\n\r\n formatItem(item: MsMaterialGroupNode): MsMaterialGroupNode {\r\n item.children = item.children ?? [];\r\n\r\n return item;\r\n }\r\n\r\n load(\r\n params?: Record<string, any>\r\n ): Promise<\r\n ResponseConfig<R<MsMaterialGroupNode[]> & { totalRecCount: string }>\r\n > {\r\n return this.loadAll(params);\r\n }\r\n\r\n public nodeHasChildren(node: DataTreeNode<MsMaterialGroupNode>): boolean {\r\n return node.children.length > 0;\r\n }\r\n\r\n getCurrentNode() {\r\n if (this.currentDataTreeNode) {\r\n return this.currentDataTreeNode;\r\n }\r\n\r\n const getFirstNode = (\r\n nodes: DataTreeNode<MsMaterialGroupNode>[]\r\n ): DataTreeNode<MsMaterialGroupNode> | null => {\r\n const node = nodes[0];\r\n\r\n if (node.children.length) {\r\n return getFirstNode(node.children);\r\n }\r\n\r\n return node;\r\n };\r\n\r\n if (this.rootNodes.length === 0) {\r\n return null;\r\n }\r\n\r\n return (this.currentDataTreeNode = getFirstNode(this.rootNodes));\r\n }\r\n\r\n setCurrentNode(node: DataTreeNode<MsMaterialGroupNode> | null) {\r\n this.currentDataTreeNode = node;\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;;;AAUO,MAAM,uBAAN,MAAM,8BAA4B,eAC/B,sBAD+B,IAA8B;AAAA,EAKrE,YAAY,UAA4B,IAAI;AACpC,UAAA;AAAA,MACJ,MAAM,qBAAoB,eAAe;AAAA,MACzC,YAAY;AAAA,MACZ,OAAO,EAAE,OAAO,QAAQ,QAAQ,gBAAgB;AAAA,MAChD,GAAG;AAAA,IAAA,CACJ;AARH;AAUE,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,WAAW,MAAgD;AACpD,SAAA,WAAW,KAAK,YAAY,CAAA;AAE1B,WAAA;AAAA,EACT;AAAA,EAEA,KACE,QAGA;AACO,WAAA,KAAK,QAAQ,MAAM;AAAA,EAC5B;AAAA,EAEO,gBAAgB,MAAkD;AAChE,WAAA,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,iBAAiB;AACf,QAAI,KAAK,qBAAqB;AAC5B,aAAO,KAAK;AAAA,IACd;AAEM,UAAA,eAAe,CACnB,UAC6C;AACvC,YAAA,OAAO,MAAM,CAAC;AAEhB,UAAA,KAAK,SAAS,QAAQ;AACjB,eAAA,aAAa,KAAK,QAAQ;AAAA,MACnC;AAEO,aAAA;AAAA,IAAA;AAGL,QAAA,KAAK,UAAU,WAAW,GAAG;AACxB,aAAA;AAAA,IACT;AAEA,WAAQ,KAAK,sBAAsB,aAAa,KAAK,SAAS;AAAA,EAChE;AAAA,EAEA,eAAe,MAAgD;AAC7D,SAAK,sBAAsB;AAAA,EAC7B;AACF;AA5DE,cADW,sBACH,IAA2B;AAD9B,IAAM,sBAAN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsMemberForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n DataFormType,\n FormColumn,\n} from \"@maketribe/dm\";\nimport { MsRoleTable } from \"../ms-role\";\nimport { DATA_MODEL_NAME, EMAIL_PATTERN } from \"../../../../constants\";\nimport { WebFileUploadContext } from \"../../../../components/basic/upload-file/context/WebFileUploadContext\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsMemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n normalizedEmail: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: string;\n userName: string;\n normalizedUserName: string;\n avatar: string;\n roles: any[];\n passwordHash: string;\n // depts: any[];\n valid: number;\n lockoutEnabled?: number;\n accessFailedCount?: number;\n lockoutEnd?: string;\n memo?: string;\n twoFactorEnabled: boolean;\n concurrencyStamp: string;\n securityStamp: string;\n isLock: number;\n};\n\nexport type MsMember = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n normalizedEmail: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: string;\n userName: string;\n normalizedUserName: string;\n avatar: string;\n roles: any[];\n passwordHash: string;\n // depts: any[];\n valid: number;\n lockoutEnabled?: number;\n accessFailedCount?: number;\n lockoutEnd?: string;\n memo?: string;\n twoFactorEnabled: boolean;\n concurrencyStamp: string;\n securityStamp: string;\n isLock: number;\n};\n\nexport class MsMemberForm<\n T extends MsMemberResult = MsMemberResult,\n F extends MsMember = MsMember\n> extends DataForm<T, F> {\n static [DATA_MODEL_NAME]: string = \"ms-member\";\n\n constructor(options: DataFormOptions = {}) {\n super({\n name: MsMemberForm[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({\n name: \"account\",\n label: \"账号\",\n required: true,\n disabled: true,\n }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n componentProps: { uploadContext: new WebFileUploadContext() },\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n // componentInfo: \"MKFormDataTableSelect\",\n componentInfo: \"MKFormDataSelect\",\n componentProps: {\n multiple: true,\n objectValue: true,\n labelFieldName: \"desc\",\n // filterable: true,\n filterFieldNames: ['desc', 'name'],\n dataTable: new MsRoleTable(),\n },\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n componentInfo: \"MKFormInput\",\n componentProps: { type: \"textarea\", rows: 4 },\n }),\n ]);\n\n this.dataFormTypeChangeEvent.on(({ dataFormType }) => {\n const accountColumn = this.getColumn(\"account\");\n\n if (accountColumn) {\n accountColumn.disabled = dataFormType !== DataFormType.ADD;\n }\n });\n }\n\n // formatItem(item: T): F {\n // debugger;\n // return item;\n // return {\n // id: item.id,\n // name: item.name || \"\",\n // wechatNo: item.wechatNo || \"\",\n // nickName: item.nickName || \"\",\n // email: item.email || \"\",\n // phoneNumber: item.phoneNumber || \"\",\n // userName: item.userName || \"\",\n // avatar: item.avatar,\n // roles: item.roles,\n // // depts: item.depts?.map((department) => department.deptId),\n // valid: item.valid,\n // memo: item.memo || \"\",\n // } as F;\n // }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAiEO,MAAM,gBAAN,MAAM,uBAGH,eACA,sBADA,IAAe;AAAA,EAGvB,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,cAAa,eAAe;AAAA,MAClC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAI,WAAW,EAAE,MAAM,MAAM,OAAO,MAAM;AAAA,MAC1C,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,MAAM,UAAU,MAAM;AAAA,MAC5D,IAAI,WAAW,EAAE,MAAM,YAAY,OAAO,OAAO,cAAc,MAAM;AAAA,MACrE,IAAI,WAAW,EAAE,MAAM,YAAY,OAAO,MAAM,UAAU,MAAM;AAAA,MAChE,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,OAAO,CAAC,EAAE,SAAS,UAAU,SAAS,eAAe;AAAA,MAAA,CACtD;AAAA,MACD,IAAI,WAAW,EAAE,MAAM,SAAS,OAAO,OAAO,cAAc,MAAM;AAAA,MAClE,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,MAAA,CACX;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB,EAAE,eAAe,IAAI,uBAAuB;AAAA,MAAA,CAC7D;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,cAAc;AAAA;AAAA,QAEd,eAAe;AAAA,QACf,gBAAgB;AAAA,UACd,UAAU;AAAA,UACV,aAAa;AAAA,UACb,gBAAgB;AAAA;AAAA,UAEhB,kBAAkB,CAAC,QAAQ,MAAM;AAAA,UACjC,WAAW,IAAI,YAAY;AAAA,QAC7B;AAAA,MAAA,CACD;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,QACf,gBAAgB,EAAE,MAAM,YAAY,MAAM,EAAE;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAED,SAAK,wBAAwB,GAAG,CAAC,EAAE,mBAAmB;AAC9C,YAAA,gBAAgB,KAAK,UAAU,SAAS;AAE9C,UAAI,eAAe;AACH,sBAAA,WAAW,iBAAiB,aAAa;AAAA,MACzD;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBF;AAxFE,cAJW,eAIH,IAA2B;AAJ9B,IAAM,eAAN;"}
|
|
1
|
+
{"version":3,"file":"MsMemberForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberForm.ts"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormOptions,\r\n DataFormType,\r\n FormColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsRoleTable } from \"../ms-role\";\r\nimport { DATA_MODEL_NAME, EMAIL_PATTERN } from \"../../../../constants\";\r\nimport { WebFileUploadContext } from \"../../../../components/basic/upload-file/context/WebFileUploadContext\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsMemberResult = {\r\n id: string;\r\n name: string;\r\n wechatNo: string;\r\n nickName: string;\r\n email: string;\r\n normalizedEmail: string;\r\n emailConfirmed: boolean;\r\n phoneNumber: string;\r\n phoneNumberConfirmed: string;\r\n userName: string;\r\n normalizedUserName: string;\r\n avatar: string;\r\n roles: any[];\r\n passwordHash: string;\r\n // depts: any[];\r\n valid: number;\r\n lockoutEnabled?: number;\r\n accessFailedCount?: number;\r\n lockoutEnd?: string;\r\n memo?: string;\r\n twoFactorEnabled: boolean;\r\n concurrencyStamp: string;\r\n securityStamp: string;\r\n isLock: number;\r\n};\r\n\r\nexport type MsMember = {\r\n id: string;\r\n name: string;\r\n wechatNo: string;\r\n nickName: string;\r\n email: string;\r\n normalizedEmail: string;\r\n emailConfirmed: boolean;\r\n phoneNumber: string;\r\n phoneNumberConfirmed: string;\r\n userName: string;\r\n normalizedUserName: string;\r\n avatar: string;\r\n roles: any[];\r\n passwordHash: string;\r\n // depts: any[];\r\n valid: number;\r\n lockoutEnabled?: number;\r\n accessFailedCount?: number;\r\n lockoutEnd?: string;\r\n memo?: string;\r\n twoFactorEnabled: boolean;\r\n concurrencyStamp: string;\r\n securityStamp: string;\r\n isLock: number;\r\n};\r\n\r\nexport class MsMemberForm<\r\n T extends MsMemberResult = MsMemberResult,\r\n F extends MsMember = MsMember\r\n> extends DataForm<T, F> {\r\n static [DATA_MODEL_NAME]: string = \"ms-member\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: MsMemberForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({ name: \"id\", label: \"编号\" }),\r\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\r\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\r\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\r\n new FormColumn({\r\n name: \"email\",\r\n label: \"邮箱\",\r\n required: true,\r\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\r\n }),\r\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\r\n new FormColumn({\r\n name: \"account\",\r\n label: \"账号\",\r\n required: true,\r\n disabled: true,\r\n }),\r\n new FormColumn({\r\n name: \"avatar\",\r\n label: \"头像\",\r\n defaultValue: null,\r\n componentInfo: \"MKFormImageUpload\",\r\n componentProps: { uploadContext: new WebFileUploadContext() },\r\n }),\r\n new FormColumn({\r\n name: \"roles\",\r\n label: \"角色\",\r\n defaultValue: null,\r\n // componentInfo: \"MKFormDataTableSelect\",\r\n componentInfo: \"MKFormDataSelect\",\r\n componentProps: {\r\n multiple: true,\r\n objectValue: true,\r\n labelFieldName: \"desc\",\r\n // filterable: true,\r\n filterFieldNames: ['desc', 'name'],\r\n dataTable: new MsRoleTable(),\r\n },\r\n }),\r\n new FormColumn({\r\n name: \"memo\",\r\n label: \"备注\",\r\n componentInfo: \"MKFormInput\",\r\n componentProps: { type: \"textarea\", rows: 4 },\r\n }),\r\n ]);\r\n\r\n this.dataFormTypeChangeEvent.on(({ dataFormType }) => {\r\n const accountColumn = this.getColumn(\"account\");\r\n\r\n if (accountColumn) {\r\n accountColumn.disabled = dataFormType !== DataFormType.ADD;\r\n }\r\n });\r\n }\r\n\r\n // formatItem(item: T): F {\r\n // debugger;\r\n // return item;\r\n // return {\r\n // id: item.id,\r\n // name: item.name || \"\",\r\n // wechatNo: item.wechatNo || \"\",\r\n // nickName: item.nickName || \"\",\r\n // email: item.email || \"\",\r\n // phoneNumber: item.phoneNumber || \"\",\r\n // userName: item.userName || \"\",\r\n // avatar: item.avatar,\r\n // roles: item.roles,\r\n // // depts: item.depts?.map((department) => department.deptId),\r\n // valid: item.valid,\r\n // memo: item.memo || \"\",\r\n // } as F;\r\n // }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAiEO,MAAM,gBAAN,MAAM,uBAGH,eACA,sBADA,IAAe;AAAA,EAGvB,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,cAAa,eAAe;AAAA,MAClC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAI,WAAW,EAAE,MAAM,MAAM,OAAO,MAAM;AAAA,MAC1C,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,MAAM,UAAU,MAAM;AAAA,MAC5D,IAAI,WAAW,EAAE,MAAM,YAAY,OAAO,OAAO,cAAc,MAAM;AAAA,MACrE,IAAI,WAAW,EAAE,MAAM,YAAY,OAAO,MAAM,UAAU,MAAM;AAAA,MAChE,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,OAAO,CAAC,EAAE,SAAS,UAAU,SAAS,eAAe;AAAA,MAAA,CACtD;AAAA,MACD,IAAI,WAAW,EAAE,MAAM,SAAS,OAAO,OAAO,cAAc,MAAM;AAAA,MAClE,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,MAAA,CACX;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB,EAAE,eAAe,IAAI,uBAAuB;AAAA,MAAA,CAC7D;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,cAAc;AAAA;AAAA,QAEd,eAAe;AAAA,QACf,gBAAgB;AAAA,UACd,UAAU;AAAA,UACV,aAAa;AAAA,UACb,gBAAgB;AAAA;AAAA,UAEhB,kBAAkB,CAAC,QAAQ,MAAM;AAAA,UACjC,WAAW,IAAI,YAAY;AAAA,QAC7B;AAAA,MAAA,CACD;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,QACf,gBAAgB,EAAE,MAAM,YAAY,MAAM,EAAE;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAED,SAAK,wBAAwB,GAAG,CAAC,EAAE,mBAAmB;AAC9C,YAAA,gBAAgB,KAAK,UAAU,SAAS;AAE9C,UAAI,eAAe;AACH,sBAAA,WAAW,iBAAiB,aAAa;AAAA,MACzD;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBF;AAxFE,cAJW,eAIH,IAA2B;AAJ9B,IAAM,eAAN;"}
|