el-plus 0.0.113 → 0.0.115
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/CHANGELOG.md +24 -0
- package/README.md +85 -85
- package/dist/index.css +1 -1
- package/dist/index.full.js +15 -5
- package/dist/index.full.min.js +4 -4
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +4 -4
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +15 -6
- package/docs/CHANGELOG.md +5 -5
- package/docs/api-examples.md +49 -49
- package/docs/components/attachment.md +118 -111
- package/docs/components/buttons.md +179 -179
- package/docs/components/custom-column.md +70 -70
- package/docs/components/date-picker-range.md +61 -61
- package/docs/components/dialog.md +104 -104
- package/docs/components/footer-info.md +101 -101
- package/docs/components/form.md +211 -211
- package/docs/components/header.md +117 -117
- package/docs/components/input.md +111 -111
- package/docs/components/link.md +63 -63
- package/docs/components/search-list-page.md +91 -91
- package/docs/components/select.md +249 -249
- package/docs/components/table.md +145 -145
- package/docs/components/title.md +70 -70
- package/docs/components/use-choose-dialog.md +114 -114
- package/docs/components/use-confirm-dialog.md +86 -86
- package/docs/components/use-form-dialog.md +85 -85
- package/docs/guide/markdown-examples.md +85 -85
- package/docs/hooks/use-navigation.md +131 -131
- package/docs/hooks/use-utils.md +162 -162
- package/docs/index.md +25 -25
- package/docs/overview.md +99 -99
- package/docs/pages/detail.md +66 -66
- package/docs/pages/list.md +74 -74
- package/docs/pages/router.md +151 -151
- package/es/components/attachment/index.d.ts +12 -2
- package/es/components/attachment/index.mjs +1 -1
- package/es/components/attachment/index.mjs.map +1 -1
- package/es/components/attachment/src/attachment.d.ts +6 -0
- package/es/components/attachment/src/attachment.mjs +7 -1
- package/es/components/attachment/src/attachment.mjs.map +1 -1
- package/es/components/attachment/src/attachment.vue.d.ts +5 -1
- package/es/components/attachment/src/attachment.vue2.mjs +7 -4
- package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
- package/es/components/attachment/src/use-attachment.mjs.map +1 -1
- package/es/components/buttons/index.mjs.map +1 -1
- package/es/components/buttons/src/buttons-vue.mjs.map +1 -1
- package/es/components/buttons/src/buttons.mjs.map +1 -1
- package/es/components/custom-column/index.mjs.map +1 -1
- package/es/components/custom-column/src/custom-column.mjs.map +1 -1
- package/es/components/custom-column/src/custom-column.vue2.mjs.map +1 -1
- package/es/components/date-picker-range/index.mjs.map +1 -1
- package/es/components/date-picker-range/src/date-picker-range.mjs.map +1 -1
- package/es/components/date-picker-range/src/date-picker-range.vue2.mjs.map +1 -1
- package/es/components/footer-info/index.mjs.map +1 -1
- package/es/components/footer-info/src/footer-info.mjs.map +1 -1
- package/es/components/footer-info/src/footer-info.vue2.mjs.map +1 -1
- package/es/components/form/index.mjs.map +1 -1
- package/es/components/form/src/form-item-vue.mjs.map +1 -1
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form.vue2.mjs.map +1 -1
- package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
- package/es/components/form/src/hooks/use-form.mjs.map +1 -1
- package/es/components/header/index.mjs.map +1 -1
- package/es/components/header/src/header.mjs.map +1 -1
- package/es/components/header/src/header.vue2.mjs.map +1 -1
- package/es/components/header/src/use-header.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/index.mjs.map +1 -1
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue2.mjs.map +1 -1
- package/es/components/link/index.mjs.map +1 -1
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link.vue2.mjs.map +1 -1
- package/es/components/search-list-page/index.mjs.map +1 -1
- package/es/components/search-list-page/src/search-list-page.mjs.map +1 -1
- package/es/components/search-list-page/src/search-list-page.vue2.mjs.map +1 -1
- package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
- package/es/components/select/index.mjs.map +1 -1
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue2.mjs.map +1 -1
- package/es/components/select/src/use-select.mjs.map +1 -1
- package/es/components/table/index.mjs.map +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue2.mjs.map +1 -1
- package/es/components/table/src/use-table.mjs.map +1 -1
- package/es/components/title/index.mjs.map +1 -1
- package/es/components/title/src/title.mjs.map +1 -1
- package/es/components/title/src/title.vue2.mjs.map +1 -1
- package/es/components/title/src/use-title.mjs.map +1 -1
- package/es/components/uni-vue/index.mjs.map +1 -1
- package/es/components/uni-vue/src/uni-vue.mjs.map +1 -1
- package/es/components/uni-vue/src/uni-vue.vue2.mjs.map +1 -1
- package/es/components/uni-vue/src/use-uni-vue.mjs.map +1 -1
- package/es/components.mjs.map +1 -1
- package/es/directives/permission/index.mjs.map +1 -1
- package/es/directives/repeat-click/index.mjs.map +1 -1
- package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-confirm-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
- package/es/hooks/use-locale.mjs.map +1 -1
- package/es/hooks/use-navigation.mjs.map +1 -1
- package/es/hooks/use-request.mjs.map +1 -1
- package/es/hooks/use-template-promise.mjs.map +1 -1
- package/es/hooks/use-utils.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/index.mjs.map +1 -1
- package/es/locale/lang/en.mjs.map +1 -1
- package/es/locale/lang/zh-cn.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/es/plugins/globalProperties.mjs.map +1 -1
- package/es/types/global.d.ts +30 -30
- package/es/types/index.d.ts +2 -2
- package/es/types/utils.d.ts +19 -19
- package/es/utils/bem.mjs.map +1 -1
- package/es/utils/cookie.mjs.map +1 -1
- package/es/utils/dom.mjs.map +1 -1
- package/es/utils/env.mjs.map +1 -1
- package/es/utils/file.mjs.map +1 -1
- package/es/utils/http/core/modules/interceptor.mjs.map +1 -1
- package/es/utils/http/core/modules/loading.mjs.map +1 -1
- package/es/utils/http/core/preset-interceptors.mjs.map +1 -1
- package/es/utils/http/core/request-client.mjs.map +1 -1
- package/es/utils/http/index.mjs.map +1 -1
- package/es/utils/mitt.mjs.map +1 -1
- package/es/utils/navigation.mjs.map +1 -1
- package/es/utils/props.mjs.map +1 -1
- package/es/utils/time.mjs.map +1 -1
- package/es/utils/utils.mjs.map +1 -1
- package/es/utils/with-install.mjs.map +1 -1
- package/global.d.ts +21 -21
- package/lib/components/attachment/index.d.ts +12 -2
- package/lib/components/attachment/index.js +1 -0
- package/lib/components/attachment/index.js.map +1 -1
- package/lib/components/attachment/src/attachment.d.ts +6 -0
- package/lib/components/attachment/src/attachment.js +7 -0
- package/lib/components/attachment/src/attachment.js.map +1 -1
- package/lib/components/attachment/src/attachment.vue.d.ts +5 -1
- package/lib/components/attachment/src/attachment.vue2.js +6 -3
- package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
- package/lib/components/attachment/src/use-attachment.js.map +1 -1
- package/lib/components/buttons/index.js.map +1 -1
- package/lib/components/buttons/src/buttons-vue.js.map +1 -1
- package/lib/components/buttons/src/buttons.js.map +1 -1
- package/lib/components/custom-column/index.js.map +1 -1
- package/lib/components/custom-column/src/custom-column.js.map +1 -1
- package/lib/components/custom-column/src/custom-column.vue2.js.map +1 -1
- package/lib/components/date-picker-range/index.js.map +1 -1
- package/lib/components/date-picker-range/src/date-picker-range.js.map +1 -1
- package/lib/components/date-picker-range/src/date-picker-range.vue2.js.map +1 -1
- package/lib/components/footer-info/index.js.map +1 -1
- package/lib/components/footer-info/src/footer-info.js.map +1 -1
- package/lib/components/footer-info/src/footer-info.vue2.js.map +1 -1
- package/lib/components/form/index.js.map +1 -1
- package/lib/components/form/src/form-item-vue.js.map +1 -1
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form.vue2.js.map +1 -1
- package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
- package/lib/components/form/src/hooks/use-form.js.map +1 -1
- package/lib/components/header/index.js.map +1 -1
- package/lib/components/header/src/header.js.map +1 -1
- package/lib/components/header/src/header.vue2.js.map +1 -1
- package/lib/components/header/src/use-header.js.map +1 -1
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/index.js.map +1 -1
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue2.js.map +1 -1
- package/lib/components/link/index.js.map +1 -1
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link.vue2.js.map +1 -1
- package/lib/components/search-list-page/index.js.map +1 -1
- package/lib/components/search-list-page/src/search-list-page.js.map +1 -1
- package/lib/components/search-list-page/src/search-list-page.vue2.js.map +1 -1
- package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
- package/lib/components/select/index.js.map +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue2.js.map +1 -1
- package/lib/components/select/src/use-select.js.map +1 -1
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue2.js.map +1 -1
- package/lib/components/table/src/use-table.js.map +1 -1
- package/lib/components/title/index.js.map +1 -1
- package/lib/components/title/src/title.js.map +1 -1
- package/lib/components/title/src/title.vue2.js.map +1 -1
- package/lib/components/title/src/use-title.js.map +1 -1
- package/lib/components/uni-vue/index.js.map +1 -1
- package/lib/components/uni-vue/src/uni-vue.js.map +1 -1
- package/lib/components/uni-vue/src/uni-vue.vue2.js.map +1 -1
- package/lib/components/uni-vue/src/use-uni-vue.js.map +1 -1
- package/lib/components.js.map +1 -1
- package/lib/directives/permission/index.js.map +1 -1
- package/lib/directives/repeat-click/index.js.map +1 -1
- package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-confirm-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
- package/lib/hooks/use-locale.js.map +1 -1
- package/lib/hooks/use-navigation.js.map +1 -1
- package/lib/hooks/use-request.js.map +1 -1
- package/lib/hooks/use-template-promise.js.map +1 -1
- package/lib/hooks/use-utils.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/locale/lang/en.js.map +1 -1
- package/lib/locale/lang/zh-cn.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/lib/plugins/globalProperties.js.map +1 -1
- package/lib/types/global.d.ts +30 -30
- package/lib/types/index.d.ts +2 -2
- package/lib/types/utils.d.ts +19 -19
- package/lib/utils/bem.js.map +1 -1
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/dom.js.map +1 -1
- package/lib/utils/env.js.map +1 -1
- package/lib/utils/file.js.map +1 -1
- package/lib/utils/http/core/modules/interceptor.js.map +1 -1
- package/lib/utils/http/core/modules/loading.js.map +1 -1
- package/lib/utils/http/core/preset-interceptors.js.map +1 -1
- package/lib/utils/http/core/request-client.js.map +1 -1
- package/lib/utils/http/index.js.map +1 -1
- package/lib/utils/mitt.js.map +1 -1
- package/lib/utils/navigation.js.map +1 -1
- package/lib/utils/props.js.map +1 -1
- package/lib/utils/time.js.map +1 -1
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils/with-install.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/base.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/attachment.scss +39 -39
- package/theme-chalk/src/base.scss +2 -2
- package/theme-chalk/src/buttons.scss +22 -22
- package/theme-chalk/src/common/common.scss +7 -4
- package/theme-chalk/src/common/transition.scss +9 -9
- package/theme-chalk/src/custom-column.scss +55 -55
- package/theme-chalk/src/dialog.scss +62 -62
- package/theme-chalk/src/footer-info.scss +18 -18
- package/theme-chalk/src/form.scss +80 -72
- package/theme-chalk/src/header.scss +19 -19
- package/theme-chalk/src/index.scss +15 -15
- package/theme-chalk/src/link.scss +5 -5
- package/theme-chalk/src/mixins/config.scss +3 -3
- package/theme-chalk/src/mixins/mixins.scss +37 -37
- package/theme-chalk/src/search-list-page.scss +22 -22
- package/theme-chalk/src/select.scss +10 -10
- package/theme-chalk/src/table.scss +91 -91
- package/theme-chalk/src/tabs.scss +55 -55
- package/theme-chalk/src/title.scss +52 -52
- package/theme-chalk/src/uni-vue.scss +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n :reserve-selection=\"reserveSelection\"\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"`${item.prop}_${item.type}_${index}`\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :api=\"customColumnApi\"\n :save-api=\"customColumnSaveApi\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n 'row-key': props.rowKey || 'id',\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","getSelectionRows","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","reserveSelection","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\r\n <div\r\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n >\r\n <el-form\r\n ref=\"elFormRef\"\r\n :model=\"{ table: data }\"\r\n size=\"small\"\r\n hide-required-asterisk\r\n scroll-to-error\r\n :scroll-into-view-options=\"{ inline: 'center' }\"\r\n class=\"ep-form\"\r\n >\r\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\r\n <el-table-column\r\n v-if=\"showSelectionCol\"\r\n type=\"selection\"\r\n width=\"55\"\r\n :align\r\n :selectable\r\n :reserve-selection=\"reserveSelection\"\r\n fixed\r\n />\r\n <el-table-column\r\n v-if=\"showSingleSelectionCol\"\r\n width=\"55\"\r\n :align\r\n :selectable\r\n fixed\r\n >\r\n <template #default=\"scope\">\r\n <el-link\r\n type=\"primary\"\r\n underline=\"never\"\r\n style=\"font-size: 12px\"\r\n @click=\"emit('single-selection-change', scope.row)\"\r\n >{{ t('ep.table.select') }}</el-link\r\n >\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n v-if=\"showIndexCol\"\r\n type=\"index\"\r\n width=\"56\"\r\n :align\r\n :label=\"t('ep.table.serialNumber')\"\r\n fixed\r\n :index=\"indexFormatter\"\r\n />\r\n\r\n <el-table-column\r\n v-if=\"actionButtons.length\"\r\n :label=\"t('ep.table.operation')\"\r\n :align\r\n fixed\r\n :width=\"actionColWidth\"\r\n >\r\n <template #default=\"scope\">\r\n <span :class=\"bem.e('action-buttons')\">\r\n <EpButtons\r\n :list=\"formatActionButtons(actionButtons, scope)\"\r\n type=\"text\"\r\n />\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n v-for=\"(item, index) in columnList\"\r\n :key=\"`${item.prop}_${item.type}_${index}`\"\r\n v-bind=\"item\"\r\n >\r\n <template #default=\"scope\">\r\n <EpFormItem\r\n v-if=\"item.type || item.render\"\r\n :form-data=\"scope.row\"\r\n :table-scope=\"scope\"\r\n v-bind=\"formItemProps(scope, item)\"\r\n />\r\n <template v-else>\r\n {{ scope.row[item.prop] }}\r\n </template>\r\n </template>\r\n </el-table-column>\r\n <template v-for=\"name in slots\" #[name]=\"scope\">\r\n <slot :name=\"name\" v-bind=\"scope\" />\r\n </template>\r\n </el-table>\r\n </el-form>\r\n <el-pagination\r\n v-if=\"showPagination\"\r\n v-model:current-page=\"pagination.pageNo\"\r\n v-model:page-size=\"pagination.pageSize\"\r\n :total=\"pagination.total\"\r\n v-bind=\"paginationProps\"\r\n />\r\n <EpCustomColumn\r\n v-if=\"customColumnModule\"\r\n ref=\"customColumnRef\"\r\n :module=\"customColumnModule\"\r\n :api=\"customColumnApi\"\r\n :save-api=\"customColumnSaveApi\"\r\n :show-handler=\"false\"\r\n />\r\n </div>\r\n</template>\r\n<script setup lang=\"tsx\">\r\nimport { computed, useSlots, useTemplateRef } from 'vue'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport {\r\n tableProps,\r\n tableEmits,\r\n expandTablePropsKeys,\r\n tableEmitsKeys,\r\n} from './table'\r\nimport type { TableEmits } from './table'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\nimport { EpFormItem } from '@el-plus/components/form'\r\nimport EpCustomColumn from '@el-plus/components/custom-column'\r\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\r\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nconst { t } = useLocale()\r\ndefineOptions({\r\n name: 'EpTable',\r\n inheritAttrs: false,\r\n})\r\nconst bem = createNameSpace('table')\r\nconst props = defineProps(tableProps)\r\nconst emit = defineEmits(tableEmits!)\r\n\r\nconst slots = computed(() => {\r\n return Object.keys(useSlots())\r\n // .filter((item) => item !== 'default')\r\n})\r\nconst customAttrs = computed(() => {\r\n return {\r\n 'row-key': props.rowKey || 'id',\r\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\r\n // 'tooltip-effect': 'light',\r\n size: 'small',\r\n data: data.value,\r\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\r\n }\r\n})\r\nconst {\r\n pagination,\r\n paginationProps,\r\n data,\r\n validate,\r\n resetFields,\r\n clearValidate,\r\n clearSelection,\r\n getSelectionRows,\r\n loading,\r\n search,\r\n elFormRef,\r\n elTableRef,\r\n formatActionButtons,\r\n customColumns,\r\n} = useTable(props)\r\nconst { columnList } = useTableColumn(props, data, customColumns)\r\nconst { formItemProps } = useTableFormItem(props)\r\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\r\n\r\ndefineExpose({\r\n elFormRef,\r\n elTableRef,\r\n validate,\r\n resetFields,\r\n clearValidate,\r\n clearSelection,\r\n getSelectionRows,\r\n search,\r\n openCustomColumnDialog: () => {\r\n customColumnRef.value?.open()\r\n },\r\n})\r\n</script>\r\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","getSelectionRows","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","reserveSelection","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiIA,IAAA,MAAM;AAAA,MAAEA;AAAAA,QAAMC,mBAAAA,EAAU;AAKxB,IAAA,MAAMC,KAAAA,GAAMC,oBAAgB,OAAO,CAAA;AACnC,IAAA,MAAMC,OAAAA,GAAQC,OAAAA;AACd,IAAA,MAAMC,IAAAA,GAAOC,MAAAA;AAEb,IAAA,MAAMC,KAAAA,GAAQC,aAAS,MAAM;AAC3B,MAAA,OAAOC,MAAAA,CAAOC,IAAAA,CAAKC,YAAAA,EAAU,CAAA;AAAA,IAE/B,CAAC,CAAA;AACD,IAAA,MAAMC,WAAAA,GAAcJ,aAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,SAAA,EAAWL,QAAMU,MAAAA,IAAU,IAAA;AAAA,QAC3B,GAAGC,kBAAAA,CAAaX,OAAAA,EAAO,CAAC,YAAA,EAAc,GAAGY,0BAAoB,CAAC,CAAA;AAAA;AAAA,QAE9DC,IAAAA,EAAM,OAAA;AAAA,QACNC,MAAMA,IAAAA,CAAKC,KAAAA;AAAAA,QACX,GAAGC,mBAAAA,CAAuCd,IAAAA,EAAMe,oBAAe;AAAA,OACjE;AAAA,IACF,CAAC,CAAA;AACD,IAAA,MAAM;AAAA,MACJC,UAAAA;AAAAA,MACAC,eAAAA;AAAAA,MACAL,IAAAA;AAAAA,MACAM,QAAAA;AAAAA,MACAC,WAAAA;AAAAA,MACAC,aAAAA;AAAAA,MACAC,cAAAA;AAAAA,MACAC,gBAAAA;AAAAA,MACAC,OAAAA;AAAAA,MACAC,MAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC,UAAAA;AAAAA,MACAC,mBAAAA;AAAAA,MACAC;AAAAA,KACF,GAAIC,kBAAS/B,OAAK,CAAA;AAClB,IAAA,MAAM;AAAA,MAAEgC;AAAAA,KAAW,GAAIC,uBAAAA,CAAejC,OAAAA,EAAOc,IAAAA,EAAMgB,aAAa,CAAA;AAChE,IAAA,MAAM;AAAA,MAAEI;AAAAA,KAAc,GAAIC,0BAAiBnC,OAAK,CAAA;AAChD,IAAA,MAAMoC,eAAAA,GAAkBC,mBAAqC,iBAAiB,CAAA;AAE9EC,IAAAA,QAAAA,CAAa;AAAA,MACXX,SAAAA;AAAAA,MACAC,UAAAA;AAAAA,MACAR,QAAAA;AAAAA,MACAC,WAAAA;AAAAA,MACAC,aAAAA;AAAAA,MACAC,cAAAA;AAAAA,MACAC,gBAAAA;AAAAA,MACAE,MAAAA;AAAAA,MACAa,wBAAwBA,MAAM;AAC5BH,QAAAA,eAAAA,CAAgBrB,OAAOyB,IAAAA,EAAK;AAAA,MAC9B;AAAA,KACD,CAAA;;;;;;;;;8BAvLCC,sBAAAA,CAyGM,KAAA,EAAA;AAAA,QAxGHC,KAAAA,EAAKC,kBAAAA,CAAA,CAAA,EAAKC,SAAAA,CAAA9C,KAAA,CAAA,CAAI+C,CAAAA,MAAOD,SAAAA,CAAAE,uBAAA,CAAA,EAAiB,CAAA,CAAA,CAAA;AAAA,QACtCC,OAAKC,kBAAAA,CAAA;AAAA,aAAcJ,SAAAA,CAAAK,mBAAA,CAAA;AAAa;UAIjCC,eAAAA,CAmFUC,kBAAAA,EAAA;AAAA,iBAlFJ,WAAA;AAAA,QAAJC,GAAAA,EAAIzB,SAAAA;AAAAA,QACH0B,KAAAA;iBAAgBT,UAAA9B,IAAA;AAAA,SAAI;AAAA,QACrBD,IAAAA,EAAK,OAAA;AAAA,QACL,wBAAA,EAAA,EAAA;AAAA,QACA,iBAAA,EAAA,EAAA;AAAA,QACC,0BAAA,EAA0B;AAAA,UAAAyC,MAAAA,EAAA;AAAA,SAAA;AAAA,QAC3BZ,KAAAA,EAAM;AAAA;6BAEN,MAyEW,CAzEXa,oBAAAC,aAAAA,EAAA,EAAAC,eAAAA,CAyEWC,mBAAAA,EAzEXC,cAAAA,CAyEW;AAAA,mBAzEG,YAAA;AAAA,UAAJP,GAAAA,EAAIxB;AAAAA,WAAyCnB,WAAAA,CAAAM,KAAW,CAAA,EAAA6C,eAAAA,CAAA;AAAA,+BAChE,MAQE,CAPMC,KAAAA,gBAAAA,qBADRJ,eAAAA,CAQEK,0BAAAA,EAAA;AAAA;YANAC,IAAAA,EAAK,WAAA;AAAA,YACLC,KAAAA,EAAM,IAAA;AAAA,YACLC,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACAC,YAAAA,IAAAA,CAAAA,UAAAA;AAAAA,YACA,qBAAmBC,IAAAA,CAAAA,gBAAAA;AAAAA,YACpBC,KAAAA,EAAA;AAAA,yGAGMC,IAAAA,CAAAA,2CADRZ,gBAgBkBK,0BAAAA,EAAA;AAAA;YAdhBE,KAAAA,EAAM,IAAA;AAAA,YACLC,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACAC,YAAAA,IAAAA,CAAAA,UAAAA;AAAAA,YACDE,KAAAA,EAAA;AAAA;YAEWE,OAAAA,EAAOC,WAAAA,CAMqCC,CAAAA,KAAAA,KAN9B,CACvBtB,gBAKqDuB,kBAAAA,EAAA;AAAA,cAJnDV,IAAAA,EAAK,SAAA;AAAA,cACLW,SAAAA,EAAU,OAAA;AAAA,cACV3B,KAAAA,EAAA;AAAA,gBAAA,WAAA,EAAA;AAAA,eAAA;AAAA,cACC4B,OAAAA,EAAKC,CAAAA,MAAAA,KAAE1E,IAAAA,CAAI,yBAAA,EAA4BsE,MAAMK,GAAG;AAAA;mCAChD,MAA0B,yCAAvBjC,SAAAA,CAAAhD,CAAA,CAAA,CAAC,iBAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;;;8EAKHkF,IAAAA,CAAAA,YAAAA,qBADRrB,gBAQEK,0BAAAA,EAAA;AAAA;YANAC,IAAAA,EAAK,OAAA;AAAA,YACLC,KAAAA,EAAM,IAAA;AAAA,YACLC,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACAc,KAAAA,EAAOnC,SAAAA,CAAAhD,CAAA,CAAA,CAAC,uBAAA,CAAA;AAAA,YACTwE,KAAAA,EAAA,EAAA;AAAA,YACCY,OAAOC,IAAAA,CAAAA;AAAAA,wFAIFC,IAAAA,CAAAA,aAAAA,CAAcC,2BADtB1B,gBAekBK,0BAAAA,EAAA;AAAA;YAbfiB,KAAAA,EAAOnC,SAAAA,CAAAhD,CAAA,CAAA,CAAC,oBAAA,CAAA;AAAA,YACRqE,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACDG,KAAAA,EAAA,EAAA;AAAA,YACCJ,OAAOoB,IAAAA,CAAAA;AAAAA;YAEGd,OAAAA,EAAOC,WAAAA,CAMTC,CAAAA,KAAAA,KANgB,CACvBa,uBAKO,MAAA,EAAA;AAAA,cALA3C,OAAKC,kBAAAA,CAAEC,SAAAA,CAAA9C,KAAA,CAAA,CAAIwF,CAAAA,CAAC,gBAAA,CAAA;AAAA,gBACjBpC,eAAAA,CAGEqC,oBAAAA,EAAA;AAAA,cAFCC,MAAM5C,SAAAA,CAAAf,mBAAA,CAAA,CAAoBqD,IAAAA,CAAAA,eAAeV,KAAK,CAAA;AAAA,cAC/CT,IAAAA,EAAK;AAAA;;mFAKbP,cAAA,IAAA,CAAA,EAAAf,sBAAAA,CAgBkBgD,YAAAA,EAAA,IAAA,EAAAC,cAAAA,CAfQ9C,UAAAZ,UAAA,CAAA,EAAU,CAA1B2D,IAAAA,EAAMX,KAAAA,KAAK;AADrB,YAAA,OAAAxB,aAAAA,EAAA,EAAAC,eAAAA,CAgBkBK,0BAAAA,EAhBlBH,cAAAA,CAgBkB;AAAA,cAdfiC,GAAAA,EAAG,GAAKD,IAAAA,CAAKE,IAAI,IAAIF,IAAAA,CAAK5B,IAAI,IAAIiB,KAAK,CAAA;AAAA;;eAChCW,IAAI,CAAA,EAAA;AAAA,cAEDrB,OAAAA,EAAOC,WAAAA,CAMdC,CAAAA,KAAAA,KANqB,CAEfmB,KAAK5B,IAAAA,IAAQ4B,IAAAA,CAAKG,MAAAA,IAD1BtC,aAAAA,EAAA,EAAAC,eAAAA,CAKEb,SAAAA,uBALFe,cAAAA,CAKE;AAAA;gBAHC,aAAWa,KAAAA,CAAMK,GAAAA;AAAAA,gBACjB,aAAA,EAAaL;AAAAA;;iBACN5B,SAAAA,CAAAV,aAAA,EAAcsC,KAAAA,EAAOmB,IAAI,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,aAAA,CAAA,uBAEnClD,uBAEWgD,YAAAA,EAAA;AAAA,gBAAAG,GAAAA,EAAA;AAAA,eAAA,EAAA,CADNG,mBAAAA,CAAAC,mBAAAA,CAAAxB,MAAMK,GAAAA,CAAIc,IAAAA,CAAKE,IAAI,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;YAIHH,cAAAA,CAAAtF,KAAAA,CAAAW,OAARkF,CAAAA,IAAAA,KAAI;;;YACnBC,EAAAA,EAAA3B,WAAAA,CADuCC,CAAAA,KAAAA,KAAK,CAC5C2B,eAAoCC,IAAAA,CAAAC,MAAAA,EAAvBJ,IAAAA,EAAIK,kBAAAA,CAAAC,sBAAAA,CAAU/B,KAAK,CAAA,CAAA,CAAA;;4CAvEE5B,UAAAnB,OAAA,CAAO,CAAA;;wBA4EvC+E,IAAAA,CAAAA,cAAAA,IADRhD,aAAAA,EAAA,EAAAC,eAAAA,CAMEgD,wBAAAA,EANF9C,cAAAA,CAME;AAAA;QAJQ,cAAA,EAAcf,SAAAA,CAAA1B,UAAA,CAAA,CAAWwF,MAAAA;AAAAA,QAAX,sBAAA,EAAA9B,CAAAA,MAAAA,KAAAhC,SAAAA,CAAA1B,UAAA,EAAWwF,MAAAA,GAAM9B,MAAAA;AAAAA,QAC/B,WAAA,EAAWhC,SAAAA,CAAA1B,UAAA,CAAA,CAAWyF,QAAAA;AAAAA,QAAX,mBAAA,EAAA/B,CAAAA,MAAAA,KAAAhC,SAAAA,CAAA1B,UAAA,EAAWyF,QAAAA,GAAQ/B,MAAAA;AAAAA,QACrCgC,KAAAA,EAAOhE,SAAAA,CAAA1B,UAAA,CAAA,CAAW0F;AAAAA,SACXhE,SAAAA,CAAAzB,eAAA,CAAe,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,cAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,OAAA,CAAA,CAAA,sCAGjB0F,IAAAA,CAAAA,kBAAAA,qBADRpD,eAAAA,CAOEb,SAAAA,CAAAkE,oBAAA,CAAA,EAAA;AAAA;iBALI,iBAAA;AAAA,QAAJ1D,GAAAA,EAAIhB,eAAAA;AAAAA,QACH2E,QAAQF,IAAAA,CAAAA,kBAAAA;AAAAA,QACRG,KAAKC,IAAAA,CAAAA,eAAAA;AAAAA,QACL,YAAUC,IAAAA,CAAAA,mBAAAA;AAAAA,QACV,cAAA,EAAc;AAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport { merge } from 'lodash-unified'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const allData = ref<Record<string, unknown>[]>([]) // 所有数据\n const customData = ref<Record<string, unknown>[]>([]) // 当前展示数据\n const apiTotal = ref(0) // 后端分页total\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n allData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n allData.value = rawData?.list || rawData?.data || []\n } else {\n allData.value = []\n }\n if (props.isFrontPage) {\n frontPaginationHandler()\n }else{\n customData.value = allData.value\n apiTotal.value = (data as { total: number }).total || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页+点击分页/切换页码\n if (isPagination && props.isFrontPage) {\n frontPaginationHandler()\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } \n }\n }\n const { pagination, paginationProps } = usePagination(\n props,\n search,\n allData,\n apiTotal,\n )\n // 前端分页\n const frontPaginationHandler = () => {\n const { pageNo, pageSize } = pagination\n const data = allData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n allData.value = newValue as Record<string, any>[]\n if (props.isFrontPage) {\n frontPaginationHandler()\n } else {\n customData.value = allData.value\n }\n },\n {\n deep: true,\n immediate: true,\n },\n )\n }\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理选择,用于多选表格,清空用户的选择\n const clearSelection = () => {\n return elTableRef.value!.clearSelection()\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 获取选中数据\n const getSelectionRows = () => {\n return elTableRef.value!.getSelectionRows()\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n return {\n ...item,\n onClick: item.onClick.bind(null, scope),\n }\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n clearSelection,\n resetFields,\n clearValidate,\n getSelectionRows,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (\n props: TableProps,\n search: ISearch,\n allData: Ref<Record<string, any>[]>,\n apiTotal: Ref<number>,\n) {\n const defaultPaginationProps = props.paginationProps || {}\n const pageSizes = defaultPaginationProps.pageSizes || [20, 50, 100, 200]\n const pagination = reactive({\n total: computed(() => {\n return !props.isFrontPage && props.api ? apiTotal.value : allData.value.length\n }),\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n layout: 'total, sizes, prev, pager, next, jumper',\n ...defaultPaginationProps,\n pageSizes,\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n column.props = column.props || {}\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n const newColumn = columnProps(column)\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n // newColumn = { ...newColumn, ...formatColumn }\n merge(newColumn, formatColumn)\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","allData","ref","customData","apiTotal","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","isFrontPage","frontPaginationHandler","total","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","pagination","pageNo","pageSize","pageNum","paginationProps","usePagination","filter","item","index","watch","newValue","deep","immediate","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearSelection","clearValidate","getSelectionRows","formatActionButtons","scope","map","onClick","bind","defaultPaginationProps","pageSizes","reactive","computed","length","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\r\nimport {\r\n ref,\r\n computed,\r\n type Ref,\r\n reactive,\r\n useTemplateRef,\r\n getCurrentInstance,\r\n toRaw,\r\n useAttrs,\r\n watch,\r\n} from 'vue'\r\nimport { useRequest } from '@el-plus/hooks/use-request'\r\nimport type { TableColumn, TableProps, TableScope } from './table'\r\nimport type { ButtonProps } from '@el-plus/components/buttons'\r\nimport type { FormProps } from '@el-plus/components/form'\r\nimport { bus } from '@el-plus/utils'\r\nimport { merge } from 'lodash-unified'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\nimport { cloneDeep } from 'lodash-unified'\r\nimport { EditPen } from '@element-plus/icons-vue'\r\nimport { ElIcon } from 'element-plus'\r\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\r\n\r\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\r\nexport const useTable = (props: TableProps) => {\r\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\r\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\r\n const allData = ref<Record<string, unknown>[]>([]) // 所有数据\r\n const customData = ref<Record<string, unknown>[]>([]) // 当前展示数据\r\n const apiTotal = ref(0) // 后端分页total\r\n const { loading, requestFn } = useRequest({\r\n api: props.api,\r\n method: props.method,\r\n reqData: props.reqData,\r\n reqParams: props.reqParams,\r\n reqBefore: props.reqBefore,\r\n reqAfter: props.reqAfter,\r\n cancelToken: true,\r\n hooks: {\r\n success(data) {\r\n if (Array.isArray(data)) {\r\n allData.value = data\r\n } else if (data && typeof data === 'object') {\r\n const rawData = data as Record<string, any>\r\n allData.value = rawData?.list || rawData?.data || []\r\n } else {\r\n allData.value = []\r\n }\r\n if (props.isFrontPage) {\r\n frontPaginationHandler()\r\n }else{\r\n customData.value = allData.value\r\n apiTotal.value = (data as { total: number }).total || 0\r\n }\r\n },\r\n fail(error) {\r\n console.error(error)\r\n },\r\n },\r\n })\r\n // 自定义列\r\n const customColumns = ref<TableColumn[]>([])\r\n // 加载列表\r\n const attrs = useAttrs()\r\n const search: ISearch = async (init = false, isPagination = false) => {\r\n const beforeSearch = attrs['before-search']\r\n if (typeof beforeSearch === 'function') {\r\n await beforeSearch?.()\r\n }\r\n if (init) {\r\n pagination.pageNo = 1\r\n }\r\n // 前端分页+点击分页/切换页码\r\n if (isPagination && props.isFrontPage) {\r\n frontPaginationHandler()\r\n } else {\r\n if (props.api) {\r\n requestFn!({\r\n pageNo: pagination.pageNo,\r\n pageSize: pagination.pageSize,\r\n pageNum: pagination.pageNo,\r\n })\r\n } \r\n }\r\n }\r\n const { pagination, paginationProps } = usePagination(\r\n props,\r\n search,\r\n allData,\r\n apiTotal,\r\n )\r\n // 前端分页\r\n const frontPaginationHandler = () => {\r\n const { pageNo, pageSize } = pagination\r\n const data = allData.value.filter((item, index) => {\r\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\r\n })\r\n customData.value = data\r\n }\r\n if (!props.api) {\r\n watch(\r\n () => props.data,\r\n (newValue) => {\r\n allData.value = newValue as Record<string, any>[]\r\n if (props.isFrontPage) {\r\n frontPaginationHandler()\r\n } else {\r\n customData.value = allData.value\r\n }\r\n },\r\n {\r\n deep: true,\r\n immediate: true,\r\n },\r\n )\r\n }\r\n\r\n // 初始化加载\r\n ;(async () => {\r\n if (props.isInitSearch) {\r\n if (props.customColumnModule) {\r\n loading!.value = true\r\n const columns = await bus.once('loadedCustomColumn')\r\n loading!.value = false\r\n customColumns.value = columns\r\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\r\n customColumns.value = columns\r\n })\r\n }\r\n search(true)\r\n }\r\n })()\r\n\r\n // 校验\r\n const validate = () => {\r\n return elFormRef.value!.validate()\r\n }\r\n // 重置校验\r\n const resetFields = (props: FormItemProp) => {\r\n return elFormRef.value!.resetFields(props)\r\n }\r\n // 清理选择,用于多选表格,清空用户的选择\r\n const clearSelection = () => {\r\n return elTableRef.value!.clearSelection()\r\n }\r\n // 清理某个字段的表单验证信息\r\n const clearValidate = (props: FormItemProp) => {\r\n return elFormRef.value!.clearValidate(props)\r\n }\r\n // 获取选中数据\r\n const getSelectionRows = () => {\r\n return elTableRef.value!.getSelectionRows()\r\n }\r\n // 格式化操作按钮\r\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\r\n return list.map((item) => {\r\n if (item.onClick) {\r\n return {\r\n ...item,\r\n onClick: item.onClick.bind(null, scope),\r\n }\r\n }\r\n return item\r\n })\r\n }\r\n\r\n return {\r\n loading,\r\n data: customData,\r\n search,\r\n pagination,\r\n paginationProps,\r\n validate,\r\n clearSelection,\r\n resetFields,\r\n clearValidate,\r\n getSelectionRows,\r\n elFormRef,\r\n elTableRef,\r\n formatActionButtons,\r\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\r\n }\r\n}\r\nconst usePagination = function (\r\n props: TableProps,\r\n search: ISearch,\r\n allData: Ref<Record<string, any>[]>,\r\n apiTotal: Ref<number>,\r\n) {\r\n const defaultPaginationProps = props.paginationProps || {}\r\n const pageSizes = defaultPaginationProps.pageSizes || [20, 50, 100, 200]\r\n const pagination = reactive({\r\n total: computed(() => {\r\n return !props.isFrontPage && props.api ? apiTotal.value : allData.value.length\r\n }),\r\n pageNo: 1,\r\n pageSize: pageSizes[0],\r\n })\r\n const paginationProps = computed(() => {\r\n const onSizeChange = defaultPaginationProps.onSizeChange\r\n const onCurrentChange = defaultPaginationProps.onCurrentChange\r\n return {\r\n layout: 'total, sizes, prev, pager, next, jumper',\r\n ...defaultPaginationProps,\r\n pageSizes,\r\n onSizeChange: (value: number) => {\r\n onSizeChange && onSizeChange(value)\r\n search(true, true)\r\n },\r\n onCurrentChange: (value: number) => {\r\n onCurrentChange && onCurrentChange(value)\r\n search(false, true)\r\n },\r\n }\r\n })\r\n return {\r\n pagination,\r\n paginationProps,\r\n }\r\n}\r\n\r\nexport const useTableColumn = (\r\n props: TableProps,\r\n tableData: Ref<TableProps['data']>,\r\n customColumns: Ref<TableColumn[]>,\r\n) => {\r\n const instance = getCurrentInstance()\r\n const columnProps = (column: TableColumn) => {\r\n column.props = column.props || {}\r\n const attrs = {\r\n 'show-overflow-tooltip': true,\r\n align: column.align || props.align,\r\n minWidth: column.minWidth || props.minWidth,\r\n // ...prepareEvents<TableEmits>(emit, tableEmits),\r\n } as TableColumn\r\n if (!column.renderHeader) {\r\n // 必填\r\n let required = column.required\r\n if (typeof column.required === 'function') {\r\n required = column.required()\r\n }\r\n // 批量编辑\r\n const editable = column.editable\r\n attrs['renderHeader'] = () => {\r\n return (\r\n <span>\r\n {required ? (\r\n <span style=\"color:var(--el-color-danger)\"> * </span>\r\n ) : (\r\n ''\r\n )}\r\n <span\r\n class={{ 'is-edit': editable }}\r\n onClick={\r\n editable\r\n ? async () => {\r\n const cloneColumn = { ...column }\r\n delete cloneColumn.editable\r\n const rawRender = cloneColumn.render\r\n const formData = reactive({})\r\n if (rawRender) {\r\n cloneColumn.render = () => {\r\n return rawRender({\r\n row: formData,\r\n })\r\n }\r\n }\r\n const formDialog = useFormDialog({\r\n title: cloneColumn.label,\r\n dialogProps: {\r\n destroyOnClose: true,\r\n instance,\r\n },\r\n formItemList: [\r\n cloneColumn,\r\n ] as FormProps['formItemList'],\r\n formData,\r\n // formData: reactive({}),\r\n })\r\n const data = (await formDialog.open()) as Record<\r\n string,\r\n any\r\n >\r\n ;(tableData.value || []).forEach((item) => {\r\n item[column.prop!] = data![column.prop!]\r\n })\r\n if (typeof editable === 'function') {\r\n editable(toRaw(data))\r\n }\r\n }\r\n : void 0\r\n }\r\n >\r\n {column.label}\r\n {editable ? (\r\n <ElIcon>\r\n <EditPen />\r\n </ElIcon>\r\n ) : (\r\n ''\r\n )}\r\n </span>\r\n </span>\r\n )\r\n }\r\n }\r\n if (column.filter) {\r\n const arr = tableData.value!.map((item) => item[column.prop!])\r\n attrs.filters = [...new Set(arr)].map((item) => {\r\n return {\r\n text: item,\r\n value: item,\r\n }\r\n })\r\n attrs.filterMethod = (value, row) => {\r\n return row[column.prop!] === value\r\n }\r\n }\r\n if (column.type === 'EpLink') {\r\n attrs.className = 'table-column-link'\r\n }\r\n\r\n return {\r\n ...attrs,\r\n ...prepareProps(column),\r\n }\r\n }\r\n const columnList = computed(() => {\r\n const columns = props.customColumnModule\r\n ? customColumns.value\r\n : props.columns\r\n return columns!\r\n .map((column: TableColumn) => {\r\n const newColumn = columnProps(column)\r\n if (props.formatColumns!.length) {\r\n const formatColumn = props.formatColumns!.find(\r\n (item) => item.prop === column.prop,\r\n )\r\n if (formatColumn) {\r\n // newColumn = { ...newColumn, ...formatColumn }\r\n merge(newColumn, formatColumn)\r\n }\r\n }\r\n return newColumn\r\n })\r\n .filter((column) => {\r\n if ('show' in column) {\r\n return typeof column.show === 'function'\r\n ? column.show(column)\r\n : column.show\r\n } else if ('hide' in column) {\r\n return typeof column.hide === 'function'\r\n ? !column.hide(column)\r\n : !column.hide\r\n }\r\n return true\r\n })\r\n })\r\n return {\r\n columnList,\r\n }\r\n}\r\n\r\nexport const useTableFormItem = (props: TableProps) => {\r\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\r\n const item = cloneDeep(rawItem)\r\n let required = item.required\r\n if (typeof required === 'function') {\r\n required = required()\r\n }\r\n if (item.cellRequired) {\r\n required = item.cellRequired(scope)\r\n }\r\n let disabled = props.disabled\r\n if ('disabled' in item) {\r\n if (typeof item.disabled === 'function') {\r\n disabled = item.disabled(scope)\r\n } else {\r\n disabled = item.disabled || false\r\n }\r\n }\r\n if (item.type === 'EpSelect' && item.props) {\r\n if ('options' in item.props && typeof item.props.options === 'function') {\r\n item.props.options = item.props.options(scope)\r\n }\r\n if (\r\n 'disabledOption' in item.props &&\r\n typeof item.props.disabledOption === 'function'\r\n ) {\r\n const disabledOption = item.props.disabledOption\r\n item.props.disabledOption = (...args: unknown[]) =>\r\n disabledOption(...args, scope)\r\n }\r\n if ('desc' in item.props && typeof item.props.desc === 'function') {\r\n item.props.desc = item.props.desc(scope)\r\n }\r\n }\r\n\r\n if (item.type === 'EpButtons' && item.props) {\r\n item.props.list.forEach((btnItem: ButtonProps) => {\r\n if (btnItem.prop) {\r\n btnItem.name = scope.row[btnItem.prop] as string\r\n }\r\n if (btnItem.onClick) {\r\n btnItem.onClick = btnItem.onClick.bind(null, scope)\r\n }\r\n })\r\n }\r\n if (item.type === 'EpLink') {\r\n ;(item.props ? item.props : (item.props = {})).content =\r\n item.props.content || scope.row[item.prop!]\r\n }\r\n for (const key in item) {\r\n if (key.startsWith('on') && typeof item[key] === 'function') {\r\n const fn = item[key]\r\n item[key] = (...args: unknown[]) => {\r\n let event: Event | unknown\r\n if (args[0] instanceof Event) {\r\n // 删除 event\r\n event = args.shift()\r\n }\r\n return fn(...args, scope, event)\r\n }\r\n }\r\n }\r\n return {\r\n ...prepareProps(item),\r\n isShowLabel: false,\r\n required,\r\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\r\n prop: `table.${scope.$index}.${item.prop}`,\r\n tableProp: item.prop, // table里的表单需要绑定的prop\r\n props: {\r\n ...item.props,\r\n disabled,\r\n },\r\n }\r\n }\r\n return {\r\n formItemProps,\r\n }\r\n}\r\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","allData","ref","customData","apiTotal","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","isFrontPage","frontPaginationHandler","total","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","pagination","pageNo","pageSize","pageNum","paginationProps","usePagination","filter","item","index","watch","newValue","deep","immediate","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearSelection","clearValidate","getSelectionRows","formatActionButtons","scope","map","onClick","bind","defaultPaginationProps","pageSizes","reactive","computed","length","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/title/index.ts"],"sourcesContent":["import Title from './src/title.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpTitle = withInstall(Title)\nexport default EpTitle\nexport * from './src/title'\n\n"],"names":["withInstall","Title"],"mappings":";;;;;;;;AAGO,MAAM,OAAA,GAAUA,wBAAYC,iDAAK;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/components/title/index.ts"],"sourcesContent":["import Title from './src/title.vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpTitle = withInstall(Title)\r\nexport default EpTitle\r\nexport * from './src/title'\r\n\r\n"],"names":["withInstall","Title"],"mappings":";;;;;;;;AAGO,MAAM,OAAA,GAAUA,wBAAYC,iDAAK;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.js","sources":["../../../../../../packages/components/title/src/title.ts"],"sourcesContent":["import type { ExtractPublicPropTypes } from 'vue'\nimport { buttonsProps } from '@el-plus/components/buttons'\n\nexport const titleProps = {\n // 右侧按钮\n buttons: {\n ...buttonsProps.list,\n },\n // 标题名称\n title: String,\n // 是否显示展开折叠\n showDownUp: {\n type: Boolean,\n default: false,\n },\n} as const\nexport type TitleProps = ExtractPublicPropTypes<typeof titleProps>\nexport const titleEmits = {\n toggle: (expanded: boolean) => true,\n}\nexport type TitleEmits = typeof titleEmits\n"],"names":["buttonsProps"],"mappings":";;;;AAGO,MAAM,UAAA,GAAa;AAAA;AAAA,EAExB,OAAA,EAAS;AAAA,IACP,GAAGA,oBAAA,CAAa;AAAA,GAClB;AAAA;AAAA,EAEA,KAAA,EAAO,MAAA;AAAA;AAAA,EAEP,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,MAAA,EAAQ,CAAC,QAAA,KAAsB;AACjC;;;;;"}
|
|
1
|
+
{"version":3,"file":"title.js","sources":["../../../../../../packages/components/title/src/title.ts"],"sourcesContent":["import type { ExtractPublicPropTypes } from 'vue'\r\nimport { buttonsProps } from '@el-plus/components/buttons'\r\n\r\nexport const titleProps = {\r\n // 右侧按钮\r\n buttons: {\r\n ...buttonsProps.list,\r\n },\r\n // 标题名称\r\n title: String,\r\n // 是否显示展开折叠\r\n showDownUp: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n} as const\r\nexport type TitleProps = ExtractPublicPropTypes<typeof titleProps>\r\nexport const titleEmits = {\r\n toggle: (expanded: boolean) => true,\r\n}\r\nexport type TitleEmits = typeof titleEmits\r\n"],"names":["buttonsProps"],"mappings":";;;;AAGO,MAAM,UAAA,GAAa;AAAA;AAAA,EAExB,OAAA,EAAS;AAAA,IACP,GAAGA,oBAAA,CAAa;AAAA,GAClB;AAAA;AAAA,EAEA,KAAA,EAAO,MAAA;AAAA;AAAA,EAEP,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,MAAA,EAAQ,CAAC,QAAA,KAAsB;AACjC;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.vue2.js","sources":["../../../../../../packages/components/title/src/title.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), bem.is('expanded', expanded), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <div :class=\"bem.e('header')\">\n <div :class=\"bem.e('title')\">\n <slot name=\"title-prepend\"></slot>\n <slot name=\"title\" :title=\"title\">\n {{ title }}\n </slot>\n <div v-if=\"showDownUp\" :class=\"bem.e('toggle')\" @click=\"toggleState\">\n {{ expanded ? t('ep.title.collapse') : t('ep.title.expand') }}\n <el-icon>\n <ArrowDown />\n </el-icon>\n </div>\n <slot name=\"title-append\"></slot>\n </div>\n <div :class=\"bem.e('buttons')\">\n <slot name=\"buttons-prepend\"></slot>\n <EpButtons :list=\"buttons\" />\n <slot name=\"buttons-append\"></slot>\n </div>\n </div>\n <div\n ref=\"contentRef\"\n :class=\"[bem.e('content'), bem.is('expanded', expanded)]\"\n >\n <slot></slot>\n <!-- <div :class=\"[bem.e('content-inner')]\">\n </div> -->\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { titleProps, titleEmits } from './title'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport EpButtons from '@el-plus/components/buttons'\nimport { useTitle } from './use-title'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTitle',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('title')\nconst props = defineProps(titleProps)\nconst emit = defineEmits(titleEmits)\nconst { expanded, toggleState } = useTitle(emit)\n</script>\n"],"names":["useLocale","bem","createNameSpace","useTitle","_createElementBlock","_normalizeClass","_unref","prepareClassNames","_normalizeStyle","prepareStyles","_createElementVNode","_renderSlot","title","showDownUp","_createTextVNode","_toDisplayString","_createVNode","ElIcon","ArrowDown","EpButtons","buttons"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,EAAE,CAAA,EAAE,GAAIA,mBAAA,EAAU;AAKxB,IAAA,MAAMC,KAAA,GAAMC,oBAAgB,OAAO,CAAA;AAEnC,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAY,GAAIC,kBAAS,IAAI,CAAA;;8BArD7CC,sBAAA,CAkCM,KAAA,EAAA;AAAA,QAjCH,KAAA,EAAKC,mBAAA,CAAGC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,IAAKK,SAAA,CAAAL,KAAA,EAAI,EAAA,CAAE,UAAA,EAAaK,UAAA,QAAA,CAAQ,GAAGA,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAChE,OAAKC,kBAAA,CAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"title.vue2.js","sources":["../../../../../../packages/components/title/src/title.vue"],"sourcesContent":["<template>\r\n <div\r\n :class=\"[bem.b(), bem.is('expanded', expanded), prepareClassNames()]\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n >\r\n <div :class=\"bem.e('header')\">\r\n <div :class=\"bem.e('title')\">\r\n <slot name=\"title-prepend\"></slot>\r\n <slot name=\"title\" :title=\"title\">\r\n {{ title }}\r\n </slot>\r\n <div v-if=\"showDownUp\" :class=\"bem.e('toggle')\" @click=\"toggleState\">\r\n {{ expanded ? t('ep.title.collapse') : t('ep.title.expand') }}\r\n <el-icon>\r\n <ArrowDown />\r\n </el-icon>\r\n </div>\r\n <slot name=\"title-append\"></slot>\r\n </div>\r\n <div :class=\"bem.e('buttons')\">\r\n <slot name=\"buttons-prepend\"></slot>\r\n <EpButtons :list=\"buttons\" />\r\n <slot name=\"buttons-append\"></slot>\r\n </div>\r\n </div>\r\n <div\r\n ref=\"contentRef\"\r\n :class=\"[bem.e('content'), bem.is('expanded', expanded)]\"\r\n >\r\n <slot></slot>\r\n <!-- <div :class=\"[bem.e('content-inner')]\">\r\n </div> -->\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { titleProps, titleEmits } from './title'\r\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\r\nimport EpButtons from '@el-plus/components/buttons'\r\nimport { useTitle } from './use-title'\r\nimport { ArrowDown } from '@element-plus/icons-vue'\r\nimport { ElIcon } from 'element-plus'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nconst { t } = useLocale()\r\ndefineOptions({\r\n name: 'EpTitle',\r\n inheritAttrs: false,\r\n})\r\nconst bem = createNameSpace('title')\r\nconst props = defineProps(titleProps)\r\nconst emit = defineEmits(titleEmits)\r\nconst { expanded, toggleState } = useTitle(emit)\r\n</script>\r\n"],"names":["useLocale","bem","createNameSpace","useTitle","_createElementBlock","_normalizeClass","_unref","prepareClassNames","_normalizeStyle","prepareStyles","_createElementVNode","_renderSlot","title","showDownUp","_createTextVNode","_toDisplayString","_createVNode","ElIcon","ArrowDown","EpButtons","buttons"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,EAAE,CAAA,EAAE,GAAIA,mBAAA,EAAU;AAKxB,IAAA,MAAMC,KAAA,GAAMC,oBAAgB,OAAO,CAAA;AAEnC,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAY,GAAIC,kBAAS,IAAI,CAAA;;8BArD7CC,sBAAA,CAkCM,KAAA,EAAA;AAAA,QAjCH,KAAA,EAAKC,mBAAA,CAAGC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,IAAKK,SAAA,CAAAL,KAAA,EAAI,EAAA,CAAE,UAAA,EAAaK,UAAA,QAAA,CAAQ,GAAGA,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAChE,OAAKC,kBAAA,CAAA;AAAA,aAAcF,SAAA,CAAAG,mBAAA,CAAA;AAAa;;QAIjCC,uBAmBM,KAAA,EAAA;AAAA,UAnBA,OAAKL,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA;AAAA;UAChBS,uBAYM,KAAA,EAAA;AAAA,YAZA,OAAKL,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA;YAChBU,cAAA,CAAkC,IAAA,CAAA,MAAA,EAAA,eAAA,CAAA;AAAA,YAClCA,cAAA,CAEO,KAAA,MAAA,EAAA,OAAA,EAAA,EAFa,KAAA,EAAOC,IAAAA,CAAAA,KAAAA,IAA3B,MAEO;AAAA,sDADFA,IAAAA,CAAAA,KAAK,GAAA,CAAA;AAAA;YAECC,IAAAA,CAAAA,UAAAA,qBAAXT,uBAKM,KAAA,EAAA;AAAA;cALkB,OAAKC,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA,CAAA;AAAA,cAAa,OAAA,EAAOK,UAAA,WAAA;AAAA;cACnDQ,oBAAAC,mBAAA,CAAAT,SAAA,CAAA,QAAA,CAAA,GAAWA,UAAA,CAAA,CAAA,CAAC,mBAAA,CAAA,GAAwBA,UAAA,CAAA,CAAA,uBAAuB,KAC9D,CAAA,CAAA;AAAA,cAAAU,eAAA,CAEUV,SAAA,CAAAW,kBAAA,CAAA,EAAA,IAAA,EAAA;AAAA,qCADR,MAAa;AAAA,kBAAbD,eAAA,CAAaV,SAAA,CAAAY,kBAAA,CAAA;AAAA;;;;YAGjBP,cAAA,CAAiC,IAAA,CAAA,MAAA,EAAA,cAAA;AAAA;UAEnCD,uBAIM,KAAA,EAAA;AAAA,YAJA,OAAKL,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,SAAA,CAAA;AAAA;YAChBU,cAAA,CAAoC,IAAA,CAAA,MAAA,EAAA,iBAAA,CAAA;AAAA,YACpCK,eAAA,CAA6BV,SAAA,CAAAa,eAAA,CAAA,EAAA,EAAjB,IAAA,EAAMC,IAAAA,CAAAA,OAAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,YACzBT,cAAA,CAAmC,IAAA,CAAA,MAAA,EAAA,gBAAA;AAAA;;QAGvCD,uBAOM,KAAA,EAAA;AAAA,UANJ,GAAA,EAAI,YAAA;AAAA,UACH,OAAKL,kBAAA,CAAA,CAAGC,iBAAI,cAAcA,SAAA,CAAAL,KAAA,EAAI,EAAA,CAAE,UAAA,EAAaK,UAAA,QAAA,CAAQ,CAAA,CAAA;AAAA;UAEtDK,cAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-title.js","sources":["../../../../../../packages/components/title/src/use-title.ts"],"sourcesContent":["import { useToggle } from '@vueuse/core'\nimport { onMounted } from 'vue'\nimport { getParentEl, getChildEl } from '@el-plus/utils'\nimport { ref, computed, useTemplateRef, type SetupContext } from 'vue'\nimport type { titleEmits } from './title'\nexport const useTitle = (emit: SetupContext<typeof titleEmits>['emit']) => {\n const [value, toggle] = useToggle(true)\n const expanded = value\n const contentRef = useTemplateRef<HTMLElement>('contentRef')\n onMounted(() => {\n contentRef.value!.addEventListener('transitionend', (e) => {\n if (e.propertyName === 'max-height') {\n if (!expanded.value) {\n // 收起动画结束后隐藏\n contentRef.value!.style.display = 'none'\n } else {\n contentRef.value?.style.removeProperty('max-height')\n }\n }\n })\n })\n\n const toggleState = (e: MouseEvent) => {\n let contentHeight = getContentHeight(e.target as HTMLElement) + 'px'\n if (expanded.value) {\n contentRef.value!.style.maxHeight = contentHeight\n } else {\n contentRef.value?.style.removeProperty('display')\n contentHeight = getContentHeight(e.target as HTMLElement) + 'px'\n }\n requestAnimationFrame(() => {\n contentRef.value!.style.maxHeight = expanded.value ? '0' : contentHeight\n toggle()\n emit('toggle', expanded.value)\n })\n }\n // 获取高度\n const getContentHeight = (target: HTMLElement) => {\n const parentEl = getParentEl(target, 'ep-title')!\n const contentEl = getChildEl(parentEl, 'ep-title__content')\n return contentEl?.scrollHeight || 0\n }\n return {\n expanded,\n toggleState,\n }\n}\n"],"names":["useToggle","useTemplateRef","onMounted","getParentEl","getChildEl"],"mappings":";;;;;;AAKO,MAAM,QAAA,GAAW,CAAC,IAAA,KAAkD;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,MAAM,CAAA,GAAIA,eAAU,IAAI,CAAA;AACtC,EAAA,MAAM,QAAA,GAAW,KAAA;AACjB,EAAA,MAAM,UAAA,GAAaC,mBAA4B,YAAY,CAAA;AAC3D,EAAAC,aAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,KAAA,CAAO,gBAAA,CAAiB,eAAA,EAAiB,CAAC,CAAA,KAAM;AACzD,MAAA,IAAI,CAAA,CAAE,iBAAiB,YAAA,EAAc;AACnC,QAAA,IAAI,CAAC,SAAS,KAAA,EAAO;AAEnB,UAAA,UAAA,CAAW,KAAA,CAAO,MAAM,OAAA,GAAU,MAAA;AAAA,QACpC,CAAA,MAAO;AACL,UAAA,UAAA,CAAW,KAAA,EAAO,KAAA,CAAM,cAAA,CAAe,YAAY,CAAA;AAAA,QACrD;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AAED,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,IAAA,IAAI,aAAA,GAAgB,gBAAA,CAAiB,CAAA,CAAE,MAAqB,CAAA,GAAI,IAAA;AAChE,IAAA,IAAI,SAAS,KAAA,EAAO;AAClB,MAAA,UAAA,CAAW,KAAA,CAAO,MAAM,SAAA,GAAY,aAAA;AAAA,IACtC,CAAA,MAAO;AACL,MAAA,UAAA,CAAW,KAAA,EAAO,KAAA,CAAM,cAAA,CAAe,SAAS,CAAA;AAChD,MAAA,aAAA,GAAgB,gBAAA,CAAiB,CAAA,CAAE,MAAqB,CAAA,GAAI,IAAA;AAAA,IAC9D;AACA,IAAA,qBAAA,CAAsB,MAAM;AAC1B,MAAA,UAAA,CAAW,KAAA,CAAO,KAAA,CAAM,SAAA,GAAY,QAAA,CAAS,QAAQ,GAAA,GAAM,aAAA;AAC3D,MAAA,MAAA,EAAO;AACP,MAAA,IAAA,CAAK,QAAA,EAAU,SAAS,KAAK,CAAA;AAAA,IAC/B,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,CAAC,MAAA,KAAwB;AAChD,IAAA,MAAM,QAAA,GAAWC,eAAA,CAAY,MAAA,EAAQ,UAAU,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAYC,cAAA,CAAW,QAAA,EAAU,mBAAmB,CAAA;AAC1D,IAAA,OAAO,WAAW,YAAA,IAAgB,CAAA;AAAA,EACpC,CAAA;AACA,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"use-title.js","sources":["../../../../../../packages/components/title/src/use-title.ts"],"sourcesContent":["import { useToggle } from '@vueuse/core'\r\nimport { onMounted } from 'vue'\r\nimport { getParentEl, getChildEl } from '@el-plus/utils'\r\nimport { ref, computed, useTemplateRef, type SetupContext } from 'vue'\r\nimport type { titleEmits } from './title'\r\nexport const useTitle = (emit: SetupContext<typeof titleEmits>['emit']) => {\r\n const [value, toggle] = useToggle(true)\r\n const expanded = value\r\n const contentRef = useTemplateRef<HTMLElement>('contentRef')\r\n onMounted(() => {\r\n contentRef.value!.addEventListener('transitionend', (e) => {\r\n if (e.propertyName === 'max-height') {\r\n if (!expanded.value) {\r\n // 收起动画结束后隐藏\r\n contentRef.value!.style.display = 'none'\r\n } else {\r\n contentRef.value?.style.removeProperty('max-height')\r\n }\r\n }\r\n })\r\n })\r\n\r\n const toggleState = (e: MouseEvent) => {\r\n let contentHeight = getContentHeight(e.target as HTMLElement) + 'px'\r\n if (expanded.value) {\r\n contentRef.value!.style.maxHeight = contentHeight\r\n } else {\r\n contentRef.value?.style.removeProperty('display')\r\n contentHeight = getContentHeight(e.target as HTMLElement) + 'px'\r\n }\r\n requestAnimationFrame(() => {\r\n contentRef.value!.style.maxHeight = expanded.value ? '0' : contentHeight\r\n toggle()\r\n emit('toggle', expanded.value)\r\n })\r\n }\r\n // 获取高度\r\n const getContentHeight = (target: HTMLElement) => {\r\n const parentEl = getParentEl(target, 'ep-title')!\r\n const contentEl = getChildEl(parentEl, 'ep-title__content')\r\n return contentEl?.scrollHeight || 0\r\n }\r\n return {\r\n expanded,\r\n toggleState,\r\n }\r\n}\r\n"],"names":["useToggle","useTemplateRef","onMounted","getParentEl","getChildEl"],"mappings":";;;;;;AAKO,MAAM,QAAA,GAAW,CAAC,IAAA,KAAkD;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,MAAM,CAAA,GAAIA,eAAU,IAAI,CAAA;AACtC,EAAA,MAAM,QAAA,GAAW,KAAA;AACjB,EAAA,MAAM,UAAA,GAAaC,mBAA4B,YAAY,CAAA;AAC3D,EAAAC,aAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,KAAA,CAAO,gBAAA,CAAiB,eAAA,EAAiB,CAAC,CAAA,KAAM;AACzD,MAAA,IAAI,CAAA,CAAE,iBAAiB,YAAA,EAAc;AACnC,QAAA,IAAI,CAAC,SAAS,KAAA,EAAO;AAEnB,UAAA,UAAA,CAAW,KAAA,CAAO,MAAM,OAAA,GAAU,MAAA;AAAA,QACpC,CAAA,MAAO;AACL,UAAA,UAAA,CAAW,KAAA,EAAO,KAAA,CAAM,cAAA,CAAe,YAAY,CAAA;AAAA,QACrD;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AAED,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,IAAA,IAAI,aAAA,GAAgB,gBAAA,CAAiB,CAAA,CAAE,MAAqB,CAAA,GAAI,IAAA;AAChE,IAAA,IAAI,SAAS,KAAA,EAAO;AAClB,MAAA,UAAA,CAAW,KAAA,CAAO,MAAM,SAAA,GAAY,aAAA;AAAA,IACtC,CAAA,MAAO;AACL,MAAA,UAAA,CAAW,KAAA,EAAO,KAAA,CAAM,cAAA,CAAe,SAAS,CAAA;AAChD,MAAA,aAAA,GAAgB,gBAAA,CAAiB,CAAA,CAAE,MAAqB,CAAA,GAAI,IAAA;AAAA,IAC9D;AACA,IAAA,qBAAA,CAAsB,MAAM;AAC1B,MAAA,UAAA,CAAW,KAAA,CAAO,KAAA,CAAM,SAAA,GAAY,QAAA,CAAS,QAAQ,GAAA,GAAM,aAAA;AAC3D,MAAA,MAAA,EAAO;AACP,MAAA,IAAA,CAAK,QAAA,EAAU,SAAS,KAAK,CAAA;AAAA,IAC/B,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,CAAC,MAAA,KAAwB;AAChD,IAAA,MAAM,QAAA,GAAWC,eAAA,CAAY,MAAA,EAAQ,UAAU,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAYC,cAAA,CAAW,QAAA,EAAU,mBAAmB,CAAA;AAC1D,IAAA,OAAO,WAAW,YAAA,IAAgB,CAAA;AAAA,EACpC,CAAA;AACA,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/uni-vue/index.ts"],"sourcesContent":["import UniVue from './src/uni-vue.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpUniVue = withInstall(UniVue)\nexport default EpUniVue\nexport * from './src/uni-vue'\n"],"names":["withInstall","UniVue"],"mappings":";;;;;;;;AAGO,MAAM,QAAA,GAAWA,wBAAYC,kDAAM;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/components/uni-vue/index.ts"],"sourcesContent":["import UniVue from './src/uni-vue.vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpUniVue = withInstall(UniVue)\r\nexport default EpUniVue\r\nexport * from './src/uni-vue'\r\n"],"names":["withInstall","UniVue"],"mappings":";;;;;;;;AAGO,MAAM,QAAA,GAAWA,wBAAYC,kDAAM;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uni-vue.js","sources":["../../../../../../packages/components/uni-vue/src/uni-vue.ts"],"sourcesContent":["import type { ExtractPublicPropTypes, PropType } from 'vue'\n\nexport const componentType = ['bpm', 'address'] as const\nexport const uniVueProps = {\n name: String, // 组件名字\n type: String as PropType<(typeof componentType)[number]>, // 组件类型 bpm、 address\n} as const\nexport type UniVueProps = ExtractPublicPropTypes<typeof uniVueProps>\n"],"names":[],"mappings":";;AAEO,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAO,SAAS;AACvC,MAAM,WAAA,GAAc;AAAA,EACzB,IAAA,EAAM,MAAA;AAAA;AAAA,EACN,IAAA,EAAM;AAAA;AACR;;;;;"}
|
|
1
|
+
{"version":3,"file":"uni-vue.js","sources":["../../../../../../packages/components/uni-vue/src/uni-vue.ts"],"sourcesContent":["import type { ExtractPublicPropTypes, PropType } from 'vue'\r\n\r\nexport const componentType = ['bpm', 'address'] as const\r\nexport const uniVueProps = {\r\n name: String, // 组件名字\r\n type: String as PropType<(typeof componentType)[number]>, // 组件类型 bpm、 address\r\n} as const\r\nexport type UniVueProps = ExtractPublicPropTypes<typeof uniVueProps>\r\n"],"names":[],"mappings":";;AAEO,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAO,SAAS;AACvC,MAAM,WAAA,GAAc;AAAA,EACzB,IAAA,EAAM,MAAA;AAAA;AAAA,EACN,IAAA,EAAM;AAAA;AACR;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uni-vue.vue2.js","sources":["../../../../../../packages/components/uni-vue/src/uni-vue.vue"],"sourcesContent":["<template>\n <el-skeleton\n :class=\"bem.e('skeleton')\"\n :loading=\"loading\"\n style=\"background: #fff; padding: 5px 15px\"\n :rows=\"1\"\n />\n <div\n ref=\"uniVue\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { uniVueProps } from './uni-vue'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { ElSkeleton } from 'element-plus'\nimport { useUniVue } from './use-uni-vue'\ndefineOptions({\n name: 'EpUniVue',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('uni-vue')\nconst props = defineProps(uniVueProps)\nconst emit = defineEmits<{\n (e: `update:${string}`, value: any): void\n}>()\nconst { loading } = useUniVue(props, emit)\n</script>\n"],"names":["bem","createNameSpace","props","useUniVue","_createVNode","_unref","ElSkeleton","_normalizeClass","_createElementVNode","prepareClassNames","_normalizeStyle","prepareStyles"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,SAAS,CAAA;AACrC,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAId,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAIC,mBAAA,CAAUD,OAAW,CAAA;;;QA7BvCE,eAAA,CAKEC,SAAA,CAAAC,sBAAA,CAAA,EAAA;AAAA,UAJC,OAAKC,kBAAA,CAAEF,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,UAAA,CAAA,CAAA;AAAA,UACZ,OAAA,EAASK,UAAA,OAAA,CAAA;AAAA,UACV,KAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,UAAA,EAAA;AAAA,UACC,IAAA,EAAM;AAAA;QAETG,uBAME,KAAA,EAAA;AAAA,UALA,GAAA,EAAI,QAAA;AAAA,UACH,KAAA,EAAKD,kBAAA,CAAA,CAAA,EAAKF,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,MAAOK,SAAA,CAAAI,uBAAA,CAAA,EAAiB,CAAA,CAAA,CAAA;AAAA,UACtC,OAAKC,kBAAA,CAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"uni-vue.vue2.js","sources":["../../../../../../packages/components/uni-vue/src/uni-vue.vue"],"sourcesContent":["<template>\r\n <el-skeleton\r\n :class=\"bem.e('skeleton')\"\r\n :loading=\"loading\"\r\n style=\"background: #fff; padding: 5px 15px\"\r\n :rows=\"1\"\r\n />\r\n <div\r\n ref=\"uniVue\"\r\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n />\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { uniVueProps } from './uni-vue'\r\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\r\nimport { ElSkeleton } from 'element-plus'\r\nimport { useUniVue } from './use-uni-vue'\r\ndefineOptions({\r\n name: 'EpUniVue',\r\n inheritAttrs: false,\r\n})\r\nconst bem = createNameSpace('uni-vue')\r\nconst props = defineProps(uniVueProps)\r\nconst emit = defineEmits<{\r\n (e: `update:${string}`, value: any): void\r\n}>()\r\nconst { loading } = useUniVue(props, emit)\r\n</script>\r\n"],"names":["bem","createNameSpace","props","useUniVue","_createVNode","_unref","ElSkeleton","_normalizeClass","_createElementVNode","prepareClassNames","_normalizeStyle","prepareStyles"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,SAAS,CAAA;AACrC,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAId,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAIC,mBAAA,CAAUD,OAAW,CAAA;;;QA7BvCE,eAAA,CAKEC,SAAA,CAAAC,sBAAA,CAAA,EAAA;AAAA,UAJC,OAAKC,kBAAA,CAAEF,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,UAAA,CAAA,CAAA;AAAA,UACZ,OAAA,EAASK,UAAA,OAAA,CAAA;AAAA,UACV,KAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,UAAA,EAAA;AAAA,UACC,IAAA,EAAM;AAAA;QAETG,uBAME,KAAA,EAAA;AAAA,UALA,GAAA,EAAI,QAAA;AAAA,UACH,KAAA,EAAKD,kBAAA,CAAA,CAAA,EAAKF,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,MAAOK,SAAA,CAAAI,uBAAA,CAAA,EAAiB,CAAA,CAAA,CAAA;AAAA,UACtC,OAAKC,kBAAA,CAAA;AAAA,eAAcL,SAAA,CAAAM,mBAAA,CAAA;AAAa;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-uni-vue.js","sources":["../../../../../../packages/components/uni-vue/src/use-uni-vue.ts"],"sourcesContent":["import { onMounted, ref, useAttrs, nextTick, useTemplateRef, watch } from 'vue'\nimport { http } from '@el-plus/utils/http'\nimport { componentType } from './uni-vue'\nimport axios from 'axios'\nimport { ElMessage, ElLoading } from 'element-plus'\n\nlet Vue2: any = null\nlet VueRouter3: any = null\n\nconst loadModules = async () => {\n if (!Vue2) {\n const vue2Module = await import('vue2')\n Vue2 = vue2Module.default\n }\n if (!VueRouter3) {\n const routerModule = await import('vue-router3')\n VueRouter3 = routerModule.default\n }\n}\n\nexport const useUniVue = (props, _emit) => {\n const uniVue = useTemplateRef<HTMLElement>('uniVue')\n const { type } = props\n const loading = ref(true)\n const isAddress = type === 'address'\n const isBpm = type === 'bpm'\n // 是否需要加载静态资源\n const isLoadStatic = componentType.indexOf(type) > -1\n const attrs = useAttrs()\n const setupWindow = () => {\n Vue2.use(VueRouter3)\n if (!window.Vue) {\n window.Vue = Vue2\n }\n // 地址\n if (isAddress) {\n if (!window.axios) {\n window.axios = axios\n }\n if (!window.ElementUI) {\n window.ElementUI = {\n Message: ElMessage,\n Loading: ElLoading,\n }\n }\n }\n }\n const prepareVueAttributes = () => {\n const events = {}\n const _props = {} as Record<string, any>\n Object.keys(attrs).forEach((key) => {\n if (key.startsWith('on')) {\n let eventName = key.slice(2) // 去掉 'on' 前缀\n if (eventName.startsWith('Update:')) {\n // 处理 v-model:xxx 事件,转换为 update:xxx\n // 例如:onUpdate:modelValue -> update:modelValue、onUpdate:dialogFormData -> update:dialogFormData\n eventName = 'update:' + eventName.slice(7)\n\n // 如果是v-model, 转换为vue2对应的input\n if (eventName === 'update:modelValue') {\n eventName = 'input'\n }\n } else {\n // 将驼峰命名转换为短横线命名\n // 例如: onInitComplete-> init-complete (因为测试发现用initComplete不生效)\n eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase()\n // 删除第一位的-\n eventName = eventName.slice(1)\n }\n events[eventName] = attrs[key]\n } else {\n if (key === 'modelValue') {\n // 处理 v-model转换为vue2的value\n _props.value = attrs[key] // eslint-disable-line\n } else {\n _props[key] = attrs[key]\n }\n }\n })\n return {\n on: events,\n props: _props,\n }\n }\n\n const cdn = '//j01.hongxinshop.com/'\n const getStaticJsUrl = () => {\n switch (type) {\n case 'bpm':\n return `${cdn}bpm-common/common/index.umd.min.js`\n case 'address':\n return `http://localhost:8001/dist/hx-address.js`\n return `./hx-address.js`\n return `${cdn}address/static/hx-address.js`\n default:\n return ''\n }\n }\n const getStaticCssUrl = () => {\n switch (type) {\n case 'bpm':\n return `/bpm-common/common/index.css`\n case 'address':\n return `/address/static/hx-address.css`\n default:\n return ''\n }\n }\n const loadStaticJsResource = async () => {\n const promises: Promise<void>[] = []\n\n // 检查并加载element-ui.js(非bpm类型)\n if (!isBpm && !window.ElementUIComponents) {\n await new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = '/element-ui.js'\n script.onload = resolve\n script.onerror = reject\n document.body.appendChild(script)\n })\n }\n\n // 检查并加载原有的JS资源\n let globalName\n if (isAddress) {\n globalName = 'hxAddress'\n }\n if (isBpm) {\n globalName = 'index'\n }\n\n if (globalName && !window[globalName]) {\n promises.push(\n new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = getStaticJsUrl()\n script.onload = () => resolve()\n script.onerror = reject\n document.body.appendChild(script)\n }),\n )\n }\n\n return Promise.all(promises)\n }\n const loadStaticCssResource = async () => {\n const cssPromises: Promise<string>[] = []\n\n // 为非bpm类型加载element-ui.css\n if (!isBpm) {\n cssPromises.push(\n http\n .request<string>('/index.css', {\n responseReturn: 'raw',\n baseURL: '',\n })\n .then((res) => res.data),\n )\n }\n\n // 加载原有的CSS资源\n const staticCssUrl = getStaticCssUrl()\n if (staticCssUrl) {\n cssPromises.push(\n http\n .request<string>(staticCssUrl, {\n responseReturn: 'raw',\n })\n .then((res) => res.data),\n )\n }\n\n const cssContents = await Promise.all(cssPromises)\n return cssContents.join('\\n')\n }\n let instance\n const setupInstance = async () => {\n if (instance) {\n return\n }\n await loadModules()\n setupWindow()\n const el = uniVue.value\n const shadowRoot = el!.attachShadow({ mode: 'open' })\n const container = document.createElement('div')\n if (isLoadStatic) {\n try {\n loading.value = true\n const [_res1, css] = await Promise.all([\n loadStaticJsResource(),\n loadStaticCssResource(),\n ])\n const style = document.createElement('style')\n style.textContent = css\n shadowRoot.appendChild(style)\n if (isAddress && !document.querySelector('style[data-hx-address-style]')) {\n const headStyle = document.createElement('style')\n headStyle.textContent = css\n headStyle.setAttribute('data-hx-address-style', 'true')\n document.head.appendChild(headStyle)\n }\n } catch (error) {\n console.log(error)\n } finally {\n loading.value = false\n }\n }\n shadowRoot.appendChild(container)\n\n instance = new Vue2({\n el: container,\n router: new VueRouter3(),\n render: (h) => {\n const { on: vue2Events, props: vue2Props } = prepareVueAttributes()\n return h(props.name, {\n props: vue2Props,\n on: vue2Events,\n })\n },\n })\n }\n\n const updateVue2Instance = () => {\n if (!instance) return\n const child = instance.$children[0]\n if (child) {\n const { props: vue2Props } = prepareVueAttributes()\n Object.assign(child.$options.propsData, vue2Props)\n if (child._props) {\n Object.keys(vue2Props).forEach((key) => {\n const newValue = vue2Props[key]\n const oldValue = child._props[key]\n if (newValue === oldValue && typeof newValue === 'object' && newValue !== null) {\n const temp = {}\n child._props[key] = temp\n }\n child._props[key] = newValue\n })\n }\n child.$forceUpdate()\n }\n instance.$forceUpdate()\n }\n\n Object.keys(attrs).forEach((key) => {\n if (!key.startsWith('on')) {\n \n watch(\n () => attrs[key],\n () => {\n console.log(key,'key');\n nextTick(() => {\n try {\n updateVue2Instance()\n } catch (e) {\n // 忽略更新异常\n }\n })\n },\n {\n deep: true,\n },\n )\n }\n })\n\n onMounted(() => {\n setupInstance()\n })\n\n return {\n loading,\n }\n}\n"],"names":["uniVue","useTemplateRef","ref","componentType","useAttrs","ElMessage","ElLoading","http","watch","nextTick","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-uni-vue.js","sources":["../../../../../../packages/components/uni-vue/src/use-uni-vue.ts"],"sourcesContent":["import { onMounted, ref, useAttrs, nextTick, useTemplateRef, watch } from 'vue'\r\nimport { http } from '@el-plus/utils/http'\r\nimport { componentType } from './uni-vue'\r\nimport axios from 'axios'\r\nimport { ElMessage, ElLoading } from 'element-plus'\r\n\r\nlet Vue2: any = null\r\nlet VueRouter3: any = null\r\n\r\nconst loadModules = async () => {\r\n if (!Vue2) {\r\n const vue2Module = await import('vue2')\r\n Vue2 = vue2Module.default\r\n }\r\n if (!VueRouter3) {\r\n const routerModule = await import('vue-router3')\r\n VueRouter3 = routerModule.default\r\n }\r\n}\r\n\r\nexport const useUniVue = (props, _emit) => {\r\n const uniVue = useTemplateRef<HTMLElement>('uniVue')\r\n const { type } = props\r\n const loading = ref(true)\r\n const isAddress = type === 'address'\r\n const isBpm = type === 'bpm'\r\n // 是否需要加载静态资源\r\n const isLoadStatic = componentType.indexOf(type) > -1\r\n const attrs = useAttrs()\r\n const setupWindow = () => {\r\n Vue2.use(VueRouter3)\r\n if (!window.Vue) {\r\n window.Vue = Vue2\r\n }\r\n // 地址\r\n if (isAddress) {\r\n if (!window.axios) {\r\n window.axios = axios\r\n }\r\n if (!window.ElementUI) {\r\n window.ElementUI = {\r\n Message: ElMessage,\r\n Loading: ElLoading,\r\n }\r\n }\r\n }\r\n }\r\n const prepareVueAttributes = () => {\r\n const events = {}\r\n const _props = {} as Record<string, any>\r\n Object.keys(attrs).forEach((key) => {\r\n if (key.startsWith('on')) {\r\n let eventName = key.slice(2) // 去掉 'on' 前缀\r\n if (eventName.startsWith('Update:')) {\r\n // 处理 v-model:xxx 事件,转换为 update:xxx\r\n // 例如:onUpdate:modelValue -> update:modelValue、onUpdate:dialogFormData -> update:dialogFormData\r\n eventName = 'update:' + eventName.slice(7)\r\n\r\n // 如果是v-model, 转换为vue2对应的input\r\n if (eventName === 'update:modelValue') {\r\n eventName = 'input'\r\n }\r\n } else {\r\n // 将驼峰命名转换为短横线命名\r\n // 例如: onInitComplete-> init-complete (因为测试发现用initComplete不生效)\r\n eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n // 删除第一位的-\r\n eventName = eventName.slice(1)\r\n }\r\n events[eventName] = attrs[key]\r\n } else {\r\n if (key === 'modelValue') {\r\n // 处理 v-model转换为vue2的value\r\n _props.value = attrs[key] // eslint-disable-line\r\n } else {\r\n _props[key] = attrs[key]\r\n }\r\n }\r\n })\r\n return {\r\n on: events,\r\n props: _props,\r\n }\r\n }\r\n\r\n const cdn = '//j01.hongxinshop.com/'\r\n const getStaticJsUrl = () => {\r\n switch (type) {\r\n case 'bpm':\r\n return `${cdn}bpm-common/common/index.umd.min.js`\r\n case 'address':\r\n return `http://localhost:8001/dist/hx-address.js`\r\n return `./hx-address.js`\r\n return `${cdn}address/static/hx-address.js`\r\n default:\r\n return ''\r\n }\r\n }\r\n const getStaticCssUrl = () => {\r\n switch (type) {\r\n case 'bpm':\r\n return `/bpm-common/common/index.css`\r\n case 'address':\r\n return `/address/static/hx-address.css`\r\n default:\r\n return ''\r\n }\r\n }\r\n const loadStaticJsResource = async () => {\r\n const promises: Promise<void>[] = []\r\n\r\n // 检查并加载element-ui.js(非bpm类型)\r\n if (!isBpm && !window.ElementUIComponents) {\r\n await new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = '/element-ui.js'\r\n script.onload = resolve\r\n script.onerror = reject\r\n document.body.appendChild(script)\r\n })\r\n }\r\n\r\n // 检查并加载原有的JS资源\r\n let globalName\r\n if (isAddress) {\r\n globalName = 'hxAddress'\r\n }\r\n if (isBpm) {\r\n globalName = 'index'\r\n }\r\n\r\n if (globalName && !window[globalName]) {\r\n promises.push(\r\n new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = getStaticJsUrl()\r\n script.onload = () => resolve()\r\n script.onerror = reject\r\n document.body.appendChild(script)\r\n }),\r\n )\r\n }\r\n\r\n return Promise.all(promises)\r\n }\r\n const loadStaticCssResource = async () => {\r\n const cssPromises: Promise<string>[] = []\r\n\r\n // 为非bpm类型加载element-ui.css\r\n if (!isBpm) {\r\n cssPromises.push(\r\n http\r\n .request<string>('/index.css', {\r\n responseReturn: 'raw',\r\n baseURL: '',\r\n })\r\n .then((res) => res.data),\r\n )\r\n }\r\n\r\n // 加载原有的CSS资源\r\n const staticCssUrl = getStaticCssUrl()\r\n if (staticCssUrl) {\r\n cssPromises.push(\r\n http\r\n .request<string>(staticCssUrl, {\r\n responseReturn: 'raw',\r\n })\r\n .then((res) => res.data),\r\n )\r\n }\r\n\r\n const cssContents = await Promise.all(cssPromises)\r\n return cssContents.join('\\n')\r\n }\r\n let instance\r\n const setupInstance = async () => {\r\n if (instance) {\r\n return\r\n }\r\n await loadModules()\r\n setupWindow()\r\n const el = uniVue.value\r\n const shadowRoot = el!.attachShadow({ mode: 'open' })\r\n const container = document.createElement('div')\r\n if (isLoadStatic) {\r\n try {\r\n loading.value = true\r\n const [_res1, css] = await Promise.all([\r\n loadStaticJsResource(),\r\n loadStaticCssResource(),\r\n ])\r\n const style = document.createElement('style')\r\n style.textContent = css\r\n shadowRoot.appendChild(style)\r\n if (isAddress && !document.querySelector('style[data-hx-address-style]')) {\r\n const headStyle = document.createElement('style')\r\n headStyle.textContent = css\r\n headStyle.setAttribute('data-hx-address-style', 'true')\r\n document.head.appendChild(headStyle)\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n } finally {\r\n loading.value = false\r\n }\r\n }\r\n shadowRoot.appendChild(container)\r\n\r\n instance = new Vue2({\r\n el: container,\r\n router: new VueRouter3(),\r\n render: (h) => {\r\n const { on: vue2Events, props: vue2Props } = prepareVueAttributes()\r\n return h(props.name, {\r\n props: vue2Props,\r\n on: vue2Events,\r\n })\r\n },\r\n })\r\n }\r\n\r\n const updateVue2Instance = () => {\r\n if (!instance) return\r\n const child = instance.$children[0]\r\n if (child) {\r\n const { props: vue2Props } = prepareVueAttributes()\r\n Object.assign(child.$options.propsData, vue2Props)\r\n if (child._props) {\r\n Object.keys(vue2Props).forEach((key) => {\r\n const newValue = vue2Props[key]\r\n const oldValue = child._props[key]\r\n if (newValue === oldValue && typeof newValue === 'object' && newValue !== null) {\r\n const temp = {}\r\n child._props[key] = temp\r\n }\r\n child._props[key] = newValue\r\n })\r\n }\r\n child.$forceUpdate()\r\n }\r\n instance.$forceUpdate()\r\n }\r\n\r\n Object.keys(attrs).forEach((key) => {\r\n if (!key.startsWith('on')) {\r\n \r\n watch(\r\n () => attrs[key],\r\n () => {\r\n console.log(key,'key');\r\n nextTick(() => {\r\n try {\r\n updateVue2Instance()\r\n } catch (e) {\r\n // 忽略更新异常\r\n }\r\n })\r\n },\r\n {\r\n deep: true,\r\n },\r\n )\r\n }\r\n })\r\n\r\n onMounted(() => {\r\n setupInstance()\r\n })\r\n\r\n return {\r\n loading,\r\n }\r\n}\r\n"],"names":["uniVue","useTemplateRef","ref","componentType","useAttrs","ElMessage","ElLoading","http","watch","nextTick","onMounted"],"mappings":"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"}
|
package/lib/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":["../../../packages/el-plus/components.ts"],"sourcesContent":["import type { Plugin } from 'vue'\nimport Buttons from '@el-plus/components/buttons'\nimport Form from '@el-plus/components/form'\nimport Input from '@el-plus/components/input'\nimport SearchListPage from '@el-plus/components/search-list-page'\nimport Select from '@el-plus/components/select'\nimport Table from '@el-plus/components/table'\nimport Title from '@el-plus/components/title'\nimport Header from '@el-plus/components/header'\nimport DatePickerRange from '@el-plus/components/date-picker-range'\nimport CustomColumn from '@el-plus/components/custom-column'\nimport Link from '@el-plus/components/link'\nimport Attachment from '@el-plus/components/attachment'\nimport UniVue from '@el-plus/components/uni-vue'\nimport FooterInfo from '@el-plus/components/footer-info'\n\nexport default [\n Buttons,\n Form,\n Input,\n SearchListPage,\n Select,\n Table,\n Title,\n Header,\n DatePickerRange,\n CustomColumn,\n Link,\n Attachment,\n UniVue,\n FooterInfo,\n] as Plugin[]\n"],"names":["Buttons","Form","Input","SearchListPage","Select","Table","Title","Header","DatePickerRange","CustomColumn","Link","Attachment","UniVue","FooterInfo"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,iBAAe;AAAA,EACbA,eAAA;AAAA,EACAC,cAAA;AAAA,EACAC,eAAA;AAAA,EACAC,wBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,eAAA;AAAA,EACAC,eAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,yBAAA;AAAA,EACAC,sBAAA;AAAA,EACAC,cAAA;AAAA,EACAC,oBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC;AACF,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../../../packages/el-plus/components.ts"],"sourcesContent":["import type { Plugin } from 'vue'\r\nimport Buttons from '@el-plus/components/buttons'\r\nimport Form from '@el-plus/components/form'\r\nimport Input from '@el-plus/components/input'\r\nimport SearchListPage from '@el-plus/components/search-list-page'\r\nimport Select from '@el-plus/components/select'\r\nimport Table from '@el-plus/components/table'\r\nimport Title from '@el-plus/components/title'\r\nimport Header from '@el-plus/components/header'\r\nimport DatePickerRange from '@el-plus/components/date-picker-range'\r\nimport CustomColumn from '@el-plus/components/custom-column'\r\nimport Link from '@el-plus/components/link'\r\nimport Attachment from '@el-plus/components/attachment'\r\nimport UniVue from '@el-plus/components/uni-vue'\r\nimport FooterInfo from '@el-plus/components/footer-info'\r\n\r\nexport default [\r\n Buttons,\r\n Form,\r\n Input,\r\n SearchListPage,\r\n Select,\r\n Table,\r\n Title,\r\n Header,\r\n DatePickerRange,\r\n CustomColumn,\r\n Link,\r\n Attachment,\r\n UniVue,\r\n FooterInfo,\r\n] as Plugin[]\r\n"],"names":["Buttons","Form","Input","SearchListPage","Select","Table","Title","Header","DatePickerRange","CustomColumn","Link","Attachment","UniVue","FooterInfo"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,iBAAe;AAAA,EACbA,eAAA;AAAA,EACAC,cAAA;AAAA,EACAC,eAAA;AAAA,EACAC,wBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,eAAA;AAAA,EACAC,eAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,yBAAA;AAAA,EACAC,sBAAA;AAAA,EACAC,cAAA;AAAA,EACAC,oBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC;AACF,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/permission/index.ts"],"sourcesContent":["import type { Directive } from 'vue'\nimport { http } from '@el-plus/utils/http'\n\n// v-permisson:CGXQD:QXSP\nexport type Permission = `${string}:${string}`\nexport type HasPermission = Permission | boolean\nconst vPermisson: Directive<HTMLElement> & { name: string } = {\n name: 'permission',\n mounted(el, binding) {\n const { arg, value } = binding.value\n if (!arg && !value) {\n return\n }\n el.style.display = 'none'\n const permission: Permission = `${arg}:${value}`\n checkPermission(permission, el)\n },\n updated(el, binding) {\n const { arg, value } = binding.value\n if (!arg && !value) {\n if (el.style.display === 'none') {\n el.style.display = ''\n }\n return\n }\n const permission = `${arg}:${value}`\n checkPermission(permission, el)\n },\n}\n\nexport async function checkPermission(permission: string, el: HTMLElement) {\n const { data: roles = [] } = await queryRoles()\n const hasPermission = roles.indexOf(permission) > -1\n if (!hasPermission) {\n el && el.parentNode && el.parentNode.removeChild(el)\n } else {\n el.style.display = ''\n }\n return hasPermission\n}\ntype RequestPromise = Promise<{ data: string[] }>\nlet requestPromise: RequestPromise | null = null\nasync function queryRoles(): RequestPromise {\n try {\n if (requestPromise) {\n return requestPromise\n }\n requestPromise = http.post('/api-u/api/saas/user/appButtonRoleList', {\n loading: true,\n })\n return requestPromise\n } catch (error) {\n console.error(error)\n return { data: [] }\n }\n}\n\nexport default vPermisson\n"],"names":["http"],"mappings":";;;;;;AAMA,MAAM,UAAA,GAAwD;AAAA,EAC5D,IAAA,EAAM,YAAA;AAAA,EACN,OAAA,CAAQ,IAAI,OAAA,EAAS;AACnB,IAAA,MAAM,EAAE,GAAA,EAAK,KAAA,EAAM,GAAI,OAAA,CAAQ,KAAA;AAC/B,IAAA,IAAI,CAAC,GAAA,IAAO,CAAC,KAAA,EAAO;AAClB,MAAA;AAAA,IACF;AACA,IAAA,EAAA,CAAG,MAAM,OAAA,GAAU,MAAA;AACnB,IAAA,MAAM,UAAA,GAAyB,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA;AAC9C,IAAA,eAAA,CAAgB,YAAY,EAAE,CAAA;AAAA,EAChC,CAAA;AAAA,EACA,OAAA,CAAQ,IAAI,OAAA,EAAS;AACnB,IAAA,MAAM,EAAE,GAAA,EAAK,KAAA,EAAM,GAAI,OAAA,CAAQ,KAAA;AAC/B,IAAA,IAAI,CAAC,GAAA,IAAO,CAAC,KAAA,EAAO;AAClB,MAAA,IAAI,EAAA,CAAG,KAAA,CAAM,OAAA,KAAY,MAAA,EAAQ;AAC/B,QAAA,EAAA,CAAG,MAAM,OAAA,GAAU,EAAA;AAAA,MACrB;AACA,MAAA;AAAA,IACF;AACA,IAAA,MAAM,UAAA,GAAa,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA;AAClC,IAAA,eAAA,CAAgB,YAAY,EAAE,CAAA;AAAA,EAChC;AACF;AAEA,eAAsB,eAAA,CAAgB,YAAoB,EAAA,EAAiB;AACzE,EAAA,MAAM,EAAE,IAAA,EAAM,KAAA,GAAQ,EAAC,EAAE,GAAI,MAAM,UAAA,EAAW;AAC9C,EAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,OAAA,CAAQ,UAAU,CAAA,GAAI,EAAA;AAClD,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,EAAA,IAAM,EAAA,CAAG,UAAA,IAAc,EAAA,CAAG,UAAA,CAAW,YAAY,EAAE,CAAA;AAAA,EACrD,CAAA,MAAO;AACL,IAAA,EAAA,CAAG,MAAM,OAAA,GAAU,EAAA;AAAA,EACrB;AACA,EAAA,OAAO,aAAA;AACT;AAEA,IAAI,cAAA,GAAwC,IAAA;AAC5C,eAAe,UAAA,GAA6B;AAC1C,EAAA,IAAI;AACF,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,OAAO,cAAA;AAAA,IACT;AACA,IAAA,cAAA,GAAiBA,UAAA,CAAK,KAAK,wCAAA,EAA0C;AAAA,MACnE,OAAA,EAAS;AAAA,KACV,CAAA;AACD,IAAA,OAAO,cAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,MAAM,KAAK,CAAA;AACnB,IAAA,OAAO,EAAE,IAAA,EAAM,EAAC,EAAE;AAAA,EACpB;AACF;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/permission/index.ts"],"sourcesContent":["import type { Directive } from 'vue'\r\nimport { http } from '@el-plus/utils/http'\r\n\r\n// v-permisson:CGXQD:QXSP\r\nexport type Permission = `${string}:${string}`\r\nexport type HasPermission = Permission | boolean\r\nconst vPermisson: Directive<HTMLElement> & { name: string } = {\r\n name: 'permission',\r\n mounted(el, binding) {\r\n const { arg, value } = binding.value\r\n if (!arg && !value) {\r\n return\r\n }\r\n el.style.display = 'none'\r\n const permission: Permission = `${arg}:${value}`\r\n checkPermission(permission, el)\r\n },\r\n updated(el, binding) {\r\n const { arg, value } = binding.value\r\n if (!arg && !value) {\r\n if (el.style.display === 'none') {\r\n el.style.display = ''\r\n }\r\n return\r\n }\r\n const permission = `${arg}:${value}`\r\n checkPermission(permission, el)\r\n },\r\n}\r\n\r\nexport async function checkPermission(permission: string, el: HTMLElement) {\r\n const { data: roles = [] } = await queryRoles()\r\n const hasPermission = roles.indexOf(permission) > -1\r\n if (!hasPermission) {\r\n el && el.parentNode && el.parentNode.removeChild(el)\r\n } else {\r\n el.style.display = ''\r\n }\r\n return hasPermission\r\n}\r\ntype RequestPromise = Promise<{ data: string[] }>\r\nlet requestPromise: RequestPromise | null = null\r\nasync function queryRoles(): RequestPromise {\r\n try {\r\n if (requestPromise) {\r\n return requestPromise\r\n }\r\n requestPromise = http.post('/api-u/api/saas/user/appButtonRoleList', {\r\n loading: true,\r\n })\r\n return requestPromise\r\n } catch (error) {\r\n console.error(error)\r\n return { data: [] }\r\n }\r\n}\r\n\r\nexport default vPermisson\r\n"],"names":["http"],"mappings":";;;;;;AAMA,MAAM,UAAA,GAAwD;AAAA,EAC5D,IAAA,EAAM,YAAA;AAAA,EACN,OAAA,CAAQ,IAAI,OAAA,EAAS;AACnB,IAAA,MAAM,EAAE,GAAA,EAAK,KAAA,EAAM,GAAI,OAAA,CAAQ,KAAA;AAC/B,IAAA,IAAI,CAAC,GAAA,IAAO,CAAC,KAAA,EAAO;AAClB,MAAA;AAAA,IACF;AACA,IAAA,EAAA,CAAG,MAAM,OAAA,GAAU,MAAA;AACnB,IAAA,MAAM,UAAA,GAAyB,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA;AAC9C,IAAA,eAAA,CAAgB,YAAY,EAAE,CAAA;AAAA,EAChC,CAAA;AAAA,EACA,OAAA,CAAQ,IAAI,OAAA,EAAS;AACnB,IAAA,MAAM,EAAE,GAAA,EAAK,KAAA,EAAM,GAAI,OAAA,CAAQ,KAAA;AAC/B,IAAA,IAAI,CAAC,GAAA,IAAO,CAAC,KAAA,EAAO;AAClB,MAAA,IAAI,EAAA,CAAG,KAAA,CAAM,OAAA,KAAY,MAAA,EAAQ;AAC/B,QAAA,EAAA,CAAG,MAAM,OAAA,GAAU,EAAA;AAAA,MACrB;AACA,MAAA;AAAA,IACF;AACA,IAAA,MAAM,UAAA,GAAa,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA;AAClC,IAAA,eAAA,CAAgB,YAAY,EAAE,CAAA;AAAA,EAChC;AACF;AAEA,eAAsB,eAAA,CAAgB,YAAoB,EAAA,EAAiB;AACzE,EAAA,MAAM,EAAE,IAAA,EAAM,KAAA,GAAQ,EAAC,EAAE,GAAI,MAAM,UAAA,EAAW;AAC9C,EAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,OAAA,CAAQ,UAAU,CAAA,GAAI,EAAA;AAClD,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,EAAA,IAAM,EAAA,CAAG,UAAA,IAAc,EAAA,CAAG,UAAA,CAAW,YAAY,EAAE,CAAA;AAAA,EACrD,CAAA,MAAO;AACL,IAAA,EAAA,CAAG,MAAM,OAAA,GAAU,EAAA;AAAA,EACrB;AACA,EAAA,OAAO,aAAA;AACT;AAEA,IAAI,cAAA,GAAwC,IAAA;AAC5C,eAAe,UAAA,GAA6B;AAC1C,EAAA,IAAI;AACF,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,OAAO,cAAA;AAAA,IACT;AACA,IAAA,cAAA,GAAiBA,UAAA,CAAK,KAAK,wCAAA,EAA0C;AAAA,MACnE,OAAA,EAAS;AAAA,KACV,CAAA;AACD,IAAA,OAAO,cAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,MAAM,KAAK,CAAA;AACnB,IAAA,OAAO,EAAE,IAAA,EAAM,EAAC,EAAE;AAAA,EACpB;AACF;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/repeat-click/index.ts"],"sourcesContent":["import type { Directive } from 'vue'\nconst SCOPE = '_RepeatClick'\nexport interface RepeatClickEl extends HTMLElement {\n [SCOPE]: null | {\n start?: (evt: MouseEvent) => void\n }\n}\nexport interface RepeatClickOptions {\n immediate?: boolean\n delay?: number\n handler: (...args: unknown[]) => unknown\n}\nconst vRepeatClick: Directive<RepeatClickEl, RepeatClickOptions> & {\n name: string\n} = {\n name: 'repeatClick',\n // 在绑定元素的 attribute 前\n // 或事件监听器应用前调用\n // created(el, binding, vnode) {\n // // el.style.display = 'none'\n // // 下面会介绍各个参数的细节\n // console.log('created', el, binding, vnode)\n // },\n\n // 在元素被插入到 DOM 前调用\n beforeMount(el, binding) {\n const { delay = 300, immediate } =\n typeof binding.value === 'object' ? binding.value : {}\n const handler =\n typeof binding.value === 'object' ? binding.value.handler : binding.value\n let isPending = false\n let timer: ReturnType<typeof setTimeout>\n const start = (e: MouseEvent) => {\n if (e.button !== 0) return // 只处理左键点击\n timer && clearTimeout(timer)\n timer = setTimeout(() => {\n if (immediate) {\n isPending = false\n } else {\n handler?.(e)\n }\n }, delay)\n if (immediate) {\n if (isPending) {\n return\n }\n isPending = true\n handler?.(e)\n }\n }\n el[SCOPE] = { start }\n el.addEventListener('click', start)\n },\n // // 在绑定元素的父组件\n // // 及他自己的所有子节点都挂载完成后调用\n // mounted(el, binding, vnode) {\n // console.log('mounted', el, binding, vnode)\n // },\n // // 绑定元素的父组件更新前调用\n // beforeUpdate(el, binding, vnode, prevVnode) {\n // console.log('beforeUpdate', el, binding, vnode, prevVnode)\n // },\n // // 在绑定元素的父组件\n // // 及他自己的所有子节点都更新后调用\n // updated(el, binding, vnode, prevVnode) {\n // console.log('updated', el, binding, vnode, prevVnode)\n // },\n // // 绑定元素的父组件卸载前调用\n // beforeUnmount(el, binding, vnode) {\n // console.log('beforeUnmount', el, binding, vnode)\n // },\n // 绑定元素的父组件卸载后调用\n unmounted(el) {\n if (!el[SCOPE]) return\n const { start } = el[SCOPE]\n\n if (start) {\n el.removeEventListener('mousedown', start)\n }\n el[SCOPE] = null\n },\n}\nexport default vRepeatClick\n"],"names":[],"mappings":";;;;AACA,MAAM,KAAA,GAAQ,cAAA;AAWd,MAAM,YAAA,GAEF;AAAA,EACF,IAAA,EAAM,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUN,WAAA,CAAY,IAAI,OAAA,EAAS;AACvB,IAAA,MAAM,EAAE,KAAA,GAAQ,GAAA,EAAK,SAAA,EAAU,GAC7B,OAAO,OAAA,CAAQ,KAAA,KAAU,QAAA,GAAW,OAAA,CAAQ,KAAA,GAAQ,EAAC;AACvD,IAAA,MAAM,OAAA,GACJ,OAAO,OAAA,CAAQ,KAAA,KAAU,WAAW,OAAA,CAAQ,KAAA,CAAM,UAAU,OAAA,CAAQ,KAAA;AACtE,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,IAAI,KAAA;AACJ,IAAA,MAAM,KAAA,GAAQ,CAAC,CAAA,KAAkB;AAC/B,MAAA,IAAI,CAAA,CAAE,WAAW,CAAA,EAAG;AACpB,MAAA,KAAA,IAAS,aAAa,KAAK,CAAA;AAC3B,MAAA,KAAA,GAAQ,WAAW,MAAM;AACvB,QAAA,IAAI,SAAA,EAAW;AACb,UAAA,SAAA,GAAY,KAAA;AAAA,QACd,CAAA,MAAO;AACL,UAAA,OAAA,GAAU,CAAC,CAAA;AAAA,QACb;AAAA,MACF,GAAG,KAAK,CAAA;AACR,MAAA,IAAI,SAAA,EAAW;AACb,QAAA,IAAI,SAAA,EAAW;AACb,UAAA;AAAA,QACF;AACA,QAAA,SAAA,GAAY,IAAA;AACZ,QAAA,OAAA,GAAU,CAAC,CAAA;AAAA,MACb;AAAA,IACF,CAAA;AACA,IAAA,EAAA,CAAG,KAAK,CAAA,GAAI,EAAE,KAAA,EAAM;AACpB,IAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,KAAK,CAAA;AAAA,EACpC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,UAAU,EAAA,EAAI;AACZ,IAAA,IAAI,CAAC,EAAA,CAAG,KAAK,CAAA,EAAG;AAChB,IAAA,MAAM,EAAE,KAAA,EAAM,GAAI,EAAA,CAAG,KAAK,CAAA;AAE1B,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,EAAA,CAAG,mBAAA,CAAoB,aAAa,KAAK,CAAA;AAAA,IAC3C;AACA,IAAA,EAAA,CAAG,KAAK,CAAA,GAAI,IAAA;AAAA,EACd;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/repeat-click/index.ts"],"sourcesContent":["import type { Directive } from 'vue'\r\nconst SCOPE = '_RepeatClick'\r\nexport interface RepeatClickEl extends HTMLElement {\r\n [SCOPE]: null | {\r\n start?: (evt: MouseEvent) => void\r\n }\r\n}\r\nexport interface RepeatClickOptions {\r\n immediate?: boolean\r\n delay?: number\r\n handler: (...args: unknown[]) => unknown\r\n}\r\nconst vRepeatClick: Directive<RepeatClickEl, RepeatClickOptions> & {\r\n name: string\r\n} = {\r\n name: 'repeatClick',\r\n // 在绑定元素的 attribute 前\r\n // 或事件监听器应用前调用\r\n // created(el, binding, vnode) {\r\n // // el.style.display = 'none'\r\n // // 下面会介绍各个参数的细节\r\n // console.log('created', el, binding, vnode)\r\n // },\r\n\r\n // 在元素被插入到 DOM 前调用\r\n beforeMount(el, binding) {\r\n const { delay = 300, immediate } =\r\n typeof binding.value === 'object' ? binding.value : {}\r\n const handler =\r\n typeof binding.value === 'object' ? binding.value.handler : binding.value\r\n let isPending = false\r\n let timer: ReturnType<typeof setTimeout>\r\n const start = (e: MouseEvent) => {\r\n if (e.button !== 0) return // 只处理左键点击\r\n timer && clearTimeout(timer)\r\n timer = setTimeout(() => {\r\n if (immediate) {\r\n isPending = false\r\n } else {\r\n handler?.(e)\r\n }\r\n }, delay)\r\n if (immediate) {\r\n if (isPending) {\r\n return\r\n }\r\n isPending = true\r\n handler?.(e)\r\n }\r\n }\r\n el[SCOPE] = { start }\r\n el.addEventListener('click', start)\r\n },\r\n // // 在绑定元素的父组件\r\n // // 及他自己的所有子节点都挂载完成后调用\r\n // mounted(el, binding, vnode) {\r\n // console.log('mounted', el, binding, vnode)\r\n // },\r\n // // 绑定元素的父组件更新前调用\r\n // beforeUpdate(el, binding, vnode, prevVnode) {\r\n // console.log('beforeUpdate', el, binding, vnode, prevVnode)\r\n // },\r\n // // 在绑定元素的父组件\r\n // // 及他自己的所有子节点都更新后调用\r\n // updated(el, binding, vnode, prevVnode) {\r\n // console.log('updated', el, binding, vnode, prevVnode)\r\n // },\r\n // // 绑定元素的父组件卸载前调用\r\n // beforeUnmount(el, binding, vnode) {\r\n // console.log('beforeUnmount', el, binding, vnode)\r\n // },\r\n // 绑定元素的父组件卸载后调用\r\n unmounted(el) {\r\n if (!el[SCOPE]) return\r\n const { start } = el[SCOPE]\r\n\r\n if (start) {\r\n el.removeEventListener('mousedown', start)\r\n }\r\n el[SCOPE] = null\r\n },\r\n}\r\nexport default vRepeatClick\r\n"],"names":[],"mappings":";;;;AACA,MAAM,KAAA,GAAQ,cAAA;AAWd,MAAM,YAAA,GAEF;AAAA,EACF,IAAA,EAAM,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUN,WAAA,CAAY,IAAI,OAAA,EAAS;AACvB,IAAA,MAAM,EAAE,KAAA,GAAQ,GAAA,EAAK,SAAA,EAAU,GAC7B,OAAO,OAAA,CAAQ,KAAA,KAAU,QAAA,GAAW,OAAA,CAAQ,KAAA,GAAQ,EAAC;AACvD,IAAA,MAAM,OAAA,GACJ,OAAO,OAAA,CAAQ,KAAA,KAAU,WAAW,OAAA,CAAQ,KAAA,CAAM,UAAU,OAAA,CAAQ,KAAA;AACtE,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,IAAI,KAAA;AACJ,IAAA,MAAM,KAAA,GAAQ,CAAC,CAAA,KAAkB;AAC/B,MAAA,IAAI,CAAA,CAAE,WAAW,CAAA,EAAG;AACpB,MAAA,KAAA,IAAS,aAAa,KAAK,CAAA;AAC3B,MAAA,KAAA,GAAQ,WAAW,MAAM;AACvB,QAAA,IAAI,SAAA,EAAW;AACb,UAAA,SAAA,GAAY,KAAA;AAAA,QACd,CAAA,MAAO;AACL,UAAA,OAAA,GAAU,CAAC,CAAA;AAAA,QACb;AAAA,MACF,GAAG,KAAK,CAAA;AACR,MAAA,IAAI,SAAA,EAAW;AACb,QAAA,IAAI,SAAA,EAAW;AACb,UAAA;AAAA,QACF;AACA,QAAA,SAAA,GAAY,IAAA;AACZ,QAAA,OAAA,GAAU,CAAC,CAAA;AAAA,MACb;AAAA,IACF,CAAA;AACA,IAAA,EAAA,CAAG,KAAK,CAAA,GAAI,EAAE,KAAA,EAAM;AACpB,IAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,KAAK,CAAA;AAAA,EACpC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,UAAU,EAAA,EAAI;AACZ,IAAA,IAAI,CAAC,EAAA,CAAG,KAAK,CAAA,EAAG;AAChB,IAAA,MAAM,EAAE,KAAA,EAAM,GAAI,EAAA,CAAG,KAAK,CAAA;AAE1B,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,EAAA,CAAG,mBAAA,CAAoB,aAAa,KAAK,CAAA;AAAA,IAC3C;AACA,IAAA,EAAA,CAAG,KAAK,CAAA,GAAI,IAAA;AAAA,EACd;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-choose-dialog.js","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n EpSearchListPage,\n type SearchListPageInstance,\n} from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw,unref, useTemplateRef, nextTick } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n const selections = ref([])\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.value.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n const clearSelections = async () => {\n selections.value = []\n searchListPageRef.value?.tableRef?.clearSelection() // 清理表格选中\n }\n let searchListPageRef\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections.value)))\n clearSelections()\n },\n onCancel: async (resolve) => {\n clearSelections()\n resolve()\n },\n render: ({ resolve }) => {\n if (!searchListPageRef) {\n searchListPageRef =\n useTemplateRef<SearchListPageInstance>('searchListPage')\n }\n\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n ref=\"searchListPage\"\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n ...rest.tableProps,\n onSelectionChange: (newSel) => {\n selections.value = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections.value = newSel\n resolve(toRaw(unref(selections)))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","clearSelections","searchListPageRef","tableRef","clearSelection","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","onCancel","render","useTemplateRef","formData","reactive","EpSearchListPage","_mergeProps","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw","unref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-choose-dialog.js","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport {\r\n EpSearchListPage,\r\n type SearchListPageInstance,\r\n} from '@el-plus/components/search-list-page'\r\nimport type { DialogOptions } from './use-dialog'\r\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\r\nimport { reactive, ref, toRaw,unref, useTemplateRef, nextTick } from 'vue'\r\nconst bem = createNameSpace('choose-dialog')\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\n\r\ntype Options = {\r\n title?: string\r\n dialogProps?: DialogOptions\r\n multiple?: boolean\r\n} & SearchListPageProps\r\nexport const useChooseDialog = (options: Options = {}) => {\r\n const { t } = useLocale()\r\n const { dialogProps, title, multiple, ...rest } = options\r\n const selections = ref([])\r\n const showSingleSelectionCol = !multiple\r\n const scopedSlots: DialogOptions['scopedSlots'] = {}\r\n if (!showSingleSelectionCol) {\r\n scopedSlots.footerPrepend = () => {\r\n return (\r\n <span class={bem.e('selected-count')}>\r\n {t('ep.chooseDialog.selected')}\r\n {selections.value.length}\r\n {t('ep.chooseDialog.unit')}\r\n </span>\r\n )\r\n }\r\n }\r\n const clearSelections = async () => {\r\n selections.value = []\r\n searchListPageRef.value?.tableRef?.clearSelection() // 清理表格选中\r\n }\r\n let searchListPageRef\r\n return useDialog({\r\n class: bem.b(),\r\n width: '80%',\r\n showFooter: !showSingleSelectionCol,\r\n scopedSlots,\r\n title,\r\n onConfirm: (resolve) => {\r\n resolve(JSON.parse(JSON.stringify(selections.value)))\r\n clearSelections()\r\n },\r\n onCancel: async (resolve) => {\r\n clearSelections()\r\n resolve()\r\n },\r\n render: ({ resolve }) => {\r\n if (!searchListPageRef) {\r\n searchListPageRef =\r\n useTemplateRef<SearchListPageInstance>('searchListPage')\r\n }\r\n\r\n const formData = rest.formData || reactive({})\r\n return (\r\n <EpSearchListPage\r\n ref=\"searchListPage\"\r\n {...{\r\n showSelectionCol: multiple,\r\n showSingleSelectionCol,\r\n formData,\r\n ...rest,\r\n formProps: {\r\n col: 3,\r\n ...rest.formProps,\r\n },\r\n tableProps: {\r\n height: 300,\r\n ...rest.tableProps,\r\n onSelectionChange: (newSel) => {\r\n selections.value = newSel\r\n },\r\n onSingleSelectionChange: (newSel) => {\r\n selections.value = newSel\r\n resolve(toRaw(unref(selections)))\r\n },\r\n },\r\n }}\r\n />\r\n )\r\n },\r\n ...dialogProps,\r\n })\r\n}\r\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","clearSelections","searchListPageRef","tableRef","clearSelection","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","onCancel","render","useTemplateRef","formData","reactive","EpSearchListPage","_mergeProps","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw","unref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-confirm-dialog.js","sources":["../../../../../packages/hooks/dialog/use-confirm-dialog.tsx"],"sourcesContent":["import { useFormDialog } from './use-form-dialog'\nimport type { DialogOptions } from './use-dialog'\nimport type { FormItemProps } from '@el-plus/components/form'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport type { InputProps } from 'element-plus'\nconst bem = createNameSpace('confirm-dialog')\ntype Options = Partial<\n {\n title?: string\n width?: string\n dialogProps?: DialogOptions\n } & TextareaProps &\n TextareaFormItemProps\n>\ntype TextareaProps = Pick<\n InputProps,\n 'rows' | 'maxlength' | 'minlength' | 'showWordLimit' | 'placeholder'\n>\ntype TextareaFormItemProps = Pick<FormItemProps, 'rules' | 'required'>\nexport const useConfirmDialog = (options: Options = {}) => {\n const {\n dialogProps = {},\n width = '50%',\n title,\n /** TextareaProps */\n rows = 5,\n maxlength = 500,\n minlength,\n showWordLimit = true,\n /** TextareaFormItemProps */\n rules,\n required = true,\n placeholder,\n } = options\n const formItemList: FormItemProps[] = [\n {\n rules,\n prop: 'value',\n label: ' ',\n required,\n props: {\n placeholder,\n type: 'textarea',\n rows,\n maxlength,\n minlength,\n showWordLimit,\n },\n },\n ]\n return useFormDialog({\n title,\n width,\n formItemList,\n dialogProps: {\n ...dialogProps,\n class: bem.b(),\n destroyOnClose: true,\n },\n })\n}\n"],"names":["bem","createNameSpace","useConfirmDialog","options","dialogProps","width","title","rows","maxlength","minlength","showWordLimit","rules","required","placeholder","formItemList","prop","label","props","type","useFormDialog","class","b","destroyOnClose"],"mappings":";;;;;AAKA,MAAMA,GAAAA,GAAMC,sBAAgB,gBAAgB,CAAA;AAcrC,MAAMC,gBAAAA,GAAmBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACzD,EAAA,MAAM;AAAA,IACJC,cAAc,EAAC;AAAA,IACfC,KAAAA,GAAQ,KAAA;AAAA,IACRC,KAAAA;AAAAA;AAAAA,IAEAC,IAAAA,GAAO,CAAA;AAAA,IACPC,SAAAA,GAAY,GAAA;AAAA,IACZC,SAAAA;AAAAA,IACAC,aAAAA,GAAgB,IAAA;AAAA;AAAA,IAEhBC,KAAAA;AAAAA,IACAC,QAAAA,GAAW,IAAA;AAAA,IACXC;AAAAA,GACF,GAAIV,OAAAA;AACJ,EAAA,MAAMW,eAAgC,CACpC;AAAA,IACEH,KAAAA;AAAAA,IACAI,IAAAA,EAAM,OAAA;AAAA,IACNC,KAAAA,EAAO,GAAA;AAAA,IACPJ,QAAAA;AAAAA,IACAK,KAAAA,EAAO;AAAA,MACLJ,WAAAA;AAAAA,MACAK,IAAAA,EAAM,UAAA;AAAA,MACNX,IAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC;AAAAA;AACF,GACD,CAAA;AAEH,EAAA,OAAOS,2BAAAA,CAAc;AAAA,IACnBb,KAAAA;AAAAA,IACAD,KAAAA;AAAAA,IACAS,YAAAA;AAAAA,IACAV,WAAAA,EAAa;AAAA,MACX,GAAGA,WAAAA;AAAAA,MACHgB,KAAAA,EAAOpB,IAAIqB,CAAAA,EAAE;AAAA,MACbC,cAAAA,EAAgB;AAAA;AAClB,GACD,CAAA;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"use-confirm-dialog.js","sources":["../../../../../packages/hooks/dialog/use-confirm-dialog.tsx"],"sourcesContent":["import { useFormDialog } from './use-form-dialog'\r\nimport type { DialogOptions } from './use-dialog'\r\nimport type { FormItemProps } from '@el-plus/components/form'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport type { InputProps } from 'element-plus'\r\nconst bem = createNameSpace('confirm-dialog')\r\ntype Options = Partial<\r\n {\r\n title?: string\r\n width?: string\r\n dialogProps?: DialogOptions\r\n } & TextareaProps &\r\n TextareaFormItemProps\r\n>\r\ntype TextareaProps = Pick<\r\n InputProps,\r\n 'rows' | 'maxlength' | 'minlength' | 'showWordLimit' | 'placeholder'\r\n>\r\ntype TextareaFormItemProps = Pick<FormItemProps, 'rules' | 'required'>\r\nexport const useConfirmDialog = (options: Options = {}) => {\r\n const {\r\n dialogProps = {},\r\n width = '50%',\r\n title,\r\n /** TextareaProps */\r\n rows = 5,\r\n maxlength = 500,\r\n minlength,\r\n showWordLimit = true,\r\n /** TextareaFormItemProps */\r\n rules,\r\n required = true,\r\n placeholder,\r\n } = options\r\n const formItemList: FormItemProps[] = [\r\n {\r\n rules,\r\n prop: 'value',\r\n label: ' ',\r\n required,\r\n props: {\r\n placeholder,\r\n type: 'textarea',\r\n rows,\r\n maxlength,\r\n minlength,\r\n showWordLimit,\r\n },\r\n },\r\n ]\r\n return useFormDialog({\r\n title,\r\n width,\r\n formItemList,\r\n dialogProps: {\r\n ...dialogProps,\r\n class: bem.b(),\r\n destroyOnClose: true,\r\n },\r\n })\r\n}\r\n"],"names":["bem","createNameSpace","useConfirmDialog","options","dialogProps","width","title","rows","maxlength","minlength","showWordLimit","rules","required","placeholder","formItemList","prop","label","props","type","useFormDialog","class","b","destroyOnClose"],"mappings":";;;;;AAKA,MAAMA,GAAAA,GAAMC,sBAAgB,gBAAgB,CAAA;AAcrC,MAAMC,gBAAAA,GAAmBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACzD,EAAA,MAAM;AAAA,IACJC,cAAc,EAAC;AAAA,IACfC,KAAAA,GAAQ,KAAA;AAAA,IACRC,KAAAA;AAAAA;AAAAA,IAEAC,IAAAA,GAAO,CAAA;AAAA,IACPC,SAAAA,GAAY,GAAA;AAAA,IACZC,SAAAA;AAAAA,IACAC,aAAAA,GAAgB,IAAA;AAAA;AAAA,IAEhBC,KAAAA;AAAAA,IACAC,QAAAA,GAAW,IAAA;AAAA,IACXC;AAAAA,GACF,GAAIV,OAAAA;AACJ,EAAA,MAAMW,eAAgC,CACpC;AAAA,IACEH,KAAAA;AAAAA,IACAI,IAAAA,EAAM,OAAA;AAAA,IACNC,KAAAA,EAAO,GAAA;AAAA,IACPJ,QAAAA;AAAAA,IACAK,KAAAA,EAAO;AAAA,MACLJ,WAAAA;AAAAA,MACAK,IAAAA,EAAM,UAAA;AAAA,MACNX,IAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC;AAAAA;AACF,GACD,CAAA;AAEH,EAAA,OAAOS,2BAAAA,CAAc;AAAA,IACnBb,KAAAA;AAAAA,IACAD,KAAAA;AAAAA,IACAS,YAAAA;AAAAA,IACAV,WAAAA,EAAa;AAAA,MACX,GAAGA,WAAAA;AAAAA,MACHgB,KAAAA,EAAOpB,IAAIqB,CAAAA,EAAE;AAAA,MACbC,cAAAA,EAAgB;AAAA;AAClB,GACD,CAAA;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-dialog.js","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\nimport { h, getCurrentInstance, render as vRender, inject, nextTick } from 'vue'\nimport type { ComponentInternalInstance } from 'vue'\nimport {\n ElDialog,\n ElButton,\n configProviderContextKey,\n ElConfigProvider,\n} from 'element-plus'\nimport type { VNode } from 'vue'\nimport type { DialogProps } from 'element-plus'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { prepareProps } from '@el-plus/utils/props'\nimport { useLocale } from '../use-locale'\n\nexport type DialogOptions = Partial<\n DialogProps & {\n instance: ComponentInternalInstance | null\n render: (props) => VNode\n scopedSlots: Record<string, (props) => VNode>\n class: string\n templatePromiseClass: string\n onCancel: (reject) => void\n onBeforeCancel: (reject) => void\n cancelText?: string\n onConfirm: (resolve) => void\n onBeforeConfirm: (resolve) => void\n confirmText?: string\n showFooter: boolean\n }\n>\nexport type ExpandDialogOptions = {\n title?: string\n dialogProps?: DialogOptions\n}\nconst bem = createNameSpace('dialog')\n\nexport const useDialog = (options: DialogOptions = {}) => {\n const { t } = useLocale()\n const {\n scopedSlots = {},\n instance,\n render,\n destroyOnClose,\n onConfirm,\n onBeforeConfirm,\n confirmText,\n onCancel,\n onBeforeCancel,\n cancelText,\n showFooter = true,\n templatePromiseClass,\n ...dialogProps\n } = options\n\n const Dialog = useTemplatePromise<any>({\n destroy: destroyOnClose,\n class: templatePromiseClass,\n render: (promiseOptions, ctx) => {\n // 插槽参数增加promiseOptions\n for (const key in scopedSlots) {\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\n }\n const { resolve, reject, isResolving } = promiseOptions\n const renderFunc = () => {\n return render\n ? render(promiseOptions)\n : ctx.slots.default?.(promiseOptions)\n }\n const slots: DialogOptions['scopedSlots'] = {}\n if (showFooter) {\n slots.footer = () => (\n <div class={bem.e('footer')}>\n {scopedSlots.footerPrepend?.(promiseOptions)}\n <ElButton\n size=\"default\"\n onClick={async () => {\n if (onBeforeCancel) {\n await onBeforeCancel(reject)\n }\n if (onCancel) {\n onCancel(reject)\n } else {\n reject('cancel')\n }\n }}\n >\n {cancelText || t('ep.dialog.cancel')}\n </ElButton>\n {scopedSlots.footerInner?.(promiseOptions)}\n <ElButton\n type=\"primary\"\n onClick={async () => {\n if (onBeforeConfirm) {\n await onBeforeConfirm(resolve)\n }\n if (onConfirm) {\n onConfirm(resolve)\n } else {\n resolve('confirm')\n }\n }}\n loading={isResolving}\n >\n {confirmText || t('ep.dialog.confirm')}\n </ElButton>\n {scopedSlots.footerAppend?.(promiseOptions)}\n </div>\n )\n }\n return (\n <ElDialog\n class={bem.b()}\n modelValue={true}\n {...{\n closeOnClickModal: false,\n closeOnPressEscape: false,\n title: t('ep.dialog.title'),\n center: false,\n // 'append-to-body': true,\n beforeClose: () => {\n reject('cancel')\n },\n ...prepareProps(dialogProps, ['modelValue']),\n }}\n v-slots={{\n ...slots,\n ...scopedSlots,\n }}\n >\n {renderFunc()}\n </ElDialog>\n )\n },\n })\n if (render) {\n // const app = createApp(component)\n // Object.assign(app._context, parentInstance.appContext)\n // app.mount(container)\n const container = document.createElement('div')\n // container.setAttribute('id', 'ep-dialog-container')\n const newInstance = instance || getCurrentInstance()\n const config = inject(configProviderContextKey) as any\n // const parentConfig =\n // newInstance?.provides[configProviderContextKey] ||\n // newInstance?.appContext?.provides[configProviderContextKey]\n // const vnode = h(Dialog)\n const vnode = h(\n ElConfigProvider,\n { locale: config?.locale },\n { default: () => h(Dialog) },\n )\n if (newInstance && newInstance.appContext) {\n // 强制继承父应用的全局组件、指令和插件\n vnode.appContext = newInstance.appContext\n }\n nextTick(() => {\n vRender(vnode, container)\n document.body.appendChild(container)\n })\n }\n\n return Dialog\n}\n"],"names":["bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onBeforeConfirm","confirmText","onCancel","onBeforeCancel","cancelText","showFooter","templatePromiseClass","dialogProps","Dialog","useTemplatePromise","destroy","class","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_createVNode","e","footerPrepend","ElButton","footerInner","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","nextTick","vRender","body","appendChild"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-dialog.js","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\r\nimport { h, getCurrentInstance, render as vRender, inject, nextTick } from 'vue'\r\nimport type { ComponentInternalInstance } from 'vue'\r\nimport {\r\n ElDialog,\r\n ElButton,\r\n configProviderContextKey,\r\n ElConfigProvider,\r\n} from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport type { DialogProps } from 'element-plus'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { prepareProps } from '@el-plus/utils/props'\r\nimport { useLocale } from '../use-locale'\r\n\r\nexport type DialogOptions = Partial<\r\n DialogProps & {\r\n instance: ComponentInternalInstance | null\r\n render: (props) => VNode\r\n scopedSlots: Record<string, (props) => VNode>\r\n class: string\r\n templatePromiseClass: string\r\n onCancel: (reject) => void\r\n onBeforeCancel: (reject) => void\r\n cancelText?: string\r\n onConfirm: (resolve) => void\r\n onBeforeConfirm: (resolve) => void\r\n confirmText?: string\r\n showFooter: boolean\r\n }\r\n>\r\nexport type ExpandDialogOptions = {\r\n title?: string\r\n dialogProps?: DialogOptions\r\n}\r\nconst bem = createNameSpace('dialog')\r\n\r\nexport const useDialog = (options: DialogOptions = {}) => {\r\n const { t } = useLocale()\r\n const {\r\n scopedSlots = {},\r\n instance,\r\n render,\r\n destroyOnClose,\r\n onConfirm,\r\n onBeforeConfirm,\r\n confirmText,\r\n onCancel,\r\n onBeforeCancel,\r\n cancelText,\r\n showFooter = true,\r\n templatePromiseClass,\r\n ...dialogProps\r\n } = options\r\n\r\n const Dialog = useTemplatePromise<any>({\r\n destroy: destroyOnClose,\r\n class: templatePromiseClass,\r\n render: (promiseOptions, ctx) => {\r\n // 插槽参数增加promiseOptions\r\n for (const key in scopedSlots) {\r\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\r\n }\r\n const { resolve, reject, isResolving } = promiseOptions\r\n const renderFunc = () => {\r\n return render\r\n ? render(promiseOptions)\r\n : ctx.slots.default?.(promiseOptions)\r\n }\r\n const slots: DialogOptions['scopedSlots'] = {}\r\n if (showFooter) {\r\n slots.footer = () => (\r\n <div class={bem.e('footer')}>\r\n {scopedSlots.footerPrepend?.(promiseOptions)}\r\n <ElButton\r\n size=\"default\"\r\n onClick={async () => {\r\n if (onBeforeCancel) {\r\n await onBeforeCancel(reject)\r\n }\r\n if (onCancel) {\r\n onCancel(reject)\r\n } else {\r\n reject('cancel')\r\n }\r\n }}\r\n >\r\n {cancelText || t('ep.dialog.cancel')}\r\n </ElButton>\r\n {scopedSlots.footerInner?.(promiseOptions)}\r\n <ElButton\r\n type=\"primary\"\r\n onClick={async () => {\r\n if (onBeforeConfirm) {\r\n await onBeforeConfirm(resolve)\r\n }\r\n if (onConfirm) {\r\n onConfirm(resolve)\r\n } else {\r\n resolve('confirm')\r\n }\r\n }}\r\n loading={isResolving}\r\n >\r\n {confirmText || t('ep.dialog.confirm')}\r\n </ElButton>\r\n {scopedSlots.footerAppend?.(promiseOptions)}\r\n </div>\r\n )\r\n }\r\n return (\r\n <ElDialog\r\n class={bem.b()}\r\n modelValue={true}\r\n {...{\r\n closeOnClickModal: false,\r\n closeOnPressEscape: false,\r\n title: t('ep.dialog.title'),\r\n center: false,\r\n // 'append-to-body': true,\r\n beforeClose: () => {\r\n reject('cancel')\r\n },\r\n ...prepareProps(dialogProps, ['modelValue']),\r\n }}\r\n v-slots={{\r\n ...slots,\r\n ...scopedSlots,\r\n }}\r\n >\r\n {renderFunc()}\r\n </ElDialog>\r\n )\r\n },\r\n })\r\n if (render) {\r\n // const app = createApp(component)\r\n // Object.assign(app._context, parentInstance.appContext)\r\n // app.mount(container)\r\n const container = document.createElement('div')\r\n // container.setAttribute('id', 'ep-dialog-container')\r\n const newInstance = instance || getCurrentInstance()\r\n const config = inject(configProviderContextKey) as any\r\n // const parentConfig =\r\n // newInstance?.provides[configProviderContextKey] ||\r\n // newInstance?.appContext?.provides[configProviderContextKey]\r\n // const vnode = h(Dialog)\r\n const vnode = h(\r\n ElConfigProvider,\r\n { locale: config?.locale },\r\n { default: () => h(Dialog) },\r\n )\r\n if (newInstance && newInstance.appContext) {\r\n // 强制继承父应用的全局组件、指令和插件\r\n vnode.appContext = newInstance.appContext\r\n }\r\n nextTick(() => {\r\n vRender(vnode, container)\r\n document.body.appendChild(container)\r\n })\r\n }\r\n\r\n return Dialog\r\n}\r\n"],"names":["bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onBeforeConfirm","confirmText","onCancel","onBeforeCancel","cancelText","showFooter","templatePromiseClass","dialogProps","Dialog","useTemplatePromise","destroy","class","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_createVNode","e","footerPrepend","ElButton","footerInner","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","nextTick","vRender","body","appendChild"],"mappings":"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"}
|