@maketribe/ms-app 3.2.9 → 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/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/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 +36 -37
- package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js +10 -0
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-list/resource-list.vue.js +43 -17
- package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-select/resource-select-input.js +50 -0
- package/dist/cjs/components/business/resource-select/resource-select-input.js.map +1 -0
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer-options.js +20 -0
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -0
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer.js +68 -0
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -0
- package/dist/cjs/components/data-model/data-filter-drawer/index.js +11 -0
- package/dist/cjs/components/data-model/data-filter-drawer/index.js.map +1 -0
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +8 -5
- 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 +9 -22
- 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-date/index.js +1 -0
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input-options.js +4 -0
- 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 +7 -19
- 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-input/index.js +1 -0
- package/dist/cjs/components/data-model/data-filter-form/components/condition-input/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number-options.js +7 -7
- 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 +13 -26
- 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-number/index.js +1 -0
- package/dist/cjs/components/data-model/data-filter-form/components/condition-number/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select-options.js +2 -2
- 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 +7 -27
- 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/components/condition-select/index.js +1 -1
- package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js +8 -38
- 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 +31 -67
- 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.js +9 -6
- 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 +1 -11
- package/dist/cjs/components/data-model/data-filter-form/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/operator-options.js +18 -28
- package/dist/cjs/components/data-model/data-filter-form/operator-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/token.js +0 -2
- package/dist/cjs/components/data-model/data-filter-form/token.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js +44 -21
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/cjs/composables/use-column-component.js +3 -3
- package/dist/cjs/composables/use-column-component.js.map +1 -1
- package/dist/cjs/core/component/DataFilterComponents.js +4 -0
- package/dist/cjs/core/component/DataFilterComponents.js.map +1 -1
- package/dist/cjs/core/component/DataFormComponents.js +8 -0
- package/dist/cjs/core/component/DataFormComponents.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/modules/cms/cms-settings.js +43 -0
- package/dist/cjs/modules/cms/cms-settings.js.map +1 -0
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -0
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +3 -0
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +33 -2
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +5 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -0
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js +4 -37
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
- package/dist/cjs/modules/cms/index.js +5 -0
- package/dist/cjs/modules/cms/index.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +3 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +143 -165
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +37 -40
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +63 -59
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +13 -6
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +2 -6
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue.js +4 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue.js.map +1 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +338 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -0
- 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/material-list/material-group-form-popover.js +2 -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 +2 -0
- package/dist/cjs/modules/ms/components/material-list/material-group.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -0
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list.js +1 -0
- package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -0
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js +1 -0
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js +34 -0
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.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/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/pages/ms-material/index.vue2.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/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/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 +36 -37
- package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js +10 -0
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/esm/components/business/resource-list/resource-list.vue.js +44 -18
- package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/business/resource-select/resource-select-input.js +51 -0
- package/dist/esm/components/business/resource-select/resource-select-input.js.map +1 -0
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer-options.js +20 -0
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -0
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer.js +69 -0
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -0
- package/dist/esm/components/data-model/data-filter-drawer/index.js +11 -0
- package/dist/esm/components/data-model/data-filter-drawer/index.js.map +1 -0
- package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +8 -5
- 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 +10 -23
- 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-date/index.js +2 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input-options.js +4 -0
- 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 +9 -21
- 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-input/index.js +2 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number-options.js +7 -7
- 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 +15 -28
- 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-number/index.js +2 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select-options.js +2 -2
- 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 +9 -29
- 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/components/condition-select/index.js +2 -2
- package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js +9 -39
- 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 +33 -69
- 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.js +9 -6
- 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 +3 -13
- package/dist/esm/components/data-model/data-filter-form/operator-options.js +18 -29
- package/dist/esm/components/data-model/data-filter-form/operator-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/token.js +1 -3
- package/dist/esm/components/data-model/data-filter-form/token.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js +43 -20
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/esm/composables/use-column-component.js +3 -3
- package/dist/esm/composables/use-column-component.js.map +1 -1
- package/dist/esm/core/component/DataFilterComponents.js +5 -1
- package/dist/esm/core/component/DataFilterComponents.js.map +1 -1
- package/dist/esm/core/component/DataFormComponents.js +7 -0
- package/dist/esm/core/component/DataFormComponents.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/modules/cms/cms-settings.js +43 -0
- package/dist/esm/modules/cms/cms-settings.js.map +1 -0
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -0
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +3 -0
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +33 -2
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +5 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -0
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js +4 -37
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
- package/dist/esm/modules/cms/index.js +5 -0
- package/dist/esm/modules/cms/index.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +3 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +144 -166
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +38 -41
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +64 -60
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +14 -7
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +2 -6
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue.js +5 -0
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue.js.map +1 -0
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +339 -0
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -0
- 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/material-list/material-group-form-popover.js +2 -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 +2 -0
- package/dist/esm/modules/ms/components/material-list/material-group.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -0
- package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list.js +1 -0
- package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -0
- package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js +1 -0
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js +34 -0
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.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/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/pages/ms-material/index.vue2.js +2 -0
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +2 -0
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +2 -0
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/style/components/data-filter-drawer.css +1 -0
- package/dist/style/components/index.css +1 -1
- package/dist/style/components/table/index.css +1 -1
- package/dist/style/components/table/table-filter.css +1 -1
- package/dist/style/index.css +1 -1
- package/dist/style/modules/cms/index.css +1 -1
- package/dist/style/modules/cms/resource-manager.css +1 -1
- package/dist/style/src/components/data-filter-drawer.scss +5 -0
- package/dist/style/src/components/index.scss +1 -0
- package/dist/style/src/components/table/table-filter.scss +4 -0
- package/dist/style/src/modules/cms/resource-manager.scss +37 -7
- package/dist/style/src/theme/theme.scss +26 -12
- package/dist/style/theme/theme.css +1 -1
- package/dist/types/components/basic/config-provider/config-provider-options.d.ts +5 -5
- package/dist/types/components/basic/config-provider/config-provider.d.ts +10 -10
- package/dist/types/components/basic/config-provider/index.d.ts +10 -10
- package/dist/types/components/basic/config-provider/use-global-config.d.ts +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/components/business/resource-list/ResourceManager.d.ts +2 -0
- package/dist/types/components/business/resource-select/resource-select-input.d.ts +16 -0
- package/dist/types/components/data-model/data-filter-drawer/data-filter-drawer-options.d.ts +16 -0
- package/dist/types/components/data-model/data-filter-drawer/data-filter-drawer.d.ts +24 -0
- package/dist/types/components/data-model/data-filter-drawer/index.d.ts +25 -0
- package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date-options.d.ts +17 -1
- package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date.d.ts +33 -6
- package/dist/types/components/data-model/data-filter-form/components/condition-date/index.d.ts +33 -5
- package/dist/types/components/data-model/data-filter-form/components/condition-input/condition-input-options.d.ts +16 -0
- package/dist/types/components/data-model/data-filter-form/components/condition-input/condition-input.d.ts +30 -2
- package/dist/types/components/data-model/data-filter-form/components/condition-input/index.d.ts +30 -2
- package/dist/types/components/data-model/data-filter-form/components/condition-number/condition-number-options.d.ts +17 -1
- package/dist/types/components/data-model/data-filter-form/components/condition-number/condition-number.d.ts +33 -6
- package/dist/types/components/data-model/data-filter-form/components/condition-number/index.d.ts +33 -5
- package/dist/types/components/data-model/data-filter-form/components/condition-select/condition-select-options.d.ts +14 -2
- package/dist/types/components/data-model/data-filter-form/components/condition-select/condition-select.d.ts +30 -2
- package/dist/types/components/data-model/data-filter-form/components/condition-select/index.d.ts +30 -2
- package/dist/types/components/data-model/data-filter-form/composables/use-condition.d.ts +13 -7
- package/dist/types/components/data-model/data-filter-form/token.d.ts +1 -13
- package/dist/types/core/component/DataFilterComponents.d.ts +5 -2
- package/dist/types/modules/cms/cms-settings.d.ts +102 -0
- package/dist/types/modules/cms/dataviews/cms-articles/CmsArticlesForm.d.ts +11 -0
- package/dist/types/modules/cms/pages/cms-settigns/index.vue.d.ts +2 -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-config/MsConfigTable.d.ts +2 -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
- package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover-options.js +0 -9
- package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js +0 -59
- package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js.map +0 -1
- package/dist/cjs/components/data-model/data-filter-popover/index.js +0 -8
- package/dist/cjs/components/data-model/data-filter-popover/index.js.map +0 -1
- package/dist/esm/components/data-model/data-filter-popover/data-filter-popover-options.js +0 -9
- package/dist/esm/components/data-model/data-filter-popover/data-filter-popover-options.js.map +0 -1
- package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js +0 -60
- package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js.map +0 -1
- package/dist/esm/components/data-model/data-filter-popover/index.js +0 -8
- package/dist/esm/components/data-model/data-filter-popover/index.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ref, createVNode, Fragment, createTextVNode } from "vue";
|
|
2
|
+
import { Dialoger } from "@maketribe/dm";
|
|
3
|
+
import { ElButton } from "element-plus";
|
|
4
|
+
import ImageSelectPanel from "./image-select-panel.js";
|
|
5
|
+
import "../../../../components/basic/image-cropper/index.js";
|
|
6
|
+
import { ImageCropper } from "../../../../components/basic/image-cropper/image-cropper-api.js";
|
|
7
|
+
async function ImageSelect(cutWidth, cutHeight) {
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
const path = ref("");
|
|
10
|
+
const handleCancelClick = () => {
|
|
11
|
+
dialogInstance.destroy();
|
|
12
|
+
resolve({
|
|
13
|
+
success: false,
|
|
14
|
+
path: ""
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
const handleConfirmClick = async () => {
|
|
18
|
+
if (path.value) {
|
|
19
|
+
var result = await ImageCropper({
|
|
20
|
+
src: path.value,
|
|
21
|
+
ratioOptions: cutWidth && cutHeight ? [{
|
|
22
|
+
value: `${cutWidth}*${cutHeight}`,
|
|
23
|
+
label: `${cutWidth}px*${cutHeight}px`,
|
|
24
|
+
width: cutWidth,
|
|
25
|
+
height: cutHeight
|
|
26
|
+
}] : [],
|
|
27
|
+
maxWidth: cutWidth || 0,
|
|
28
|
+
maxHeight: cutHeight || 0
|
|
29
|
+
});
|
|
30
|
+
if (result.data) {
|
|
31
|
+
path.value = result.data;
|
|
32
|
+
dialogInstance.destroy();
|
|
33
|
+
resolve({
|
|
34
|
+
success: true,
|
|
35
|
+
path: path.value
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
dialogInstance.destroy();
|
|
40
|
+
resolve({
|
|
41
|
+
success: true,
|
|
42
|
+
path: path.value
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const dialogInstance = Dialoger.customRender({
|
|
47
|
+
title: "图片选择",
|
|
48
|
+
class: "mk-material-select",
|
|
49
|
+
width: "70%",
|
|
50
|
+
onClose: () => {
|
|
51
|
+
dialogInstance.destroy();
|
|
52
|
+
},
|
|
53
|
+
body: () => {
|
|
54
|
+
return createVNode(ImageSelectPanel, {
|
|
55
|
+
"modelValue": path.value,
|
|
56
|
+
"onUpdate:modelValue": ($event) => path.value = $event
|
|
57
|
+
}, null);
|
|
58
|
+
},
|
|
59
|
+
footer: () => {
|
|
60
|
+
return createVNode(Fragment, null, [createVNode(ElButton, {
|
|
61
|
+
"onClick": handleCancelClick
|
|
62
|
+
}, {
|
|
63
|
+
default: () => [createTextVNode("取消")]
|
|
64
|
+
}), createVNode(ElButton, {
|
|
65
|
+
"type": "primary",
|
|
66
|
+
"onClick": handleConfirmClick
|
|
67
|
+
}, {
|
|
68
|
+
default: () => [createTextVNode("确定")]
|
|
69
|
+
})]);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
export {
|
|
75
|
+
ImageSelect as default
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=image-select-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-select-api.js","sources":["../../../../../../src/modules/ms/components/image-select/image-select-api.tsx"],"sourcesContent":["import { Fragment, ref,h } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { ElButton } from \"element-plus\";\r\nimport ImageSelectPanel from \"./image-select-panel\";\r\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\"\r\n\r\nexport type MKImageSelectResult = { success: boolean; path: string; };\r\n\r\nexport default async function ImageSelect(cutWidth?:number,cutHeight?:number): Promise<MKImageSelectResult> {\r\n return new Promise((resolve) => {\r\n \r\n const path = ref<any>(\"\");\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n\r\n resolve({ success: false, path: \"\" });\r\n };\r\n\r\n const handleConfirmClick = async () => {\r\n\r\n\r\n if(path.value){\r\n\r\n var result = await ImageCropper({ \r\n src: path.value ,\r\n ratioOptions: cutWidth && cutHeight ?[\r\n { value: `${cutWidth}*${cutHeight}`, label: `${cutWidth}px*${cutHeight}px`, width: cutWidth, height: cutHeight }\r\n ]:[],\r\n maxWidth:cutWidth || 0,\r\n maxHeight:cutHeight || 0\r\n });\r\n\r\n if(result.data){\r\n path.value = result.data;\r\n dialogInstance.destroy();\r\n resolve({ success: true, path: path.value });\r\n }\r\n else{\r\n // 取消裁切\r\n \r\n }\r\n }\r\n else{\r\n dialogInstance.destroy();\r\n resolve({ success: true, path: path.value });\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 <ImageSelectPanel v-model={path.value} />\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["ImageSelect","cutWidth","cutHeight","Promise","resolve","path","ref","handleCancelClick","dialogInstance","destroy","success","handleConfirmClick","value","result","ImageCropper","src","ratioOptions","label","width","height","maxWidth","maxHeight","data","Dialoger","customRender","title","class","onClose","body","_createVNode","ImageSelectPanel","$event","footer","_Fragment","ElButton","default","_createTextVNode"],"mappings":";;;;;;AAQe,eAAeA,YAAYC,UAAiBC,WAAiD;AAC1G,SAAO,IAAIC,QAASC,aAAY;AAE9B,UAAMC,OAAOC,IAAS,EAAE;AAExB,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAEtBL,cAAQ;AAAA,QAAEM,SAAS;AAAA,QAAQL,MAAM;AAAA,MAAG,CAAC;AAAA;AAGvC,UAAMM,qBAAqB,YAAY;AAGrC,UAAGN,KAAKO,OAAM;AAEZ,YAAIC,SAAS,MAAMC,aAAa;AAAA,UAC9BC,KAAKV,KAAKO;AAAAA,UACVI,cAAcf,YAAYC,YAAW,CACnC;AAAA,YAAEU,OAAO,GAAGX,QAAQ,IAAIC,SAAS;AAAA,YAAIe,OAAO,GAAGhB,QAAQ,MAAMC,SAAS;AAAA,YAAMgB,OAAOjB;AAAAA,YAAUkB,QAAQjB;AAAAA,UAAW,CAAA,IAChH,CAAE;AAAA,UACJkB,UAASnB,YAAY;AAAA,UACrBoB,WAAUnB,aAAa;AAAA,QACzB,CAAC;AAED,YAAGW,OAAOS,MAAK;AACbjB,eAAKO,QAAQC,OAAOS;AACpBd,yBAAeC,QAAO;AACtBL,kBAAQ;AAAA,YAAEM,SAAS;AAAA,YAAOL,MAAMA,KAAKO;AAAAA,UAAM,CAAC;AAAA,QAG5C;AAAA,MAGJ,OACI;AACFJ,uBAAeC,QAAO;AACtBL,gBAAQ;AAAA,UAAEM,SAAS;AAAA,UAAOL,MAAMA,KAAKO;AAAAA,QAAM,CAAC;AAAA,MAC9C;AAAA;AAGF,UAAMJ,iBAAiBe,SAASC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPR,OAAO;AAAA,MACPS,SAASA,MAAM;AACbnB,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDmB,MAAMA,MAAM;AACV,eAAAC,YAAAC,kBAAA;AAAA,UAAA,cAAkCzB,KAAKO;AAAAA,UAAK,uBAAAmB,YAAV1B,KAAKO,QAAKmB;AAAAA,QAAA,GAAA,IAAA;AAAA,MAC7C;AAAA,MACDC,QAAQA,MAAM;AACZ,eAAAH,YAAAI,UAAAJ,MAAAA,CAAAA,YAAAK,UAAA;AAAA,UAAA,WAEuB3B;AAAAA,QAAiB,GAAA;AAAA,UAAA4B,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFvB;AAAAA,QAAkB,GAAA;AAAA,UAAAwB,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAK1D;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { defineComponent, reactive, computed, ref, createVNode, createTextVNode, unref } from "vue";
|
|
2
|
+
import { ElTabs, ElTabPane, ElButton, ElImage, ElIcon } from "element-plus";
|
|
3
|
+
import { UploadFilled, Picture } from "@element-plus/icons-vue";
|
|
4
|
+
import "@maketribe/dm";
|
|
5
|
+
import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
|
|
6
|
+
import { MKMaterialList } from "../material-list/index.js";
|
|
7
|
+
import { fileSelect } from "@maketribe/utils";
|
|
8
|
+
const ImageView = /* @__PURE__ */ defineComponent({
|
|
9
|
+
props: ["src"],
|
|
10
|
+
setup(props, {
|
|
11
|
+
emit
|
|
12
|
+
}) {
|
|
13
|
+
return () => {
|
|
14
|
+
return createVNode(ElImage, {
|
|
15
|
+
"style": "background: #dedede;width: 100%; height: 480px;margin-top:10px;padding:10px;box-sizing: border-box;",
|
|
16
|
+
"src": unref(props.src),
|
|
17
|
+
"fit": "contain"
|
|
18
|
+
}, {
|
|
19
|
+
error: () => {
|
|
20
|
+
return createVNode("div", {
|
|
21
|
+
"style": "font-size: 50px; display: flex; align-content: center; justify-content: center; align-items: center; height: 100%;"
|
|
22
|
+
}, [createVNode(ElIcon, null, {
|
|
23
|
+
default: () => [createVNode(Picture, null, null)]
|
|
24
|
+
})]);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const ImageSelectPanel = /* @__PURE__ */ defineComponent({
|
|
31
|
+
name: "ImageSelectPanelComponent",
|
|
32
|
+
props: ["modelValue"],
|
|
33
|
+
setup(props, {
|
|
34
|
+
emit
|
|
35
|
+
}) {
|
|
36
|
+
const materialTable = reactive(new MsMaterialTable());
|
|
37
|
+
const modelValue = computed({
|
|
38
|
+
get: () => props.modelValue,
|
|
39
|
+
set: (v) => {
|
|
40
|
+
emit("update:model-value", v);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
const activeTabName = ref("l");
|
|
44
|
+
materialTable.selectionChangeEvent.on(() => {
|
|
45
|
+
var _a;
|
|
46
|
+
let id = materialTable.getSelection()[0];
|
|
47
|
+
if (id) {
|
|
48
|
+
modelValue.value = (_a = materialTable.getList().find((item) => item.id == id)) == null ? void 0 : _a.path;
|
|
49
|
+
} else {
|
|
50
|
+
modelValue.value = "";
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
const selectLocalImage = async () => {
|
|
54
|
+
const file = await fileSelect({
|
|
55
|
+
accept: "image/*"
|
|
56
|
+
});
|
|
57
|
+
if (file) {
|
|
58
|
+
const fileRender = new FileReader();
|
|
59
|
+
fileRender.onload = async (data) => {
|
|
60
|
+
modelValue.value = data.target.result;
|
|
61
|
+
};
|
|
62
|
+
fileRender.readAsDataURL(file);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
return () => {
|
|
66
|
+
return createVNode(ElTabs, {
|
|
67
|
+
"style": "min-height: 520px",
|
|
68
|
+
"modelValue": activeTabName.value,
|
|
69
|
+
"onUpdate:modelValue": ($event) => activeTabName.value = $event
|
|
70
|
+
}, {
|
|
71
|
+
default: () => [createVNode(ElTabPane, {
|
|
72
|
+
"label": "本地选择",
|
|
73
|
+
"name": "l"
|
|
74
|
+
}, {
|
|
75
|
+
default: () => [createVNode(ElButton, {
|
|
76
|
+
"icon": UploadFilled,
|
|
77
|
+
"type": "primary",
|
|
78
|
+
"style": "width: 100%",
|
|
79
|
+
"onClick": selectLocalImage
|
|
80
|
+
}, {
|
|
81
|
+
default: () => [createTextVNode("选择本地文件")]
|
|
82
|
+
}), createVNode(ImageView, {
|
|
83
|
+
"src": unref(modelValue)
|
|
84
|
+
}, null)]
|
|
85
|
+
}), createVNode(ElTabPane, {
|
|
86
|
+
"label": "素材库选择",
|
|
87
|
+
"name": "m"
|
|
88
|
+
}, {
|
|
89
|
+
default: () => [createVNode(MKMaterialList, {
|
|
90
|
+
"style": {
|
|
91
|
+
height: "520px"
|
|
92
|
+
},
|
|
93
|
+
"selectable": true,
|
|
94
|
+
"materialTable": materialTable,
|
|
95
|
+
"allowMaterialTypeValues": [1]
|
|
96
|
+
}, null)]
|
|
97
|
+
}), createVNode(ElTabPane, {
|
|
98
|
+
"label": "网络图片",
|
|
99
|
+
"name": "n"
|
|
100
|
+
}, {
|
|
101
|
+
default: () => [createVNode(ImageView, {
|
|
102
|
+
"src": unref(modelValue)
|
|
103
|
+
}, null)]
|
|
104
|
+
})]
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
export {
|
|
110
|
+
ImageSelectPanel as default
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=image-select-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-select-panel.js","sources":["../../../../../../src/modules/ms/components/image-select/image-select-panel.tsx"],"sourcesContent":["\r\nimport { unref,ref,reactive,defineComponent, computed } from 'vue'\r\nimport { \r\n ElButton,ElTabs,ElTabPane,ElInput,ElImage,ElIcon\r\n} from \"element-plus\";\r\nimport { Share,UploadFilled,Picture } from \"@element-plus/icons-vue\";\r\nimport { MsMaterialTable } from \"../../../../modules/ms/dataviews/ms-material\";\r\nimport { MKMaterialList } from \"../../../../modules/ms/components/material-list\";\r\nimport { fileSelect } from \"@maketribe/utils\";\r\n\r\n/**\r\n * 图片预览显示\r\n */\r\nconst ImageView = defineComponent({\r\n props:[\"src\"],\r\n setup(props,{ emit }){\r\n\r\n return ()=>{\r\n\r\n return <ElImage style=\"background: #dedede;width: 100%; height: 480px;margin-top:10px;padding:10px;box-sizing: border-box;\" src={unref(props.src)} fit=\"contain\" v-slots={{\r\n error:()=>{\r\n return <div style=\"\r\n font-size: 50px;\r\n display: flex;\r\n align-content: center;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n \">\r\n <ElIcon><Picture /></ElIcon>\r\n </div>\r\n }\r\n }}>\r\n </ElImage>;\r\n }\r\n }\r\n})\r\n\r\n\r\nexport default defineComponent({\r\n name: 'ImageSelectPanelComponent',\r\n props:[\"modelValue\"],\r\n setup(props,{ emit }){\r\n\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue,\r\n set: (v) => {\r\n emit(\"update:model-value\", v);\r\n },\r\n });\r\n // 激活的tab\r\n const activeTabName = ref(\"l\");\r\n // 选择素材\r\n materialTable.selectionChangeEvent.on(()=>{\r\n let id = materialTable.getSelection()[0];\r\n if(id){\r\n modelValue.value = materialTable.getList().find(item=>item.id == id)?.path;\r\n }\r\n else{\r\n modelValue.value = \"\";\r\n }\r\n })\r\n\r\n // 选择本地图片\r\n const selectLocalImage = async ()=>{\r\n\r\n const file = await fileSelect({ accept:\"image/*\"});\r\n \r\n if (file) {\r\n\r\n const fileRender = new FileReader();\r\n fileRender.onload = async (data:any)=>{\r\n modelValue.value = data.target.result as string;\r\n }\r\n fileRender.readAsDataURL(file)\r\n }\r\n }\r\n\r\n return ()=>{\r\n\r\n return <ElTabs style=\"min-height: 520px\" v-model={activeTabName.value}>\r\n <ElTabPane label=\"本地选择\" name=\"l\">\r\n <ElButton icon={UploadFilled} type=\"primary\" style=\"width: 100%\" onClick={selectLocalImage}>\r\n 选择本地文件\r\n </ElButton>\r\n <ImageView src={unref(modelValue)} />\r\n </ElTabPane>\r\n <ElTabPane label=\"素材库选择\" name=\"m\">\r\n <MKMaterialList style={{height:\"520px\"}} selectable materialTable={materialTable} allowMaterialTypeValues={[1]} />\r\n </ElTabPane>\r\n <ElTabPane label=\"网络图片\" name=\"n\">\r\n {/* <ElInput v-model={modelValue.value} prefix-icon={Share} style=\"width: 100%\" placeholder=\"请输入链接地址\">\r\n </ElInput> */}\r\n <ImageView src={unref(modelValue)} />\r\n </ElTabPane>\r\n </ElTabs>;\r\n }\r\n }\r\n})\r\n"],"names":["ImageView","defineComponent","props","setup","emit","_createVNode","ElImage","unref","src","error","ElIcon","default","Picture","name","materialTable","reactive","MsMaterialTable","modelValue","computed","get","set","v","activeTabName","ref","selectionChangeEvent","on","id","getSelection","value","getList","find","item","path","selectLocalImage","file","fileSelect","accept","fileRender","FileReader","onload","data","target","result","readAsDataURL","ElTabs","$event","ElTabPane","ElButton","UploadFilled","_createTextVNode","MKMaterialList","height"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/modules/ms/components/image-select/index.ts"],"sourcesContent":["import ImageSelect from \"./image-select-api\"\r\n\r\nexport const MKImageSelect = ImageSelect;\r\n\r\nexport default MKImageSelect;\r\n"],"names":[],"mappings":";AAEO,MAAM,gBAAgB;"}
|
|
@@ -11,6 +11,8 @@ import "../../../../core/DataModelDefines.js";
|
|
|
11
11
|
import "vue-router";
|
|
12
12
|
import "@maketribe/request";
|
|
13
13
|
import "@maketribe/locale";
|
|
14
|
+
import "../../dataviews/ms-config/MsConfigTable.js";
|
|
15
|
+
import "lodash-es";
|
|
14
16
|
import { MKForm } from "../../../../components/data-model/data-form/views/form/index.js";
|
|
15
17
|
const MaterialGroupFormPopover = /* @__PURE__ */ defineComponent({
|
|
16
18
|
name: "MKMaterialFormPopover",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-group-form-popover.js","sources":["../../../../../../src/modules/ms/components/material-list/material-group-form-popover.tsx"],"sourcesContent":["import { defineComponent, reactive, computed, unref, ref } from \"vue\";\r\nimport { ElButton, ElPopover } from \"element-plus\";\r\nimport { MKDataForm, MKForm } from \"../../../../components/data-model\";\r\nimport { MsMaterialGroupForm, MsMaterialGroupTree } from \"../../dataviews/ms-material\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialFormPopover\",\r\n props: buildProps({\r\n materialGroupTree: {\r\n type: MsMaterialGroupTree,\r\n required: true,\r\n },\r\n materialGroupForm: {\r\n type: MsMaterialGroupForm,\r\n required: true,\r\n },\r\n } as const),\r\n setup(props, { slots }) {\r\n const visible = ref(false);\r\n\r\n const loading = computed(() => props.materialGroupForm.loading);\r\n\r\n const handleConfirmClick = async () => {\r\n await props.materialGroupForm.simpleSubmit();\r\n\r\n props.materialGroupTree.load();\r\n\r\n visible.value = false;\r\n };\r\n\r\n const handleCancelClick = () => {\r\n visible.value = false;\r\n };\r\n\r\n return () => {\r\n return (\r\n <ElPopover\r\n visible={unref(visible)}\r\n onUpdate:visible={(v: boolean) => (visible.value = v)}\r\n title=\"添加素材分组\"\r\n effect=\"light\"\r\n placement=\"right\"\r\n trigger=\"click\"\r\n width=\"320\"\r\n v-slots={{\r\n reference: () => slots.default?.(),\r\n }}\r\n >\r\n <div>\r\n <MKDataForm data-form={props.materialGroupForm}>\r\n <MKForm />\r\n </MKDataForm>\r\n <div class=\"mk-material-list__group-form-footer\">\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n loading={unref(loading)}\r\n onClick={handleConfirmClick}\r\n >\r\n 保存\r\n </ElButton>\r\n </div>\r\n </div>\r\n </ElPopover>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","buildProps","materialGroupTree","type","MsMaterialGroupTree","required","materialGroupForm","MsMaterialGroupForm","setup","slots","visible","ref","loading","computed","handleConfirmClick","simpleSubmit","load","value","handleCancelClick","_createVNode","ElPopover","unref","v","default","MKDataForm","MKForm","ElButton","_createTextVNode","reference"],"mappings":"
|
|
1
|
+
{"version":3,"file":"material-group-form-popover.js","sources":["../../../../../../src/modules/ms/components/material-list/material-group-form-popover.tsx"],"sourcesContent":["import { defineComponent, reactive, computed, unref, ref } from \"vue\";\r\nimport { ElButton, ElPopover } from \"element-plus\";\r\nimport { MKDataForm, MKForm } from \"../../../../components/data-model\";\r\nimport { MsMaterialGroupForm, MsMaterialGroupTree } from \"../../dataviews/ms-material\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialFormPopover\",\r\n props: buildProps({\r\n materialGroupTree: {\r\n type: MsMaterialGroupTree,\r\n required: true,\r\n },\r\n materialGroupForm: {\r\n type: MsMaterialGroupForm,\r\n required: true,\r\n },\r\n } as const),\r\n setup(props, { slots }) {\r\n const visible = ref(false);\r\n\r\n const loading = computed(() => props.materialGroupForm.loading);\r\n\r\n const handleConfirmClick = async () => {\r\n await props.materialGroupForm.simpleSubmit();\r\n\r\n props.materialGroupTree.load();\r\n\r\n visible.value = false;\r\n };\r\n\r\n const handleCancelClick = () => {\r\n visible.value = false;\r\n };\r\n\r\n return () => {\r\n return (\r\n <ElPopover\r\n visible={unref(visible)}\r\n onUpdate:visible={(v: boolean) => (visible.value = v)}\r\n title=\"添加素材分组\"\r\n effect=\"light\"\r\n placement=\"right\"\r\n trigger=\"click\"\r\n width=\"320\"\r\n v-slots={{\r\n reference: () => slots.default?.(),\r\n }}\r\n >\r\n <div>\r\n <MKDataForm data-form={props.materialGroupForm}>\r\n <MKForm />\r\n </MKDataForm>\r\n <div class=\"mk-material-list__group-form-footer\">\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n loading={unref(loading)}\r\n onClick={handleConfirmClick}\r\n >\r\n 保存\r\n </ElButton>\r\n </div>\r\n </div>\r\n </ElPopover>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","buildProps","materialGroupTree","type","MsMaterialGroupTree","required","materialGroupForm","MsMaterialGroupForm","setup","slots","visible","ref","loading","computed","handleConfirmClick","simpleSubmit","load","value","handleCancelClick","_createVNode","ElPopover","unref","v","default","MKDataForm","MKForm","ElButton","_createTextVNode","reference"],"mappings":";;;;;;;;;;;;;;;;AAMA,MAAeA,2DAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC,WAAW;AAAA,IAChBC,mBAAmB;AAAA,MACjBC,MAAMC;AAAAA,MACNC,UAAU;AAAA,IACX;AAAA,IACDC,mBAAmB;AAAA,MACjBH,MAAMI;AAAAA,MACNF,UAAU;AAAA,IACZ;AAAA,EACF,CAAU;AAAA,EACVG,MAAMR,OAAO;AAAA,IAAES;AAAAA,EAAM,GAAG;AACtB,UAAMC,UAAUC,IAAI,KAAK;AAEzB,UAAMC,UAAUC,SAAS,MAAMb,MAAMM,kBAAkBM,OAAO;AAE9D,UAAME,qBAAqB,YAAY;AACrC,YAAMd,MAAMM,kBAAkBS;AAE9Bf,YAAME,kBAAkBc;AAExBN,cAAQO,QAAQ;AAAA;AAGlB,UAAMC,oBAAoBA,MAAM;AAC9BR,cAAQO,QAAQ;AAAA;AAGlB,WAAO,MAAM;AACX,aAAAE,YAAAC,WAAA;AAAA,QAAA,WAEaC,MAAMX,OAAO;AAAA,QAAC,oBACJY,OAAgBZ,QAAQO,QAAQK;AAAAA,QAAE,SAAA;AAAA,QAAA,UAAA;AAAA,QAAA,aAAA;AAAA,QAAA,WAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA;AAAA,QAAAC,SAAAA,MAAA,CAAAJ,YAAAA,OAAAA,MAAAA,CAAAA,YAAAK,YAAA;AAAA,UAAA,aAW5BxB,MAAMM;AAAAA,QAAiB,GAAA;AAAA,UAAAiB,SAAAA,MAAAJ,CAAAA,YAAAM,QAAA,MAAA,IAAA,CAAA;AAAA,QAAA,CAAA,GAAAN,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAO,UAAA;AAAA,UAAA,WAIzBR;AAAAA,QAAiB,GAAA;AAAA,UAAAK,SAAAA,MAAA,CAAAI,gBAAA,IAAA,CAAA;AAAA,SAAAR,GAAAA,YAAAO,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WAGzBL,MAAMT,OAAO;AAAA,UAAC,WACdE;AAAAA,QAAkB,GAAA;AAAA,UAAAS,SAAAA,MAAA,CAAAI,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAZ/BC,WAAWA,MAAAA;;AAAMnB,6BAAMc,YAANd;AAAAA;AAAAA,MAAiB,CAAA;AAAA;EAqB5C;AACF,CAAC;"}
|
|
@@ -9,6 +9,8 @@ import "../../../../core/DataModelDefines.js";
|
|
|
9
9
|
import "vue-router";
|
|
10
10
|
import "@maketribe/request";
|
|
11
11
|
import { I18n } from "@maketribe/locale";
|
|
12
|
+
import "../../dataviews/ms-config/MsConfigTable.js";
|
|
13
|
+
import "lodash-es";
|
|
12
14
|
import "../../../../components/data-model/data-form/index.js";
|
|
13
15
|
import { MKDataTable } from "../../../../components/data-model/data-table/index.js";
|
|
14
16
|
import "../../../../components/data-model/data-table-pagination/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-group.js","sources":["../../../../../../src/modules/ms/components/material-list/material-group.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onBeforeUnmount,\r\n reactive,\r\n ref,\r\n Ref,\r\n unref,\r\n} from \"vue\";\r\nimport {\r\n ElButton,\r\n ElIcon,\r\n ElMessage,\r\n ElMessageBox,\r\n ElScrollbar,\r\n ElTooltip,\r\n} from \"element-plus\";\r\nimport { Plus, Edit, Delete } from \"@element-plus/icons-vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport {\r\n MsMaterialGroupForm,\r\n MsMaterialGroupNode,\r\n MsMaterialGroupTree,\r\n} from \"../../dataviews/ms-material\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model\";\r\nimport MaterialGroupFormPopover from \"./material-group-form-popover\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialGroup\",\r\n props: buildProps({\r\n materialGroupTree: {\r\n type: MsMaterialGroupTree,\r\n required: true,\r\n },\r\n } as const),\r\n setup(props) {\r\n const treeRef: Ref<typeof MKTree | null> = ref(null);\r\n\r\n const materialGroupForm = reactive(\r\n new MsMaterialGroupForm()\r\n ) as MsMaterialGroupForm;\r\n\r\n const materialGroupTree = computed(() => props.materialGroupTree);\r\n\r\n const loading = computed(() => unref(materialGroupTree).loading);\r\n\r\n onBeforeUnmount(() => {\r\n materialGroupForm.dispose();\r\n });\r\n\r\n const handleAddClick = async (parent?: MsMaterialGroupNode) => {\r\n materialGroupForm.addRecord();\r\n\r\n await nextTick();\r\n\r\n materialGroupForm.setData({\r\n ...materialGroupForm.data,\r\n parentGroupId: parent?.id || null,\r\n } as MsMaterialGroupNode);\r\n };\r\n\r\n const handleEditClick = (item: MsMaterialGroupNode) => {\r\n materialGroupForm.editRecord(item);\r\n };\r\n\r\n const handleDeleteClick = async (item: MsMaterialGroupNode) => {\r\n const isConfirm = await ElMessageBox.confirm(\r\n I18n.instance.translate(\"mk.dataTablePage.deleteMessage\"),\r\n I18n.instance.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n ).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n const result = await unref(materialGroupTree).deleteAfterRefresh(item);\r\n\r\n if (result.data.code !== 200) {\r\n ElMessage.error(result.data.msg);\r\n return;\r\n }\r\n };\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-material-group\" v-loading={unref(loading)}>\r\n <div class=\"mk-material-group__header\">\r\n <div class=\"mk-material-group__header-title\">素材分组</div>\r\n <MaterialGroupFormPopover\r\n materialGroupTree={unref(materialGroupTree)}\r\n materialGroupForm={materialGroupForm}\r\n >\r\n <ElButton\r\n onClick={() => handleAddClick()}\r\n icon={Plus}\r\n size=\"small\"\r\n type=\"primary\"\r\n />\r\n </MaterialGroupFormPopover>\r\n </div>\r\n\r\n <div class=\"mk-material-group__main\">\r\n <ElScrollbar height=\"100%\">\r\n <MKDataTable\r\n dataTable={unref(materialGroupTree)}\r\n highlight-current\r\n >\r\n <MKTree\r\n dataTree={unref(materialGroupTree)}\r\n allowSelectContainer={false}\r\n ref={((el: any) => (treeRef.value = el)) as any}\r\n v-slots={{\r\n \"node-tools\": ({ data }: any) => {\r\n return (\r\n <div\r\n class=\"mk-material-group__tools\"\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n <ElTooltip content=\"添加\">\r\n <span class=\"mk-material-group__tools-item\">\r\n <MaterialGroupFormPopover\r\n materialGroupTree={unref(materialGroupTree)}\r\n materialGroupForm={materialGroupForm}\r\n >\r\n <span\r\n onClick={(e) => handleAddClick(data.data)}\r\n >\r\n <ElIcon>\r\n <Plus />\r\n </ElIcon>\r\n </span>\r\n </MaterialGroupFormPopover>\r\n </span>\r\n </ElTooltip>\r\n <ElTooltip content=\"编辑\">\r\n <span class=\"mk-material-group__tools-item\">\r\n <MaterialGroupFormPopover\r\n materialGroupTree={unref(materialGroupTree)}\r\n materialGroupForm={materialGroupForm}\r\n >\r\n <span\r\n onClick={(e) => handleEditClick(data.data)}\r\n >\r\n <ElIcon>\r\n <Edit />\r\n </ElIcon>\r\n </span>\r\n </MaterialGroupFormPopover>\r\n </span>\r\n </ElTooltip>\r\n <ElTooltip content=\"删除\">\r\n <span class=\"mk-material-group__tools-item\">\r\n <span\r\n onClick={() => handleDeleteClick(data.data)}\r\n >\r\n <ElIcon>\r\n <Delete />\r\n </ElIcon>\r\n </span>\r\n </span>\r\n </ElTooltip>\r\n </div>\r\n );\r\n },\r\n }}\r\n />\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","buildProps","materialGroupTree","type","MsMaterialGroupTree","required","setup","treeRef","ref","materialGroupForm","reactive","MsMaterialGroupForm","computed","loading","unref","onBeforeUnmount","dispose","handleAddClick","parent","addRecord","nextTick","setData","data","parentGroupId","id","handleEditClick","item","editRecord","handleDeleteClick","isConfirm","ElMessageBox","confirm","I18n","instance","translate","then","result","deleteAfterRefresh","code","ElMessage","error","msg","_withDirectives","_createVNode","_createTextVNode","MaterialGroupFormPopover","default","ElButton","onClick","Plus","ElScrollbar","MKDataTable","MKTree","el","value","node-tools","e","preventDefault","ElTooltip","ElIcon","Edit","Delete","_resolveDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-group.js","sources":["../../../../../../src/modules/ms/components/material-list/material-group.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onBeforeUnmount,\r\n reactive,\r\n ref,\r\n Ref,\r\n unref,\r\n} from \"vue\";\r\nimport {\r\n ElButton,\r\n ElIcon,\r\n ElMessage,\r\n ElMessageBox,\r\n ElScrollbar,\r\n ElTooltip,\r\n} from \"element-plus\";\r\nimport { Plus, Edit, Delete } from \"@element-plus/icons-vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport {\r\n MsMaterialGroupForm,\r\n MsMaterialGroupNode,\r\n MsMaterialGroupTree,\r\n} from \"../../dataviews/ms-material\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model\";\r\nimport MaterialGroupFormPopover from \"./material-group-form-popover\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialGroup\",\r\n props: buildProps({\r\n materialGroupTree: {\r\n type: MsMaterialGroupTree,\r\n required: true,\r\n },\r\n } as const),\r\n setup(props) {\r\n const treeRef: Ref<typeof MKTree | null> = ref(null);\r\n\r\n const materialGroupForm = reactive(\r\n new MsMaterialGroupForm()\r\n ) as MsMaterialGroupForm;\r\n\r\n const materialGroupTree = computed(() => props.materialGroupTree);\r\n\r\n const loading = computed(() => unref(materialGroupTree).loading);\r\n\r\n onBeforeUnmount(() => {\r\n materialGroupForm.dispose();\r\n });\r\n\r\n const handleAddClick = async (parent?: MsMaterialGroupNode) => {\r\n materialGroupForm.addRecord();\r\n\r\n await nextTick();\r\n\r\n materialGroupForm.setData({\r\n ...materialGroupForm.data,\r\n parentGroupId: parent?.id || null,\r\n } as MsMaterialGroupNode);\r\n };\r\n\r\n const handleEditClick = (item: MsMaterialGroupNode) => {\r\n materialGroupForm.editRecord(item);\r\n };\r\n\r\n const handleDeleteClick = async (item: MsMaterialGroupNode) => {\r\n const isConfirm = await ElMessageBox.confirm(\r\n I18n.instance.translate(\"mk.dataTablePage.deleteMessage\"),\r\n I18n.instance.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n ).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n const result = await unref(materialGroupTree).deleteAfterRefresh(item);\r\n\r\n if (result.data.code !== 200) {\r\n ElMessage.error(result.data.msg);\r\n return;\r\n }\r\n };\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-material-group\" v-loading={unref(loading)}>\r\n <div class=\"mk-material-group__header\">\r\n <div class=\"mk-material-group__header-title\">素材分组</div>\r\n <MaterialGroupFormPopover\r\n materialGroupTree={unref(materialGroupTree)}\r\n materialGroupForm={materialGroupForm}\r\n >\r\n <ElButton\r\n onClick={() => handleAddClick()}\r\n icon={Plus}\r\n size=\"small\"\r\n type=\"primary\"\r\n />\r\n </MaterialGroupFormPopover>\r\n </div>\r\n\r\n <div class=\"mk-material-group__main\">\r\n <ElScrollbar height=\"100%\">\r\n <MKDataTable\r\n dataTable={unref(materialGroupTree)}\r\n highlight-current\r\n >\r\n <MKTree\r\n dataTree={unref(materialGroupTree)}\r\n allowSelectContainer={false}\r\n ref={((el: any) => (treeRef.value = el)) as any}\r\n v-slots={{\r\n \"node-tools\": ({ data }: any) => {\r\n return (\r\n <div\r\n class=\"mk-material-group__tools\"\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n <ElTooltip content=\"添加\">\r\n <span class=\"mk-material-group__tools-item\">\r\n <MaterialGroupFormPopover\r\n materialGroupTree={unref(materialGroupTree)}\r\n materialGroupForm={materialGroupForm}\r\n >\r\n <span\r\n onClick={(e) => handleAddClick(data.data)}\r\n >\r\n <ElIcon>\r\n <Plus />\r\n </ElIcon>\r\n </span>\r\n </MaterialGroupFormPopover>\r\n </span>\r\n </ElTooltip>\r\n <ElTooltip content=\"编辑\">\r\n <span class=\"mk-material-group__tools-item\">\r\n <MaterialGroupFormPopover\r\n materialGroupTree={unref(materialGroupTree)}\r\n materialGroupForm={materialGroupForm}\r\n >\r\n <span\r\n onClick={(e) => handleEditClick(data.data)}\r\n >\r\n <ElIcon>\r\n <Edit />\r\n </ElIcon>\r\n </span>\r\n </MaterialGroupFormPopover>\r\n </span>\r\n </ElTooltip>\r\n <ElTooltip content=\"删除\">\r\n <span class=\"mk-material-group__tools-item\">\r\n <span\r\n onClick={() => handleDeleteClick(data.data)}\r\n >\r\n <ElIcon>\r\n <Delete />\r\n </ElIcon>\r\n </span>\r\n </span>\r\n </ElTooltip>\r\n </div>\r\n );\r\n },\r\n }}\r\n />\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","buildProps","materialGroupTree","type","MsMaterialGroupTree","required","setup","treeRef","ref","materialGroupForm","reactive","MsMaterialGroupForm","computed","loading","unref","onBeforeUnmount","dispose","handleAddClick","parent","addRecord","nextTick","setData","data","parentGroupId","id","handleEditClick","item","editRecord","handleDeleteClick","isConfirm","ElMessageBox","confirm","I18n","instance","translate","then","result","deleteAfterRefresh","code","ElMessage","error","msg","_withDirectives","_createVNode","_createTextVNode","MaterialGroupFormPopover","default","ElButton","onClick","Plus","ElScrollbar","MKDataTable","MKTree","el","value","node-tools","e","preventDefault","ElTooltip","ElIcon","Edit","Delete","_resolveDirective"],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ import "../../../../components/basic/image-cropper/index.js";
|
|
|
35
35
|
import "../../../../components/business/verify-dialog/index.js";
|
|
36
36
|
import "../../../../components/business/resource-list/index.js";
|
|
37
37
|
import "../../../../components/business/resource-manager/index.js";
|
|
38
|
+
import "../../dataviews/ms-config/MsConfigTable.js";
|
|
38
39
|
import "../../dataviews/department/DepartmentForm.js";
|
|
39
40
|
import "../../dataviews/department/DepartmentTable.js";
|
|
40
41
|
import "../../dataviews/department/DepartmentTree.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\n\r\nexport const materialListProps = buildProps({\r\n materialTable: {\r\n type: MsMaterialTable,\r\n },\r\n selectable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n allowMaterialTypeValues: {\r\n type: Array,\r\n default: () => []\r\n },\r\n} as const);\r\n\r\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\r\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\n\r\nexport const materialListProps = buildProps({\r\n materialTable: {\r\n type: MsMaterialTable,\r\n },\r\n selectable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n allowMaterialTypeValues: {\r\n type: Array,\r\n default: () => []\r\n },\r\n} as const);\r\n\r\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\r\n"],"names":[],"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;"}
|
|
@@ -39,6 +39,7 @@ import "../../../../components/basic/image-cropper/index.js";
|
|
|
39
39
|
import "../../../../components/business/verify-dialog/index.js";
|
|
40
40
|
import "../../../../components/business/resource-list/index.js";
|
|
41
41
|
import "../../../../components/business/resource-manager/index.js";
|
|
42
|
+
import "../../dataviews/ms-config/MsConfigTable.js";
|
|
42
43
|
import "../../dataviews/department/DepartmentForm.js";
|
|
43
44
|
import "../../dataviews/department/DepartmentTable.js";
|
|
44
45
|
import "../../dataviews/department/DepartmentTree.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n Fragment,\r\n getCurrentInstance,\r\n onBeforeUnmount,\r\n onMounted,\r\n reactive,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { base64ToBlob } from \"@maketribe/utils\";\r\nimport { DvOpt, WebFileUpload } from \"@maketribe/request\";\r\nimport { materialListProps } from \"./material-list-options\";\r\nimport MaterialGroup from \"./material-group\";\r\nimport {\r\n MsMaterial,\r\n MsMaterialForm,\r\n MsMaterialGroupNode,\r\n MsMaterialGroupTree,\r\n MsMaterialTable,\r\n MsMaterialType,\r\n} from \"../../dataviews\";\r\nimport {\r\n MKUploadFile,\r\n MKWebFileUploadContext,\r\n} from \"../../../../components/basic/upload-file\";\r\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\";\r\nimport {\r\n MKDataTable,\r\n MKDataTablePagination,\r\n} from \"../../../../components/data-model\";\r\nimport { ElButton, ElScrollbar } from \"element-plus\";\r\nimport MaterialItem from \"./material-item.vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\n\r\nconst RATIO_OPTIONS = [\r\n {\r\n value: \"1\",\r\n label: \"1:1\",\r\n width: 1,\r\n height: 1,\r\n },\r\n {\r\n value: \"2\",\r\n label: \"2:1\",\r\n width: 2,\r\n height: 1,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"4:3\",\r\n width: 4,\r\n height: 3,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"16:9\",\r\n width: 16,\r\n height: 9,\r\n },\r\n];\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialList\",\r\n props: materialListProps,\r\n setup(props) {\r\n const materialGroupTree = reactive(\r\n new MsMaterialGroupTree()\r\n ) as MsMaterialGroupTree;\r\n\r\n const webFileUpload = new WebFileUpload();\r\n\r\n const _materialTable = reactive(new MsMaterialTable());\r\n\r\n const materialForm = reactive(\r\n new (class extends MsMaterialForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"materialGroupId\",\r\n label: \"素材组\",\r\n componentInfo: \"MKDataTreeSelect\",\r\n componentProps: {\r\n dataTree: this.register(new MsMaterialGroupTree()),\r\n checkStrictly: false,\r\n },\r\n }),\r\n ]);\r\n }\r\n })()\r\n ) as MsMaterialForm;\r\n\r\n const materialTable = computed(\r\n () => (props.materialTable ?? _materialTable) as MsMaterialTable\r\n );\r\n\r\n const loading = computed(() => unref(materialTable).loading);\r\n\r\n const materialTypes = computed(() =>\r\n unref(materialTable).getMaterialTypes()\r\n );\r\n\r\n const currentMaterialType = computed(\r\n () => unref(materialTable).currentMaterialType\r\n );\r\n\r\n const currentMaterialTypeId = computed(\r\n () => unref(currentMaterialType)?.value ?? \"\"\r\n );\r\n\r\n const materialList = computed(() => unref(materialTable).getList());\r\n\r\n onBeforeUnmount(() => {\r\n _materialTable.dispose();\r\n materialGroupTree.dispose();\r\n materialForm.dispose();\r\n });\r\n\r\n onMounted(() => {\r\n const instance = getCurrentInstance();\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.afterInitdEvent.on(() => {\r\n materialTable.setAllowMaterialTypeValues(\r\n props.allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n });\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n watch(\r\n computed(() => props.allowMaterialTypeValues),\r\n (allowMaterialTypeValues) => {\r\n unref(materialTable).setAllowMaterialTypeValues(\r\n allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n }\r\n );\r\n });\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.deleteRecordEvent.on(\r\n async ({ item }) => {\r\n const isConfirm = await Dialoger.confirm({\r\n message: \"是否确认删除\",\r\n title: \"素材删除\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n materialTable.deleteAfterRefresh(item);\r\n }\r\n );\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleMaterialTypeClick = (materialType: MsMaterialType) => {\r\n if (materialType.value === unref(currentMaterialTypeId)) {\r\n return;\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialType(materialType);\r\n };\r\n\r\n materialGroupTree.selectionChangeEvent.on(() => {\r\n const currentGroupId = materialGroupTree.getSelection()[0];\r\n\r\n if (!currentGroupId) {\r\n unref(materialTable).setList([]);\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialGroupId(currentGroupId);\r\n });\r\n\r\n function getDefaultSelectMaterialGroup(\r\n nodes: MsMaterialGroupNode[]\r\n ): MsMaterialGroupNode | null {\r\n if (!nodes.length) {\r\n return null;\r\n }\r\n\r\n return getDefaultSelectMaterialGroup(nodes[0].children) ?? nodes[0];\r\n }\r\n\r\n materialGroupTree.afterLoadEvent.on(() => {\r\n const list = materialGroupTree.getList();\r\n\r\n const defaultSelectGroup = getDefaultSelectMaterialGroup(list);\r\n\r\n if (defaultSelectGroup) {\r\n materialGroupTree.setSelection([defaultSelectGroup.id]);\r\n }\r\n });\r\n\r\n materialForm.submittedEvent.on(() => {\r\n unref(materialTable).load();\r\n });\r\n\r\n const handleMaterialItemClick = (\r\n event: MouseEvent,\r\n material: MsMaterial\r\n ) => {\r\n if (!props.selectable) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n unref(materialTable).setSelection([material.id]);\r\n };\r\n\r\n const handleMoveClick = (material: MsMaterial) => {\r\n Dialoger.dataFormDialog({\r\n recId: material.id,\r\n title: \"设置素材分组\",\r\n dataForm: materialForm,\r\n });\r\n };\r\n\r\n const handleCutClick = async (material: MsMaterial) => {\r\n const cropperResult = await ImageCropper({\r\n src: material.path,\r\n ratioOptions: RATIO_OPTIONS,\r\n });\r\n\r\n if (!cropperResult.isConfirm) {\r\n return;\r\n }\r\n\r\n const handleOverrideClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const uploadResponse = await webFileUpload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (uploadResponse.data.code !== 200) {\r\n Messager.error({ message: uploadResponse.data.msg });\r\n return;\r\n }\r\n\r\n const response = await DvOpt.createInstance({\r\n name: \"mk-material\",\r\n }).save({\r\n ...material,\r\n path: uploadResponse.data.data.path,\r\n });\r\n\r\n if (response.code !== 200) {\r\n Messager.error({ message: response.msg });\r\n return;\r\n }\r\n\r\n unref(materialTable).load();\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleNewClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const result = await unref(materialTable).upload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (result.data.code !== 200) {\r\n Messager.error({ message: result.data.msg });\r\n return;\r\n }\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"提示\",\r\n width: \"400px\",\r\n onClose: handleCancelClick,\r\n body: () => \"修改已存在的素材。是新建新素材还是覆盖现有素材\",\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton type=\"danger\" onClick={handleOverrideClick}>\r\n 覆盖\r\n </ElButton>\r\n <ElButton type=\"primary\" onClick={handleNewClick}>\r\n 新建\r\n </ElButton>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n };\r\n\r\n const handleDownload = () => {};\r\n\r\n return () => {\r\n const materialTypeVNodes = unref(materialTypes).map((materialType) => {\r\n const className = [\r\n \"mk-material-list__type\",\r\n unref(currentMaterialTypeId) === materialType.value\r\n ? \"is-active\"\r\n : \"\",\r\n ];\r\n\r\n return (\r\n <div\r\n key={materialType.value}\r\n class={className}\r\n onClick={() => handleMaterialTypeClick(materialType)}\r\n >\r\n {materialType.label}\r\n </div>\r\n );\r\n });\r\n\r\n let currentMaterialTypeVNode: any = null;\r\n\r\n if (unref(currentMaterialType)) {\r\n currentMaterialTypeVNode = (\r\n <Fragment>\r\n <span>\r\n {unref(currentMaterialType)!.label}大小不超过\r\n {unref(currentMaterialType)!.limit} M\r\n </span>\r\n <MKWebFileUploadContext\r\n webFileUpload={unref(materialTable).upload}\r\n accept={unref(currentMaterialType)!.accept}\r\n >\r\n <MKUploadFile>\r\n <ElButton type=\"primary\">\r\n 选择{unref(currentMaterialType)!.label}\r\n </ElButton>\r\n </MKUploadFile>\r\n </MKWebFileUploadContext>\r\n </Fragment>\r\n );\r\n }\r\n\r\n const materialListVNodes = unref(materialList).map((material) => (\r\n <MaterialItem\r\n key={material.id}\r\n class=\"mk-material-list__item\"\r\n materialTable={unref(materialTable)}\r\n material={material}\r\n onMove={handleMoveClick}\r\n onCut={handleCutClick}\r\n onDownload={handleDownload}\r\n onClick={\r\n ((event: MouseEvent) =>\r\n handleMaterialItemClick(event, material)) as any\r\n }\r\n />\r\n ));\r\n\r\n return (\r\n <div class=\"mk-material-list\">\r\n <MaterialGroup materialGroupTree={unref(materialGroupTree)} />\r\n\r\n <div class=\"mk-material-list__main\" v-loading={unref(loading)}>\r\n <div class=\"mk-material-list__header\">\r\n <div class=\"mk-material-list__header-left\">\r\n <div class=\"mk-material-list__types\">{materialTypeVNodes}</div>\r\n </div>\r\n <div class=\"mk-material-list__header-right\">\r\n {currentMaterialTypeVNode}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mk-material-list__body\">\r\n <MKDataTable dataTable={unref(materialTable)} autoLoad={false}>\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"mk-material-list__wrapper\">\r\n {materialListVNodes}\r\n </div>\r\n </ElScrollbar>\r\n <div class=\"mk-material-list__footer\">\r\n <MKDataTablePagination dataTable={unref(materialTable)} />\r\n </div>\r\n </MKDataTable>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["RATIO_OPTIONS","value","label","width","height","defineComponent","name","props","materialListProps","setup","materialGroupTree","reactive","MsMaterialGroupTree","webFileUpload","WebFileUpload","_materialTable","MsMaterialTable","materialForm","MsMaterialForm","initialize","setColumns","FormColumn","componentInfo","componentProps","dataTree","register","checkStrictly","materialTable","computed","loading","unref","materialTypes","getMaterialTypes","currentMaterialType","currentMaterialTypeId","materialList","getList","onBeforeUnmount","dispose","onMounted","getCurrentInstance","watch","_","onCleanup","disposable","afterInitdEvent","on","setAllowMaterialTypeValues","allowMaterialTypeValues","immediate","deleteRecordEvent","item","isConfirm","Dialoger","confirm","message","title","type","deleteAfterRefresh","handleMaterialTypeClick","materialType","setCurrentMaterialType","selectionChangeEvent","currentGroupId","getSelection","setList","setCurrentMaterialGroupId","getDefaultSelectMaterialGroup","nodes","length","children","afterLoadEvent","list","defaultSelectGroup","setSelection","id","submittedEvent","load","handleMaterialItemClick","event","material","selectable","preventDefault","stopPropagation","handleMoveClick","dataFormDialog","recId","dataForm","handleCutClick","cropperResult","ImageCropper","src","path","ratioOptions","handleOverrideClick","blob","base64ToBlob","data","uploadResponse","upload","File","desc","code","Messager","error","msg","response","DvOpt","createInstance","save","dialogInstance","destroy","handleNewClick","result","handleCancelClick","customRender","onClose","body","footer","_createVNode","_Fragment","ElButton","default","_createTextVNode","handleDownload","materialTypeVNodes","map","className","onClick","currentMaterialTypeVNode","limit","MKWebFileUploadContext","accept","MKUploadFile","materialListVNodes","MaterialItem","MaterialGroup","_withDirectives","MKDataTable","ElScrollbar","MKDataTablePagination","_resolveDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-list.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n Fragment,\r\n getCurrentInstance,\r\n onBeforeUnmount,\r\n onMounted,\r\n reactive,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { base64ToBlob } from \"@maketribe/utils\";\r\nimport { DvOpt, WebFileUpload } from \"@maketribe/request\";\r\nimport { materialListProps } from \"./material-list-options\";\r\nimport MaterialGroup from \"./material-group\";\r\nimport {\r\n MsMaterial,\r\n MsMaterialForm,\r\n MsMaterialGroupNode,\r\n MsMaterialGroupTree,\r\n MsMaterialTable,\r\n MsMaterialType,\r\n} from \"../../dataviews\";\r\nimport {\r\n MKUploadFile,\r\n MKWebFileUploadContext,\r\n} from \"../../../../components/basic/upload-file\";\r\nimport { ImageCropper } from \"../../../../components/basic/image-cropper\";\r\nimport {\r\n MKDataTable,\r\n MKDataTablePagination,\r\n} from \"../../../../components/data-model\";\r\nimport { ElButton, ElScrollbar } from \"element-plus\";\r\nimport MaterialItem from \"./material-item.vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\n\r\nconst RATIO_OPTIONS = [\r\n {\r\n value: \"1\",\r\n label: \"1:1\",\r\n width: 1,\r\n height: 1,\r\n },\r\n {\r\n value: \"2\",\r\n label: \"2:1\",\r\n width: 2,\r\n height: 1,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"4:3\",\r\n width: 4,\r\n height: 3,\r\n },\r\n {\r\n value: \"3\",\r\n label: \"16:9\",\r\n width: 16,\r\n height: 9,\r\n },\r\n];\r\n\r\nexport default defineComponent({\r\n name: \"MKMaterialList\",\r\n props: materialListProps,\r\n setup(props) {\r\n const materialGroupTree = reactive(\r\n new MsMaterialGroupTree()\r\n ) as MsMaterialGroupTree;\r\n\r\n const webFileUpload = new WebFileUpload();\r\n\r\n const _materialTable = reactive(new MsMaterialTable());\r\n\r\n const materialForm = reactive(\r\n new (class extends MsMaterialForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"materialGroupId\",\r\n label: \"素材组\",\r\n componentInfo: \"MKDataTreeSelect\",\r\n componentProps: {\r\n dataTree: this.register(new MsMaterialGroupTree()),\r\n checkStrictly: false,\r\n },\r\n }),\r\n ]);\r\n }\r\n })()\r\n ) as MsMaterialForm;\r\n\r\n const materialTable = computed(\r\n () => (props.materialTable ?? _materialTable) as MsMaterialTable\r\n );\r\n\r\n const loading = computed(() => unref(materialTable).loading);\r\n\r\n const materialTypes = computed(() =>\r\n unref(materialTable).getMaterialTypes()\r\n );\r\n\r\n const currentMaterialType = computed(\r\n () => unref(materialTable).currentMaterialType\r\n );\r\n\r\n const currentMaterialTypeId = computed(\r\n () => unref(currentMaterialType)?.value ?? \"\"\r\n );\r\n\r\n const materialList = computed(() => unref(materialTable).getList());\r\n\r\n onBeforeUnmount(() => {\r\n _materialTable.dispose();\r\n materialGroupTree.dispose();\r\n materialForm.dispose();\r\n });\r\n\r\n onMounted(() => {\r\n const instance = getCurrentInstance();\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.afterInitdEvent.on(() => {\r\n materialTable.setAllowMaterialTypeValues(\r\n props.allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n });\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n watch(\r\n computed(() => props.allowMaterialTypeValues),\r\n (allowMaterialTypeValues) => {\r\n unref(materialTable).setAllowMaterialTypeValues(\r\n allowMaterialTypeValues as MsMaterialType[\"value\"][]\r\n );\r\n }\r\n );\r\n });\r\n\r\n watch(\r\n materialTable,\r\n (materialTable, _, onCleanup) => {\r\n const disposable = materialTable.deleteRecordEvent.on(\r\n async ({ item }) => {\r\n const isConfirm = await Dialoger.confirm({\r\n message: \"是否确认删除\",\r\n title: \"素材删除\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n materialTable.deleteAfterRefresh(item);\r\n }\r\n );\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleMaterialTypeClick = (materialType: MsMaterialType) => {\r\n if (materialType.value === unref(currentMaterialTypeId)) {\r\n return;\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialType(materialType);\r\n };\r\n\r\n materialGroupTree.selectionChangeEvent.on(() => {\r\n const currentGroupId = materialGroupTree.getSelection()[0];\r\n\r\n if (!currentGroupId) {\r\n unref(materialTable).setList([]);\r\n }\r\n\r\n unref(materialTable).setCurrentMaterialGroupId(currentGroupId);\r\n });\r\n\r\n function getDefaultSelectMaterialGroup(\r\n nodes: MsMaterialGroupNode[]\r\n ): MsMaterialGroupNode | null {\r\n if (!nodes.length) {\r\n return null;\r\n }\r\n\r\n return getDefaultSelectMaterialGroup(nodes[0].children) ?? nodes[0];\r\n }\r\n\r\n materialGroupTree.afterLoadEvent.on(() => {\r\n const list = materialGroupTree.getList();\r\n\r\n const defaultSelectGroup = getDefaultSelectMaterialGroup(list);\r\n\r\n if (defaultSelectGroup) {\r\n materialGroupTree.setSelection([defaultSelectGroup.id]);\r\n }\r\n });\r\n\r\n materialForm.submittedEvent.on(() => {\r\n unref(materialTable).load();\r\n });\r\n\r\n const handleMaterialItemClick = (\r\n event: MouseEvent,\r\n material: MsMaterial\r\n ) => {\r\n if (!props.selectable) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n unref(materialTable).setSelection([material.id]);\r\n };\r\n\r\n const handleMoveClick = (material: MsMaterial) => {\r\n Dialoger.dataFormDialog({\r\n recId: material.id,\r\n title: \"设置素材分组\",\r\n dataForm: materialForm,\r\n });\r\n };\r\n\r\n const handleCutClick = async (material: MsMaterial) => {\r\n const cropperResult = await ImageCropper({\r\n src: material.path,\r\n ratioOptions: RATIO_OPTIONS,\r\n });\r\n\r\n if (!cropperResult.isConfirm) {\r\n return;\r\n }\r\n\r\n const handleOverrideClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const uploadResponse = await webFileUpload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (uploadResponse.data.code !== 200) {\r\n Messager.error({ message: uploadResponse.data.msg });\r\n return;\r\n }\r\n\r\n const response = await DvOpt.createInstance({\r\n name: \"mk-material\",\r\n }).save({\r\n ...material,\r\n path: uploadResponse.data.data.path,\r\n });\r\n\r\n if (response.code !== 200) {\r\n Messager.error({ message: response.msg });\r\n return;\r\n }\r\n\r\n unref(materialTable).load();\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleNewClick = async () => {\r\n try {\r\n const blob = base64ToBlob(cropperResult.data);\r\n\r\n const result = await unref(materialTable).upload.upload(\r\n new File([blob], material.desc, { type: blob.type })\r\n );\r\n\r\n if (result.data.code !== 200) {\r\n Messager.error({ message: result.data.msg });\r\n return;\r\n }\r\n } catch {\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n dialogInstance.destroy();\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"提示\",\r\n width: \"400px\",\r\n onClose: handleCancelClick,\r\n body: () => \"修改已存在的素材。是新建新素材还是覆盖现有素材\",\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton type=\"danger\" onClick={handleOverrideClick}>\r\n 覆盖\r\n </ElButton>\r\n <ElButton type=\"primary\" onClick={handleNewClick}>\r\n 新建\r\n </ElButton>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n };\r\n\r\n const handleDownload = () => {};\r\n\r\n return () => {\r\n const materialTypeVNodes = unref(materialTypes).map((materialType) => {\r\n const className = [\r\n \"mk-material-list__type\",\r\n unref(currentMaterialTypeId) === materialType.value\r\n ? \"is-active\"\r\n : \"\",\r\n ];\r\n\r\n return (\r\n <div\r\n key={materialType.value}\r\n class={className}\r\n onClick={() => handleMaterialTypeClick(materialType)}\r\n >\r\n {materialType.label}\r\n </div>\r\n );\r\n });\r\n\r\n let currentMaterialTypeVNode: any = null;\r\n\r\n if (unref(currentMaterialType)) {\r\n currentMaterialTypeVNode = (\r\n <Fragment>\r\n <span>\r\n {unref(currentMaterialType)!.label}大小不超过\r\n {unref(currentMaterialType)!.limit} M\r\n </span>\r\n <MKWebFileUploadContext\r\n webFileUpload={unref(materialTable).upload}\r\n accept={unref(currentMaterialType)!.accept}\r\n >\r\n <MKUploadFile>\r\n <ElButton type=\"primary\">\r\n 选择{unref(currentMaterialType)!.label}\r\n </ElButton>\r\n </MKUploadFile>\r\n </MKWebFileUploadContext>\r\n </Fragment>\r\n );\r\n }\r\n\r\n const materialListVNodes = unref(materialList).map((material) => (\r\n <MaterialItem\r\n key={material.id}\r\n class=\"mk-material-list__item\"\r\n materialTable={unref(materialTable)}\r\n material={material}\r\n onMove={handleMoveClick}\r\n onCut={handleCutClick}\r\n onDownload={handleDownload}\r\n onClick={\r\n ((event: MouseEvent) =>\r\n handleMaterialItemClick(event, material)) as any\r\n }\r\n />\r\n ));\r\n\r\n return (\r\n <div class=\"mk-material-list\">\r\n <MaterialGroup materialGroupTree={unref(materialGroupTree)} />\r\n\r\n <div class=\"mk-material-list__main\" v-loading={unref(loading)}>\r\n <div class=\"mk-material-list__header\">\r\n <div class=\"mk-material-list__header-left\">\r\n <div class=\"mk-material-list__types\">{materialTypeVNodes}</div>\r\n </div>\r\n <div class=\"mk-material-list__header-right\">\r\n {currentMaterialTypeVNode}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mk-material-list__body\">\r\n <MKDataTable dataTable={unref(materialTable)} autoLoad={false}>\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"mk-material-list__wrapper\">\r\n {materialListVNodes}\r\n </div>\r\n </ElScrollbar>\r\n <div class=\"mk-material-list__footer\">\r\n <MKDataTablePagination dataTable={unref(materialTable)} />\r\n </div>\r\n </MKDataTable>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["RATIO_OPTIONS","value","label","width","height","defineComponent","name","props","materialListProps","setup","materialGroupTree","reactive","MsMaterialGroupTree","webFileUpload","WebFileUpload","_materialTable","MsMaterialTable","materialForm","MsMaterialForm","initialize","setColumns","FormColumn","componentInfo","componentProps","dataTree","register","checkStrictly","materialTable","computed","loading","unref","materialTypes","getMaterialTypes","currentMaterialType","currentMaterialTypeId","materialList","getList","onBeforeUnmount","dispose","onMounted","getCurrentInstance","watch","_","onCleanup","disposable","afterInitdEvent","on","setAllowMaterialTypeValues","allowMaterialTypeValues","immediate","deleteRecordEvent","item","isConfirm","Dialoger","confirm","message","title","type","deleteAfterRefresh","handleMaterialTypeClick","materialType","setCurrentMaterialType","selectionChangeEvent","currentGroupId","getSelection","setList","setCurrentMaterialGroupId","getDefaultSelectMaterialGroup","nodes","length","children","afterLoadEvent","list","defaultSelectGroup","setSelection","id","submittedEvent","load","handleMaterialItemClick","event","material","selectable","preventDefault","stopPropagation","handleMoveClick","dataFormDialog","recId","dataForm","handleCutClick","cropperResult","ImageCropper","src","path","ratioOptions","handleOverrideClick","blob","base64ToBlob","data","uploadResponse","upload","File","desc","code","Messager","error","msg","response","DvOpt","createInstance","save","dialogInstance","destroy","handleNewClick","result","handleCancelClick","customRender","onClose","body","footer","_createVNode","_Fragment","ElButton","default","_createTextVNode","handleDownload","materialTypeVNodes","map","className","onClick","currentMaterialTypeVNode","limit","MKWebFileUploadContext","accept","MKUploadFile","materialListVNodes","MaterialItem","MaterialGroup","_withDirectives","MKDataTable","ElScrollbar","MKDataTablePagination","_resolveDirective"],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ import "../../../../components/basic/image-cropper/index.js";
|
|
|
36
36
|
import "../../../../components/business/verify-dialog/index.js";
|
|
37
37
|
import "../../../../components/business/resource-list/index.js";
|
|
38
38
|
import "../../../../components/business/resource-manager/index.js";
|
|
39
|
+
import "../../dataviews/ms-config/MsConfigTable.js";
|
|
39
40
|
import "../../dataviews/department/DepartmentForm.js";
|
|
40
41
|
import "../../dataviews/department/DepartmentTable.js";
|
|
41
42
|
import "../../dataviews/department/DepartmentTree.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-select-api.js","sources":["../../../../../../src/modules/ms/components/material-select/material-select-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { MKMaterialList } from \"../material-list\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\nexport type MKMaterialSelectOptions = {\r\n allowMaterialTypeValues?: any[];\r\n};\r\nexport type MKMaterialSelectResult = {\r\n success: boolean;\r\n data: MsMaterial | null;\r\n path: string;\r\n};\r\n\r\nexport default async function MaterialSelect(\r\n options: MKMaterialSelectOptions = {}\r\n): Promise<MKMaterialSelectResult> {\r\n return new Promise((resolve) => {\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n\r\n resolve({ success: false, data: null, path: \"\" });\r\n };\r\n\r\n const handleConfirmClick = () => {\r\n dialogInstance.destroy();\r\n\r\n const selection = materialTable.getSelection()[0];\r\n\r\n const selectMaterial = materialTable\r\n .getList()\r\n .find((item) => item.id === selection);\r\n\r\n if (!selectMaterial) {\r\n resolve({ success: false, data: null, path: \"\" });\r\n return;\r\n }\r\n\r\n resolve({\r\n success: true,\r\n data: selectMaterial,\r\n path: selectMaterial.path,\r\n });\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"素材选择\",\r\n class: \"mk-material-select\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <MKMaterialList\r\n class=\"mk-material-select__list\"\r\n selectable\r\n materialTable={materialTable}\r\n allowMaterialTypeValues={options.allowMaterialTypeValues}\r\n />\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={materialTable.getSelection().length === 0}\r\n onClick={handleConfirmClick}\r\n >\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["MaterialSelect","options","Promise","resolve","materialTable","reactive","MsMaterialTable","handleCancelClick","dialogInstance","destroy","success","data","path","handleConfirmClick","selection","getSelection","selectMaterial","getList","find","item","id","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKMaterialList","allowMaterialTypeValues","footer","_Fragment","ElButton","default","_createTextVNode","length"],"mappings":"
|
|
1
|
+
{"version":3,"file":"material-select-api.js","sources":["../../../../../../src/modules/ms/components/material-select/material-select-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { MKMaterialList } from \"../material-list\";\r\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\nexport type MKMaterialSelectOptions = {\r\n allowMaterialTypeValues?: any[];\r\n};\r\nexport type MKMaterialSelectResult = {\r\n success: boolean;\r\n data: MsMaterial | null;\r\n path: string;\r\n};\r\n\r\nexport default async function MaterialSelect(\r\n options: MKMaterialSelectOptions = {}\r\n): Promise<MKMaterialSelectResult> {\r\n return new Promise((resolve) => {\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n\r\n resolve({ success: false, data: null, path: \"\" });\r\n };\r\n\r\n const handleConfirmClick = () => {\r\n dialogInstance.destroy();\r\n\r\n const selection = materialTable.getSelection()[0];\r\n\r\n const selectMaterial = materialTable\r\n .getList()\r\n .find((item) => item.id === selection);\r\n\r\n if (!selectMaterial) {\r\n resolve({ success: false, data: null, path: \"\" });\r\n return;\r\n }\r\n\r\n resolve({\r\n success: true,\r\n data: selectMaterial,\r\n path: selectMaterial.path,\r\n });\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"素材选择\",\r\n class: \"mk-material-select\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <MKMaterialList\r\n class=\"mk-material-select__list\"\r\n selectable\r\n materialTable={materialTable}\r\n allowMaterialTypeValues={options.allowMaterialTypeValues}\r\n />\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={materialTable.getSelection().length === 0}\r\n onClick={handleConfirmClick}\r\n >\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["MaterialSelect","options","Promise","resolve","materialTable","reactive","MsMaterialTable","handleCancelClick","dialogInstance","destroy","success","data","path","handleConfirmClick","selection","getSelection","selectMaterial","getList","find","item","id","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKMaterialList","allowMaterialTypeValues","footer","_Fragment","ElButton","default","_createTextVNode","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAee,eAAeA,eAC5BC,UAAmC,IACF;AACjC,SAAO,IAAIC,QAASC,aAAY;AAC9B,UAAMC,gBAAgBC,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;"}
|
|
@@ -25,6 +25,7 @@ const _MsConfigForm = class _MsConfigForm extends (_b = DataForm, _a = DATA_MODE
|
|
|
25
25
|
}
|
|
26
26
|
async initialize() {
|
|
27
27
|
await super.initialize();
|
|
28
|
+
window.configForm = this;
|
|
28
29
|
const defaultType = "string";
|
|
29
30
|
this.setColumns([
|
|
30
31
|
new FormColumn({ name: "id", label: "编号" }),
|
|
@@ -1 +1 @@
|
|
|
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 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":";;;;;;;;;;;;;;;AAsBO,MAAM,gBAAN,MAAM,uBACH,eAGA,sBAHA,IAEV;AAAA,EAKE,YAAY,UAA+B,IAAI;AACvC,UAAA;AAAA,MACJ,MAAM,cAAa,eAAe;AAAA,MAClC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAPH;AASE,SAAK,kBAAkB,QAAQ,mBAAmB,IAAI,iBAAiB;AAAA,EACzE;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;
|
|
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":";;;;;;;;;;;;;;;AAsBO,MAAM,gBAAN,MAAM,uBACH,eAGA,sBAHA,IAEV;AAAA,EAKE,YAAY,UAA+B,IAAI;AACvC,UAAA;AAAA,MACJ,MAAM,cAAa,eAAe;AAAA,MAClC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAPH;AASE,SAAK,kBAAkB,QAAQ,mBAAmB,IAAI,iBAAiB;AAAA,EACzE;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEX,WAAe,aAAa;AAE7B,UAAM,cAAc;AACpB,SAAK,WAAW;AAAA,MACd,IAAI,WAAW,EAAE,MAAM,MAAM,OAAO,MAAM;AAAA,MAC1C,IAAI,WAAW,EAAE,MAAM,OAAO,OAAO,OAAO,UAAU,MAAM;AAAA,MAC5D,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,QACf,cAAc;AAAA,QACd,UAAU;AAAA,QACV,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,EAAE,OAAO,UAAU,OAAO,MAAM;AAAA,YAChC,EAAE,OAAO,OAAO,OAAO,KAAK;AAAA,YAC5B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,UACjC;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,cAAc;AAAA,QACd,OAAO;AAAA,UACL;AAAA,YACE,WAAW,CAAC,MAAM,OAAO,aAAa;;AAChC,oBAAAA,MAAA,KAAK,SAAL,gBAAAA,IAAW,UAAS,QAAQ;AAC1B,oBAAA;AACF,uBAAK,MAAM,KAAK;AAAA,yBACT,GAAG;AACD,2BAAA,IAAI,MAAM,UAAU,CAAC;AAAA,gBAChC;AAAA,cACF;AAES;YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA,eAAe,KAAK,YAAY,WAAW;AAAA,MAAA,CAC5C;AAAA,MACD,IAAI,WAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB,EAAE,MAAM,YAAY,MAAM,EAAE;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAED,QAAI,aAAgC;AAEpC,SAAK,gBAAgB,GAAG,CAAC,EAAE,WAAW;AACpC,+CAAY;AAEZ,UAAI,CAAC,MAAM;AACF,eAAA;AAAA,MACT;AAEA,mBAAa,IAAI;AAEX,YAAA,kBAAkB,KAAK,UAAU,OAAO;AAC9B,sBAAA,gBACd,KAAK,gBAAgB;AAAA,QACnB,KAAK,gBAAgB,KAAK,IAAK;AAAA,MAC5B,KAAA,KAAK,gBAAgB,iBAAiB,aAAa;AAE/C,iBAAA;AAAA,QACT,KAAK,UAAU,MAAM,EAAG,iBAAiB,GAAG,MAAM;AAC5C,cAAA,CAAC,KAAK,MAAM;AACd;AAAA,UACF;AAEMC,gBAAAA,mBAAkB,KAAK,UAAU,OAAO;AAC9CA,2BAAgB,gBACd,KAAK,gBAAgB;AAAA,YACnB,KAAK,gBAAgB,KAAK,IAAK;AAAA,UAC5B,KAAA,KAAK,gBAAgB,iBAAiB,aAAa;AAE1D,eAAK,KAAM,QAAQ;AAAA,QAAA,CACpB;AAAA,MAAA;AAAA,IACH,CACD;AAAA,EACH;AAAA,EAEA,WAAW,MAA0B;AACnC,QAAI,QAAQ,KAAK;AAEb,QAAA,KAAK,SAAS,QAAQ;AACpB,UAAA;AACM,gBAAA,KAAK,MAAM,KAAK,KAAK;AAAA,eACtB,GAAG;AAAA,MAAC;AAAA,IACf;AAEO,WAAA,EAAE,GAAG,MAAM;EACpB;AAAA,EAEA,iBAAiB,MAAW;AACnB,WAAA;AAAA,MACL,GAAG;AAAA,MACH,OAAO,KAAK,SAAS,SAAS,KAAK,QAAQ,KAAK,UAAU,KAAK,KAAK;AAAA,IAAA;AAAA,EAExE;AAAA,EAEA,YAAY,MAAc;AACxB,YAAQ,MAAM;AAAA,MACZ,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EACF;AAAA,EAEA,gBAAgB,QAAkB;AACzB,WAAA,KAAK,YAAY,OAAO,IAAI;AAAA,EACrC;AACF;AAxIE,cAJW,eAIH,IAA2B;AAJ9B,IAAM,eAAN;"}
|
|
@@ -74,10 +74,44 @@ const _MsConfigTable = class _MsConfigTable extends (_b = DataTable, _a = DATA_M
|
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
|
+
static async getConfigValue(key) {
|
|
78
|
+
var _a2;
|
|
79
|
+
const where = new Where();
|
|
80
|
+
where.addCondition("key", "=", key);
|
|
81
|
+
const dataViewRequest = _MsConfigTable.instance.dataViewRequest;
|
|
82
|
+
const response = await dataViewRequest.query({
|
|
83
|
+
data: { condition: where, pc: 1, pn: 1 }
|
|
84
|
+
});
|
|
85
|
+
if (response.data.code !== 200) {
|
|
86
|
+
throw new Error(response.data.msg);
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
return JSON.parse((_a2 = response.data.data[0]) == null ? void 0 : _a2.value);
|
|
90
|
+
} catch {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
static async setConfigValue(key, value) {
|
|
95
|
+
const dataViewRequest = _MsConfigTable.instance.dataViewRequest;
|
|
96
|
+
const where = new Where();
|
|
97
|
+
where.addCondition("key", "=", key);
|
|
98
|
+
const listResponse = await dataViewRequest.query({
|
|
99
|
+
data: { condition: where, pc: 1, pn: 1 }
|
|
100
|
+
});
|
|
101
|
+
if (listResponse.data.code !== 200) {
|
|
102
|
+
throw new Error(listResponse.data.msg);
|
|
103
|
+
}
|
|
104
|
+
const response = listResponse.data.data.length === 0 ? await dataViewRequest.add({ key, value }) : await dataViewRequest.update({
|
|
105
|
+
...listResponse.data.data[0],
|
|
106
|
+
value
|
|
107
|
+
});
|
|
108
|
+
return response.data;
|
|
109
|
+
}
|
|
77
110
|
};
|
|
78
111
|
__publicField(_MsConfigTable, _a, "mk-sys-config");
|
|
79
112
|
__publicField(_MsConfigTable, "_instance", null);
|
|
80
113
|
let MsConfigTable = _MsConfigTable;
|
|
114
|
+
window.MsConfigTable = MsConfigTable;
|
|
81
115
|
export {
|
|
82
116
|
MsConfigTable
|
|
83
117
|
};
|