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":"search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\nimport { apiProps } from '@el-plus/utils/props'\nimport { formProps } from '@el-plus/components/form'\nimport { buttonsProps } from '@el-plus/components/buttons'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport { tableProps } from '@el-plus/components/table'\nimport { customColumnProps } from '@el-plus/components/custom-column'\n\nexport const searchListPageProps = {\n ...apiProps,\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n customColumnApi: {\n ...customColumnProps.api,\n },\n customColumnSaveApi: {\n ...customColumnProps.saveApi,\n },\n showOperationColumn: Boolean, // 是否显示操作列\n // 表单列表\n formItemList: {\n ...formProps.formItemList,\n },\n // 左侧按钮\n leftButtons: {\n type: Array as PropType<ButtonProps<any[]>[]>,\n default: () => [],\n },\n // 表格列\n columns: {\n ...tableProps.columns,\n },\n // 列最小宽度\n minWidth: {\n ...tableProps.minWidth,\n },\n // 操作列宽度\n actionColWidth: {\n ...tableProps.actionColWidth,\n },\n // 操作列\n actionButtons: {\n ...tableProps.actionButtons,\n },\n // 格式化列\n formatColumns: {\n ...tableProps.formatColumns,\n },\n showSelectionCol: Boolean,\n showSingleSelectionCol: Boolean,\n showIndexCol: {\n type: Boolean,\n default: true,\n },\n add: Function, // 新增\n clearBefore: Function, // 清空前钩子,返回 false 阻止清空\n // templateDownloadApi: String, // 模板下载\n // importApi: String, // 导入\n // exportApi: String, // 导出\n // 表格额外距离\n offsetTop: {\n type: Number,\n default: 0,\n },\n formData: {\n type: Object,\n default: () => ({}),\n },\n tableProps: Object,\n formProps: Object,\n buttonsProps: Object,\n name: String, // 权限前缀\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n} as const\nexport type SearchListPageProps = ExtractPublicPropTypes<\n typeof searchListPageProps\n>\nexport const searchListPageEmits = {\n // 点击「清空」按钮后触发\n clear: () => true,\n}\nexport type SearchListPageEmits = typeof searchListPageEmits\n"],"names":[],"mappings":";;;;;AAQO,MAAM,mBAAA,GAAsB;AAAA,EACjC,GAAG,QAAA;AAAA;AAAA,EAEH,kBAAA,EAAoB;AAAA,IAClB,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB,OAAA;AAAA;AAAA;AAAA,EAErB,YAAA,EAAc;AAAA,IACZ,GAAG,SAAA,CAAU;AAAA,GACf;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA,EACA,gBAAA,EAAkB,OAAA;AAAA,EAClB,sBAAA,EAAwB,OAAA;AAAA,EACxB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,QAAA;AAAA;AAAA,EACL,WAAA,EAAa,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,UAAA,EAAY,MAAA;AAAA,EACZ,SAAA,EAAW,MAAA;AAAA,EACX,YAAA,EAAc,MAAA;AAAA,EACd,IAAA,EAAM,MAAA;AAAA;AAAA;AAAA,EAEN,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAIO,MAAM,mBAAA,GAAsB;AAAA;AAAA,EAEjC,OAAO,MAAM;AACf;;;;"}
|
|
1
|
+
{"version":3,"file":"search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\r\nimport { apiProps } from '@el-plus/utils/props'\r\nimport { formProps } from '@el-plus/components/form'\r\nimport { buttonsProps } from '@el-plus/components/buttons'\r\nimport type { ButtonProps } from '@el-plus/components/buttons'\r\nimport { tableProps } from '@el-plus/components/table'\r\nimport { customColumnProps } from '@el-plus/components/custom-column'\r\n\r\nexport const searchListPageProps = {\r\n ...apiProps,\r\n // 自定义列模块\r\n customColumnModule: {\r\n ...customColumnProps.module,\r\n },\r\n customColumnApi: {\r\n ...customColumnProps.api,\r\n },\r\n customColumnSaveApi: {\r\n ...customColumnProps.saveApi,\r\n },\r\n showOperationColumn: Boolean, // 是否显示操作列\r\n // 表单列表\r\n formItemList: {\r\n ...formProps.formItemList,\r\n },\r\n // 左侧按钮\r\n leftButtons: {\r\n type: Array as PropType<ButtonProps<any[]>[]>,\r\n default: () => [],\r\n },\r\n // 表格列\r\n columns: {\r\n ...tableProps.columns,\r\n },\r\n // 列最小宽度\r\n minWidth: {\r\n ...tableProps.minWidth,\r\n },\r\n // 操作列宽度\r\n actionColWidth: {\r\n ...tableProps.actionColWidth,\r\n },\r\n // 操作列\r\n actionButtons: {\r\n ...tableProps.actionButtons,\r\n },\r\n // 格式化列\r\n formatColumns: {\r\n ...tableProps.formatColumns,\r\n },\r\n showSelectionCol: Boolean,\r\n showSingleSelectionCol: Boolean,\r\n showIndexCol: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n add: Function, // 新增\r\n clearBefore: Function, // 清空前钩子,返回 false 阻止清空\r\n // templateDownloadApi: String, // 模板下载\r\n // importApi: String, // 导入\r\n // exportApi: String, // 导出\r\n // 表格额外距离\r\n offsetTop: {\r\n type: Number,\r\n default: 0,\r\n },\r\n formData: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n tableProps: Object,\r\n formProps: Object,\r\n buttonsProps: Object,\r\n name: String, // 权限前缀\r\n // 是否初始化加载数据\r\n isInitSearch: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n} as const\r\nexport type SearchListPageProps = ExtractPublicPropTypes<\r\n typeof searchListPageProps\r\n>\r\nexport const searchListPageEmits = {\r\n // 点击「清空」按钮后触发\r\n clear: () => true,\r\n}\r\nexport type SearchListPageEmits = typeof searchListPageEmits\r\n"],"names":[],"mappings":";;;;;AAQO,MAAM,mBAAA,GAAsB;AAAA,EACjC,GAAG,QAAA;AAAA;AAAA,EAEH,kBAAA,EAAoB;AAAA,IAClB,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB,OAAA;AAAA;AAAA;AAAA,EAErB,YAAA,EAAc;AAAA,IACZ,GAAG,SAAA,CAAU;AAAA,GACf;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA,EACA,gBAAA,EAAkB,OAAA;AAAA,EAClB,sBAAA,EAAwB,OAAA;AAAA,EACxB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,QAAA;AAAA;AAAA,EACL,WAAA,EAAa,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,UAAA,EAAY,MAAA;AAAA,EACZ,SAAA,EAAW,MAAA;AAAA,EACX,YAAA,EAAc,MAAA;AAAA,EACd,IAAA,EAAM,MAAA;AAAA;AAAA;AAAA,EAEN,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAIO,MAAM,mBAAA,GAAsB;AAAA;AAAA,EAEjC,OAAO,MAAM;AACf;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-list-page.vue2.mjs","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.vue"],"sourcesContent":["<template>\n <div\n ref=\"rootRef\"\n :class=\"[bem.b(), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <div ref=\"topRef\">\n <EpForm v-bind=\"formProps\" />\n </div>\n <div ref=\"middleRef\" :class=\"bem.e('middle')\">\n <div :class=\"bem.e('middle-left')\">\n <EpButtons v-bind=\"buttonsProps\" />\n </div>\n <div :class=\"bem.e('middle-right')\">\n <EpButtons :list=\"searchButtons\" />\n </div>\n </div>\n <slot name=\"tableBefore\"></slot>\n <EpTable v-bind=\"tableProps\" :before-search=\"beforeSearch\" />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { nextTick, ref } from 'vue'\nimport EpForm from '@el-plus/components/form'\nimport EpTable from '@el-plus/components/table'\nimport EpButtons from '@el-plus/components/buttons'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { searchListPageProps, searchListPageEmits } from './search-list-page'\nimport { useSearchListPage } from './use-search-list-page'\ndefineOptions({ name: 'EpSearchListPage' })\nconst bem = createNameSpace('search-list-page')\nconst props = defineProps(searchListPageProps)\nconst emit = defineEmits(searchListPageEmits)\n\nconst {\n formProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n tableProps,\n beforeSearch,\n} = useSearchListPage(props, {}, emit)\n\ndefineExpose({\n search,\n reset,\n tableRef,\n formRef,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_createVNode","_renderSlot","_mergeProps"],"mappings":";;;;;;;;;;;;;;;AAsCA,IAAA,MAAM,GAAA,GAAM,gBAAgB,kBAAkB,CAAA;AAC9C,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,IAAA,GAAO,MAAA;AAEb,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF,GAAI,iBAAA,CAAkB,KAAA,EAAO,IAAI,IAAI,CAAA;AAErC,IAAA,QAAA,CAAa;AAAA,MACX,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,CAAA;;0BA1DCA,kBAAA,CAoBM,KAAA,EAAA;AAAA,QAnBJ,GAAA,EAAI,SAAA;AAAA,QACH,KAAA,EAAKC,cAAA,CAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAClC,OAAKC,cAAA,CAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"search-list-page.vue2.mjs","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.vue"],"sourcesContent":["<template>\r\n <div\r\n ref=\"rootRef\"\r\n :class=\"[bem.b(), prepareClassNames()]\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n >\r\n <div ref=\"topRef\">\r\n <EpForm v-bind=\"formProps\" />\r\n </div>\r\n <div ref=\"middleRef\" :class=\"bem.e('middle')\">\r\n <div :class=\"bem.e('middle-left')\">\r\n <EpButtons v-bind=\"buttonsProps\" />\r\n </div>\r\n <div :class=\"bem.e('middle-right')\">\r\n <EpButtons :list=\"searchButtons\" />\r\n </div>\r\n </div>\r\n <slot name=\"tableBefore\"></slot>\r\n <EpTable v-bind=\"tableProps\" :before-search=\"beforeSearch\" />\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { nextTick, ref } from 'vue'\r\nimport EpForm from '@el-plus/components/form'\r\nimport EpTable from '@el-plus/components/table'\r\nimport EpButtons from '@el-plus/components/buttons'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\nimport { searchListPageProps, searchListPageEmits } from './search-list-page'\r\nimport { useSearchListPage } from './use-search-list-page'\r\ndefineOptions({ name: 'EpSearchListPage' })\r\nconst bem = createNameSpace('search-list-page')\r\nconst props = defineProps(searchListPageProps)\r\nconst emit = defineEmits(searchListPageEmits)\r\n\r\nconst {\r\n formProps,\r\n buttonsProps,\r\n searchButtons,\r\n search,\r\n reset,\r\n tableRef,\r\n formRef,\r\n tableProps,\r\n beforeSearch,\r\n} = useSearchListPage(props, {}, emit)\r\n\r\ndefineExpose({\r\n search,\r\n reset,\r\n tableRef,\r\n formRef,\r\n})\r\n</script>\r\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_createVNode","_renderSlot","_mergeProps"],"mappings":";;;;;;;;;;;;;;;AAsCA,IAAA,MAAM,GAAA,GAAM,gBAAgB,kBAAkB,CAAA;AAC9C,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,IAAA,GAAO,MAAA;AAEb,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF,GAAI,iBAAA,CAAkB,KAAA,EAAO,IAAI,IAAI,CAAA;AAErC,IAAA,QAAA,CAAa;AAAA,MACX,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,CAAA;;0BA1DCA,kBAAA,CAoBM,KAAA,EAAA;AAAA,QAnBJ,GAAA,EAAI,SAAA;AAAA,QACH,KAAA,EAAKC,cAAA,CAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAClC,OAAKC,cAAA,CAAA;AAAA,aAAcD,KAAA,CAAA,aAAA,CAAA;AAAa;;QAIjCE,kBAAA,CAEM,KAAA,EAAA,EAFD,GAAA,EAAI,UAAQ,EAAA;AAAA,UACfC,WAAA,CAA6BH,KAAA,4CAAbA,KAAA,CAAA,SAAA,CAAS,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AAAA;QAE3BE,mBAOM,KAAA,EAAA;AAAA,UAPD,GAAA,EAAI,WAAA;AAAA,UAAa,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA;AAAA;UAChCE,mBAEM,KAAA,EAAA;AAAA,YAFA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,aAAA,CAAA;AAAA;YAChBG,WAAA,CAAmCH,KAAA,+CAAhBA,KAAA,CAAA,YAAA,CAAY,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AAAA;UAEjCE,mBAEM,KAAA,EAAA;AAAA,YAFA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,cAAA,CAAA;AAAA;YAChBG,WAAA,CAAmCH,KAAA,CAAA,SAAA,CAAA,EAAA,EAAvB,IAAA,EAAMA,KAAA,CAAA,aAAA,CAAA,EAAa,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA;AAAA;;QAGnCI,UAAA,CAAgC,IAAA,CAAA,MAAA,EAAA,aAAA,CAAA;AAAA,QAChCD,YAA6DH,KAAA,WAA7DK,UAAA,CAA6DL,KAAA,cAAlC,EAAG,iBAAeA,KAAA,CAAA,YAAA,GAAY,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef, nextTick } from 'vue'\nimport type { SetupContext } from 'vue'\nimport type { SearchListPageProps, SearchListPageEmits } from './search-list-page'\nimport type { ButtonsProps, ButtonProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nconst getAvailableHeight = (el: HTMLElement): number => {\n const elRect = el.getBoundingClientRect()\n let parent = el.parentElement\n while (parent) {\n const style = getComputedStyle(parent)\n const height = style.height\n if (height && height !== 'auto' && !height.endsWith('%')) {\n const parentRect = parent.getBoundingClientRect()\n const paddingBottom = parseFloat(style.paddingBottom) || 0\n return parentRect.bottom - elRect.top - paddingBottom\n }\n if (parent === document.documentElement || parent === document.body) {\n break\n }\n parent = parent.parentElement\n }\n return window.innerHeight - elRect.top\n}\n\nexport const useSearchListPage = (\n props: SearchListPageProps,\n config = {},\n emit?: SetupContext<SearchListPageEmits>['emit'],\n) => {\n const rootRef = useTemplateRef<HTMLDivElement>('rootRef')\n const topRef = useTemplateRef<HTMLDivElement>('topRef')\n const middleRef = useTemplateRef<HTMLDivElement>('middleRef')\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef, topRef, middleRef)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n emit,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: async () => {\n if (!formRef.value) {\n await nextTick()\n }\n await validate()\n }\n }\n}\nconst useTable = (props: SearchListPageProps, config, rootRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>, topRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>, middleRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(0)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqAfter: props.reqAfter,\n reqBefore: props.reqBefore,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n customColumnApi: props.customColumnApi,\n customColumnSaveApi: props.customColumnSaveApi,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = topRef.value?.offsetHeight ?? 0\n const middleHeight = middleRef.value?.offsetHeight ?? 0\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n const paginationEl = rootRef.value?.querySelector('.el-pagination') as HTMLElement | null\n paginationHeight = paginationEl ? paginationEl.offsetHeight + 12 : 0\n }\n const containerHeight = rootRef.value\n ? getAvailableHeight(rootRef.value)\n : window.innerHeight\n\n tableHeight.value =\n containerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef, emit },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonProps<any[]>[] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add || !!props.leftButtons?.some((item) => item.prop === 'add')\n },\n type: 'primary',\n onClick: () => {\n props.add?.()\n },\n },\n // {\n // name: t('ep.searchListPage.templateDownload'),\n // prop: 'templateDownload',\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n // show: !!props.templateDownloadApi,\n // },\n // {\n // name: t('ep.searchListPage.import'),\n // prop: 'import',\n // permission: props.name ? `${props.name}:IMPORT` : '',\n // show: !!props.importApi,\n // },\n // {\n // name: t('ep.searchListPage.export'),\n // prop: 'export',\n // permission: props.name ? `${props.name}:EXPORT` : '',\n // show: !!props.exportApi,\n // },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.columnSettings'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item: ButtonProps<any[]>) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n if (item.confirmBefore) {\n const confirmBeforeFn = item.confirmBefore\n item.confirmBefore = async () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n await confirmBeforeFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n // 如果isInitSearch为true+reserveSelection为true,清空选中状态\n if (isInitSearch && props.tableProps?.reserveSelection) {\n tableRef.value.elTableRef.clearSelection()\n }\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n // 清空前钩子,返回 false 阻止清空\n if (props.clearBefore && props.clearBefore() === false) return\n resetFields()\n search(true)\n emit?.('clear')\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["props"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef, nextTick } from 'vue'\r\nimport type { SetupContext } from 'vue'\r\nimport type { SearchListPageProps, SearchListPageEmits } from './search-list-page'\r\nimport type { ButtonsProps, ButtonProps } from '@el-plus/components/buttons'\r\nimport type { FormInstance } from '@el-plus/components/form'\r\nimport type { TableInstance } from '@el-plus/components/table'\r\nimport type { FormItemProp } from 'element-plus'\r\nimport { mergeListByKey } from '@el-plus/utils'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\n\r\nconst getAvailableHeight = (el: HTMLElement): number => {\r\n const elRect = el.getBoundingClientRect()\r\n let parent = el.parentElement\r\n while (parent) {\r\n const style = getComputedStyle(parent)\r\n const height = style.height\r\n if (height && height !== 'auto' && !height.endsWith('%')) {\r\n const parentRect = parent.getBoundingClientRect()\r\n const paddingBottom = parseFloat(style.paddingBottom) || 0\r\n return parentRect.bottom - elRect.top - paddingBottom\r\n }\r\n if (parent === document.documentElement || parent === document.body) {\r\n break\r\n }\r\n parent = parent.parentElement\r\n }\r\n return window.innerHeight - elRect.top\r\n}\r\n\r\nexport const useSearchListPage = (\r\n props: SearchListPageProps,\r\n config = {},\r\n emit?: SetupContext<SearchListPageEmits>['emit'],\r\n) => {\r\n const rootRef = useTemplateRef<HTMLDivElement>('rootRef')\r\n const topRef = useTemplateRef<HTMLDivElement>('topRef')\r\n const middleRef = useTemplateRef<HTMLDivElement>('middleRef')\r\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef, topRef, middleRef)\r\n const { formProps, validate, resetFields, formRef } = useForm(props, {\r\n calcTableHeight,\r\n })\r\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\r\n validate,\r\n resetFields,\r\n tableRef,\r\n emit,\r\n })\r\n return {\r\n formProps,\r\n tableProps,\r\n buttonsProps,\r\n searchButtons,\r\n search,\r\n reset,\r\n tableRef,\r\n formRef,\r\n beforeSearch: async () => {\r\n if (!formRef.value) {\r\n await nextTick()\r\n }\r\n await validate()\r\n }\r\n }\r\n}\r\nconst useTable = (props: SearchListPageProps, config, rootRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>, topRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>, middleRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>) => {\r\n const instanceName = 'tableRef'\r\n const tableRef = useTemplateRef<TableInstance>(instanceName)\r\n const tableHeight = ref(0)\r\n const tableProps = computed(() => {\r\n return {\r\n ref: instanceName,\r\n columns: props.columns,\r\n showPagination: true,\r\n height: tableHeight.value,\r\n showIndexCol: props.showIndexCol,\r\n showSelectionCol: props.showSelectionCol,\r\n showSingleSelectionCol: props.showSingleSelectionCol,\r\n actionButtons: props.actionButtons,\r\n formatColumns: props.formatColumns,\r\n api: props.api,\r\n reqAfter: props.reqAfter,\r\n reqBefore: props.reqBefore,\r\n reqData: props.formData,\r\n customColumnModule: props.customColumnModule,\r\n customColumnApi: props.customColumnApi,\r\n customColumnSaveApi: props.customColumnSaveApi,\r\n minWidth: props.minWidth,\r\n actionColWidth: props.actionColWidth,\r\n ...props.tableProps,\r\n }\r\n })\r\n const calcTableHeight = () => {\r\n setTimeout(() => {\r\n const topHeight = topRef.value?.offsetHeight ?? 0\r\n const middleHeight = middleRef.value?.offsetHeight ?? 0\r\n let paginationHeight = 0\r\n if (tableProps.value.showPagination) {\r\n const paginationEl = rootRef.value?.querySelector('.el-pagination') as HTMLElement | null\r\n paginationHeight = paginationEl ? paginationEl.offsetHeight + 12 : 0\r\n }\r\n const containerHeight = rootRef.value\r\n ? getAvailableHeight(rootRef.value)\r\n : window.innerHeight\r\n\r\n tableHeight.value =\r\n containerHeight -\r\n topHeight -\r\n middleHeight -\r\n paginationHeight -\r\n props.offsetTop!\r\n }, 0)\r\n }\r\n\r\n onMounted(calcTableHeight)\r\n return {\r\n tableRef,\r\n tableProps,\r\n calcTableHeight,\r\n }\r\n}\r\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\r\n const instanceName = 'formRef'\r\n const formRef = useTemplateRef<FormInstance>(instanceName)\r\n const formProps = computed(() => {\r\n return {\r\n ref: instanceName,\r\n formItemList: props.formItemList,\r\n isShowFold: true,\r\n modelValue: props.formData,\r\n ...props.formProps,\r\n onToggleStatus: () => {\r\n calcTableHeight()\r\n },\r\n }\r\n })\r\n // 校验\r\n const validate = () => {\r\n return formRef.value!.validate()\r\n }\r\n // 重置校验\r\n const resetFields = (props: FormItemProp) => {\r\n return formRef.value!.resetFields(props)\r\n }\r\n // 清理某个字段的表单验证信息\r\n const clearValidate = (props: FormItemProp) => {\r\n return formRef.value!.clearValidate(props)\r\n }\r\n return {\r\n formProps,\r\n formRef,\r\n validate,\r\n resetFields,\r\n clearValidate,\r\n }\r\n}\r\nconst useButtons = (\r\n props: SearchListPageProps,\r\n { validate, resetFields, tableRef, emit },\r\n) => {\r\n const { t } = useLocale()\r\n const defaultButtons: ButtonProps<any[]>[] = [\r\n {\r\n name: t('ep.searchListPage.add'),\r\n prop: 'add',\r\n permission: props.name ? `${props.name}:ADD` : '',\r\n show: () => {\r\n return !!props.add || !!props.leftButtons?.some((item) => item.prop === 'add')\r\n },\r\n type: 'primary',\r\n onClick: () => {\r\n props.add?.()\r\n },\r\n },\r\n // {\r\n // name: t('ep.searchListPage.templateDownload'),\r\n // prop: 'templateDownload',\r\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\r\n // show: !!props.templateDownloadApi,\r\n // },\r\n // {\r\n // name: t('ep.searchListPage.import'),\r\n // prop: 'import',\r\n // permission: props.name ? `${props.name}:IMPORT` : '',\r\n // show: !!props.importApi,\r\n // },\r\n // {\r\n // name: t('ep.searchListPage.export'),\r\n // prop: 'export',\r\n // permission: props.name ? `${props.name}:EXPORT` : '',\r\n // show: !!props.exportApi,\r\n // },\r\n ]\r\n const list = mergeListByKey(defaultButtons, props.leftButtons)\r\n if (props.customColumnModule) {\r\n list.push({\r\n name: t('ep.customColumn.columnSettings'),\r\n prop: 'customColumn',\r\n type: 'primary',\r\n onClick: () => {\r\n tableRef.value.openCustomColumnDialog()\r\n },\r\n })\r\n }\r\n list.forEach((item: ButtonProps<any[]>) => {\r\n if (item.onClick) {\r\n const clickFn = item.onClick\r\n item.onClick = () => {\r\n const rows = tableRef.value.elTableRef.getSelectionRows()\r\n clickFn(rows)\r\n }\r\n }\r\n if (item.confirmBefore) {\r\n const confirmBeforeFn = item.confirmBefore\r\n item.confirmBefore = async () => {\r\n const rows = tableRef.value.elTableRef.getSelectionRows()\r\n await confirmBeforeFn(rows)\r\n }\r\n }\r\n })\r\n\r\n const buttonsProps = computed(() => {\r\n return {\r\n list,\r\n ...props.buttonsProps,\r\n }\r\n })\r\n // 搜索\r\n const search = async (isInitSearch = false) => {\r\n // await validate()\r\n // 如果isInitSearch为true+reserveSelection为true,清空选中状态\r\n if (isInitSearch && props.tableProps?.reserveSelection) {\r\n tableRef.value.elTableRef.clearSelection()\r\n }\r\n tableRef.value.search(isInitSearch)\r\n }\r\n // 清空\r\n const reset = async () => {\r\n // 清空前钩子,返回 false 阻止清空\r\n if (props.clearBefore && props.clearBefore() === false) return\r\n resetFields()\r\n search(true)\r\n emit?.('clear')\r\n }\r\n const searchButtons: ButtonsProps['list'] = [\r\n {\r\n name: t('ep.searchListPage.search'),\r\n type: 'primary',\r\n onClick: search.bind(null, true),\r\n },\r\n {\r\n name: t('ep.searchListPage.clear'),\r\n onClick: reset,\r\n },\r\n ]\r\n return {\r\n buttonsProps,\r\n searchButtons,\r\n search,\r\n reset,\r\n }\r\n}\r\n"],"names":["props"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/select/index.ts"],"sourcesContent":["import Select from './src/select.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpSelect = withInstall(Select)\nexport default EpSelect\nexport * from './src/select'\n"],"names":["Select"],"mappings":";;;;AAGO,MAAM,QAAA,GAAW,YAAYA,SAAM;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/select/index.ts"],"sourcesContent":["import Select from './src/select.vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpSelect = withInstall(Select)\r\nexport default EpSelect\r\nexport * from './src/select'\r\n"],"names":["Select"],"mappings":";;;;AAGO,MAAM,QAAA,GAAW,YAAYA,SAAM;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n selectProps as elSelectProps,\n selectEmits as elSelectEmits,\n type SelectProps as ElSelectProps,\n} from 'element-plus'\nimport { apiProps } from '@el-plus/utils/props'\n\nexport type SelectOption = NonNullable<ElSelectProps['options']>[number]\nexport const inheritSelectProps = {\n ...elSelectProps,\n clearable: {\n ...elSelectProps.clearable,\n default: true,\n },\n} as const\nconst expandSelectProps = {\n ...apiProps,\n // 回显文本:异步 value 到达时,用 desc 构造占位项(只读)\n desc: {\n type: String,\n default: '',\n },\n disabledOption: {\n type: Function as PropType<(item: SelectOption) => boolean>,\n default: () => false,\n },\n labelKey: {\n type: String,\n default: 'label',\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n formatLabel: {\n type: Function as PropType<(item: SelectOption) => string>,\n },\n // api模式生效\n lazy: Boolean,\n // option是否同时展示code label, 默认值展示label, 传string展示指定字段\n codeInLabel: {\n type: [String, Boolean] as PropType<boolean | string>,\n },\n}\nexport const selectProps = {\n ...inheritSelectProps,\n ...expandSelectProps,\n} as const\nexport const expandSelectPropsKeys = Object.keys(expandSelectProps)\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\nexport type SelectPropsPublic = ExtractPublicPropTypes<typeof selectProps>\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const selectEmits = {\n ...elSelectEmits,\n change: (\n value: SelectProps['modelValue'],\n item?: SelectOption | SelectOption[],\n ) => true,\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\nexport type SelectEmits = typeof selectEmits\nexport const selectEmitsKeys = Object.keys(selectEmits)\n"],"names":["elSelectProps","elSelectEmits"],"mappings":";;;AASO,MAAM,kBAAA,GAAqB;AAAA,EAChC,GAAGA,aAAA;AAAA,EACH,SAAA,EAAW;AAAA,IACT,GAAGA,aAAA,CAAc,SAAA;AAAA,IACjB,OAAA,EAAS;AAAA;AAEb;AACA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,QAAA;AAAA;AAAA,EAEH,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,GACjB;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,IAAA,EAAM,OAAA;AAAA;AAAA,EAEN,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE1B,CAAA;AACO,MAAM,WAAA,GAAc;AAAA,EACzB,GAAG,kBAAA;AAAA,EACH,GAAG;AACL;AACO,MAAM,qBAAA,GAAwB,MAAA,CAAO,IAAA,CAAK,iBAAiB;AAM3D,MAAM,WAAA,GAAc;AAAA,EACzB,GAAGC,aAAA;AAAA,EACH,MAAA,EAAQ,CACN,KAAA,EACA,IAAA,KACG;AACP;AAGO,MAAM,eAAA,GAAkB,MAAA,CAAO,IAAA,CAAK,WAAW;;;;"}
|
|
1
|
+
{"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\r\nimport {\r\n selectProps as elSelectProps,\r\n selectEmits as elSelectEmits,\r\n type SelectProps as ElSelectProps,\r\n} from 'element-plus'\r\nimport { apiProps } from '@el-plus/utils/props'\r\n\r\nexport type SelectOption = NonNullable<ElSelectProps['options']>[number]\r\nexport const inheritSelectProps = {\r\n ...elSelectProps,\r\n clearable: {\r\n ...elSelectProps.clearable,\r\n default: true,\r\n },\r\n} as const\r\nconst expandSelectProps = {\r\n ...apiProps,\r\n // 回显文本:异步 value 到达时,用 desc 构造占位项(只读)\r\n desc: {\r\n type: String,\r\n default: '',\r\n },\r\n disabledOption: {\r\n type: Function as PropType<(item: SelectOption) => boolean>,\r\n default: () => false,\r\n },\r\n labelKey: {\r\n type: String,\r\n default: 'label',\r\n },\r\n valueKey: {\r\n type: String,\r\n default: 'value',\r\n },\r\n formatLabel: {\r\n type: Function as PropType<(item: SelectOption) => string>,\r\n },\r\n // api模式生效\r\n lazy: Boolean,\r\n // option是否同时展示code label, 默认值展示label, 传string展示指定字段\r\n codeInLabel: {\r\n type: [String, Boolean] as PropType<boolean | string>,\r\n },\r\n}\r\nexport const selectProps = {\r\n ...inheritSelectProps,\r\n ...expandSelectProps,\r\n} as const\r\nexport const expandSelectPropsKeys = Object.keys(expandSelectProps)\r\n\r\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\r\nexport type SelectPropsPublic = ExtractPublicPropTypes<typeof selectProps>\r\n\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nexport const selectEmits = {\r\n ...elSelectEmits,\r\n change: (\r\n value: SelectProps['modelValue'],\r\n item?: SelectOption | SelectOption[],\r\n ) => true,\r\n}\r\n/* eslint-enable @typescript-eslint/no-unused-vars */\r\nexport type SelectEmits = typeof selectEmits\r\nexport const selectEmitsKeys = Object.keys(selectEmits)\r\n"],"names":["elSelectProps","elSelectEmits"],"mappings":";;;AASO,MAAM,kBAAA,GAAqB;AAAA,EAChC,GAAGA,aAAA;AAAA,EACH,SAAA,EAAW;AAAA,IACT,GAAGA,aAAA,CAAc,SAAA;AAAA,IACjB,OAAA,EAAS;AAAA;AAEb;AACA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,QAAA;AAAA;AAAA,EAEH,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,GACjB;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,IAAA,EAAM,OAAA;AAAA;AAAA,EAEN,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE1B,CAAA;AACO,MAAM,WAAA,GAAc;AAAA,EACzB,GAAG,kBAAA;AAAA,EACH,GAAG;AACL;AACO,MAAM,qBAAA,GAAwB,MAAA,CAAO,IAAA,CAAK,iBAAiB;AAM3D,MAAM,WAAA,GAAc;AAAA,EACzB,GAAGC,aAAA;AAAA,EACH,MAAA,EAAQ,CACN,KAAA,EACA,IAAA,KACG;AACP;AAGO,MAAM,eAAA,GAAkB,MAAA,CAAO,IAAA,CAAK,WAAW;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <el-select\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n v-bind=\"customAttrs\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-option\n v-for=\"item in customOptions\"\n :key=\"item[valueKey]\"\n :class=\"bem.e('option')\"\n :label=\"\n item.formatLabel\n ? item.formatLabel(item)\n : formatLabel\n ? formatLabel(item)\n : item[labelKey]\n \"\n :value=\"item[valueKey]\"\n :disabled=\"disabledOption(item)\"\n >\n <slot name=\"option\" :item=\"item\">\n <template v-if=\"codeInLabel || codeInLabel === ''\">\n <span style=\"float: left\">{{ item[labelKey] }}</span>\n <span\n style=\"\n float: right;\n color: var(--el-text-color-secondary);\n font-size: 13px;\n \"\n >\n {{\n item[\n typeof codeInLabel === 'string' && codeInLabel\n ? codeInLabel\n : valueKey\n ]\n }}\n </span>\n </template>\n </slot>\n </el-option>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-select>\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch } from 'vue'\nimport {\n selectProps,\n selectEmits,\n expandSelectPropsKeys,\n selectEmitsKeys,\n} from './select'\nimport type { SelectProps, SelectEmits } from './select'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { useSelect } from './use-select'\nimport { createNameSpace } from '@el-plus/utils/bem'\ndefineOptions({\n name: 'EpSelect',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('select')\nconst props = defineProps(selectProps)\nconst emit = defineEmits(selectEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\n\nconst { customOptions, loadOptions, expandAttrs } = useSelect(props, emit)\nconst value = defineModel<SelectProps['modelValue']>()\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', 'desc', ...expandSelectPropsKeys]),\n ...prepareEvents<SelectEmits>(emit, selectEmitsKeys),\n ...expandAttrs.value,\n }\n})\n// 回显由 echoOption computed 自动处理,这里只负责加载选项\nloadOptions()\nwatch(\n () => props.options,\n () => {\n loadOptions()\n },\n {\n deep: true,\n },\n)\n</script>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","_createElementBlock","_Fragment","_renderList","valueKey","_normalizeClass","formatLabel","labelKey","disabledOption","_renderSlot","codeInLabel","_createElementVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;AAsEA,IAAA,MAAM,GAAA,GAAM,gBAAgB,QAAQ,CAAA;AACpC,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAC,CAAA;AAED,IAAA,MAAM,EAAE,aAAA,EAAe,WAAA,EAAa,aAAY,GAAI,SAAA,CAAU,OAAO,IAAI,CAAA;AACzE,IAAA,MAAM,KAAA,GAAQA,QAAA,
|
|
1
|
+
{"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\r\n <el-select\r\n v-model=\"value\"\r\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\r\n v-bind=\"customAttrs\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n >\r\n <el-option\r\n v-for=\"item in customOptions\"\r\n :key=\"item[valueKey]\"\r\n :class=\"bem.e('option')\"\r\n :label=\"\r\n item.formatLabel\r\n ? item.formatLabel(item)\r\n : formatLabel\r\n ? formatLabel(item)\r\n : item[labelKey]\r\n \"\r\n :value=\"item[valueKey]\"\r\n :disabled=\"disabledOption(item)\"\r\n >\r\n <slot name=\"option\" :item=\"item\">\r\n <template v-if=\"codeInLabel || codeInLabel === ''\">\r\n <span style=\"float: left\">{{ item[labelKey] }}</span>\r\n <span\r\n style=\"\r\n float: right;\r\n color: var(--el-text-color-secondary);\r\n font-size: 13px;\r\n \"\r\n >\r\n {{\r\n item[\r\n typeof codeInLabel === 'string' && codeInLabel\r\n ? codeInLabel\r\n : valueKey\r\n ]\r\n }}\r\n </span>\r\n </template>\r\n </slot>\r\n </el-option>\r\n <template v-for=\"name in slots\" #[name]=\"scope\">\r\n <slot :name=\"name\" v-bind=\"scope\" />\r\n </template>\r\n </el-select>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, useSlots, watch } from 'vue'\r\nimport {\r\n selectProps,\r\n selectEmits,\r\n expandSelectPropsKeys,\r\n selectEmitsKeys,\r\n} from './select'\r\nimport type { SelectProps, SelectEmits } from './select'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\nimport { useSelect } from './use-select'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\ndefineOptions({\r\n name: 'EpSelect',\r\n inheritAttrs: false,\r\n})\r\nconst bem = createNameSpace('select')\r\nconst props = defineProps(selectProps)\r\nconst emit = defineEmits(selectEmits)\r\nconst slots = computed(() => {\r\n return Object.keys(useSlots())\r\n})\r\n\r\nconst { customOptions, loadOptions, expandAttrs } = useSelect(props, emit)\r\nconst value = defineModel<SelectProps['modelValue']>()\r\nconst customAttrs = computed(() => {\r\n return {\r\n ...prepareProps(props, ['modelValue', 'desc', ...expandSelectPropsKeys]),\r\n ...prepareEvents<SelectEmits>(emit, selectEmitsKeys),\r\n ...expandAttrs.value,\r\n }\r\n})\r\n// 回显由 echoOption computed 自动处理,这里只负责加载选项\r\nloadOptions()\r\nwatch(\r\n () => props.options,\r\n () => {\r\n loadOptions()\r\n },\r\n {\r\n deep: true,\r\n },\r\n)\r\n</script>\r\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","_createElementBlock","_Fragment","_renderList","valueKey","_normalizeClass","formatLabel","labelKey","disabledOption","_renderSlot","codeInLabel","_createElementVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-select.mjs","sources":["../../../../../../packages/components/select/src/use-select.ts"],"sourcesContent":["import { ref ,computed} from 'vue'\nimport type { SetupContext } from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { SelectProps, SelectOption, SelectEmits } from './select'\nexport function useSelect(\n props: SelectProps,\n emit: SetupContext<SelectEmits>['emit'],\n) {\n let hasLoaded = false\n // 已加载的选项(api 请求结果 / props.options / 搜索结果)\n const loadedOptions = ref<SelectOption[]>([])\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: props.remote,\n hooks: {\n success(data) {\n type OptionArr = SelectOption[]\n interface OptionObj {\n list?: OptionArr\n data?: OptionArr\n }\n if (Array.isArray(data)) {\n loadedOptions.value = data as OptionArr\n } else if (data && typeof data === 'object') {\n const rawData = data as OptionObj\n loadedOptions.value = rawData?.list || rawData?.data || []\n } else {\n loadedOptions.value = []\n }\n hasLoaded = true\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 回显占位项:value/desc 存在且不在已加载列表中时,补充一项\n // 由 computed 自动响应 value/desc/loadedOptions 的变化,无需 watch\n const echoOption = computed<SelectOption[]>(() => {\n const v = props.modelValue\n const d = props.desc\n if ((v || v === 0) && d) {\n const exists = loadedOptions.value.some(\n (item: SelectOption) => item[props.valueKey] === v,\n )\n if (!exists) {\n return [{ [props.labelKey]: d, [props.valueKey]: v }]\n }\n }\n return []\n })\n // 最终下拉项 = 回显占位 + 已加载\n const customOptions = computed<SelectOption[]>(() => [\n ...echoOption.value,\n ...loadedOptions.value,\n ])\n // 加载下拉列表(只负责加载,不处理回显)\n const loadOptions = () => {\n if (props.api) {\n if (!props.lazy && !props.remote) {\n requestFn!()\n }\n } else if (props.options?.length) {\n loadedOptions.value = props.options\n }\n }\n // 获取选中项\n const getSelectItem = (value: SelectProps['modelValue']) => {\n if (Array.isArray(value)) {\n if (!customOptions.value) return []\n return customOptions.value.filter((item: SelectOption) => {\n return value.indexOf(item[props.valueKey]) > -1\n })\n }\n if (!customOptions.value) return {}\n return (\n customOptions.value.find((item: SelectOption) => {\n return item[props.valueKey] === value\n }) || {}\n )\n }\n const expandAttrs = computed(() => {\n return {\n loading: props.loading || loading?.value,\n remoteMethod: (query: string) => {\n if (!query) return\n requestFn!({\n $searchValue: query,\n })\n },\n onChange(value: SelectProps['modelValue']) {\n emit('change', value, getSelectItem(value))\n },\n onVisibleChange(visible: boolean) {\n if (props.api && props.lazy && visible && !hasLoaded && !props.remote) {\n requestFn!()\n }\n emit('visible-change', visible)\n },\n }\n })\n return {\n customOptions,\n loadOptions,\n expandAttrs,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-select.mjs","sources":["../../../../../../packages/components/select/src/use-select.ts"],"sourcesContent":["import { ref ,computed} from 'vue'\r\nimport type { SetupContext } from 'vue'\r\nimport { useRequest } from '@el-plus/hooks/use-request'\r\nimport type { SelectProps, SelectOption, SelectEmits } from './select'\r\nexport function useSelect(\r\n props: SelectProps,\r\n emit: SetupContext<SelectEmits>['emit'],\r\n) {\r\n let hasLoaded = false\r\n // 已加载的选项(api 请求结果 / props.options / 搜索结果)\r\n const loadedOptions = ref<SelectOption[]>([])\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: props.remote,\r\n hooks: {\r\n success(data) {\r\n type OptionArr = SelectOption[]\r\n interface OptionObj {\r\n list?: OptionArr\r\n data?: OptionArr\r\n }\r\n if (Array.isArray(data)) {\r\n loadedOptions.value = data as OptionArr\r\n } else if (data && typeof data === 'object') {\r\n const rawData = data as OptionObj\r\n loadedOptions.value = rawData?.list || rawData?.data || []\r\n } else {\r\n loadedOptions.value = []\r\n }\r\n hasLoaded = true\r\n },\r\n fail(error) {\r\n console.error(error)\r\n },\r\n },\r\n })\r\n // 回显占位项:value/desc 存在且不在已加载列表中时,补充一项\r\n // 由 computed 自动响应 value/desc/loadedOptions 的变化,无需 watch\r\n const echoOption = computed<SelectOption[]>(() => {\r\n const v = props.modelValue\r\n const d = props.desc\r\n if ((v || v === 0) && d) {\r\n const exists = loadedOptions.value.some(\r\n (item: SelectOption) => item[props.valueKey] === v,\r\n )\r\n if (!exists) {\r\n return [{ [props.labelKey]: d, [props.valueKey]: v }]\r\n }\r\n }\r\n return []\r\n })\r\n // 最终下拉项 = 回显占位 + 已加载\r\n const customOptions = computed<SelectOption[]>(() => [\r\n ...echoOption.value,\r\n ...loadedOptions.value,\r\n ])\r\n // 加载下拉列表(只负责加载,不处理回显)\r\n const loadOptions = () => {\r\n if (props.api) {\r\n if (!props.lazy && !props.remote) {\r\n requestFn!()\r\n }\r\n } else if (props.options?.length) {\r\n loadedOptions.value = props.options\r\n }\r\n }\r\n // 获取选中项\r\n const getSelectItem = (value: SelectProps['modelValue']) => {\r\n if (Array.isArray(value)) {\r\n if (!customOptions.value) return []\r\n return customOptions.value.filter((item: SelectOption) => {\r\n return value.indexOf(item[props.valueKey]) > -1\r\n })\r\n }\r\n if (!customOptions.value) return {}\r\n return (\r\n customOptions.value.find((item: SelectOption) => {\r\n return item[props.valueKey] === value\r\n }) || {}\r\n )\r\n }\r\n const expandAttrs = computed(() => {\r\n return {\r\n loading: props.loading || loading?.value,\r\n remoteMethod: (query: string) => {\r\n if (!query) return\r\n requestFn!({\r\n $searchValue: query,\r\n })\r\n },\r\n onChange(value: SelectProps['modelValue']) {\r\n emit('change', value, getSelectItem(value))\r\n },\r\n onVisibleChange(visible: boolean) {\r\n if (props.api && props.lazy && visible && !hasLoaded && !props.remote) {\r\n requestFn!()\r\n }\r\n emit('visible-change', visible)\r\n },\r\n }\r\n })\r\n return {\r\n customOptions,\r\n loadOptions,\r\n expandAttrs,\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table/index.ts"],"sourcesContent":["import Table from './src/table.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpTable = withInstall(Table)\nexport default EpTable\nexport * from './src/table'\nexport type TableInstance = InstanceType<typeof Table>\n\n"],"names":["Table"],"mappings":";;;;AAGO,MAAM,OAAA,GAAU,YAAYA,SAAK;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table/index.ts"],"sourcesContent":["import Table from './src/table.vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpTable = withInstall(Table)\r\nexport default EpTable\r\nexport * from './src/table'\r\nexport type TableInstance = InstanceType<typeof Table>\r\n\r\n"],"names":["Table"],"mappings":";;;;AAGO,MAAM,OAAA,GAAU,YAAYA,SAAK;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.mjs","sources":["../../../../../../packages/components/table/src/table.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\nimport elTableProps from 'element-plus/es/components/table/src/table/defaults'\nimport { ElTable } from 'element-plus'\nimport { apiProps, type VisibleProps } from '@el-plus/utils/props'\nimport type { WithOnPrefixAndCamelCase } from '@el-plus/types'\nimport type {\n TableColumnCtx,\n PaginationProps,\n PaginationEmits,\n} from 'element-plus'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport { customColumnProps } from '@el-plus/components/custom-column'\nconst inheritTableProps = {\n ...elTableProps,\n // Table 的尺寸\n size: {\n ...elTableProps.size,\n default: 'default',\n },\n // 是否带有纵向边框\n border: {\n ...elTableProps.border,\n default: true,\n },\n // 表头样式\n headerCellStyle: {\n ...elTableProps.headerCellStyle,\n default: () => ({\n background: '#EEEFF3',\n // textAlign: 'center',\n fontSize: '14px',\n color: '#505050',\n }),\n },\n}\nexport type TableColumn = Partial<\n TableColumnCtx & {\n required: boolean | (() => boolean)\n cellRequired: (scope: TableScope) => boolean\n headerRender: TableColumnCtx['renderHeader']\n disabled: boolean | ((scope: TableScope) => boolean)\n type: string\n props: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any\n filter: boolean // 是否显示筛选\n editable: boolean | ((formData: Record<string, any>) => void) // 是否可批量编辑\n [key: string]: any\n } & VisibleProps\n>\nexport type TableScope<\n T extends Record<string, unknown> = Record<string, unknown>,\n> = {\n column: TableColumnCtx<T>\n row: T\n $index: number\n store: unknown\n _self: unknown\n}\nconst expandTableProps = {\n ...apiProps,\n columns: {\n type: Array as PropType<TableColumn[]>,\n default: () => [],\n },\n // 是否显示复选勾选列\n showSelectionCol: Boolean,\n // 是否显示单选勾选列\n showSingleSelectionCol: Boolean,\n // 是否显示序号列\n showIndexCol: {\n type: Boolean,\n default: true,\n },\n // 对齐方式\n align: {\n type: String as PropType<'left' | 'center' | 'right'>,\n default: 'center',\n },\n // 最小宽度\n minWidth: {\n type: [Number, String] as PropType<TableColumnCtx['minWidth']>,\n },\n // 操作列宽度\n actionColWidth: {\n type: [Number, String] as PropType<TableColumnCtx['width']>,\n default: 200,\n },\n // 序号列自定义\n indexFormatter: {\n type: [Number, Function] as PropType<TableColumnCtx['index']>,\n },\n disabled: Boolean,\n reserveSelection: Boolean,\n selectable: {\n type: Function as PropType<TableColumnCtx['selectable']>,\n },\n paginationProps: {\n type: Object as PropType<\n Partial<PaginationProps & WithOnPrefixAndCamelCase<PaginationEmits>>\n >,\n default: () => ({}),\n },\n showPagination: Boolean,\n isFrontPage: Boolean,\n // 操作列\n actionButtons: {\n type: Array as PropType<ButtonProps[]>,\n default: () => [],\n },\n // 格式化列\n formatColumns: {\n type: Array as PropType<TableColumn[]>,\n default: () => [],\n },\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n customColumnApi: {\n ...customColumnProps.api,\n },\n customColumnSaveApi: {\n ...customColumnProps.saveApi,\n },\n}\n\nexport const tableProps = {\n ...inheritTableProps,\n ...expandTableProps,\n} as const\nexport type TableProps = ExtractPublicPropTypes<typeof tableProps>\nexport const expandTablePropsKeys = Object.keys(expandTableProps)\n\nexport const tableEmits = [...ElTable.emits!, 'single-selection-change']\nexport type TableEmits = typeof tableEmits\nexport const tableEmitsKeys = tableEmits\n"],"names":[],"mappings":";;;;;AAYA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,YAAA;AAAA;AAAA,EAEH,IAAA,EAAM;AAAA,IACJ,GAAG,YAAA,CAAa,IAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,GAAG,YAAA,CAAa,MAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,GAAG,YAAA,CAAa,eAAA;AAAA,IAChB,SAAS,OAAO;AAAA,MACd,UAAA,EAAY,SAAA;AAAA;AAAA,MAEZ,QAAA,EAAU,MAAA;AAAA,MACV,KAAA,EAAO;AAAA,KACT;AAAA;AAEJ,CAAA;AAuBA,MAAM,gBAAA,GAAmB;AAAA,EACvB,GAAG,QAAA;AAAA,EACH,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,gBAAA,EAAkB,OAAA;AAAA;AAAA,EAElB,sBAAA,EAAwB,OAAA;AAAA;AAAA,EAExB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,QAAQ;AAAA,GACzB;AAAA,EACA,QAAA,EAAU,OAAA;AAAA,EACV,gBAAA,EAAkB,OAAA;AAAA,EAClB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IAGN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,cAAA,EAAgB,OAAA;AAAA,EAChB,WAAA,EAAa,OAAA;AAAA;AAAA,EAEb,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,GAAG,iBAAA,CAAkB;AAAA;AAEzB,CAAA;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,GAAG,iBAAA;AAAA,EACH,GAAG;AACL;AAEO,MAAM,oBAAA,GAAuB,MAAA,CAAO,IAAA,CAAK,gBAAgB;AAEzD,MAAM,UAAA,GAAa,CAAC,GAAG,OAAA,CAAQ,OAAQ,yBAAyB;AAEhE,MAAM,cAAA,GAAiB;;;;"}
|
|
1
|
+
{"version":3,"file":"table.mjs","sources":["../../../../../../packages/components/table/src/table.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\r\nimport elTableProps from 'element-plus/es/components/table/src/table/defaults'\r\nimport { ElTable } from 'element-plus'\r\nimport { apiProps, type VisibleProps } from '@el-plus/utils/props'\r\nimport type { WithOnPrefixAndCamelCase } from '@el-plus/types'\r\nimport type {\r\n TableColumnCtx,\r\n PaginationProps,\r\n PaginationEmits,\r\n} from 'element-plus'\r\nimport type { ButtonProps } from '@el-plus/components/buttons'\r\nimport { customColumnProps } from '@el-plus/components/custom-column'\r\nconst inheritTableProps = {\r\n ...elTableProps,\r\n // Table 的尺寸\r\n size: {\r\n ...elTableProps.size,\r\n default: 'default',\r\n },\r\n // 是否带有纵向边框\r\n border: {\r\n ...elTableProps.border,\r\n default: true,\r\n },\r\n // 表头样式\r\n headerCellStyle: {\r\n ...elTableProps.headerCellStyle,\r\n default: () => ({\r\n background: '#EEEFF3',\r\n // textAlign: 'center',\r\n fontSize: '14px',\r\n color: '#505050',\r\n }),\r\n },\r\n}\r\nexport type TableColumn = Partial<\r\n TableColumnCtx & {\r\n required: boolean | (() => boolean)\r\n cellRequired: (scope: TableScope) => boolean\r\n headerRender: TableColumnCtx['renderHeader']\r\n disabled: boolean | ((scope: TableScope) => boolean)\r\n type: string\r\n props: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any\r\n filter: boolean // 是否显示筛选\r\n editable: boolean | ((formData: Record<string, any>) => void) // 是否可批量编辑\r\n [key: string]: any\r\n } & VisibleProps\r\n>\r\nexport type TableScope<\r\n T extends Record<string, unknown> = Record<string, unknown>,\r\n> = {\r\n column: TableColumnCtx<T>\r\n row: T\r\n $index: number\r\n store: unknown\r\n _self: unknown\r\n}\r\nconst expandTableProps = {\r\n ...apiProps,\r\n columns: {\r\n type: Array as PropType<TableColumn[]>,\r\n default: () => [],\r\n },\r\n // 是否显示复选勾选列\r\n showSelectionCol: Boolean,\r\n // 是否显示单选勾选列\r\n showSingleSelectionCol: Boolean,\r\n // 是否显示序号列\r\n showIndexCol: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 对齐方式\r\n align: {\r\n type: String as PropType<'left' | 'center' | 'right'>,\r\n default: 'center',\r\n },\r\n // 最小宽度\r\n minWidth: {\r\n type: [Number, String] as PropType<TableColumnCtx['minWidth']>,\r\n },\r\n // 操作列宽度\r\n actionColWidth: {\r\n type: [Number, String] as PropType<TableColumnCtx['width']>,\r\n default: 200,\r\n },\r\n // 序号列自定义\r\n indexFormatter: {\r\n type: [Number, Function] as PropType<TableColumnCtx['index']>,\r\n },\r\n disabled: Boolean,\r\n reserveSelection: Boolean,\r\n selectable: {\r\n type: Function as PropType<TableColumnCtx['selectable']>,\r\n },\r\n paginationProps: {\r\n type: Object as PropType<\r\n Partial<PaginationProps & WithOnPrefixAndCamelCase<PaginationEmits>>\r\n >,\r\n default: () => ({}),\r\n },\r\n showPagination: Boolean,\r\n isFrontPage: Boolean,\r\n // 操作列\r\n actionButtons: {\r\n type: Array as PropType<ButtonProps[]>,\r\n default: () => [],\r\n },\r\n // 格式化列\r\n formatColumns: {\r\n type: Array as PropType<TableColumn[]>,\r\n default: () => [],\r\n },\r\n // 是否初始化加载数据\r\n isInitSearch: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 自定义列模块\r\n customColumnModule: {\r\n ...customColumnProps.module,\r\n },\r\n customColumnApi: {\r\n ...customColumnProps.api,\r\n },\r\n customColumnSaveApi: {\r\n ...customColumnProps.saveApi,\r\n },\r\n}\r\n\r\nexport const tableProps = {\r\n ...inheritTableProps,\r\n ...expandTableProps,\r\n} as const\r\nexport type TableProps = ExtractPublicPropTypes<typeof tableProps>\r\nexport const expandTablePropsKeys = Object.keys(expandTableProps)\r\n\r\nexport const tableEmits = [...ElTable.emits!, 'single-selection-change']\r\nexport type TableEmits = typeof tableEmits\r\nexport const tableEmitsKeys = tableEmits\r\n"],"names":[],"mappings":";;;;;AAYA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,YAAA;AAAA;AAAA,EAEH,IAAA,EAAM;AAAA,IACJ,GAAG,YAAA,CAAa,IAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,GAAG,YAAA,CAAa,MAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,GAAG,YAAA,CAAa,eAAA;AAAA,IAChB,SAAS,OAAO;AAAA,MACd,UAAA,EAAY,SAAA;AAAA;AAAA,MAEZ,QAAA,EAAU,MAAA;AAAA,MACV,KAAA,EAAO;AAAA,KACT;AAAA;AAEJ,CAAA;AAuBA,MAAM,gBAAA,GAAmB;AAAA,EACvB,GAAG,QAAA;AAAA,EACH,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,gBAAA,EAAkB,OAAA;AAAA;AAAA,EAElB,sBAAA,EAAwB,OAAA;AAAA;AAAA,EAExB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,QAAQ;AAAA,GACzB;AAAA,EACA,QAAA,EAAU,OAAA;AAAA,EACV,gBAAA,EAAkB,OAAA;AAAA,EAClB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IAGN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,cAAA,EAAgB,OAAA;AAAA,EAChB,WAAA,EAAa,OAAA;AAAA;AAAA,EAEb,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAG,iBAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,GAAG,iBAAA,CAAkB;AAAA;AAEzB,CAAA;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,GAAG,iBAAA;AAAA,EACH,GAAG;AACL;AAEO,MAAM,oBAAA,GAAuB,MAAA,CAAO,IAAA,CAAK,gBAAgB;AAEzD,MAAM,UAAA,GAAa,CAAC,GAAG,OAAA,CAAQ,OAAQ,yBAAyB;AAEhE,MAAM,cAAA,GAAiB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.mjs","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":";;;;;;;;;;;;;;;;;;;;;;AAiIA,IAAA,MAAM;AAAA,MAAEA;AAAAA,QAAMC,SAAAA,EAAU;AAKxB,IAAA,MAAMC,GAAAA,GAAMC,gBAAgB,OAAO,CAAA;AACnC,IAAA,MAAMC,KAAAA,GAAQC,OAAAA;AACd,IAAA,MAAMC,IAAAA,GAAOC,MAAAA;AAEb,IAAA,MAAMC,KAAAA,GAAQC,SAAS,MAAM;AAC3B,MAAA,OAAOC,MAAAA,CAAOC,IAAAA,CAAKC,QAAAA,EAAU,CAAA;AAAA,IAE/B,CAAC,CAAA;AACD,IAAA,MAAMC,WAAAA,GAAcJ,SAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,SAAA,EAAWL,MAAMU,MAAAA,IAAU,IAAA;AAAA,QAC3B,GAAGC,YAAAA,CAAaX,KAAAA,EAAO,CAAC,YAAA,EAAc,GAAGY,oBAAoB,CAAC,CAAA;AAAA;AAAA,QAE9DC,IAAAA,EAAM,OAAA;AAAA,QACNC,MAAMA,IAAAA,CAAKC,KAAAA;AAAAA,QACX,GAAGC,aAAAA,CAAuCd,IAAAA,EAAMe,cAAe;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,SAAS/B,KAAK,CAAA;AAClB,IAAA,MAAM;AAAA,MAAEgC;AAAAA,KAAW,GAAIC,cAAAA,CAAejC,KAAAA,EAAOc,IAAAA,EAAMgB,aAAa,CAAA;AAChE,IAAA,MAAM;AAAA,MAAEI;AAAAA,KAAc,GAAIC,iBAAiBnC,KAAK,CAAA;AAChD,IAAA,MAAMoC,eAAAA,GAAkBC,eAAqC,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;;;;;;;;;0BAvLCC,kBAAAA,CAyGM,KAAA,EAAA;AAAA,QAxGHC,KAAAA,EAAKC,cAAAA,CAAA,CAAA,EAAKC,KAAAA,CAAA9C,GAAA,CAAA,CAAI+C,CAAAA,MAAOD,KAAAA,CAAAE,iBAAA,CAAA,EAAiB,CAAA,CAAA,CAAA;AAAA,QACtCC,OAAKC,cAAAA,CAAA;AAAA,aAAaJ,KAAAA,CAAAK,aAAA,CAAA;AAAa;UAIhCC,WAAAA,CAmFUC,kBAAAA,EAAA;AAAA,iBAlFJ,WAAA;AAAA,QAAJC,GAAAA,EAAIzB,SAAAA;AAAAA,QACH0B,KAAAA;iBAAgBT,MAAA9B,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;yBAEN,MAyEW,CAzEXa,gBAAAC,SAAAA,EAAA,EAAAC,WAAAA,CAyEWC,mBAAAA,EAzEXC,UAAAA,CAyEW;AAAA,mBAzEG,YAAA;AAAA,UAAJP,GAAAA,EAAIxB;AAAAA,WAAyCnB,WAAAA,CAAAM,KAAW,CAAA,EAAA6C,WAAAA,CAAA;AAAA,2BAChE,MAQE,CAPMC,KAAAA,gBAAAA,iBADRJ,WAAAA,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,qGAGMC,IAAAA,CAAAA,uCADRZ,YAgBkBK,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,OAAAA,CAOfC,CAAAA,KAAAA,KAPsB,CACvBtB,YAMCuB,kBAAAA,EAAA;AAAA,cALCV,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;+BAChD,MAA0B,iCAAvBjC,KAAAA,CAAAhD,CAAA,CAAA,CAAC,iBAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;;;0EAKHkF,IAAAA,CAAAA,YAAAA,iBADRrB,YAQEK,0BAAAA,EAAA;AAAA;YANAC,IAAAA,EAAK,OAAA;AAAA,YACLC,KAAAA,EAAM,IAAA;AAAA,YACLC,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACAc,KAAAA,EAAOnC,KAAAA,CAAAhD,CAAA,CAAA,CAAC,uBAAA,CAAA;AAAA,YACTwE,KAAAA,EAAA,EAAA;AAAA,YACCY,OAAOC,IAAAA,CAAAA;AAAAA,oFAIFC,IAAAA,CAAAA,aAAAA,CAAcC,uBADtB1B,YAekBK,0BAAAA,EAAA;AAAA;YAbfiB,KAAAA,EAAOnC,KAAAA,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,OAAAA,CAMTC,CAAAA,KAAAA,KANgB,CACvBa,mBAKO,MAAA,EAAA;AAAA,cALA3C,OAAKC,cAAAA,CAAEC,KAAAA,CAAA9C,GAAA,CAAA,CAAIwF,CAAAA,CAAC,gBAAA,CAAA;AAAA,gBACjBpC,WAAAA,CAGEqC,oBAAAA,EAAA;AAAA,cAFCC,MAAM5C,KAAAA,CAAAf,mBAAA,CAAA,CAAoBqD,IAAAA,CAAAA,eAAeV,KAAK,CAAA;AAAA,cAC/CT,IAAAA,EAAK;AAAA;;+EAKbP,UAAA,IAAA,CAAA,EAAAf,kBAAAA,CAgBkBgD,QAAAA,EAAA,IAAA,EAAAC,UAAAA,CAfQ9C,MAAAZ,UAAA,CAAA,EAAU,CAA1B2D,IAAAA,EAAMX,KAAAA,KAAK;AADrB,YAAA,OAAAxB,SAAAA,EAAA,EAAAC,WAAAA,CAgBkBK,0BAAAA,EAhBlBH,UAAAA,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,OAAAA,CAMdC,CAAAA,KAAAA,KANqB,CAEfmB,KAAK5B,IAAAA,IAAQ4B,IAAAA,CAAKG,MAAAA,IAD1BtC,SAAAA,EAAA,EAAAC,WAAAA,CAKEb,KAAAA,cALFe,UAAAA,CAKE;AAAA;gBAHC,aAAWa,KAAAA,CAAMK,GAAAA;AAAAA,gBACjB,aAAA,EAAaL;AAAAA;;iBACN5B,KAAAA,CAAAV,aAAA,EAAcsC,KAAAA,EAAOmB,IAAI,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,aAAA,CAAA,mBAEnClD,mBAEWgD,QAAAA,EAAA;AAAA,gBAAAG,GAAAA,EAAA;AAAA,eAAA,EAAA,CADNG,eAAAA,CAAAC,eAAAA,CAAAxB,MAAMK,GAAAA,CAAIc,IAAAA,CAAKE,IAAI,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;YAIHH,UAAAA,CAAAtF,KAAAA,CAAAW,OAARkF,CAAAA,IAAAA,KAAI;;;YACnBC,EAAAA,EAAA3B,OAAAA,CADuCC,CAAAA,KAAAA,KAAK,CAC5C2B,WAAoCC,IAAAA,CAAAC,MAAAA,EAAvBJ,IAAAA,EAAIK,cAAAA,CAAAC,kBAAAA,CAAU/B,KAAK,CAAA,CAAA,CAAA;;4CAvEE5B,MAAAnB,OAAA,CAAO,CAAA;;wBA4EvC+E,IAAAA,CAAAA,cAAAA,IADRhD,SAAAA,EAAA,EAAAC,WAAAA,CAMEgD,wBAAAA,EANF9C,UAAAA,CAME;AAAA;QAJQ,cAAA,EAAcf,KAAAA,CAAA1B,UAAA,CAAA,CAAWwF,MAAAA;AAAAA,QAAX,sBAAA,EAAA9B,CAAAA,MAAAA,KAAAhC,KAAAA,CAAA1B,UAAA,EAAWwF,MAAAA,GAAM9B,MAAAA;AAAAA,QAC/B,WAAA,EAAWhC,KAAAA,CAAA1B,UAAA,CAAA,CAAWyF,QAAAA;AAAAA,QAAX,mBAAA,EAAA/B,CAAAA,MAAAA,KAAAhC,KAAAA,CAAA1B,UAAA,EAAWyF,QAAAA,GAAQ/B,MAAAA;AAAAA,QACrCgC,KAAAA,EAAOhE,KAAAA,CAAA1B,UAAA,CAAA,CAAW0F;AAAAA,SACXhE,KAAAA,CAAAzB,eAAA,CAAe,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,cAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,OAAA,CAAA,CAAA,kCAGjB0F,IAAAA,CAAAA,kBAAAA,iBADRpD,WAAAA,CAOEb,KAAAA,CAAAkE,cAAA,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
|
+
{"version":3,"file":"table.vue2.mjs","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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table.mjs","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.mjs","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.mjs","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":["Title"],"mappings":";;;;AAGO,MAAM,OAAA,GAAU,YAAYA,SAAK;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","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":["Title"],"mappings":";;;;AAGO,MAAM,OAAA,GAAU,YAAYA,SAAK;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.mjs","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":[],"mappings":";;AAGO,MAAM,UAAA,GAAa;AAAA;AAAA,EAExB,OAAA,EAAS;AAAA,IACP,GAAG,YAAA,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.mjs","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":[],"mappings":";;AAGO,MAAM,UAAA,GAAa;AAAA;AAAA,EAExB,OAAA,EAAS;AAAA,IACP,GAAG,YAAA,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.mjs","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":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_renderSlot","title","showDownUp","_createTextVNode","_toDisplayString","_createVNode","buttons"],"mappings":";;;;;;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,EAAE,CAAA,EAAE,GAAI,SAAA,EAAU;AAKxB,IAAA,MAAM,GAAA,GAAM,gBAAgB,OAAO,CAAA;AAEnC,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAY,GAAI,SAAS,IAAI,CAAA;;0BArD7CA,kBAAA,CAkCM,KAAA,EAAA;AAAA,QAjCH,KAAA,EAAKC,eAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,GAAA,EAAI,EAAA,CAAE,UAAA,EAAaA,MAAA,QAAA,CAAQ,GAAGA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAChE,OAAKC,cAAA,CAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"title.vue2.mjs","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":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_renderSlot","title","showDownUp","_createTextVNode","_toDisplayString","_createVNode","buttons"],"mappings":";;;;;;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,EAAE,CAAA,EAAE,GAAI,SAAA,EAAU;AAKxB,IAAA,MAAM,GAAA,GAAM,gBAAgB,OAAO,CAAA;AAEnC,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAY,GAAI,SAAS,IAAI,CAAA;;0BArD7CA,kBAAA,CAkCM,KAAA,EAAA;AAAA,QAjCH,KAAA,EAAKC,eAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,GAAA,EAAI,EAAA,CAAE,UAAA,EAAaA,MAAA,QAAA,CAAQ,GAAGA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAChE,OAAKC,cAAA,CAAA;AAAA,aAAcD,KAAA,CAAA,aAAA,CAAA;AAAa;;QAIjCE,mBAmBM,KAAA,EAAA;AAAA,UAnBA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA;AAAA;UAChBE,mBAYM,KAAA,EAAA;AAAA,YAZA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA;YAChBG,UAAA,CAAkC,IAAA,CAAA,MAAA,EAAA,eAAA,CAAA;AAAA,YAClCA,UAAA,CAEO,KAAA,MAAA,EAAA,OAAA,EAAA,EAFa,KAAA,EAAOC,IAAAA,CAAAA,KAAAA,IAA3B,MAEO;AAAA,8CADFA,IAAAA,CAAAA,KAAK,GAAA,CAAA;AAAA;YAECC,IAAAA,CAAAA,UAAAA,iBAAXP,mBAKM,KAAA,EAAA;AAAA;cALkB,OAAKC,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA,CAAA;AAAA,cAAa,OAAA,EAAOA,MAAA,WAAA;AAAA;cACnDM,gBAAAC,eAAA,CAAAP,KAAA,CAAA,QAAA,CAAA,GAAWA,MAAA,CAAA,CAAA,CAAC,mBAAA,CAAA,GAAwBA,MAAA,CAAA,CAAA,uBAAuB,KAC9D,CAAA,CAAA;AAAA,cAAAQ,WAAA,CAEUR,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,iCADR,MAAa;AAAA,kBAAbQ,WAAA,CAAaR,KAAA,CAAA,SAAA,CAAA;AAAA;;;;YAGjBG,UAAA,CAAiC,IAAA,CAAA,MAAA,EAAA,cAAA;AAAA;UAEnCD,mBAIM,KAAA,EAAA;AAAA,YAJA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,SAAA,CAAA;AAAA;YAChBG,UAAA,CAAoC,IAAA,CAAA,MAAA,EAAA,iBAAA,CAAA;AAAA,YACpCK,WAAA,CAA6BR,KAAA,CAAA,SAAA,CAAA,EAAA,EAAjB,IAAA,EAAMS,IAAAA,CAAAA,OAAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,YACzBN,UAAA,CAAmC,IAAA,CAAA,MAAA,EAAA,gBAAA;AAAA;;QAGvCD,mBAOM,KAAA,EAAA;AAAA,UANJ,GAAA,EAAI,YAAA;AAAA,UACH,OAAKH,cAAA,CAAA,CAAGC,WAAI,cAAcA,KAAA,CAAA,GAAA,EAAI,EAAA,CAAE,UAAA,EAAaA,MAAA,QAAA,CAAQ,CAAA,CAAA;AAAA;UAEtDG,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-title.mjs","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":[],"mappings":";;;;AAKO,MAAM,QAAA,GAAW,CAAC,IAAA,KAAkD;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,MAAM,CAAA,GAAI,UAAU,IAAI,CAAA;AACtC,EAAA,MAAM,QAAA,GAAW,KAAA;AACjB,EAAA,MAAM,UAAA,GAAa,eAA4B,YAAY,CAAA;AAC3D,EAAA,SAAA,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,GAAW,WAAA,CAAY,MAAA,EAAQ,UAAU,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,UAAA,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.mjs","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":[],"mappings":";;;;AAKO,MAAM,QAAA,GAAW,CAAC,IAAA,KAAkD;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,MAAM,CAAA,GAAI,UAAU,IAAI,CAAA;AACtC,EAAA,MAAM,QAAA,GAAW,KAAA;AACjB,EAAA,MAAM,UAAA,GAAa,eAA4B,YAAY,CAAA;AAC3D,EAAA,SAAA,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,GAAW,WAAA,CAAY,MAAA,EAAQ,UAAU,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,UAAA,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.mjs","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":["UniVue"],"mappings":";;;;AAGO,MAAM,QAAA,GAAW,YAAYA,SAAM;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","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":["UniVue"],"mappings":";;;;AAGO,MAAM,QAAA,GAAW,YAAYA,SAAM;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uni-vue.mjs","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.mjs","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;;;;"}
|