@pungfe/element 0.0.1-alpha.28 → 0.0.1-alpha.29
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/README.md +151 -143
- package/dist/advance-CYfRZGwy.js +1892 -0
- package/dist/advance-DoIe6XpY.cjs +1 -0
- package/dist/advance.cjs +1 -0
- package/dist/advance.d.ts +23 -0
- package/dist/advance.js +2 -0
- package/dist/basic-BfqwJFE_.cjs +1 -0
- package/dist/basic-CZ74BN1R.js +1006 -0
- package/dist/basic.cjs +1 -0
- package/dist/basic.d.ts +33 -0
- package/dist/basic.js +2 -0
- package/dist/{types/src/components → components}/advance/XButtonAsync.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XButtonConfirm.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XCascaderRequest.vue.d.ts +2 -2
- package/dist/{types/src/components → components}/advance/XFormFlex.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XFormRequestNext.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XRequest.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XSelectRequest.vue.d.ts +5 -5
- package/dist/{types/src/components → components}/advance/XTableFlex.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XTableRequestConfigNext.vue.d.ts +2 -2
- package/dist/{types/src/components → components}/advance/XTableRequestNext.vue.d.ts +3 -3
- package/dist/{types/src/components → components}/advance/XUploadOssNext.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/basic/DatePicker.vue.d.ts +3 -3
- package/dist/{types/src/components → components}/basic/Input.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/Select.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/Tabs.vue.d.ts +1 -1
- package/dist/{types/src/constants → constants}/index.d.ts +2 -2
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +25 -0
- package/dist/{types/src/install.d.ts → install.d.ts} +2 -2
- package/dist/{es/zh-cn-Bkn9hgF7.js → locales-CPrLlnob.js} +200 -8
- package/dist/locales-fS7f5AIx.cjs +1 -0
- package/dist/locales.cjs +1 -0
- package/dist/locales.d.ts +2 -0
- package/dist/locales.js +2 -0
- package/dist/{cjs/resolver.cjs → resolver.cjs} +1 -2
- package/dist/{es/resolver.js → resolver.js} +1 -3
- package/dist/style.css +3 -0
- package/dist/types.d.ts +30 -0
- package/package.json +120 -105
- package/dist/cjs/Button-8c-6EPNG.cjs +0 -2
- package/dist/cjs/Button-8c-6EPNG.cjs.map +0 -1
- package/dist/cjs/Button.cjs +0 -1
- package/dist/cjs/Cascader-CwDh-TjU.cjs +0 -2
- package/dist/cjs/Cascader-CwDh-TjU.cjs.map +0 -1
- package/dist/cjs/Cascader.cjs +0 -1
- package/dist/cjs/Checkbox-CNcwptzq.cjs +0 -2
- package/dist/cjs/Checkbox-CNcwptzq.cjs.map +0 -1
- package/dist/cjs/Checkbox.cjs +0 -1
- package/dist/cjs/ConfigProvider-CyWiC5MP.cjs +0 -2
- package/dist/cjs/ConfigProvider-CyWiC5MP.cjs.map +0 -1
- package/dist/cjs/ConfigProvider.cjs +0 -1
- package/dist/cjs/DatePicker-pKtnPDXe.cjs +0 -2
- package/dist/cjs/DatePicker-pKtnPDXe.cjs.map +0 -1
- package/dist/cjs/DatePicker.cjs +0 -1
- package/dist/cjs/Dialog-BQzqL743.cjs +0 -2
- package/dist/cjs/Dialog-BQzqL743.cjs.map +0 -1
- package/dist/cjs/Dialog.cjs +0 -1
- package/dist/cjs/Form-DKzgN4am.cjs +0 -2
- package/dist/cjs/Form-DKzgN4am.cjs.map +0 -1
- package/dist/cjs/Form.cjs +0 -1
- package/dist/cjs/FormItem-BSXNuWjn.cjs +0 -2
- package/dist/cjs/FormItem-BSXNuWjn.cjs.map +0 -1
- package/dist/cjs/FormItem.cjs +0 -1
- package/dist/cjs/Input-Bnp7Ap0P.cjs +0 -2
- package/dist/cjs/Input-Bnp7Ap0P.cjs.map +0 -1
- package/dist/cjs/Input.cjs +0 -1
- package/dist/cjs/InputNumber-Ddow_hhd.cjs +0 -2
- package/dist/cjs/InputNumber-Ddow_hhd.cjs.map +0 -1
- package/dist/cjs/InputNumber.cjs +0 -1
- package/dist/cjs/Pagination-Cy3Y08FK.cjs +0 -2
- package/dist/cjs/Pagination-Cy3Y08FK.cjs.map +0 -1
- package/dist/cjs/Pagination.cjs +0 -1
- package/dist/cjs/Select-QOHpdjtL.cjs +0 -2
- package/dist/cjs/Select-QOHpdjtL.cjs.map +0 -1
- package/dist/cjs/Select.cjs +0 -1
- package/dist/cjs/TabPane-C2gWO5xN.cjs +0 -2
- package/dist/cjs/TabPane-C2gWO5xN.cjs.map +0 -1
- package/dist/cjs/TabPane.cjs +0 -1
- package/dist/cjs/Table-B3zf7ybj.cjs +0 -2
- package/dist/cjs/Table-B3zf7ybj.cjs.map +0 -1
- package/dist/cjs/Table.cjs +0 -1
- package/dist/cjs/Tabs-CQcXRrGf.cjs +0 -2
- package/dist/cjs/Tabs-CQcXRrGf.cjs.map +0 -1
- package/dist/cjs/Tabs.cjs +0 -1
- package/dist/cjs/Upload-Cw1DMO7y.cjs +0 -2
- package/dist/cjs/Upload-Cw1DMO7y.cjs.map +0 -1
- package/dist/cjs/Upload.cjs +0 -1
- package/dist/cjs/XButtonAsync-DxB_iRpa.cjs +0 -2
- package/dist/cjs/XButtonAsync-DxB_iRpa.cjs.map +0 -1
- package/dist/cjs/XButtonAsync.cjs +0 -1
- package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs +0 -2
- package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs.map +0 -1
- package/dist/cjs/XButtonConfirm.cjs +0 -1
- package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs +0 -2
- package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs.map +0 -1
- package/dist/cjs/XCascaderRequest.cjs +0 -1
- package/dist/cjs/XFormFlex-CAxHuPZj.cjs +0 -2
- package/dist/cjs/XFormFlex-CAxHuPZj.cjs.map +0 -1
- package/dist/cjs/XFormFlex.cjs +0 -1
- package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs +0 -2
- package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs.map +0 -1
- package/dist/cjs/XFormRequestNext.cjs +0 -1
- package/dist/cjs/XRequest-BNDHllWT.cjs +0 -2
- package/dist/cjs/XRequest-BNDHllWT.cjs.map +0 -1
- package/dist/cjs/XRequest.cjs +0 -1
- package/dist/cjs/XSelectRequest-B0uan46l.cjs +0 -2
- package/dist/cjs/XSelectRequest-B0uan46l.cjs.map +0 -1
- package/dist/cjs/XSelectRequest.cjs +0 -1
- package/dist/cjs/XTableFlex-D8d713CD.cjs +0 -2
- package/dist/cjs/XTableFlex-D8d713CD.cjs.map +0 -1
- package/dist/cjs/XTableFlex.cjs +0 -1
- package/dist/cjs/XTableRequestConfigNext.cjs +0 -1
- package/dist/cjs/XTableRequestNext.cjs +0 -1
- package/dist/cjs/XUploadOssNext-D174wiQw.cjs +0 -2
- package/dist/cjs/XUploadOssNext-D174wiQw.cjs.map +0 -1
- package/dist/cjs/XUploadOssNext.cjs +0 -1
- package/dist/cjs/advance-CXQH0k0U.cjs +0 -2
- package/dist/cjs/advance-CXQH0k0U.cjs.map +0 -1
- package/dist/cjs/advance.cjs +0 -1
- package/dist/cjs/basic-CKVDAV8Q.cjs +0 -2
- package/dist/cjs/basic-CKVDAV8Q.cjs.map +0 -1
- package/dist/cjs/constants-CYUPXiMy.cjs +0 -2
- package/dist/cjs/constants-CYUPXiMy.cjs.map +0 -1
- package/dist/cjs/dist-Dgq63FPm.cjs +0 -2
- package/dist/cjs/dist-Dgq63FPm.cjs.map +0 -1
- package/dist/cjs/element.css +0 -3
- package/dist/cjs/en-Da0_dekZ.cjs +0 -2
- package/dist/cjs/en-Da0_dekZ.cjs.map +0 -1
- package/dist/cjs/en.cjs +0 -1
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index2.cjs +0 -1
- package/dist/cjs/resolver.cjs.map +0 -1
- package/dist/cjs/style.cjs +0 -1
- package/dist/cjs/zh-cn-CF-yyg2O.cjs +0 -2
- package/dist/cjs/zh-cn-CF-yyg2O.cjs.map +0 -1
- package/dist/cjs/zh-cn.cjs +0 -1
- package/dist/es/Button-DSKisAgZ.js +0 -40
- package/dist/es/Button-DSKisAgZ.js.map +0 -1
- package/dist/es/Button.js +0 -2
- package/dist/es/Cascader-Df1d0rtN.js +0 -55
- package/dist/es/Cascader-Df1d0rtN.js.map +0 -1
- package/dist/es/Cascader.js +0 -2
- package/dist/es/Checkbox-C5Z0Dqkx.js +0 -46
- package/dist/es/Checkbox-C5Z0Dqkx.js.map +0 -1
- package/dist/es/Checkbox.js +0 -2
- package/dist/es/ConfigProvider-Dd3Oqqvf.js +0 -17
- package/dist/es/ConfigProvider-Dd3Oqqvf.js.map +0 -1
- package/dist/es/ConfigProvider.js +0 -2
- package/dist/es/DatePicker-xJSFLg0Y.js +0 -70
- package/dist/es/DatePicker-xJSFLg0Y.js.map +0 -1
- package/dist/es/DatePicker.js +0 -2
- package/dist/es/Dialog-BvMeOAU9.js +0 -63
- package/dist/es/Dialog-BvMeOAU9.js.map +0 -1
- package/dist/es/Dialog.js +0 -2
- package/dist/es/Form-V7_olGHq.js +0 -52
- package/dist/es/Form-V7_olGHq.js.map +0 -1
- package/dist/es/Form.js +0 -2
- package/dist/es/FormItem-DCMMnSQO.js +0 -46
- package/dist/es/FormItem-DCMMnSQO.js.map +0 -1
- package/dist/es/FormItem.js +0 -2
- package/dist/es/Input-CQvLBbzQ.js +0 -86
- package/dist/es/Input-CQvLBbzQ.js.map +0 -1
- package/dist/es/Input.js +0 -2
- package/dist/es/InputNumber-DxMf5l3F.js +0 -70
- package/dist/es/InputNumber-DxMf5l3F.js.map +0 -1
- package/dist/es/InputNumber.js +0 -2
- package/dist/es/Pagination-BJEeN66O.js +0 -54
- package/dist/es/Pagination-BJEeN66O.js.map +0 -1
- package/dist/es/Pagination.js +0 -2
- package/dist/es/Select-BHgPcMvn.js +0 -120
- package/dist/es/Select-BHgPcMvn.js.map +0 -1
- package/dist/es/Select.js +0 -2
- package/dist/es/TabPane-B_fsTqWm.js +0 -34
- package/dist/es/TabPane-B_fsTqWm.js.map +0 -1
- package/dist/es/TabPane.js +0 -2
- package/dist/es/Table-Dz_FhW7c.js +0 -112
- package/dist/es/Table-Dz_FhW7c.js.map +0 -1
- package/dist/es/Table.js +0 -2
- package/dist/es/Tabs-COmnZvj1.js +0 -42
- package/dist/es/Tabs-COmnZvj1.js.map +0 -1
- package/dist/es/Tabs.js +0 -2
- package/dist/es/Upload-B9QtDZhT.js +0 -79
- package/dist/es/Upload-B9QtDZhT.js.map +0 -1
- package/dist/es/Upload.js +0 -2
- package/dist/es/XButtonAsync-DN6-j4VG.js +0 -46
- package/dist/es/XButtonAsync-DN6-j4VG.js.map +0 -1
- package/dist/es/XButtonAsync.js +0 -2
- package/dist/es/XButtonConfirm-D8UkJz_d.js +0 -64
- package/dist/es/XButtonConfirm-D8UkJz_d.js.map +0 -1
- package/dist/es/XButtonConfirm.js +0 -2
- package/dist/es/XCascaderRequest-Bsvfwf28.js +0 -54
- package/dist/es/XCascaderRequest-Bsvfwf28.js.map +0 -1
- package/dist/es/XCascaderRequest.js +0 -2
- package/dist/es/XFormFlex-CeKL-p1x.js +0 -36
- package/dist/es/XFormFlex-CeKL-p1x.js.map +0 -1
- package/dist/es/XFormFlex.js +0 -2
- package/dist/es/XFormRequestNext-ClKFsdRJ.js +0 -60
- package/dist/es/XFormRequestNext-ClKFsdRJ.js.map +0 -1
- package/dist/es/XFormRequestNext.js +0 -2
- package/dist/es/XRequest-qctTVADK.js +0 -47
- package/dist/es/XRequest-qctTVADK.js.map +0 -1
- package/dist/es/XRequest.js +0 -2
- package/dist/es/XSelectRequest-eDF112KU.js +0 -86
- package/dist/es/XSelectRequest-eDF112KU.js.map +0 -1
- package/dist/es/XSelectRequest.js +0 -2
- package/dist/es/XTableFlex-IiKO2YNg.js +0 -76
- package/dist/es/XTableFlex-IiKO2YNg.js.map +0 -1
- package/dist/es/XTableFlex.js +0 -2
- package/dist/es/XTableRequestConfigNext.js +0 -2
- package/dist/es/XTableRequestNext.js +0 -2
- package/dist/es/XUploadOssNext-yBI5Peoe.js +0 -70
- package/dist/es/XUploadOssNext-yBI5Peoe.js.map +0 -1
- package/dist/es/XUploadOssNext.js +0 -2
- package/dist/es/advance-9IP8swna.js +0 -1468
- package/dist/es/advance-9IP8swna.js.map +0 -1
- package/dist/es/advance.js +0 -11
- package/dist/es/basic-DvQGCOl7.js +0 -46
- package/dist/es/basic-DvQGCOl7.js.map +0 -1
- package/dist/es/constants-C_Llxhb6.js +0 -6
- package/dist/es/constants-C_Llxhb6.js.map +0 -1
- package/dist/es/dist-DQ3VOl3T.js +0 -151
- package/dist/es/dist-DQ3VOl3T.js.map +0 -1
- package/dist/es/element.css +0 -3
- package/dist/es/en-sGHBfmHX.js +0 -197
- package/dist/es/en-sGHBfmHX.js.map +0 -1
- package/dist/es/en.js +0 -2
- package/dist/es/index.js +0 -47
- package/dist/es/index.js.map +0 -1
- package/dist/es/index2.js +0 -3
- package/dist/es/resolver.js.map +0 -1
- package/dist/es/style.js +0 -0
- package/dist/es/zh-cn-Bkn9hgF7.js.map +0 -1
- package/dist/es/zh-cn.js +0 -2
- package/dist/types/src/advance.d.ts +0 -1
- package/dist/types/src/components/advance.d.ts +0 -38
- package/dist/types/src/components/basic.d.ts +0 -33
- package/dist/types/src/index.d.ts +0 -6
- package/dist/types/src/locales/index.d.ts +0 -2
- package/dist/types/src/style.d.ts +0 -0
- package/dist/types/src/types.d.ts +0 -57
- package/dist/{types/src/components → components}/basic/Button.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Cascader.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Checkbox.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/ConfigProvider.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Dialog.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Form.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/FormItem.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/InputNumber.vue.d.ts +4 -4
- /package/dist/{types/src/components → components}/basic/Pagination.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/TabPane.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/Table.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/Upload.vue.d.ts +0 -0
- /package/dist/{types/src/locales → locales}/en.d.ts +0 -0
- /package/dist/{types/src/locales → locales}/zh-cn.d.ts +0 -0
- /package/dist/{types/src/resolver.d.ts → resolver.d.ts} +0 -0
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import "./basic-DvQGCOl7.js";
|
|
2
|
-
import { l as e } from "./dist-DQ3VOl3T.js";
|
|
3
|
-
import { t } from "./Select-BHgPcMvn.js";
|
|
4
|
-
import { createBlock as n, defineComponent as r, mergeModels as i, mergeProps as a, openBlock as o, unref as s, useModel as c } from "vue";
|
|
5
|
-
//#endregion
|
|
6
|
-
//#region src/components/advance/XSelectRequest.vue
|
|
7
|
-
var l = /* @__PURE__ */ r({
|
|
8
|
-
__name: "XSelectRequest",
|
|
9
|
-
props: /* @__PURE__ */ i({
|
|
10
|
-
request: { type: Function },
|
|
11
|
-
supplement: { type: Function },
|
|
12
|
-
collapseTagsTooltip: { type: Boolean },
|
|
13
|
-
defaultFirstOption: { type: Boolean },
|
|
14
|
-
clearable: { type: Boolean },
|
|
15
|
-
allowCreate: { type: Boolean },
|
|
16
|
-
collapseTags: { type: Boolean },
|
|
17
|
-
data: {},
|
|
18
|
-
disabled: {
|
|
19
|
-
type: Boolean,
|
|
20
|
-
default: () => void 0
|
|
21
|
-
},
|
|
22
|
-
factory: { type: Function },
|
|
23
|
-
filterable: { type: Boolean },
|
|
24
|
-
identify: { type: Function },
|
|
25
|
-
loading: { type: Boolean },
|
|
26
|
-
multiple: {
|
|
27
|
-
type: Boolean,
|
|
28
|
-
default: () => void 0
|
|
29
|
-
},
|
|
30
|
-
remote: { type: Boolean },
|
|
31
|
-
remoteMethod: { type: Function },
|
|
32
|
-
size: {},
|
|
33
|
-
placeholder: {},
|
|
34
|
-
noDataText: {}
|
|
35
|
-
}, {
|
|
36
|
-
modelValue: {},
|
|
37
|
-
modelModifiers: {}
|
|
38
|
-
}),
|
|
39
|
-
emits: /* @__PURE__ */ i([
|
|
40
|
-
"prepare",
|
|
41
|
-
"blur",
|
|
42
|
-
"change",
|
|
43
|
-
"focus"
|
|
44
|
-
], ["update:modelValue"]),
|
|
45
|
-
setup(r, { expose: i, emit: l }) {
|
|
46
|
-
let u = l, d = c(r, "modelValue"), { data: f, isFetching: p, path: m, url: h, execute: g, query: _ } = r.request(), v = e(async (e) => {
|
|
47
|
-
u("prepare", {
|
|
48
|
-
path: m.value,
|
|
49
|
-
query: _.value
|
|
50
|
-
}, e), g();
|
|
51
|
-
}), y = r.supplement && ((e) => r.supplement(e, h));
|
|
52
|
-
return i({
|
|
53
|
-
search: v,
|
|
54
|
-
data: f,
|
|
55
|
-
path: m,
|
|
56
|
-
url: h,
|
|
57
|
-
execute: g,
|
|
58
|
-
query: _
|
|
59
|
-
}), (e, i) => (o(), n(s(t), a({
|
|
60
|
-
data: s(f),
|
|
61
|
-
supplement: s(y),
|
|
62
|
-
remoteMethod: s(v),
|
|
63
|
-
factory: r.factory,
|
|
64
|
-
allowCreate: r.allowCreate,
|
|
65
|
-
clearable: r.clearable,
|
|
66
|
-
collapseTags: r.collapseTags,
|
|
67
|
-
identify: r.identify,
|
|
68
|
-
remote: r.remote,
|
|
69
|
-
filterable: r.remote || r.filterable,
|
|
70
|
-
disabled: s(p) || r.disabled,
|
|
71
|
-
loading: s(p) || r.loading,
|
|
72
|
-
multiple: r.multiple,
|
|
73
|
-
size: r.size
|
|
74
|
-
}, {
|
|
75
|
-
modelValue: d.value,
|
|
76
|
-
"onUpdate:modelValue": i[0] ||= (e) => d.value = e,
|
|
77
|
-
onBlur: i[1] ||= (t) => e.$emit("blur", t),
|
|
78
|
-
onFocus: i[2] ||= (t) => e.$emit("focus", t),
|
|
79
|
-
onChange: i[3] ||= (t) => e.$emit("change", t)
|
|
80
|
-
}), null, 16, ["modelValue"]));
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
//#endregion
|
|
84
|
-
export { l as t };
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=XSelectRequest-eDF112KU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XSelectRequest-eDF112KU.js","names":["$emit"],"sources":["../../src/components/advance/XSelectRequest.vue","../../src/components/advance/XSelectRequest.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"U, PT, QR, D, V, MV extends V | V[]\">\r\nimport type { Ref } from 'vue'\r\nimport type { XSelectEvents, XSelectProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { XSelect } from '@/components/basic'\r\n\r\nexport interface XSelectRequestProps<U, PT, QR, D, V> extends Omit<XSelectProps<D, V>, 'supplement'> {\r\n request: () => {\r\n data: Ref<D[]>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n supplement?: (lacks: V[], url: U) => D[] | PromiseLike<D[]>\r\n}\r\n\r\nexport interface XSelectRequestEvents<PT, QR, V> extends XSelectEvents<V> {\r\n prepare: [parameters: { path: PT, query: QR }, input?: string]\r\n}\r\n\r\nconst { request, supplement, disabled = undefined, multiple = undefined } = defineProps<XSelectRequestProps<U, PT, QR, D, V>>()\r\n\r\nconst emit = defineEmits<XSelectRequestEvents<PT, QR, V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst { data, isFetching, path, url, execute, query } = request()\r\n\r\nconst search = useDebounceFn(async (input?: string) => {\r\n emit('prepare', { path: path.value, query: query.value }, input)\r\n execute()\r\n})\r\nconst _supplement = supplement && ((lacks: V[]) => supplement!(lacks, url))\r\n\r\ndefineExpose({ search, data, path, url, execute, query })\r\n</script>\r\n\r\n<template>\r\n <XSelect\r\n v-bind=\"{\r\n data,\r\n supplement: _supplement,\r\n remoteMethod: search,\r\n factory,\r\n allowCreate,\r\n clearable,\r\n collapseTags,\r\n identify,\r\n remote,\r\n filterable: remote || filterable,\r\n disabled: isFetching || disabled,\r\n loading: isFetching || loading,\r\n multiple,\r\n size,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n @change=\"$emit('change', $event)\"\r\n />\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"U, PT, QR, D, V, MV extends V | V[]\">\r\nimport type { Ref } from 'vue'\r\nimport type { XSelectEvents, XSelectProps } from '@/components/basic'\r\nimport { useDebounceFn } from '@vueuse/core'\r\nimport { XSelect } from '@/components/basic'\r\n\r\nexport interface XSelectRequestProps<U, PT, QR, D, V> extends Omit<XSelectProps<D, V>, 'supplement'> {\r\n request: () => {\r\n data: Ref<D[]>\r\n execute: () => PromiseLike<unknown>\r\n isFetching: Ref<boolean>\r\n path: Ref<PT>\r\n query: Ref<QR>\r\n url: U\r\n }\r\n supplement?: (lacks: V[], url: U) => D[] | PromiseLike<D[]>\r\n}\r\n\r\nexport interface XSelectRequestEvents<PT, QR, V> extends XSelectEvents<V> {\r\n prepare: [parameters: { path: PT, query: QR }, input?: string]\r\n}\r\n\r\nconst { request, supplement, disabled = undefined, multiple = undefined } = defineProps<XSelectRequestProps<U, PT, QR, D, V>>()\r\n\r\nconst emit = defineEmits<XSelectRequestEvents<PT, QR, V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst { data, isFetching, path, url, execute, query } = request()\r\n\r\nconst search = useDebounceFn(async (input?: string) => {\r\n emit('prepare', { path: path.value, query: query.value }, input)\r\n execute()\r\n})\r\nconst _supplement = supplement && ((lacks: V[]) => supplement!(lacks, url))\r\n\r\ndefineExpose({ search, data, path, url, execute, query })\r\n</script>\r\n\r\n<template>\r\n <XSelect\r\n v-bind=\"{\r\n data,\r\n supplement: _supplement,\r\n remoteMethod: search,\r\n factory,\r\n allowCreate,\r\n clearable,\r\n collapseTags,\r\n identify,\r\n remote,\r\n filterable: remote || filterable,\r\n disabled: isFetching || disabled,\r\n loading: isFetching || loading,\r\n multiple,\r\n size,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n @change=\"$emit('change', $event)\"\r\n />\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBA,IAAM,IAAO,GAEP,IAAQ,EAAe,GAAA,aAAE,EAEzB,EAAE,SAAM,eAAY,SAAM,QAAK,YAAS,aAAU,EAAA,SAAS,EAE3D,IAAS,EAAc,OAAO,MAAmB;AAErD,GADA,EAAK,WAAW;IAAE,MAAM,EAAK;IAAO,OAAO,EAAM;IAAO,EAAE,EAAM,EAChE,GAAS;IACT,EACI,IAAc,EAAA,gBAAgB,MAAe,EAAA,WAAY,GAAO,EAAI;SAE1E,EAAa;GAAE;GAAQ;GAAM;GAAM;GAAK;GAAS;GAAO,CAAC,kBAIvD,EAqBE,EAAA,EAAA,EArBF,EAqBE;SApBiB,EAAA,EAAI;eAAqB,EAAA,EAAW;iBAAuB,EAAA,EAAM;YAAS,EAAA;gBAAgB,EAAA;cAAoB,EAAA;iBAAkB,EAAA;aAAqB,EAAA;WAAiB,EAAA;eAA2B,EAAA,UAAU,EAAA;aAA6B,EAAA,EAAU,IAAI,EAAA;YAA0B,EAAA,EAAU,IAAI,EAAA;aAAgB,EAAA;SAAiB,EAAA;;eAgBvU,EAAA;0CAAA,EAAK,QAAA;GACb,QAAI,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,QAAS,EAAM;GAC1B,SAAK,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,SAAU,EAAM;GAC5B,UAAM,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,UAAW,EAAM"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import "./basic-DvQGCOl7.js";
|
|
2
|
-
import { r as e } from "./dist-DQ3VOl3T.js";
|
|
3
|
-
import { t } from "./Table-Dz_FhW7c.js";
|
|
4
|
-
import { createElementBlock as n, createVNode as r, defineComponent as i, mergeProps as a, openBlock as o, unref as s, useTemplateRef as c } from "vue";
|
|
5
|
-
//#endregion
|
|
6
|
-
//#region src/components/advance/XTableFlex.vue
|
|
7
|
-
var l = /* @__PURE__ */ i({
|
|
8
|
-
__name: "XTableFlex",
|
|
9
|
-
props: {
|
|
10
|
-
cellClassName: { type: [Function, String] },
|
|
11
|
-
cellStyle: { type: [Function, Object] },
|
|
12
|
-
rowClassName: { type: [Function, String] },
|
|
13
|
-
rowStyle: { type: [Function, Object] },
|
|
14
|
-
border: { type: Boolean },
|
|
15
|
-
columns: {},
|
|
16
|
-
data: {},
|
|
17
|
-
height: {},
|
|
18
|
-
emptyText: {},
|
|
19
|
-
rowKey: { type: Function },
|
|
20
|
-
showOverflowTooltip: {
|
|
21
|
-
type: [Boolean, Object],
|
|
22
|
-
default: () => void 0
|
|
23
|
-
},
|
|
24
|
-
showSummary: { type: Boolean },
|
|
25
|
-
size: {},
|
|
26
|
-
fit: {
|
|
27
|
-
type: Boolean,
|
|
28
|
-
default: !0
|
|
29
|
-
},
|
|
30
|
-
spanMethod: { type: Function },
|
|
31
|
-
summaryMethod: { type: Function }
|
|
32
|
-
},
|
|
33
|
-
emits: [
|
|
34
|
-
"headerDragend",
|
|
35
|
-
"rowClick",
|
|
36
|
-
"rowDblclick",
|
|
37
|
-
"selectionChange"
|
|
38
|
-
],
|
|
39
|
-
setup(i, { expose: l }) {
|
|
40
|
-
let u = c("container"), d = e(u), f = c("table");
|
|
41
|
-
return l({
|
|
42
|
-
clearSelection: () => f.value?.clearSelection(),
|
|
43
|
-
getSelectionRows: () => f.value?.getSelectionRows(),
|
|
44
|
-
scrollTo: (e, t) => f.value?.scrollTo(e, t),
|
|
45
|
-
setCurrentRow: (e) => f.value?.setCurrentRow(e),
|
|
46
|
-
setScrollLeft: (e) => f.value?.scrollTo(e),
|
|
47
|
-
setScrollTop: (e) => f.value?.scrollTo(e),
|
|
48
|
-
toggleRowSelection: (e, t, n) => f.value?.toggleRowSelection(e, t, n)
|
|
49
|
-
}), (e, c) => (o(), n("div", {
|
|
50
|
-
ref_key: "container",
|
|
51
|
-
ref: u,
|
|
52
|
-
class: "flex-1 overflow-hidden"
|
|
53
|
-
}, [r(s(t), a({
|
|
54
|
-
ref_key: "table",
|
|
55
|
-
ref: f
|
|
56
|
-
}, {
|
|
57
|
-
...e.$props,
|
|
58
|
-
cellClassName: i.cellClassName,
|
|
59
|
-
cellStyle: i.cellStyle,
|
|
60
|
-
rowClassName: i.rowClassName,
|
|
61
|
-
rowStyle: i.rowStyle,
|
|
62
|
-
showOverflowTooltip: i.showOverflowTooltip,
|
|
63
|
-
fit: i.fit
|
|
64
|
-
}, {
|
|
65
|
-
height: s(d).height.value,
|
|
66
|
-
onRowClick: c[0] ||= (t) => e.$emit("rowClick", t),
|
|
67
|
-
onRowDblclick: c[1] ||= (t) => e.$emit("rowDblclick", t),
|
|
68
|
-
onSelectionChange: c[2] ||= (t) => e.$emit("selectionChange", t),
|
|
69
|
-
onHeaderDragend: c[3] ||= (t, n, r) => e.$emit("headerDragend", t, n, r)
|
|
70
|
-
}), null, 16, ["height"])], 512));
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
//#endregion
|
|
74
|
-
export { l as t };
|
|
75
|
-
|
|
76
|
-
//# sourceMappingURL=XTableFlex-IiKO2YNg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XTableFlex-IiKO2YNg.js","names":["$props","$emit"],"sources":["../../src/components/advance/XTableFlex.vue","../../src/components/advance/XTableFlex.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx } from 'element-plus'\r\nimport type { CSSProperties } from 'vue'\r\nimport type { XTableEvents, XTableProps } from '@/components/basic'\r\nimport { useElementSize } from '@vueuse/core'\r\nimport { useTemplateRef } from 'vue'\r\nimport { XTable } from '@/components/basic'\r\n\r\nexport interface XTableFlexProps<D> extends XTableProps<D> {\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n}\r\n\r\nexport interface XTableFlexEvents<D> extends XTableEvents<D> {}\r\n\r\nconst { showOverflowTooltip = undefined, cellClassName, cellStyle, rowClassName, rowStyle, fit = true } = defineProps<XTableFlexProps<D>>()\r\ndefineEmits<XTableFlexEvents<D>>()\r\n\r\nconst container = useTemplateRef('container')\r\nconst size = useElementSize(container)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n</script>\r\n\r\n<template>\r\n <div ref=\"container\" class=\"flex-1 overflow-hidden\">\r\n <XTable\r\n ref=\"table\"\r\n v-bind=\"{ ...$props, cellClassName, cellStyle, rowClassName, rowStyle, showOverflowTooltip, fit }\"\r\n :height=\"size.height.value\"\r\n @row-click=\"(row: D) => $emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => $emit('rowDblclick', row)\"\r\n @selection-change=\"(rows: D[]) => $emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => $emit('headerDragend', newWidth, oldWidth, column)\"\r\n />\r\n </div>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx } from 'element-plus'\r\nimport type { CSSProperties } from 'vue'\r\nimport type { XTableEvents, XTableProps } from '@/components/basic'\r\nimport { useElementSize } from '@vueuse/core'\r\nimport { useTemplateRef } from 'vue'\r\nimport { XTable } from '@/components/basic'\r\n\r\nexport interface XTableFlexProps<D> extends XTableProps<D> {\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n}\r\n\r\nexport interface XTableFlexEvents<D> extends XTableEvents<D> {}\r\n\r\nconst { showOverflowTooltip = undefined, cellClassName, cellStyle, rowClassName, rowStyle, fit = true } = defineProps<XTableFlexProps<D>>()\r\ndefineEmits<XTableFlexEvents<D>>()\r\n\r\nconst container = useTemplateRef('container')\r\nconst size = useElementSize(container)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n</script>\r\n\r\n<template>\r\n <div ref=\"container\" class=\"flex-1 overflow-hidden\">\r\n <XTable\r\n ref=\"table\"\r\n v-bind=\"{ ...$props, cellClassName, cellStyle, rowClassName, rowStyle, showOverflowTooltip, fit }\"\r\n :height=\"size.height.value\"\r\n @row-click=\"(row: D) => $emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => $emit('rowDblclick', row)\"\r\n @selection-change=\"(rows: D[]) => $emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => $emit('headerDragend', newWidth, oldWidth, column)\"\r\n />\r\n </div>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBA,IAAM,IAAY,EAAe,YAAY,EACvC,IAAO,EAAe,EAAU,EAEhC,IAAQ,EAAe,QAAQ;SAErC,EAAa;GACX,sBAAsB,EAAM,OAAO,gBAAgB;GACnD,wBAAwB,EAAM,OAAO,kBAAkB;GACvD,WAAW,GAAmC,MAAoB,EAAM,OAAO,SAAS,GAAS,EAAO;GACxG,gBAAgB,MAAW,EAAM,OAAO,cAAc,EAAI;GAC1D,gBAAgB,MAAiB,EAAM,OAAO,SAAS,EAAK;GAC5D,eAAe,MAAgB,EAAM,OAAO,SAAS,EAAI;GACzD,qBAAqB,GAAQ,GAAoB,MAA+B,EAAM,OAAO,mBAAmB,GAAK,GAAU,EAAgB;GAChJ,CAAC,kBAIA,EAUM,OAAA;YAVG;GAAJ,KAAI;GAAY,OAAM;MACzB,EAQE,EAAA,EAAA,EARF,EAQE;YAPI;GAAJ,KAAI;;MACSA,EAAAA;GAAM,eAAE,EAAA;GAAa,WAAE,EAAA;GAAS,cAAE,EAAA;GAAY,UAAE,EAAA;GAAQ,qBAAE,EAAA;GAAmB,KAAE,EAAA;GAAG,EAAA;GAC9F,QAAQ,EAAA,EAAI,CAAC,OAAO;GACpB,YAAS,AAAA,EAAA,QAAG,MAAWC,EAAAA,MAAK,YAAa,EAAG;GAC5C,eAAY,AAAA,EAAA,QAAG,MAAWA,EAAAA,MAAK,eAAgB,EAAG;GAClD,mBAAgB,AAAA,EAAA,QAAG,MAAcA,EAAAA,MAAK,mBAAoB,EAAI;GAC9D,iBAAc,AAAA,EAAA,QAAG,GAAU,GAAU,MAAWA,EAAAA,MAAK,iBAAkB,GAAU,GAAU,EAAM"}
|
package/dist/es/XTableFlex.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import "./basic-DvQGCOl7.js";
|
|
2
|
-
import { t as e } from "./constants-C_Llxhb6.js";
|
|
3
|
-
import { t } from "./Upload-B9QtDZhT.js";
|
|
4
|
-
import { ElMessage as n, genFileId as r } from "element-plus";
|
|
5
|
-
import { computed as i, createBlock as a, createSlots as o, createTextVNode as s, createVNode as c, defineComponent as l, guardReactiveProps as u, inject as d, mergeModels as f, normalizeProps as p, openBlock as m, ref as h, renderSlot as g, resolveComponent as _, unref as v, useModel as y, withCtx as b } from "vue";
|
|
6
|
-
//#endregion
|
|
7
|
-
//#region src/components/advance/XUploadOssNext.vue
|
|
8
|
-
var x = /* @__PURE__ */ l({
|
|
9
|
-
__name: "XUploadOssNext",
|
|
10
|
-
props: /* @__PURE__ */ f({
|
|
11
|
-
maxSize: { default: () => 50 * 1024 },
|
|
12
|
-
accept: {},
|
|
13
|
-
disabled: { type: Boolean },
|
|
14
|
-
limit: {},
|
|
15
|
-
showFileList: { type: Boolean },
|
|
16
|
-
multiple: { type: Boolean },
|
|
17
|
-
onSuccess: { type: Function },
|
|
18
|
-
onRemove: { type: Function },
|
|
19
|
-
onPreview: { type: Function }
|
|
20
|
-
}, {
|
|
21
|
-
modelValue: {},
|
|
22
|
-
modelModifiers: {}
|
|
23
|
-
}),
|
|
24
|
-
emits: ["update:modelValue"],
|
|
25
|
-
setup(l) {
|
|
26
|
-
let f = d(e), x = y(l, "modelValue"), S = i(() => typeof f?.oss == "function" ? f.oss() : f?.oss), C = h(""), w = (e) => {
|
|
27
|
-
let t = `${S.value?.dir}/${Date.now()}/${e.name}`;
|
|
28
|
-
return C.value = `${S.value?.host}/${t}`, {
|
|
29
|
-
...S.value,
|
|
30
|
-
key: t,
|
|
31
|
-
OSSAccessKeyId: S.value?.accessId,
|
|
32
|
-
success_action_status: "200"
|
|
33
|
-
};
|
|
34
|
-
}, T = (e) => (e.size > l.maxSize && n.warning("文件过大,请重新选择"), e.size < l.maxSize), E = (e, t) => x.value = Array.isArray(x.value) ? t.map((e) => e.url) : void 0, D = () => x.value = Array.isArray(x.value) ? x.value.concat(C.value) : C.value, O = (e) => window.open(e.url), k = i(() => [].concat(x.value ?? []).reverse().map((e) => ({
|
|
35
|
-
name: e.split("/").findLast(() => !0),
|
|
36
|
-
url: e,
|
|
37
|
-
uid: r()
|
|
38
|
-
})));
|
|
39
|
-
return (e, n) => {
|
|
40
|
-
let r = _("XButton");
|
|
41
|
-
return m(), a(v(t), p(u({
|
|
42
|
-
accept: l.accept,
|
|
43
|
-
action: S.value?.host,
|
|
44
|
-
data: w,
|
|
45
|
-
fileList: k.value,
|
|
46
|
-
beforeUpload: T,
|
|
47
|
-
onRemove: E,
|
|
48
|
-
onSuccess: D,
|
|
49
|
-
onPreview: O
|
|
50
|
-
})), o({
|
|
51
|
-
default: b(() => [g(e.$slots, "default", {}, () => [c(r, {
|
|
52
|
-
type: "primary",
|
|
53
|
-
size: "small"
|
|
54
|
-
}, {
|
|
55
|
-
default: b(() => [...n[0] ||= [s(" 点击上传 ", -1)]]),
|
|
56
|
-
_: 1
|
|
57
|
-
})])]),
|
|
58
|
-
_: 2
|
|
59
|
-
}, ["tip" in e.$slots ? {
|
|
60
|
-
name: "tip",
|
|
61
|
-
fn: b(() => [g(e.$slots, "tip")]),
|
|
62
|
-
key: "0"
|
|
63
|
-
} : void 0]), 1040);
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
//#endregion
|
|
68
|
-
export { x as t };
|
|
69
|
-
|
|
70
|
-
//# sourceMappingURL=XUploadOssNext-yBI5Peoe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XUploadOssNext-yBI5Peoe.js","names":["$slots"],"sources":["../../src/components/advance/XUploadOssNext.vue","../../src/components/advance/XUploadOssNext.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"V extends string, MV extends V | V[]\">\r\nimport type { UploadHooks } from 'element-plus'\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XUploadProps } from '@/components/basic'\r\nimport { ElMessage, genFileId } from 'element-plus'\r\nimport { computed, inject, ref } from 'vue'\r\nimport { XUpload } from '@/components/basic'\r\nimport { X_ELEMENT_CONFIG } from '@/constants'\r\n\r\nexport interface XUploadOssProps extends Omit<XUploadProps, 'action' | 'data' | 'fileList' | 'beforeUpload'> {\r\n /** oss 接收文件最大 大约为50兆, 超过50兆应采取oss ststoken 分片上传 */\r\n maxSize?: number\r\n}\r\n\r\nconst { maxSize = 50 * 1024 } = defineProps<XUploadOssProps>()\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n tip: () => VNodeChild\r\n}>()\r\n\r\nconst config = inject(X_ELEMENT_CONFIG)\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst oss = computed(() => typeof config?.oss === 'function' ? config.oss() : config?.oss)\r\n\r\nconst url = ref('')\r\nconst data = (file: { name: string }) => {\r\n const key = `${oss.value?.dir}/${Date.now()}/${file.name}`\r\n url.value = `${oss.value?.host}/${key}`\r\n return {\r\n ...oss.value,\r\n key,\r\n OSSAccessKeyId: oss.value?.accessId,\r\n success_action_status: '200'\r\n }\r\n}\r\n\r\nconst beforeUpload: UploadHooks['beforeUpload'] = (rawFile) => {\r\n if (rawFile.size > maxSize) {\r\n ElMessage.warning('文件过大,请重新选择')\r\n }\r\n return rawFile.size < maxSize\r\n}\r\nconst remove: UploadHooks['onRemove'] = (_uploadFile, uploadFiles) => model.value = (Array.isArray(model.value) ? uploadFiles.map(it => it.url) : undefined) as MV\r\nconst success: UploadHooks['onSuccess'] = () => model.value = (Array.isArray(model.value) ? model.value.concat(url.value as V) : url.value) as MV\r\nconst preview: UploadHooks['onPreview'] = uploadFile => window.open(uploadFile.url)\r\n\r\nconst fileList = computed(() => ([] as string[]).concat(model.value ?? []).reverse().map(\r\n it => ({ name: it.split('/').findLast(() => true)!, url: it, uid: genFileId() })\r\n))\r\n</script>\r\n\r\n<template>\r\n <XUpload\r\n v-bind=\"{\r\n accept,\r\n action: oss?.host,\r\n data,\r\n fileList,\r\n beforeUpload,\r\n onRemove: remove,\r\n onSuccess: success,\r\n onPreview: preview,\r\n }\"\r\n >\r\n <slot>\r\n <XButton type=\"primary\" size=\"small\">\r\n 点击上传\r\n </XButton>\r\n </slot>\r\n\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n </XUpload>\r\n</template>\r\n","<script setup lang=\"ts\" generic=\"V extends string, MV extends V | V[]\">\r\nimport type { UploadHooks } from 'element-plus'\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XUploadProps } from '@/components/basic'\r\nimport { ElMessage, genFileId } from 'element-plus'\r\nimport { computed, inject, ref } from 'vue'\r\nimport { XUpload } from '@/components/basic'\r\nimport { X_ELEMENT_CONFIG } from '@/constants'\r\n\r\nexport interface XUploadOssProps extends Omit<XUploadProps, 'action' | 'data' | 'fileList' | 'beforeUpload'> {\r\n /** oss 接收文件最大 大约为50兆, 超过50兆应采取oss ststoken 分片上传 */\r\n maxSize?: number\r\n}\r\n\r\nconst { maxSize = 50 * 1024 } = defineProps<XUploadOssProps>()\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n tip: () => VNodeChild\r\n}>()\r\n\r\nconst config = inject(X_ELEMENT_CONFIG)\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst oss = computed(() => typeof config?.oss === 'function' ? config.oss() : config?.oss)\r\n\r\nconst url = ref('')\r\nconst data = (file: { name: string }) => {\r\n const key = `${oss.value?.dir}/${Date.now()}/${file.name}`\r\n url.value = `${oss.value?.host}/${key}`\r\n return {\r\n ...oss.value,\r\n key,\r\n OSSAccessKeyId: oss.value?.accessId,\r\n success_action_status: '200'\r\n }\r\n}\r\n\r\nconst beforeUpload: UploadHooks['beforeUpload'] = (rawFile) => {\r\n if (rawFile.size > maxSize) {\r\n ElMessage.warning('文件过大,请重新选择')\r\n }\r\n return rawFile.size < maxSize\r\n}\r\nconst remove: UploadHooks['onRemove'] = (_uploadFile, uploadFiles) => model.value = (Array.isArray(model.value) ? uploadFiles.map(it => it.url) : undefined) as MV\r\nconst success: UploadHooks['onSuccess'] = () => model.value = (Array.isArray(model.value) ? model.value.concat(url.value as V) : url.value) as MV\r\nconst preview: UploadHooks['onPreview'] = uploadFile => window.open(uploadFile.url)\r\n\r\nconst fileList = computed(() => ([] as string[]).concat(model.value ?? []).reverse().map(\r\n it => ({ name: it.split('/').findLast(() => true)!, url: it, uid: genFileId() })\r\n))\r\n</script>\r\n\r\n<template>\r\n <XUpload\r\n v-bind=\"{\r\n accept,\r\n action: oss?.host,\r\n data,\r\n fileList,\r\n beforeUpload,\r\n onRemove: remove,\r\n onSuccess: success,\r\n onPreview: preview,\r\n }\"\r\n >\r\n <slot>\r\n <XButton type=\"primary\" size=\"small\">\r\n 点击上传\r\n </XButton>\r\n </slot>\r\n\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n </XUpload>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAoBA,IAAM,IAAS,EAAO,EAAiB,EAEjC,IAAQ,EAAe,GAAA,aAAE,EAEzB,IAAM,QAAe,OAAO,GAAQ,OAAQ,aAAa,EAAO,KAAK,GAAG,GAAQ,IAAI,EAEpF,IAAM,EAAI,GAAG,EACb,KAAQ,MAA2B;GACvC,IAAM,IAAM,GAAG,EAAI,OAAO,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,EAAK;AAEpD,UADA,EAAI,QAAQ,GAAG,EAAI,OAAO,KAAK,GAAG,KAC3B;IACL,GAAG,EAAI;IACP;IACA,gBAAgB,EAAI,OAAO;IAC3B,uBAAuB;IACxB;KAGG,KAA6C,OAC7C,EAAQ,OAAO,EAAA,WACjB,EAAU,QAAQ,aAAa,EAE1B,EAAQ,OAAO,EAAA,UAElB,KAAmC,GAAa,MAAgB,EAAM,QAAS,MAAM,QAAQ,EAAM,MAAM,GAAG,EAAY,KAAI,MAAM,EAAG,IAAI,GAAG,KAAA,GAC5I,UAA0C,EAAM,QAAS,MAAM,QAAQ,EAAM,MAAM,GAAG,EAAM,MAAM,OAAO,EAAI,MAAW,GAAG,EAAI,OAC/H,KAAoC,MAAc,OAAO,KAAK,EAAW,IAAI,EAE7E,IAAW,QAAgB,EAAE,CAAc,OAAO,EAAM,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KACnF,OAAO;GAAE,MAAM,EAAG,MAAM,IAAI,CAAC,eAAe,GAAK;GAAG,KAAK;GAAI,KAAK,GAAW;GAAE,EAChF,CAAC;;;eAIA,EAqBU,EAAA,EAAA,EAAA,EAAA,EAAA;YApBS,EAAA;YAAuB,EAAA,OAAK;IAAa;cAAa,EAAA;IAAiB;cAA+B;eAA0B;eAA2B;;qBAerK,CAJP,EAIO,EAAA,QAAA,WAAA,EAAA,QAAA,CAHL,EAEU,GAAA;KAFD,MAAK;KAAU,MAAK;;sBAE7B,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFqC,UAErC,GAAA,CAAA,CAAA,CAAA;;;;gBAGuBA,EAAAA,SAAAA;UAAS;gBACb,CAAnB,EAAmB,EAAA,QAAA,MAAA,CAAA,CAAA"}
|