pro-design-vue 1.2.19 → 1.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +350 -82
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +351 -83
- package/es/components/form/src/components/FormGroup.d.ts +1 -0
- package/es/components/form/src/components/FormList.d.ts +1 -0
- package/es/components/form/src/components/FormListContainer.d.ts +1 -0
- package/es/components/form/src/components/FormListItem.d.ts +1 -0
- package/es/components/form/src/components/FormSet.d.ts +1 -0
- package/es/components/form/src/components/FormTitle.d.ts +10 -0
- package/es/components/form/src/fields/FieldUploadButton.d.ts +27 -4
- package/es/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
- package/es/components/form/src/type.d.ts +1 -0
- package/es/index.d.ts +1 -0
- package/es/packages/components/form/src/components/FormItem.mjs +2 -1
- package/es/packages/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/packages/components/form/src/components/FormTitle.mjs +8 -2
- package/es/packages/components/form/src/components/FormTitle.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldCascader.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldCascader.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDatePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDatePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDigit.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDigit.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDigitRange.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDigitRange.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldPassword.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldPassword.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldRate.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldRate.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSelect.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldSelect.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSlider.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldSlider.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSwitch.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldSwitch.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldText.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldText.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTimePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldTimePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTreeSelect.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldTreeSelect.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs +119 -28
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +102 -29
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs.map +1 -1
- package/es/packages/components/form/src/utils/fieldPropsMap.mjs +4 -0
- package/es/packages/components/form/src/utils/fieldPropsMap.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +1 -0
- package/lib/components/form/src/components/FormList.d.ts +1 -0
- package/lib/components/form/src/components/FormListContainer.d.ts +1 -0
- package/lib/components/form/src/components/FormListItem.d.ts +1 -0
- package/lib/components/form/src/components/FormSet.d.ts +1 -0
- package/lib/components/form/src/components/FormTitle.d.ts +10 -0
- package/lib/components/form/src/fields/FieldUploadButton.d.ts +27 -4
- package/lib/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
- package/lib/components/form/src/type.d.ts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/packages/components/form/src/components/FormItem.js +2 -1
- package/lib/packages/components/form/src/components/FormItem.js.map +1 -1
- package/lib/packages/components/form/src/components/FormTitle.js +8 -2
- package/lib/packages/components/form/src/components/FormTitle.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldCascader.js +8 -1
- package/lib/packages/components/form/src/fields/FieldCascader.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDatePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDatePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDateRangePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDateRangePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDigit.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDigit.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDigitRange.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDigitRange.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldPassword.js +10 -2
- package/lib/packages/components/form/src/fields/FieldPassword.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldRate.js +10 -2
- package/lib/packages/components/form/src/fields/FieldRate.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSelect.js +8 -1
- package/lib/packages/components/form/src/fields/FieldSelect.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSlider.js +10 -2
- package/lib/packages/components/form/src/fields/FieldSlider.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSwitch.js +8 -1
- package/lib/packages/components/form/src/fields/FieldSwitch.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldText.js +10 -2
- package/lib/packages/components/form/src/fields/FieldText.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTimePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldTimePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTreeSelect.js +8 -1
- package/lib/packages/components/form/src/fields/FieldTreeSelect.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadButton.js +117 -26
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js +100 -27
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js.map +1 -1
- package/lib/packages/components/form/src/utils/fieldPropsMap.js +4 -0
- package/lib/packages/components/form/src/utils/fieldPropsMap.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/form.less +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldSlider.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldSlider.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldSlider.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldSlider.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:35:43\n * @Description:\n */\nimport { computed, defineComponent } from 'vue'\nimport { Slider } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport getSlot from '../utils/getSlot'\nimport FieldReadonly from './FieldReadonly'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\n\nconst SLOT_NAMES = ['mark']\n\nexport default defineComponent({\n name: 'FieldSlider',\n props: {\n ...commonFieldProps(),\n mark: {\n type: String,\n default: '',\n },\n },\n setup(props, { attrs }) {\n const formSlotsContext = useInjectSlots()\n const { formData } = useInjectForm()\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const onChange = (value: any) => {\n props.onChange?.(value)\n }\n\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={props.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <Slider\n value={props.value}\n {...attrs}\n style={{\n minWidth: '120px',\n }}\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","mark","type","String","default","setup","attrs","formSlotsContext","useInjectSlots","formData","useInjectForm","slotsGetter","computed","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","onChange","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","Slider","minWidth"],"mappings":";;;;;;;;;AAgBA,MAAMA,UAAAA,GAAa,CAAC,MAAM,CAAA;AAE1B,kDAA+B;AAAA,EAC7BC,IAAAA,EAAM,aAAA;AAAA,EACNC,KAAAA,EAAO;AAAA,IACL,GAAGC,gBAAAA,EAAiB;AAAA,IACpBC,IAAAA,EAAM;AAAA,MACJC,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA;AACX,GACF;AAAA,EACAC,MAAMN,KAAAA,EAAO;AAAA,IAAEO;AAAAA,GAAM,EAAG;AACtB,IAAA,MAAMC,mBAAmBC,cAAAA,EAAe;AACxC,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAaC,aAAAA,EAAc;AACnC,IAAA,MAAMC,WAAAA,GAAcC,SAAS,MAAM;AACjC,MAAA,MAAMC,OAAO,EAAC;AACdhB,MAAAA,UAAAA,CAAWiB,QAAShB,CAAAA,IAAAA,KAAS;AAC3B,QAAA,MAAMiB,IAAAA,GAAOC,OAAAA,CAAQjB,KAAAA,CAAMD,IAAI,GAAGS,gBAAgB,CAAA;AAClD,QAAA,IAAIQ,IAAAA,EAAM;AACRF,UAAAA,IAAAA,CAAKf,IAAI,CAAA,GAAKC,CAAAA,MAAAA,KAAKkB,YAAAC,WAAAA,EAAA;AAAA,YAAA,OAAA,EACGH,IAAAA;AAAAA,YAAI,OAAA,EAAS;AAAA,cAAEN,UAAUA,QAAAA,CAASU,KAAAA;AAAAA,cAAO,GAAIpB,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAS;AAAC;AAAG,aAAC,IAAA,CAAA;AAAA,QAEnF;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAOc,IAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMO,WAAYD,CAAAA,KAAAA,KAAe;AA3CrC,MAAA,IAAA,EAAA;AA4CMpB,MAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMqB,aAANrB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAiBoB,KAAAA,CAAAA;AAAAA,IACnB,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAIpB,MAAMsB,QAAAA,EAAU;AAClB,QAAA,OAAAJ,WAAAA,CAAAK,eAAAC,UAAAA,CAAA;AAAA,UAAA,QAEUxB,KAAAA,CAAMoB,KAAAA;AAAAA,UAAK,SACVb,KAAAA,CAAMkB,KAAAA;AAAAA,UAAK,SACXlB,KAAAA,CAAMmB;AAAAA,SAAK,EACd1B,KAAAA,CAAM2B,aAAa,CAAA,EAAA,IAAA,CAAA;AAAA,MAG7B;AACA,MAAA,OAAAT,WAAAA,CAAAU,QAAAJ,UAAAA,CAAA;AAAA,QAAA,SAEWxB,KAAAA,CAAMoB;AAAAA,SACTb,KAAAA,EAAK;AAAA,QAAA,OAAA,EACF;AAAA,UACLsB,QAAAA,EAAU;AAAA,SACZ;AAAA,QAAC,UAAA,EAESR;AAAAA,OAAQ,CAAA,EADTT,WAAAA,CAAYQ,KAAK,CAAA;AAAA,IAIhC,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -4,6 +4,7 @@ import { useInjectSlots } from '../context/FormSlotsContext.mjs';
|
|
|
4
4
|
import { commonFieldProps } from '../props.mjs';
|
|
5
5
|
import getSlot from '../utils/getSlot.mjs';
|
|
6
6
|
import FieldReadonly from './FieldReadonly.mjs';
|
|
7
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
7
8
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
8
9
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
9
10
|
|
|
@@ -24,6 +25,9 @@ var FieldSwitch = /* @__PURE__ */ defineComponent({
|
|
|
24
25
|
}) {
|
|
25
26
|
const intl = useIntl();
|
|
26
27
|
const formSlotsContext = useInjectSlots();
|
|
28
|
+
const {
|
|
29
|
+
formData
|
|
30
|
+
} = useInjectForm();
|
|
27
31
|
const readValue = computed(() => {
|
|
28
32
|
if (!props.value || props.value === attrs.unCheckedValue) {
|
|
29
33
|
return props.unCheckedChildren || intl.getMessage("switch.open", "\u6253\u5F00");
|
|
@@ -40,7 +44,10 @@ var FieldSwitch = /* @__PURE__ */ defineComponent({
|
|
|
40
44
|
if (slot) {
|
|
41
45
|
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
42
46
|
"vnode": slot,
|
|
43
|
-
"props":
|
|
47
|
+
"props": {
|
|
48
|
+
formData: formData.value,
|
|
49
|
+
...props2 != null ? props2 : {}
|
|
50
|
+
}
|
|
44
51
|
}, null);
|
|
45
52
|
}
|
|
46
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldSwitch.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldSwitch.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldSwitch.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldSwitch.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:35:50\n * @Description:\n */\nimport { computed, defineComponent } from 'vue'\nimport { Switch } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FieldReadonly from './FieldReadonly'\nimport { useInjectForm } from '../context/FormContext'\n\nconst SLOT_NAMES = ['checkedChildren', 'unCheckedChildren']\n\nexport default defineComponent({\n name: 'FieldSwitch',\n props: {\n ...commonFieldProps(),\n checkedChildren: {\n type: String,\n },\n unCheckedChildren: {\n type: String,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const { formData } = useInjectForm()\n const readValue = computed(() => {\n if (!props.value || props.value === attrs.unCheckedValue) {\n return props.unCheckedChildren || intl.getMessage('switch.open', '打开')\n }\n\n if (props.value || props.value === attrs.checkedValue) {\n return props.checkedChildren || intl.getMessage('switch.close', '关闭')\n }\n return ''\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n const onChange = (checked: boolean | string | number, event: Event) => {\n props.onChange?.(checked, event)\n }\n\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={readValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <Switch checked={props.value} {...attrs} v-slots={slotsGetter.value} onChange={onChange} />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","checkedChildren","type","String","unCheckedChildren","setup","attrs","intl","useIntl","formSlotsContext","useInjectSlots","formData","useInjectForm","readValue","computed","value","unCheckedValue","getMessage","checkedValue","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","onChange","checked","event","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","Switch"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { useInjectSlots } from '../context/FormSlotsContext.mjs';
|
|
|
4
4
|
import { commonFieldProps } from '../props.mjs';
|
|
5
5
|
import getSlot from '../utils/getSlot.mjs';
|
|
6
6
|
import FieldReadonly from './FieldReadonly.mjs';
|
|
7
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
7
8
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
8
9
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
9
10
|
|
|
@@ -37,6 +38,9 @@ var FieldText = /* @__PURE__ */ defineComponent({
|
|
|
37
38
|
}) {
|
|
38
39
|
const intl = useIntl();
|
|
39
40
|
const formSlotsContext = useInjectSlots();
|
|
41
|
+
const {
|
|
42
|
+
formData
|
|
43
|
+
} = useInjectForm();
|
|
40
44
|
const internalValue = computed({
|
|
41
45
|
get: () => {
|
|
42
46
|
return props.value;
|
|
@@ -51,8 +55,12 @@ var FieldText = /* @__PURE__ */ defineComponent({
|
|
|
51
55
|
SLOT_NAMES.forEach((name) => {
|
|
52
56
|
const slot = getSlot(props[name], formSlotsContext);
|
|
53
57
|
if (slot) {
|
|
54
|
-
temp[name] = () => createVNode(RenderVNode, {
|
|
55
|
-
"vnode": slot
|
|
58
|
+
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
59
|
+
"vnode": slot,
|
|
60
|
+
"props": {
|
|
61
|
+
formData: formData.value,
|
|
62
|
+
...props2 != null ? props2 : {}
|
|
63
|
+
}
|
|
56
64
|
}, null);
|
|
57
65
|
}
|
|
58
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldText.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldText.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-
|
|
1
|
+
{"version":3,"file":"FieldText.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldText.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:35:56\n * @Description:\n */\nimport { computed, defineComponent } from 'vue'\nimport { Input } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FieldReadonly from './FieldReadonly'\nimport { useInjectForm } from '../context/FormContext'\n\nconst SLOT_NAMES = ['addonAfter', 'addonBefore', 'suffix', 'prefix']\n\nexport default defineComponent({\n name: 'FieldText',\n props: {\n ...commonFieldProps(),\n addonAfter: {\n type: String,\n default: '',\n },\n addonBefore: {\n type: String,\n default: '',\n },\n suffix: {\n type: String,\n default: '',\n },\n prefix: {\n type: String,\n default: '',\n },\n placeholder: {\n type: String,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const { formData } = useInjectForm()\n const internalValue = computed({\n get: () => {\n return props.value\n },\n set: (val) => {\n props.onChange?.(val)\n },\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={internalValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <Input\n v-model:value={internalValue.value}\n {...attrs}\n placeholder={props.placeholder || intl.getMessage('form.inputPlaceholder', '请输入')}\n onPressEnter={props.onPressEnter}\n v-slots={slotsGetter.value}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","addonAfter","type","String","default","addonBefore","suffix","prefix","placeholder","setup","attrs","intl","useIntl","formSlotsContext","useInjectSlots","formData","useInjectForm","internalValue","computed","get","value","set","val","onChange","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","Input","$event","getMessage","onPressEnter"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import getSlot from '../utils/getSlot.mjs';
|
|
|
7
7
|
import parseValueToDay from '../utils/parseValueToMoment.mjs';
|
|
8
8
|
import { fieldDateFormatterMap } from '../utils/fieldDateFormatterMap.mjs';
|
|
9
9
|
import FieldReadonly from './FieldReadonly.mjs';
|
|
10
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
10
11
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
11
12
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
12
13
|
|
|
@@ -43,6 +44,9 @@ var FieldTimePicker = /* @__PURE__ */ defineComponent({
|
|
|
43
44
|
attrs
|
|
44
45
|
}) {
|
|
45
46
|
const intl = useIntl();
|
|
47
|
+
const {
|
|
48
|
+
formData
|
|
49
|
+
} = useInjectForm();
|
|
46
50
|
const formSlotsContext = useInjectSlots();
|
|
47
51
|
const format = computed(() => {
|
|
48
52
|
var _a;
|
|
@@ -64,8 +68,12 @@ var FieldTimePicker = /* @__PURE__ */ defineComponent({
|
|
|
64
68
|
SLOT_NAMES.forEach((name) => {
|
|
65
69
|
const slot = getSlot(props[name], formSlotsContext);
|
|
66
70
|
if (slot) {
|
|
67
|
-
temp[name] = () => createVNode(RenderVNode, {
|
|
68
|
-
"vnode": slot
|
|
71
|
+
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
72
|
+
"vnode": slot,
|
|
73
|
+
"props": {
|
|
74
|
+
formData: formData.value,
|
|
75
|
+
...props2 != null ? props2 : {}
|
|
76
|
+
}
|
|
69
77
|
}, null);
|
|
70
78
|
}
|
|
71
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTimePicker.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldTimePicker.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:36:03\n * @Description:\n */\nimport { computed, defineComponent } from 'vue'\nimport { TimePicker } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport dayjs from 'dayjs'\nimport getSlot from '../utils/getSlot'\nimport parseValueToDay from '../utils/parseValueToMoment'\nimport fieldDateFormatterMap from '../utils/fieldDateFormatterMap'\nimport FieldReadonly from './FieldReadonly'\nimport { useInjectForm } from '../context/FormContext'\n\nconst SLOT_NAMES = ['clearIcon', 'renderExtraFooter', 'suffixIcon']\n\nexport default defineComponent({\n name: 'FieldTimePicker',\n props: {\n ...commonFieldProps(),\n clearIcon: {\n type: String,\n default: '',\n },\n renderExtraFooter: {\n type: String,\n default: '',\n },\n suffixIcon: {\n type: String,\n default: '',\n },\n placeholder: {\n type: String,\n },\n format: {\n type: String,\n default: undefined,\n },\n valueFormat: {\n type: String,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const format = computed(() => props.format ?? fieldDateFormatterMap['time'])\n const valueFormat = computed(() => props.valueFormat ?? fieldDateFormatterMap['time'])\n const dayValue = computed(() => parseValueToDay(props.value, format.value) as dayjs.Dayjs)\n const readValue = computed(() => {\n if (dayValue.value) {\n return dayjs(dayValue.value).format(valueFormat.value)\n }\n return undefined\n })\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const onChange = (value: any, dateString: string) => {\n props.onChange?.(value, dateString)\n }\n\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={readValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <TimePicker\n value={dayValue.value}\n {...attrs}\n format={format.value}\n valueFormat={valueFormat.value}\n placeholder={props.placeholder || intl.getMessage('form.selectPlaceholder', '请选择')}\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","clearIcon","type","String","default","renderExtraFooter","suffixIcon","placeholder","format","undefined","valueFormat","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","computed","fieldDateFormatterMap","dayValue","parseValueToDay","value","readValue","dayjs","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","onChange","dateString","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","TimePicker","getMessage"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import getSlot from '../utils/getSlot.mjs';
|
|
|
7
7
|
import parseValueToDay from '../utils/parseValueToMoment.mjs';
|
|
8
8
|
import { fieldDateFormatterMap } from '../utils/fieldDateFormatterMap.mjs';
|
|
9
9
|
import FieldReadonly from './FieldReadonly.mjs';
|
|
10
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
10
11
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
11
12
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
12
13
|
|
|
@@ -64,6 +65,9 @@ var FieldTimeRangePicker = /* @__PURE__ */ defineComponent({
|
|
|
64
65
|
attrs
|
|
65
66
|
}) {
|
|
66
67
|
const intl = useIntl();
|
|
68
|
+
const {
|
|
69
|
+
formData
|
|
70
|
+
} = useInjectForm();
|
|
67
71
|
const formSlotsContext = useInjectSlots();
|
|
68
72
|
const format = computed(() => {
|
|
69
73
|
var _a;
|
|
@@ -86,8 +90,12 @@ var FieldTimeRangePicker = /* @__PURE__ */ defineComponent({
|
|
|
86
90
|
SLOT_NAMES.forEach((name) => {
|
|
87
91
|
const slot = getSlot(props[name], formSlotsContext);
|
|
88
92
|
if (slot) {
|
|
89
|
-
temp[name] = () => createVNode(RenderVNode, {
|
|
90
|
-
"vnode": slot
|
|
93
|
+
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
94
|
+
"vnode": slot,
|
|
95
|
+
"props": {
|
|
96
|
+
formData: formData.value,
|
|
97
|
+
...props2 != null ? props2 : {}
|
|
98
|
+
}
|
|
91
99
|
}, null);
|
|
92
100
|
}
|
|
93
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTimeRangePicker.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimeRangePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldTimeRangePicker.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTimeRangePicker.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:36:08\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent } from 'vue'\nimport { TimeRangePicker } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport dayjs from 'dayjs'\nimport getSlot from '../utils/getSlot'\nimport parseValueToDay from '../utils/parseValueToMoment'\nimport fieldDateFormatterMap from '../utils/fieldDateFormatterMap'\nimport FieldReadonly from './FieldReadonly'\nimport { useInjectForm } from '../context/FormContext'\n\nconst SLOT_NAMES = [\n 'dateRender',\n 'nextIcon',\n 'prevIcon',\n 'suffixIcon',\n 'superNextIcon',\n 'superPrevIcon',\n 'renderExtraFooter',\n 'separator',\n]\n\nexport default defineComponent({\n name: 'FieldTimeRangePicker',\n props: {\n ...commonFieldProps(),\n dateRender: {\n type: String,\n default: '',\n },\n nextIcon: {\n type: String,\n default: '',\n },\n prevIcon: {\n type: String,\n default: '',\n },\n suffixIcon: {\n type: String,\n default: '',\n },\n superNextIcon: {\n type: String,\n default: '',\n },\n superPrevIcon: {\n type: String,\n default: '',\n },\n renderExtraFooter: {\n type: String,\n default: '',\n },\n separator: {\n type: String,\n default: '',\n },\n placeholder: {\n type: Array as PropType<any>,\n default: () => [],\n },\n format: {\n type: String,\n default: undefined,\n },\n valueFormat: {\n type: String,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const format = computed(() => props.format ?? fieldDateFormatterMap['time'])\n const valueFormat = computed(() => props.valueFormat ?? fieldDateFormatterMap['time'])\n const dayValue = computed(\n () => parseValueToDay(props.value, format.value) as [dayjs.Dayjs, dayjs.Dayjs],\n )\n\n const readValue = computed(() => {\n if (dayValue.value?.length) {\n return `${dayjs(dayValue.value[0]).format(valueFormat.value)} - ${dayjs(dayValue.value[1]).format(valueFormat.value)}`\n }\n return undefined\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const onChange = (value: any, dateString: [string, string]) => {\n props.onChange?.(value, dateString)\n }\n\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={readValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <TimeRangePicker\n value={dayValue.value}\n {...attrs}\n format={format.value}\n valueFormat={valueFormat.value}\n placeholder={\n props.placeholder?.length === 2\n ? props.placeholder\n : [\n intl.getMessage('form.selectPlaceholder', '请选择'),\n intl.getMessage('form.selectPlaceholder', '请选择'),\n ]\n }\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","dateRender","type","String","default","nextIcon","prevIcon","suffixIcon","superNextIcon","superPrevIcon","renderExtraFooter","separator","placeholder","Array","format","undefined","valueFormat","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","computed","fieldDateFormatterMap","dayValue","parseValueToDay","value","readValue","length","dayjs","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","onChange","dateString","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","TimeRangePicker","getMessage"],"mappings":";;;;;;;;;;;;;AAsBA,MAAMA,UAAAA,GAAa,CACjB,YAAA,EACA,UAAA,EACA,YACA,YAAA,EACA,eAAA,EACA,eAAA,EACA,mBAAA,EACA,WAAW,CAAA;AAGb,2DAA+B;AAAA,EAC7BC,IAAAA,EAAM,sBAAA;AAAA,EACNC,KAAAA,EAAO;AAAA,IACL,GAAGC,gBAAAA,EAAiB;AAAA,IACpBC,UAAAA,EAAY;AAAA,MACVC,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAC,QAAAA,EAAU;AAAA,MACRH,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAE,QAAAA,EAAU;AAAA,MACRJ,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAG,UAAAA,EAAY;AAAA,MACVL,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAI,aAAAA,EAAe;AAAA,MACbN,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAK,aAAAA,EAAe;AAAA,MACbP,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAM,iBAAAA,EAAmB;AAAA,MACjBR,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAO,SAAAA,EAAW;AAAA,MACTT,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA,KACX;AAAA,IACAQ,WAAAA,EAAa;AAAA,MACXV,IAAAA,EAAMW,KAAAA;AAAAA,MACNT,OAAAA,EAASA,MAAM;AAAA,KACjB;AAAA,IACAU,MAAAA,EAAQ;AAAA,MACNZ,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAASW;AAAAA,KACX;AAAA,IACAC,WAAAA,EAAa;AAAA,MACXd,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAASW;AAAAA;AACX,GACF;AAAA,EACAE,MAAMlB,KAAAA,EAAO;AAAA,IAAEmB;AAAAA,GAAM,EAAG;AACtB,IAAA,MAAMC,OAAOC,OAAAA,EAAQ;AACrB,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAaC,aAAAA,EAAc;AACnC,IAAA,MAAMC,mBAAmBC,cAAAA,EAAe;AACxC,IAAA,MAAMV,MAAAA,GAASW,SAAS,MAAA;AAtF5B,MAAA,IAAA,EAAA;AAsFkC1B,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMe,MAAAA,KAANf,IAAAA,GAAAA,EAAAA,GAAgB2B,qBAAAA,CAAsB,MAAM,CAAA;AAAA,IAAA,CAAC,CAAA;AAC3E,IAAA,MAAMV,WAAAA,GAAcS,SAAS,MAAA;AAvFjC,MAAA,IAAA,EAAA;AAuFuC1B,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMiB,WAAAA,KAANjB,IAAAA,GAAAA,EAAAA,GAAqB2B,qBAAAA,CAAsB,MAAM,CAAA;AAAA,IAAA,CAAC,CAAA;AACrF,IAAA,MAAMC,QAAAA,GAAWF,SACf,MAAMG,eAAAA,CAAgB7B,MAAM8B,KAAAA,EAAOf,MAAAA,CAAOe,KAAK,CACjD,CAAA;AAEA,IAAA,MAAMC,SAAAA,GAAYL,SAAS,MAAM;AA5FrC,MAAA,IAAA,EAAA;AA6FM,MAAA,IAAA,CAAIE,EAAAA,GAAAA,QAAAA,CAASE,KAAAA,KAATF,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAgBI,MAAAA,EAAQ;AAC1B,QAAA,OAAO,CAAA,EAAGC,MAAML,QAAAA,CAASE,KAAAA,CAAM,CAAC,CAAC,CAAA,CAAEf,OAAOE,WAAAA,CAAYa,KAAK,CAAC,CAAA,GAAA,EAAMG,KAAAA,CAAML,SAASE,KAAAA,CAAM,CAAC,CAAC,CAAA,CAAEf,MAAAA,CAAOE,WAAAA,CAAYa,KAAK,CAAC,CAAA,CAAA;AAAA,MACtH;AACA,MAAA,OAAOd,MAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMkB,WAAAA,GAAcR,SAAS,MAAM;AACjC,MAAA,MAAMS,OAAO,EAAC;AACdrC,MAAAA,UAAAA,CAAWsC,QAASrC,CAAAA,IAAAA,KAAS;AAC3B,QAAA,MAAMsC,IAAAA,GAAOC,OAAAA,CAAQtC,KAAAA,CAAMD,IAAI,GAAGyB,gBAAgB,CAAA;AAClD,QAAA,IAAIa,IAAAA,EAAM;AACRF,UAAAA,IAAAA,CAAKpC,IAAI,CAAA,GAAKC,CAAAA,MAAAA,KAAKuC,YAAAC,WAAAA,EAAA;AAAA,YAAA,OAAA,EACGH,IAAAA;AAAAA,YAAI,OAAA,EAAS;AAAA,cAAEf,UAAUA,QAAAA,CAASQ,KAAAA;AAAAA,cAAO,GAAI9B,MAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAS;AAAC;AAAG,aAAC,IAAA,CAAA;AAAA,QAEnF;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAOmC,IAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMM,QAAAA,GAAWA,CAACX,KAAAA,EAAYY,UAAAA,KAAiC;AAhHnE,MAAA,IAAA,EAAA;AAiHM1C,MAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMyC,QAAAA,KAANzC,+BAAiB8B,KAAAA,EAAOY,UAAAA,CAAAA;AAAAA,IAC1B,CAAA;AAEA,IAAA,OAAO,MAAM;AApHjB,MAAA,IAAA,EAAA;AAqHM,MAAA,IAAI1C,MAAM2C,QAAAA,EAAU;AAClB,QAAA,OAAAJ,WAAAA,CAAAK,eAAAC,UAAAA,CAAA;AAAA,UAAA,QAEUd,SAAAA,CAAUD,KAAAA;AAAAA,UAAK,SACdX,KAAAA,CAAM2B,KAAAA;AAAAA,UAAK,SACX3B,KAAAA,CAAM4B;AAAAA,SAAK,EACd/C,KAAAA,CAAMgD,aAAa,CAAA,EAAA,IAAA,CAAA;AAAA,MAG7B;AACA,MAAA,OAAAT,WAAAA,CAAAU,iBAAAJ,UAAAA,CAAA;AAAA,QAAA,SAEWjB,QAAAA,CAASE;AAAAA,SACZX,KAAAA,EAAK;AAAA,QAAA,UACDJ,MAAAA,CAAOe,KAAAA;AAAAA,QAAK,eACPb,WAAAA,CAAYa,KAAAA;AAAAA,QAAK,iBAE5B9B,EAAAA,GAAAA,KAAAA,CAAMa,WAAAA,KAANb,mBAAmBgC,MAAAA,MAAW,CAAA,GAC1BhC,MAAMa,WAAAA,GACN,CACEO,IAAAA,CAAK8B,UAAAA,CAAW,0BAA0B,oBAAK,CAAA,EAC/C9B,KAAK8B,UAAAA,CAAW,wBAAA,EAA0B,oBAAK,CAAC,CAAA;AAAA,QACjD,UAAA,EAGGT;AAAAA,OAAQ,CAAA,EADTP,WAAAA,CAAYJ,KAAK,CAAA;AAAA,IAIhC,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -5,6 +5,7 @@ import { useFieldOptions } from '../hooks/useFieldOptions.mjs';
|
|
|
5
5
|
import { commonFieldProps } from '../props.mjs';
|
|
6
6
|
import getSlot from '../utils/getSlot.mjs';
|
|
7
7
|
import FieldReadonly from './FieldReadonly.mjs';
|
|
8
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
8
9
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
9
10
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
10
11
|
|
|
@@ -53,6 +54,9 @@ var FieldTreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
53
54
|
attrs
|
|
54
55
|
}) {
|
|
55
56
|
const intl = useIntl();
|
|
57
|
+
const {
|
|
58
|
+
formData
|
|
59
|
+
} = useInjectForm();
|
|
56
60
|
const formSlotsContext = useInjectSlots();
|
|
57
61
|
const {
|
|
58
62
|
mergeOptions,
|
|
@@ -96,7 +100,10 @@ var FieldTreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
96
100
|
if (slot) {
|
|
97
101
|
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
98
102
|
"vnode": slot,
|
|
99
|
-
"props":
|
|
103
|
+
"props": {
|
|
104
|
+
formData: formData.value,
|
|
105
|
+
...props2 != null ? props2 : {}
|
|
106
|
+
}
|
|
100
107
|
}, null);
|
|
101
108
|
}
|
|
102
109
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTreeSelect.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTreeSelect.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldTreeSelect.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldTreeSelect.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:36:17\n * @Description:\n */\nimport { defineComponent, computed } from 'vue'\nimport { TreeSelect } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useFieldOptions } from '../hooks/useFieldOptions'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FieldReadonly from './FieldReadonly'\n\nimport type { Option } from '../type'\nimport { useInjectForm } from '../context/FormContext'\nconst SLOT_NAMES = [\n 'maxTagPlaceholder',\n 'notFoundContent',\n 'searchPlaceholder',\n 'suffixIcon',\n 'tagRender',\n 'title',\n]\n\nexport default defineComponent({\n name: 'FieldTreeSelect',\n props: {\n ...commonFieldProps(),\n maxTagPlaceholder: {\n type: String,\n default: '',\n },\n notFoundContent: {\n type: String,\n default: '',\n },\n searchPlaceholder: {\n type: String,\n default: '',\n },\n suffixIcon: {\n type: String,\n default: '',\n },\n tagRender: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n default: '',\n },\n placeholder: {\n type: String,\n },\n treeCheckable: {\n type: Boolean,\n default: undefined,\n },\n multiple: {\n type: Boolean,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const { mergeOptions, loading, fieldNames } = useFieldOptions({\n request: props.request,\n options: props.options,\n valueEnum: props.valueEnum,\n dependencies: props.dependencies,\n fieldNames: (attrs as any).fieldNames,\n params: props.params,\n })\n\n const value = computed(() => {\n if (props.request && loading.value) {\n return undefined\n }\n return props.value\n })\n\n const readValue = computed(() => {\n if (!value.value) {\n return undefined\n }\n if (Array.isArray(value.value)) {\n if (!value.value.length) {\n return undefined\n }\n return mergeOptions.value\n .filter((op) => value.value.includes(op.value))\n .map((op) => op.label ?? op.text)\n .join(',')\n }\n const option = mergeOptions.value.find((op) => op.value === value.value)\n return option?.label ?? option?.text\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const formatValue = (value: any) => {\n if (typeof value === 'undefined') {\n if (props.multiple || props.treeCheckable) {\n return []\n }\n return null\n }\n return value\n }\n\n const onChange: any = (value: any, option: Option | Option[]) => {\n props.onChange?.(formatValue(value), option)\n }\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={readValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <TreeSelect\n value={value.value}\n {...attrs}\n style={{\n minWidth: '160px',\n }}\n treeCheckable={props.treeCheckable}\n multiple={props.multiple}\n fieldNames={fieldNames.value}\n loading={loading.value}\n placeholder={props.placeholder || intl.getMessage('form.selectPlaceholder', '请选择')}\n treeData={mergeOptions.value as any}\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","maxTagPlaceholder","type","String","default","notFoundContent","searchPlaceholder","suffixIcon","tagRender","title","placeholder","treeCheckable","Boolean","undefined","multiple","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","mergeOptions","loading","fieldNames","useFieldOptions","request","options","valueEnum","dependencies","params","value","computed","readValue","Array","isArray","length","filter","op","includes","map","_a","label","text","join","option","find","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","formatValue","onChange","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","TreeSelect","minWidth","getMessage"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { defineComponent, computed, createVNode, mergeProps } from 'vue';
|
|
2
|
-
import { Upload, Button } from 'ant-design-vue';
|
|
1
|
+
import { defineComponent, ref, computed, createVNode, watch, mergeProps, createTextVNode } from 'vue';
|
|
2
|
+
import { Form, Upload, Button } from 'ant-design-vue';
|
|
3
3
|
import { UploadOutlined } from '@ant-design/icons-vue';
|
|
4
4
|
import { useInjectSlots } from '../context/FormSlotsContext.mjs';
|
|
5
5
|
import { commonFieldProps } from '../props.mjs';
|
|
6
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
6
7
|
import getSlot from '../utils/getSlot.mjs';
|
|
7
8
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
8
9
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
@@ -40,7 +41,7 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
40
41
|
type: String,
|
|
41
42
|
default: "file"
|
|
42
43
|
},
|
|
43
|
-
|
|
44
|
+
maxCount: {
|
|
44
45
|
type: Number,
|
|
45
46
|
default: void 0
|
|
46
47
|
},
|
|
@@ -58,22 +59,31 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
58
59
|
},
|
|
59
60
|
listType: {
|
|
60
61
|
type: String,
|
|
61
|
-
default: "picture"
|
|
62
|
-
}
|
|
62
|
+
default: "picture-card"
|
|
63
|
+
},
|
|
64
|
+
listIgnore: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: true
|
|
67
|
+
},
|
|
68
|
+
showUploadList: {
|
|
69
|
+
type: [Boolean, Object],
|
|
70
|
+
default: true
|
|
71
|
+
},
|
|
72
|
+
customRequest: Function,
|
|
73
|
+
beforeUpload: Function
|
|
63
74
|
},
|
|
64
75
|
setup(props, {
|
|
65
76
|
attrs
|
|
66
77
|
}) {
|
|
67
78
|
const intl = useIntl();
|
|
79
|
+
const {
|
|
80
|
+
prefixCls,
|
|
81
|
+
formData
|
|
82
|
+
} = useInjectForm();
|
|
68
83
|
const formSlotsContext = useInjectSlots();
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
});
|
|
73
|
-
const showUploadButton = computed(() => {
|
|
74
|
-
var _a;
|
|
75
|
-
return props.max === void 0 || !value.value || ((_a = value.value) == null ? void 0 : _a.length) < props.max;
|
|
76
|
-
});
|
|
84
|
+
const fileList = ref([]);
|
|
85
|
+
const formItemContext = Form.useInjectFormItemContext();
|
|
86
|
+
const baseClassName = computed(() => `${prefixCls}-upload`);
|
|
77
87
|
const isPictureCard = computed(() => props.listType === "picture-card");
|
|
78
88
|
const slotsGetter = computed(() => {
|
|
79
89
|
const temp = {};
|
|
@@ -81,7 +91,10 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
81
91
|
const slot = getSlot(props[name], formSlotsContext);
|
|
82
92
|
if (slot) {
|
|
83
93
|
temp[name] = () => createVNode(RenderVNode, {
|
|
84
|
-
"vnode": slot
|
|
94
|
+
"vnode": slot,
|
|
95
|
+
"props": {
|
|
96
|
+
formData: formData.value
|
|
97
|
+
}
|
|
85
98
|
}, null);
|
|
86
99
|
}
|
|
87
100
|
});
|
|
@@ -91,7 +104,10 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
91
104
|
const render = getSlot(props.iconRender, formSlotsContext);
|
|
92
105
|
if (isFunction(render)) {
|
|
93
106
|
return createVNode(RenderVNode, {
|
|
94
|
-
"vnode": render
|
|
107
|
+
"vnode": render,
|
|
108
|
+
"props": {
|
|
109
|
+
formData: formData.value
|
|
110
|
+
}
|
|
95
111
|
}, null);
|
|
96
112
|
}
|
|
97
113
|
return createVNode(UploadOutlined, null, null);
|
|
@@ -100,27 +116,102 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
100
116
|
const render = getSlot(props.title, formSlotsContext);
|
|
101
117
|
if (isFunction(render)) {
|
|
102
118
|
return createVNode(RenderVNode, {
|
|
103
|
-
"vnode": render
|
|
119
|
+
"vnode": render,
|
|
120
|
+
"props": {
|
|
121
|
+
formData: formData.value
|
|
122
|
+
}
|
|
104
123
|
}, null);
|
|
105
124
|
}
|
|
106
125
|
return props.title || intl.getMessage("upload.button", "\u5355\u51FB\u4E0A\u4F20");
|
|
107
126
|
});
|
|
108
|
-
const
|
|
127
|
+
const beforeUpload = async (file, fileList2) => {
|
|
109
128
|
var _a;
|
|
110
|
-
(_a = props.
|
|
129
|
+
const result = await ((_a = props.beforeUpload) == null ? void 0 : _a.call(props, file, fileList2));
|
|
130
|
+
if (!result && props.listIgnore) {
|
|
131
|
+
return Upload.LIST_IGNORE;
|
|
132
|
+
}
|
|
133
|
+
return result;
|
|
111
134
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
135
|
+
const customRequest = async (option) => {
|
|
136
|
+
var _a, _b, _c;
|
|
137
|
+
const formData2 = new FormData();
|
|
138
|
+
formData2.append(props.name, option.file);
|
|
139
|
+
const onUploadProgress = (e) => {
|
|
140
|
+
var _a2;
|
|
141
|
+
if (e.total > 0) {
|
|
142
|
+
e.percent = e.loaded / e.total * 100;
|
|
143
|
+
}
|
|
144
|
+
(_a2 = option == null ? void 0 : option.onProgress) == null ? void 0 : _a2.call(option, e);
|
|
145
|
+
};
|
|
146
|
+
const {
|
|
147
|
+
success,
|
|
148
|
+
error,
|
|
149
|
+
data
|
|
150
|
+
} = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
|
|
151
|
+
if (success) {
|
|
152
|
+
(_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
|
|
153
|
+
formItemContext.onFieldChange();
|
|
154
|
+
} else {
|
|
155
|
+
(_c = option.onError) == null ? void 0 : _c.call(option, error, data);
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const uploadProps = computed(() => {
|
|
159
|
+
const newProps = {
|
|
160
|
+
...attrs
|
|
161
|
+
};
|
|
162
|
+
if (props.customRequest) {
|
|
163
|
+
newProps.customRequest = customRequest;
|
|
164
|
+
}
|
|
165
|
+
if (props.beforeUpload) {
|
|
166
|
+
newProps.beforeUpload = beforeUpload;
|
|
167
|
+
}
|
|
168
|
+
return newProps;
|
|
169
|
+
});
|
|
170
|
+
watch(() => props.value, (newValue) => {
|
|
171
|
+
var _a;
|
|
172
|
+
fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
|
|
173
|
+
...item,
|
|
174
|
+
name: item.name || item.url
|
|
175
|
+
}))];
|
|
176
|
+
if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
|
|
177
|
+
formItemContext.onFieldChange();
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
const onUploadChange = (info) => {
|
|
181
|
+
var _a;
|
|
182
|
+
(_a = props.onChange) == null ? void 0 : _a.call(props, info.fileList.map((item) => {
|
|
183
|
+
var _a2, _b, _c;
|
|
184
|
+
return {
|
|
185
|
+
...item,
|
|
186
|
+
name: item.name || ((_a2 = item.response) == null ? void 0 : _a2.name) || item.url || ((_b = item.response) == null ? void 0 : _b.url),
|
|
187
|
+
url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
|
|
188
|
+
};
|
|
189
|
+
}), info.file);
|
|
190
|
+
};
|
|
191
|
+
return () => createVNode(Upload, mergeProps(uploadProps.value, {
|
|
192
|
+
"class": {
|
|
193
|
+
[`${baseClassName.value}-readonly`]: props.readonly
|
|
194
|
+
},
|
|
195
|
+
"fileList": fileList.value,
|
|
196
|
+
"onUpdate:fileList": ($event) => fileList.value = $event,
|
|
116
197
|
"name": props.name,
|
|
117
|
-
"
|
|
198
|
+
"maxCount": props.maxCount,
|
|
199
|
+
"listType": props.listType,
|
|
200
|
+
"showUploadList": props.readonly || props.showUploadList,
|
|
201
|
+
"disabled": props.readonly || props.disabled,
|
|
202
|
+
"style": attrs == null ? void 0 : attrs.style,
|
|
203
|
+
"onChange": onUploadChange
|
|
118
204
|
}), {
|
|
119
|
-
default: () =>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
205
|
+
default: () => {
|
|
206
|
+
var _a;
|
|
207
|
+
return [isPictureCard.value ? props.maxCount !== void 0 && ((_a = fileList.value) == null ? void 0 : _a.length) < props.maxCount && createVNode("div", null, [icon.value, createVNode("div", {
|
|
208
|
+
"style": "margin-top: 8px"
|
|
209
|
+
}, [createTextVNode(" "), title.value])]) : createVNode(Button, mergeProps({
|
|
210
|
+
"disabled": props.disabled
|
|
211
|
+
}, props.buttonProps), {
|
|
212
|
+
default: () => [icon.value, title.value]
|
|
213
|
+
})];
|
|
214
|
+
},
|
|
124
215
|
...slotsGetter.value
|
|
125
216
|
});
|
|
126
217
|
}
|