cnhis-design-vue 3.1.15-beta.1 → 3.1.15-beta.10
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/es/packages/annotation-edit/src/AnnotationEdit.js +2 -1
- package/es/packages/big-table/index.d.ts +8 -11
- package/es/packages/big-table/src/BigTable.vue.d.ts +24 -19
- package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +17 -11
- package/es/packages/big-table/src/bigTableProps.d.ts +4 -3
- package/es/packages/big-table/src/bigTableProps.js +1 -1
- package/es/packages/big-table/src/components/edit-form/edit-date.js +2 -1
- package/es/packages/big-table/src/components/edit-form/edit-select.js +2 -1
- package/es/packages/big-table/src/components/edit-form/edit-separate.js +8 -1
- package/es/packages/big-table/src/components/edit-form/edit-separate.vue.d.ts +2 -1
- package/es/packages/big-table/src/hooks/useAnnotation.d.ts +4 -0
- package/es/packages/big-table/src/hooks/useAnnotation.js +21 -0
- package/es/packages/big-table/src/hooks/useColumnConfigAdaptor.js +7 -2
- package/es/packages/big-table/src/hooks/useEdit.d.ts +2 -1
- package/es/packages/big-table/style/index.css +27 -1
- package/es/packages/bpmn-workflow/src/BpmnWorkflow.js +2 -2
- package/es/packages/bpmn-workflow/src/custom/customModeler/customBpmn/BpmnRenderer.js +8 -8
- package/es/packages/bpmn-workflow/src/custom/customModeler/customBpmn/CustomContextPadProvider.js +2 -2
- package/es/packages/bpmn-workflow/src/custom/customModeler/customBpmn/CustomPalette.js +1 -1
- package/es/packages/bpmn-workflow/src/custom/customModeler/customBpmn/CustomRenderer.js +4 -3
- package/es/packages/bpmn-workflow/src/custom/customModeler/customBpmn/CustomRules.js +2 -2
- package/es/packages/bpmn-workflow/src/custom/customModeler/index.js +1 -1
- package/es/packages/bpmn-workflow/src/custom/customOtherModule/CustomPopupMenu.js +2 -2
- package/es/packages/bpmn-workflow/src/custom/customOtherModule/zoomScroll.js +3 -3
- package/es/packages/button-print/src/utils/print.d.ts +1 -1
- package/es/packages/button-print/src/utils/print.js +1 -1
- package/es/packages/fabric-chart/index.d.ts +1 -0
- package/es/packages/fabric-chart/src/FabricChart.js +17 -17
- package/es/packages/fabric-chart/src/FabricChart.vue.d.ts +12 -10
- package/es/packages/fabric-chart/src/hooks/useCenter.js +7 -5
- package/es/packages/fabric-chart/src/hooks/useCumputedPoint.js +4 -2
- package/es/packages/fabric-chart/src/hooks/useDraw.js +1 -0
- package/es/packages/fabric-chart/src/hooks/useLeft.js +5 -4
- package/es/packages/field-set/index.d.ts +4365 -0
- package/es/packages/field-set/src/FieldSet.js +53 -54
- package/es/packages/field-set/src/FieldSet.vue.d.ts +4365 -0
- package/es/packages/field-set/style/index.css +0 -9
- package/es/packages/form-config/index.d.ts +12111 -0
- package/es/packages/form-config/index.js +10 -0
- package/es/packages/form-config/src/FormConfig.js +113 -0
- package/es/packages/form-config/src/FormConfig.vue.d.ts +12113 -0
- package/es/packages/form-config/src/components/FormConfigCreator.js +97 -0
- package/es/packages/form-config/src/components/FormConfigCreator.vue.d.ts +5094 -0
- package/es/packages/form-config/src/components/FormConfigEdit.js +81 -0
- package/es/packages/form-config/src/components/FormConfigEdit.vue.d.ts +3591 -0
- package/es/packages/form-config/src/constants/index.d.ts +28 -0
- package/es/packages/form-config/src/constants/index.js +28 -0
- package/es/packages/form-config/src/hooks/index.d.ts +2 -0
- package/es/packages/form-config/src/hooks/index.js +2 -0
- package/es/packages/form-config/src/hooks/useConfigurationField.d.ts +6 -0
- package/es/packages/form-config/src/hooks/useConfigurationField.js +103 -0
- package/es/packages/form-config/src/hooks/usePresetRenderer.d.ts +5 -0
- package/es/packages/form-config/src/hooks/usePresetRenderer.js +117 -0
- package/es/packages/form-config/src/hooks/useSortable.d.ts +11 -0
- package/es/packages/form-config/src/hooks/useSortable.js +31 -0
- package/es/packages/form-config/src/types/index.d.ts +18 -0
- package/es/packages/form-config/src/types/index.js +1 -0
- package/es/packages/form-config/style/index.css +108 -0
- package/es/packages/form-render/index.d.ts +24 -3
- package/es/packages/form-render/src/FormRender.js +10 -6
- package/es/packages/form-render/src/FormRender.vue.d.ts +24 -3
- package/es/packages/form-render/src/components/renderer/cascader.js +7 -7
- package/es/packages/form-render/src/components/renderer/combination/hooks/useDeepValidate.d.ts +5 -0
- package/es/packages/form-render/src/components/renderer/combination/hooks/useDeepValidate.js +32 -0
- package/es/packages/form-render/src/components/renderer/{combination.d.ts → combination/index.d.ts} +7 -1
- package/es/packages/form-render/src/components/renderer/combination/index.js +157 -0
- package/es/packages/form-render/src/components/renderer/complex.d.ts +2 -0
- package/es/packages/form-render/src/components/renderer/complex.js +2 -5
- package/es/packages/form-render/src/components/renderer/date.d.ts +29 -0
- package/es/packages/form-render/src/components/renderer/date.js +63 -56
- package/es/packages/form-render/src/components/renderer/formItem.js +3 -3
- package/es/packages/form-render/src/components/renderer/index.js +1 -1
- package/es/packages/form-render/src/components/renderer/radio.js +4 -1
- package/es/packages/form-render/src/components/renderer/select.d.ts +9 -0
- package/es/packages/form-render/src/components/renderer/select.js +28 -17
- package/es/packages/form-render/src/constants/index.d.ts +2 -1
- package/es/packages/form-render/src/hooks/useAnchor.d.ts +7 -6
- package/es/packages/form-render/src/hooks/useAnchor.js +1 -2
- package/es/packages/form-render/src/hooks/useAsyncQueue.d.ts +6 -1
- package/es/packages/form-render/src/hooks/useAsyncQueue.js +12 -7
- package/es/packages/form-render/src/hooks/useCommonInjection.d.ts +6 -0
- package/es/packages/form-render/src/hooks/useCommonInjection.js +19 -0
- package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +4 -5
- package/es/packages/form-render/src/hooks/useFormContext.d.ts +3 -3
- package/es/packages/form-render/src/hooks/useFormContext.js +21 -3
- package/es/packages/form-render/src/hooks/useFormRenderLifeCycle.d.ts +13 -0
- package/es/packages/form-render/src/hooks/useFormRenderLifeCycle.js +10 -0
- package/es/packages/form-render/src/types/fieldItem.d.ts +16 -0
- package/es/packages/form-render/src/types/index.d.ts +30 -2
- package/es/packages/form-render/src/utils/index.d.ts +7 -5
- package/es/packages/form-render/src/utils/index.js +59 -11
- package/es/packages/form-render/style/index.css +11 -10
- package/es/packages/form-table/src/hooks/useNuiThemeOverrides.js +1 -1
- package/es/packages/index.css +147 -21
- package/es/packages/index.d.ts +3 -1
- package/es/packages/index.js +4 -1
- package/es/packages/info-header/index.d.ts +1 -3
- package/es/packages/info-header/src/HiddenContent.js +1 -1
- package/es/packages/info-header/src/HiddenContent.vue.d.ts +1 -3
- package/es/packages/info-header/src/InfoHeader.vue.d.ts +1 -3
- package/es/packages/info-header/style/index.css +1 -1
- package/es/packages/shortcut-provider/index.d.ts +2 -11
- package/es/packages/shortcut-provider/src/ShortcutProvider.js +1 -5
- package/es/packages/shortcut-provider/src/ShortcutProvider.vue.d.ts +2 -11
- package/es/packages/shortcut-provider/src/hooks/useShortcuts.d.ts +11 -8
- package/es/packages/shortcut-provider/src/hooks/useShortcuts.js +44 -28
- package/es/packages/shortcut-provider/src/types/index.d.ts +32 -4
- package/es/packages/shortcut-provider/src/utils/index.d.ts +3 -0
- package/es/packages/shortcut-provider/src/utils/index.js +15 -5
- package/es/packages/shortcut-setter/index.d.ts +32 -9
- package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +32 -9
- package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +8 -6
- package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +8 -6
- package/es/src/utils/state.d.ts +29 -0
- package/es/src/utils/state.js +44 -0
- package/package.json +10 -1
- package/es/_virtual/_commonjsHelpers.js +0 -7
- package/es/_virtual/css.escape.js +0 -3
- package/es/_virtual/inherits.js +0 -3
- package/es/_virtual/inherits_browser.js +0 -3
- package/es/node_modules/@formily/path/esm/contexts.js +0 -22
- package/es/node_modules/@formily/path/esm/destructor.js +0 -124
- package/es/node_modules/@formily/path/esm/index.js +0 -579
- package/es/node_modules/@formily/path/esm/matcher.js +0 -199
- package/es/node_modules/@formily/path/esm/parser.js +0 -402
- package/es/node_modules/@formily/path/esm/shared.js +0 -73
- package/es/node_modules/@formily/path/esm/tokenizer.js +0 -287
- package/es/node_modules/@formily/path/esm/tokens.js +0 -240
- package/es/node_modules/@formily/path/esm/types.js +0 -17
- package/es/node_modules/css.escape/css.escape.js +0 -110
- package/es/node_modules/date-fns/esm/_lib/defaultOptions/index.js +0 -6
- package/es/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js +0 -18
- package/es/node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js +0 -17
- package/es/node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js +0 -27
- package/es/node_modules/date-fns/esm/_lib/getUTCWeek/index.js +0 -17
- package/es/node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js +0 -38
- package/es/node_modules/date-fns/esm/_lib/requiredArgs/index.js +0 -7
- package/es/node_modules/date-fns/esm/_lib/setUTCDay/index.js +0 -27
- package/es/node_modules/date-fns/esm/_lib/setUTCISODay/index.js +0 -23
- package/es/node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js +0 -15
- package/es/node_modules/date-fns/esm/_lib/setUTCWeek/index.js +0 -15
- package/es/node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js +0 -15
- package/es/node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js +0 -15
- package/es/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js +0 -25
- package/es/node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js +0 -21
- package/es/node_modules/date-fns/esm/_lib/toInteger/index.js +0 -15
- package/es/node_modules/date-fns/esm/compareAsc/index.js +0 -52
- package/es/node_modules/date-fns/esm/constants/index.js +0 -40
- package/es/node_modules/date-fns/esm/differenceInCalendarDays/index.js +0 -49
- package/es/node_modules/date-fns/esm/differenceInCalendarMonths/index.js +0 -35
- package/es/node_modules/date-fns/esm/differenceInCalendarYears/index.js +0 -33
- package/es/node_modules/date-fns/esm/differenceInDays/index.js +0 -86
- package/es/node_modules/date-fns/esm/differenceInMonths/index.js +0 -59
- package/es/node_modules/date-fns/esm/differenceInYears/index.js +0 -43
- package/es/node_modules/date-fns/esm/endOfDay/index.js +0 -30
- package/es/node_modules/date-fns/esm/endOfMonth/index.js +0 -32
- package/es/node_modules/date-fns/esm/isLastDayOfMonth/index.js +0 -30
- package/es/node_modules/date-fns/esm/parse/_lib/Parser.js +0 -32
- package/es/node_modules/date-fns/esm/parse/_lib/Setter.js +0 -37
- package/es/node_modules/date-fns/esm/parse/_lib/constants.js +0 -48
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js +0 -55
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js +0 -55
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js +0 -55
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js +0 -52
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js +0 -80
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js +0 -56
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js +0 -53
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js +0 -30
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js +0 -29
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js +0 -48
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js +0 -41
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js +0 -42
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js +0 -50
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js +0 -99
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js +0 -46
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js +0 -46
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js +0 -43
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js +0 -33
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js +0 -96
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js +0 -43
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js +0 -61
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js +0 -41
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js +0 -80
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js +0 -73
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js +0 -41
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js +0 -96
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js +0 -80
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js +0 -73
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js +0 -26
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js +0 -26
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js +0 -66
- package/es/node_modules/date-fns/esm/parse/_lib/parsers/index.js +0 -109
- package/es/node_modules/date-fns/esm/parse/_lib/utils.js +0 -133
- package/es/node_modules/date-fns/esm/startOfDay/index.js +0 -30
- package/es/node_modules/date-fns/esm/toDate/index.js +0 -55
- package/es/node_modules/diagram-js/lib/command/CommandInterceptor.js +0 -139
- package/es/node_modules/diagram-js/lib/draw/BaseRenderer.js +0 -88
- package/es/node_modules/diagram-js/lib/features/popup-menu/PopupMenu.js +0 -591
- package/es/node_modules/diagram-js/lib/features/rules/RuleProvider.js +0 -88
- package/es/node_modules/diagram-js/lib/navigation/movecanvas/MoveCanvas.js +0 -120
- package/es/node_modules/diagram-js/lib/navigation/movecanvas/index.js +0 -8
- package/es/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomScroll.js +0 -227
- package/es/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomUtil.js +0 -24
- package/es/node_modules/diagram-js/lib/util/ClickTrap.js +0 -23
- package/es/node_modules/diagram-js/lib/util/Cursor.js +0 -20
- package/es/node_modules/diagram-js/lib/util/Event.js +0 -22
- package/es/node_modules/diagram-js/lib/util/Math.js +0 -9
- package/es/node_modules/diagram-js/lib/util/Mouse.js +0 -30
- package/es/node_modules/diagram-js/lib/util/Platform.js +0 -5
- package/es/node_modules/diagram-js/lib/util/PositionUtil.js +0 -8
- package/es/node_modules/diagram-js/lib/util/RenderUtil.js +0 -25
- package/es/node_modules/diagram-js/lib/util/SvgTransformUtil.js +0 -48
- package/es/node_modules/ids/dist/index.esm.js +0 -164
- package/es/node_modules/inherits/inherits.js +0 -19
- package/es/node_modules/inherits/inherits_browser.js +0 -38
- package/es/node_modules/inherits-browser/dist/index.es.js +0 -3
- package/es/node_modules/min-dash/dist/index.esm.js +0 -169
- package/es/node_modules/min-dom/dist/index.esm.js +0 -588
- package/es/node_modules/tiny-svg/dist/index.esm.js +0 -525
- package/es/packages/form-render/src/components/renderer/combination.js +0 -168
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, inject, watch, createVNode } from 'vue';
|
|
2
2
|
import { isField } from '@formily/core';
|
|
3
3
|
import { isEqual, cloneDeep } from 'lodash-es';
|
|
4
|
+
import { useCommonInjection } from '../../../../../packages/form-render/src/hooks/useCommonInjection';
|
|
4
5
|
import { InjectionChangeContextCollector, InjectAsyncQueue, InjectionFormItemDepsCollector } from '../../constants/index.js';
|
|
5
6
|
import { assignUpdateValue, traverseDependKey } from '../../utils/index.js';
|
|
6
7
|
import { connect, mapProps } from '@formily/vue';
|
|
@@ -13,6 +14,10 @@ const script = defineComponent({
|
|
|
13
14
|
value: {
|
|
14
15
|
type: String
|
|
15
16
|
},
|
|
17
|
+
lazyRequest: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: true
|
|
20
|
+
},
|
|
16
21
|
options: {
|
|
17
22
|
type: Array,
|
|
18
23
|
default: () => []
|
|
@@ -46,7 +51,6 @@ const script = defineComponent({
|
|
|
46
51
|
emit("update:value", v);
|
|
47
52
|
}
|
|
48
53
|
const {
|
|
49
|
-
title,
|
|
50
54
|
field,
|
|
51
55
|
fieldKey
|
|
52
56
|
} = useFormField();
|
|
@@ -59,16 +63,23 @@ const script = defineComponent({
|
|
|
59
63
|
if (remoteOptions.value)
|
|
60
64
|
return;
|
|
61
65
|
remoteOptions.value = await asyncQueue.addAsync({
|
|
62
|
-
...createParams(configFor(props), field.value,
|
|
66
|
+
...await createParams(configFor(props), field.value, fieldKey.value)
|
|
63
67
|
});
|
|
64
|
-
function createParams(config, field2, key) {
|
|
68
|
+
async function createParams(config, field2, key) {
|
|
65
69
|
const _params = {};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
try {
|
|
71
|
+
traverseDependKey(config.dependKey, (dependKey, valueKey2, required) => {
|
|
72
|
+
const _field = field2.query(dependKey).take();
|
|
73
|
+
if (isField(_field)) {
|
|
74
|
+
if (required && _field.value == null) {
|
|
75
|
+
throw `\u7F3A\u5C11\u5FC5\u987B\u7684\u53C2\u6570=>${dependKey}`;
|
|
76
|
+
}
|
|
77
|
+
_params[valueKey2] = _field.value;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
} catch (e) {
|
|
81
|
+
return Promise.reject(e);
|
|
82
|
+
}
|
|
72
83
|
return {
|
|
73
84
|
...config,
|
|
74
85
|
params: Object.assign({}, config.params, _params),
|
|
@@ -101,18 +112,18 @@ const script = defineComponent({
|
|
|
101
112
|
formItemDepsCollector.setDeps(fieldKey.value, config.dependKey || [], async () => {
|
|
102
113
|
remoteOptions.value = null;
|
|
103
114
|
emit("update:value", null);
|
|
115
|
+
!props.lazyRequest && await fetchData();
|
|
104
116
|
});
|
|
105
|
-
props.value && fetchData();
|
|
106
|
-
}, {
|
|
107
|
-
immediate: true
|
|
108
|
-
});
|
|
109
|
-
watch(() => props.value, (n, o) => {
|
|
110
|
-
var _a, _b;
|
|
111
|
-
o == null && n != null && fetchData();
|
|
112
|
-
isField(field.value) && field.value.visited && ((_b = (_a = field.value).validate) == null ? void 0 : _b.call(_a));
|
|
117
|
+
(props.value || !props.lazyRequest) && fetchData();
|
|
113
118
|
}, {
|
|
114
119
|
immediate: true
|
|
115
120
|
});
|
|
121
|
+
const {
|
|
122
|
+
injectValueValidate,
|
|
123
|
+
injectValueWatchFromEmpty
|
|
124
|
+
} = useCommonInjection();
|
|
125
|
+
injectValueWatchFromEmpty(() => props.value, fetchData);
|
|
126
|
+
injectValueValidate(() => props.value);
|
|
116
127
|
function focusDecorator(onFocus) {
|
|
117
128
|
return (...args) => {
|
|
118
129
|
if (isField(field.value)) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WithNull } from '../../../../../es/src/types';
|
|
1
2
|
import { ContextCollector } from '../../../../../es/packages/form-render/src/hooks/useChangeContext';
|
|
2
3
|
import { BusinessCollector, FormItemDepsCollector } from '../hooks';
|
|
3
4
|
import { FormAsyncQueue } from '../types';
|
|
@@ -8,7 +9,7 @@ export declare const InjectionBusinessCollector: InjectionKey<BusinessCollector>
|
|
|
8
9
|
export declare const InjectionChangeContextCollector: InjectionKey<ContextCollector>;
|
|
9
10
|
export declare const InjectionFormItemDepsCollector: InjectionKey<FormItemDepsCollector>;
|
|
10
11
|
export declare const InjectionFormUUID: InjectionKey<string>;
|
|
11
|
-
export declare const InjectionAnnotation: InjectionKey<WritableComputedRef<Record<string, string
|
|
12
|
+
export declare const InjectionAnnotation: InjectionKey<WritableComputedRef<WithNull<Record<string, string>>>>;
|
|
12
13
|
export declare const FormItemLineBarDepKeyPrepend = "__dep_LINEBAR_";
|
|
13
14
|
export declare enum FIELD_BUSINESS_TYPE {
|
|
14
15
|
PASSWORD = "password",
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WithUndefined } from '../../../../../es/src/types';
|
|
2
2
|
import { ISchema } from '@formily/json-schema/esm/types';
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { Ref } from 'vue';
|
|
4
|
+
import { FormItemDepsCollector, FormRenderProps } from '../../../../../es/packages/form-render';
|
|
5
|
+
export declare function useAnchor(props: Readonly<FormRenderProps>, scrollbarRef: Ref<WithUndefined<HTMLElement>>, collector: FormItemDepsCollector): {
|
|
5
6
|
currentAnchor: import("vue").WritableComputedRef<string>;
|
|
6
7
|
onScroll: () => void;
|
|
7
|
-
formHeight: import("vue").ComputedRef<
|
|
8
|
-
anchorIdList:
|
|
8
|
+
formHeight: import("vue").ComputedRef<string | undefined>;
|
|
9
|
+
anchorIdList: Ref<{
|
|
9
10
|
name: string;
|
|
10
11
|
title: string;
|
|
11
12
|
}[]>;
|
|
12
13
|
generateAnchorList: (schema: ISchema) => void;
|
|
13
|
-
scrollbarRef:
|
|
14
|
+
scrollbarRef: Ref<WithUndefined<HTMLElement>>;
|
|
14
15
|
scrollTo: (id: string) => Promise<void>;
|
|
15
16
|
};
|
|
@@ -5,7 +5,7 @@ import { ref, computed, watch, nextTick } from 'vue';
|
|
|
5
5
|
import { FormItemLineBarDepKeyPrepend } from '../../../../packages/form-render/src/constants';
|
|
6
6
|
import { createLinebarId, traverseSchema } from '../../../../packages/form-render/src/utils';
|
|
7
7
|
|
|
8
|
-
function useAnchor(props, collector) {
|
|
8
|
+
function useAnchor(props, scrollbarRef, collector) {
|
|
9
9
|
const __currentAnchor = ref("");
|
|
10
10
|
const formHeight = computed(() => {
|
|
11
11
|
if (isNumber(props.maxHeight))
|
|
@@ -22,7 +22,6 @@ function useAnchor(props, collector) {
|
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
-
const scrollbarRef = ref();
|
|
26
25
|
let scrollLock = false;
|
|
27
26
|
async function scrollTo(id) {
|
|
28
27
|
scrollLock = true;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import { AnyObject, WithUndefined } from '../../../../../es/src/types';
|
|
1
2
|
import { FormAsyncQueueItem } from '../types';
|
|
3
|
+
declare type ProcessorOption = Partial<{
|
|
4
|
+
afterRequest(key: string, payload?: unknown): AnyObject[];
|
|
5
|
+
beforeRequest(key: string, params?: unknown): WithUndefined<AnyObject> | void;
|
|
6
|
+
}>;
|
|
2
7
|
interface EntryCallback {
|
|
3
8
|
(err?: any, result?: any): void;
|
|
4
9
|
}
|
|
@@ -32,7 +37,7 @@ export declare class AsyncQueue<T = any, K = any, R = any> {
|
|
|
32
37
|
private _handlerResult;
|
|
33
38
|
}
|
|
34
39
|
export declare function useAsyncQueue(): {
|
|
35
|
-
create: (parallelism?: number) => AsyncQueue<FormAsyncQueueItem, any, {
|
|
40
|
+
create: (parallelism?: number, option?: ProcessorOption) => AsyncQueue<FormAsyncQueueItem, any, {
|
|
36
41
|
label: string;
|
|
37
42
|
value: unknown;
|
|
38
43
|
}[]>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isFunction } from 'lodash-es';
|
|
1
2
|
import { useFormRequest, useCommonLog } from '../../../../packages/form-render';
|
|
2
3
|
|
|
3
4
|
class AsyncQueueEntry {
|
|
@@ -103,11 +104,12 @@ class AsyncQueue {
|
|
|
103
104
|
}
|
|
104
105
|
function useAsyncQueue() {
|
|
105
106
|
const { getHttpInstance } = useFormRequest();
|
|
106
|
-
function create(parallelism = 3) {
|
|
107
|
+
function create(parallelism = 3, option) {
|
|
107
108
|
return new AsyncQueue({
|
|
108
109
|
name: "FormRenderAsyncQueue",
|
|
109
110
|
parallelism,
|
|
110
|
-
async processor({ method = "post", params, url }, cb, removeCache) {
|
|
111
|
+
async processor({ key, method = "post", params, url }, cb, removeCache) {
|
|
112
|
+
var _a;
|
|
111
113
|
const http = getHttpInstance();
|
|
112
114
|
if (!http) {
|
|
113
115
|
useCommonLog().invalidHttpInstanceLog();
|
|
@@ -116,11 +118,14 @@ function useAsyncQueue() {
|
|
|
116
118
|
return;
|
|
117
119
|
}
|
|
118
120
|
try {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
if (option && isFunction(option.beforeRequest)) {
|
|
122
|
+
params = (_a = option.beforeRequest(key, params)) != null ? _a : {};
|
|
123
|
+
}
|
|
124
|
+
let res = await http[method](url, params);
|
|
125
|
+
if (option && isFunction(option.afterRequest)) {
|
|
126
|
+
res = option.afterRequest(key, res);
|
|
127
|
+
}
|
|
128
|
+
cb(void 0, Array.isArray(res) ? res : []);
|
|
124
129
|
} catch (e) {
|
|
125
130
|
cb(new Error(`Request error => ${e}`));
|
|
126
131
|
removeCache();
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Func } from '../../../../../es/src/types';
|
|
2
|
+
import { WatchSource } from '@vue/runtime-core';
|
|
3
|
+
export declare function useCommonInjection(): {
|
|
4
|
+
injectValueValidate: (traverser: WatchSource) => void;
|
|
5
|
+
injectValueWatchFromEmpty: (traverser: WatchSource, trigger: Func) => void;
|
|
6
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { isField } from '@formily/core';
|
|
2
|
+
import { watch } from 'vue';
|
|
3
|
+
import { useFormField } from '../../../../packages/form-render';
|
|
4
|
+
|
|
5
|
+
function useCommonInjection() {
|
|
6
|
+
function injectValueValidate(traverser) {
|
|
7
|
+
const { field } = useFormField();
|
|
8
|
+
watch(traverser, () => {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
return isField(field.value) && field.value.visited && ((_b = (_a = field.value).validate) == null ? void 0 : _b.call(_a));
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function injectValueWatchFromEmpty(traverser, trigger) {
|
|
14
|
+
watch(traverser, (n, o) => n != null && o == null && trigger(), { immediate: true });
|
|
15
|
+
}
|
|
16
|
+
return { injectValueValidate, injectValueWatchFromEmpty };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { useCommonInjection };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isObject } from '@vueuse/core';
|
|
2
2
|
import { pick } from 'lodash-es';
|
|
3
3
|
import { useFormValidator, useTypeNormalize } from '../../../../packages/form-render';
|
|
4
|
-
import { fieldKeyEscape, arrayed, createLinebarId, elementIdEscape, transformDateFormat } from '../utils/index.js';
|
|
4
|
+
import { fieldKeyEscape, arrayed, createLinebarId, elementIdEscape, parseNumberFromMaybeString, transformDateFormat } from '../utils/index.js';
|
|
5
5
|
|
|
6
6
|
function useFieldListAdaptor(collector, uuid) {
|
|
7
7
|
const { createValidatorSchema } = useFormValidator();
|
|
@@ -44,18 +44,17 @@ function useFieldListAdaptor(collector, uuid) {
|
|
|
44
44
|
const createInputSchema = (item) => {
|
|
45
45
|
const schema = createStandardSchema(item);
|
|
46
46
|
Object.assign(schema["x-component-props"], {
|
|
47
|
-
|
|
48
|
-
suffix: item.suffix
|
|
47
|
+
...pick(item, ["prefix", "suffix"])
|
|
49
48
|
});
|
|
50
49
|
return schema;
|
|
51
50
|
};
|
|
52
51
|
const createSelectSchema = (item) => {
|
|
53
52
|
const schema = createStandardSchema(item);
|
|
54
53
|
Object.assign(schema["x-component-props"], {
|
|
55
|
-
|
|
54
|
+
...pick(item, ["lazyRequest", "urlConfig"]),
|
|
56
55
|
options: item.option,
|
|
57
56
|
multiple: item.multi_select === "0",
|
|
58
|
-
maxTagCount:
|
|
57
|
+
maxTagCount: parseNumberFromMaybeString(item.multi_select_value)
|
|
59
58
|
});
|
|
60
59
|
return schema;
|
|
61
60
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ShallowReactive } from 'vue';
|
|
2
|
-
import {
|
|
3
|
-
export declare function useFormContext(props: ShallowReactive<
|
|
2
|
+
import { FormRenderProps } from '../../../../../es/packages/form-render';
|
|
3
|
+
export declare function useFormContext(props: ShallowReactive<FormRenderProps>): {
|
|
4
4
|
asyncQueue: import("../../../../../es/packages/form-render").FormAsyncQueue;
|
|
5
5
|
SchemaField: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
|
|
6
6
|
businessCollector: import("../../../../../es/packages/form-render").BusinessCollector;
|
|
7
7
|
changeContextCollector: import("../../../../../es/packages/form-render").ContextCollector;
|
|
8
8
|
formItemDepsCollector: import("../../../../../es/packages/form-render").FormItemDepsCollector;
|
|
9
|
-
formUUID:
|
|
9
|
+
formUUID: string;
|
|
10
10
|
};
|
|
@@ -1,14 +1,32 @@
|
|
|
1
|
-
import { isObject } from '
|
|
1
|
+
import { isObject } from '@vue/shared';
|
|
2
|
+
import { cloneDeep } from 'lodash-es';
|
|
2
3
|
import { provide, computed, readonly } from 'vue';
|
|
3
4
|
import { createSchemaField } from '@formily/vue';
|
|
4
5
|
import { useAsyncQueue, useBusinessBinding, useChangeContext, useFormItemDeps } from '../../../../packages/form-render';
|
|
5
6
|
import * as components from '../../../../packages/form-render/src/components/renderer';
|
|
7
|
+
import { useFormRenderLifeCycle } from '../../../../packages/form-render/src/hooks/useFormRenderLifeCycle';
|
|
6
8
|
import { usePresetScope } from '../../../../packages/form-render/src/hooks/usePresetScope';
|
|
7
9
|
import { injectOrProvide, uuidGenerator } from '../../../../packages/form-render/src/utils';
|
|
8
10
|
import { InjectAsyncQueue, InjectionSchemaField, InjectionBusinessCollector, InjectionChangeContextCollector, InjectionFormItemDepsCollector, InjectionFormUUID, InjectionAnnotation } from '../../../../packages/form-render/src/constants';
|
|
9
11
|
|
|
10
12
|
function useFormContext(props) {
|
|
11
|
-
const
|
|
13
|
+
const { callLifeCycle } = useFormRenderLifeCycle(props);
|
|
14
|
+
const asyncQueue = injectOrProvide(InjectAsyncQueue, () => useAsyncQueue().create(props.parallelism, {
|
|
15
|
+
beforeRequest(...args) {
|
|
16
|
+
return callLifeCycle("beforeRequest", cloneDeep(args)) || args[1];
|
|
17
|
+
},
|
|
18
|
+
afterRequest(...args) {
|
|
19
|
+
return callLifeCycle("afterRequest", cloneDeep(args)) || presetHandler(args[1]);
|
|
20
|
+
function presetHandler(res) {
|
|
21
|
+
if (!isObject(res))
|
|
22
|
+
throw res;
|
|
23
|
+
const { data, success } = res;
|
|
24
|
+
if (!success)
|
|
25
|
+
throw res;
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}));
|
|
12
30
|
const SchemaField = injectOrProvide(InjectionSchemaField, () => createSchemaField({
|
|
13
31
|
components: {
|
|
14
32
|
...components,
|
|
@@ -29,7 +47,7 @@ function useFormContext(props) {
|
|
|
29
47
|
return props.annotation ? readonly(props.annotation) : null;
|
|
30
48
|
},
|
|
31
49
|
set(payload) {
|
|
32
|
-
if (!isObject(props.annotation))
|
|
50
|
+
if (!isObject(props.annotation) || !isObject(payload))
|
|
33
51
|
return;
|
|
34
52
|
props.annotation[payload.property] = payload.value;
|
|
35
53
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WithUndefined } from '../../../../../es/src/types';
|
|
2
|
+
import { FormRenderLifeCycle, FormRenderProps } from '../../../../../es/packages/form-render';
|
|
3
|
+
export declare function useFormRenderLifeCycle(props: FormRenderProps): {
|
|
4
|
+
callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
|
|
5
|
+
onSetup(): void;
|
|
6
|
+
beforeRequest(fieldKey: string, params?: import("../../../../../es/src/types").AnyObject | undefined): void | WithUndefined<import("../../../../../es/src/types").AnyObject>;
|
|
7
|
+
afterRequest(fieldKey: string, payload?: any): import("../../../../../es/src/types").AnyObject[];
|
|
8
|
+
}>>[T]> | undefined) => WithUndefined<ReturnType<Required<Partial<{
|
|
9
|
+
onSetup(): void;
|
|
10
|
+
beforeRequest(fieldKey: string, params?: import("../../../../../es/src/types").AnyObject | undefined): void | WithUndefined<import("../../../../../es/src/types").AnyObject>;
|
|
11
|
+
afterRequest(fieldKey: string, payload?: any): import("../../../../../es/src/types").AnyObject[];
|
|
12
|
+
}>>[T]>>;
|
|
13
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { isFunction } from 'lodash-es';
|
|
2
|
+
|
|
3
|
+
function useFormRenderLifeCycle(props) {
|
|
4
|
+
function callLifeCycle(lifeCycleName, payload) {
|
|
5
|
+
return props.lifeCycle && isFunction(props.lifeCycle[lifeCycleName]) && props.lifeCycle[lifeCycleName].apply(void 0, payload || []);
|
|
6
|
+
}
|
|
7
|
+
return { callLifeCycle };
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { useFormRenderLifeCycle };
|
|
@@ -111,6 +111,14 @@ export declare type FieldItem = {
|
|
|
111
111
|
placeholder: string;
|
|
112
112
|
validate: ValidateItem;
|
|
113
113
|
option: OptionItem[];
|
|
114
|
+
/**
|
|
115
|
+
* 是否开启多选('0'表示开启, 值是反的)
|
|
116
|
+
*/
|
|
117
|
+
multi_select: FormCommonState;
|
|
118
|
+
/**
|
|
119
|
+
* 多选时最大选择数量
|
|
120
|
+
*/
|
|
121
|
+
multi_select_value: number | string;
|
|
114
122
|
/**
|
|
115
123
|
* 用于cascader控件提供层级参数
|
|
116
124
|
*/
|
|
@@ -156,6 +164,10 @@ export declare type FieldItem = {
|
|
|
156
164
|
* BUTTON/TEXT控件内容
|
|
157
165
|
*/
|
|
158
166
|
content: string | FormRenderer | Record<string, FormRenderer>;
|
|
167
|
+
/**
|
|
168
|
+
* 假使控件需要发送请求, 用于控制是否只在需要的时候发送请求
|
|
169
|
+
*/
|
|
170
|
+
lazyRequest: boolean;
|
|
159
171
|
/**
|
|
160
172
|
* COMBINATION控件最大表单组数量
|
|
161
173
|
*/
|
|
@@ -176,6 +188,10 @@ export declare type FieldItem = {
|
|
|
176
188
|
* FormItem额外的props
|
|
177
189
|
*/
|
|
178
190
|
decoratorProps: AnyObject;
|
|
191
|
+
/**
|
|
192
|
+
* 是否不使用decorator组件(n-form-item)
|
|
193
|
+
*/
|
|
194
|
+
noDecorator: Boolean;
|
|
179
195
|
/**
|
|
180
196
|
* COMPLEX控件布局类型
|
|
181
197
|
*/
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { AnyObject,
|
|
1
|
+
import { AnyObject, WithUndefined } from '../../../../../es/src/types';
|
|
2
2
|
import { DataField, Field } from '@formily/core';
|
|
3
|
+
import { ISchema } from '@formily/json-schema/esm/types';
|
|
4
|
+
import { Component, FunctionalComponent } from 'vue';
|
|
3
5
|
import { FIELD_BUSINESS_TYPE } from '../../../../../es/packages/form-render/src/constants';
|
|
4
6
|
import { FieldItem } from '../types';
|
|
5
7
|
import { AsyncQueue } from '../hooks';
|
|
@@ -49,4 +51,30 @@ export declare type FormBusinessFilter = (payload: {
|
|
|
49
51
|
type: FIELD_BUSINESS_TYPE;
|
|
50
52
|
context?: any;
|
|
51
53
|
}) => unknown;
|
|
52
|
-
export declare type DependKeyType =
|
|
54
|
+
export declare type DependKeyType = string | Record<string, string> | Array<{
|
|
55
|
+
paramName: string;
|
|
56
|
+
paramValue?: string;
|
|
57
|
+
required?: boolean;
|
|
58
|
+
} | string>;
|
|
59
|
+
export declare type FormRenderLifeCycle = Partial<{
|
|
60
|
+
onSetup(): void;
|
|
61
|
+
beforeRequest(fieldKey: string, params?: AnyObject): WithUndefined<AnyObject> | void;
|
|
62
|
+
afterRequest(fieldKey: string, payload?: any): AnyObject[];
|
|
63
|
+
}>;
|
|
64
|
+
export declare type FormRenderProps = Partial<{
|
|
65
|
+
fieldList: FieldItem[];
|
|
66
|
+
initialData: AnyObject;
|
|
67
|
+
fieldVisitor: FieldVisitor;
|
|
68
|
+
column: number;
|
|
69
|
+
maxHeight: number | string;
|
|
70
|
+
anchor: boolean;
|
|
71
|
+
parallelism: number;
|
|
72
|
+
schema: ISchema;
|
|
73
|
+
components: Record<string, Component | FunctionalComponent>;
|
|
74
|
+
businessFilter: FormBusinessFilter;
|
|
75
|
+
scope: AnyObject;
|
|
76
|
+
annotation: AnyObject;
|
|
77
|
+
consumer: boolean;
|
|
78
|
+
uuid: string;
|
|
79
|
+
lifeCycle: FormRenderLifeCycle;
|
|
80
|
+
}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyObject, ArrayAble } from '../../../../../es/src/types';
|
|
1
|
+
import { AnyObject, ArrayAble, WithNull } from '../../../../../es/src/types';
|
|
2
2
|
import { ISchema } from '@formily/json-schema/esm/types';
|
|
3
3
|
import { GeneralField } from '@formily/core';
|
|
4
4
|
import { FunctionalComponent, InjectionKey, VNode } from 'vue';
|
|
@@ -8,14 +8,16 @@ export declare function arrayed<T>(maybeArray: T): T extends Array<any> ? T : [T
|
|
|
8
8
|
export declare function assignUpdateValue(props: AnyObject, field: GeneralField): {
|
|
9
9
|
[x: string]: any;
|
|
10
10
|
};
|
|
11
|
-
export declare function transformDateFormat(format?: string): "date" | "datetime";
|
|
11
|
+
export declare function transformDateFormat(format?: string): "date" | "datetime" | "month";
|
|
12
12
|
export declare function isIdCard(idCardNo: string): boolean;
|
|
13
13
|
export declare function isMobile(mobile: string): boolean;
|
|
14
14
|
export declare function parseBirthday(birthday: string): AgeContext;
|
|
15
|
+
export declare function mergeDeepProperties(target: AnyObject, fieldList: FieldItem[], traverseProperties?: string[], property?: string, targetProperty?: string): AnyObject;
|
|
15
16
|
export declare function parseIdCard(idCardNo: string): IdCardParseInfo;
|
|
16
17
|
export declare function injectOrProvide<T>(key: InjectionKey<T>, creator: () => T): T;
|
|
18
|
+
export declare function parseNumberFromMaybeString(value: unknown): unknown;
|
|
17
19
|
export declare function traverseDependKey(dependKeys: DependKeyType, handler: {
|
|
18
|
-
(dependKey: string, valueKey: string): void;
|
|
20
|
+
(dependKey: string, valueKey: string, required?: boolean): void;
|
|
19
21
|
}): void;
|
|
20
22
|
export declare function traverseSchema(schema: ISchema, handler: (_s: ISchema) => void): void;
|
|
21
23
|
export declare function uuidGenerator(): string;
|
|
@@ -23,11 +25,11 @@ export declare function createSlot(renderer: unknown, props: AnyObject): Record<
|
|
|
23
25
|
default(): any;
|
|
24
26
|
};
|
|
25
27
|
export declare function queryDecorator(key: string, wrapperElement: HTMLElement, formUUID: string): HTMLElement | null;
|
|
26
|
-
export declare function queryInput(decoratorElement?: HTMLElement
|
|
28
|
+
export declare function queryInput(decoratorElement?: WithNull<HTMLElement>): {
|
|
27
29
|
widgetElement: HTMLInputElement | null | undefined;
|
|
28
30
|
widgetElementList: HTMLInputElement[];
|
|
29
31
|
};
|
|
30
|
-
export declare function getParentLinebar(key: string, fieldList: FieldItem[]): string
|
|
32
|
+
export declare function getParentLinebar(key: string, fieldList: FieldItem[]): WithNull<string>;
|
|
31
33
|
export declare function elementIdEscape(id: string): string;
|
|
32
34
|
export declare function createLinebarId(id: string): string;
|
|
33
35
|
export declare function fieldKeyEscape(fieldList: FieldItem[]): string;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { inject, provide, computed, createVNode, Fragment } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { isObject } from '@vue/shared';
|
|
3
|
+
import { isNumber, isString, isArray, isFunction } from 'lodash-es';
|
|
3
4
|
import { FIELD_SEX_VALUE } from '../constants/index.js';
|
|
4
5
|
import { isField } from '@formily/core';
|
|
5
|
-
import differenceInDays from '
|
|
6
|
-
import differenceInMonths from '../../../../node_modules/date-fns/esm/differenceInMonths/index.js';
|
|
7
|
-
import differenceInYears from '../../../../node_modules/date-fns/esm/differenceInYears/index.js';
|
|
8
|
-
import '../../../../node_modules/date-fns/esm/parse/_lib/parsers/index.js';
|
|
6
|
+
import { differenceInDays, differenceInMonths, differenceInYears } from 'date-fns';
|
|
9
7
|
|
|
10
8
|
function formRenderLog(message, type = "log") {
|
|
11
9
|
console[type](`[FormRender]: ${message}`);
|
|
@@ -28,7 +26,12 @@ function assignUpdateValue(props, field) {
|
|
|
28
26
|
}
|
|
29
27
|
return _props;
|
|
30
28
|
}
|
|
29
|
+
function isMonthType(format) {
|
|
30
|
+
return format && format.replace(/yyyy-MM/gi, "YYYY-MM") === "YYYY-MM";
|
|
31
|
+
}
|
|
31
32
|
function transformDateFormat(format = "") {
|
|
33
|
+
if (isMonthType(format))
|
|
34
|
+
return "month";
|
|
32
35
|
return format.includes("HH") ? "datetime" : "date";
|
|
33
36
|
}
|
|
34
37
|
function isIdCard(idCardNo) {
|
|
@@ -46,6 +49,33 @@ function parseBirthday(birthday) {
|
|
|
46
49
|
result.age = result.year = differenceInYears(d, birthDate);
|
|
47
50
|
return result;
|
|
48
51
|
}
|
|
52
|
+
function mergeDeepProperties(target, fieldList, traverseProperties = ["children", "properties", "suffixConfig"], property = "val_key", targetProperty = "default_val") {
|
|
53
|
+
function traverse(_target, _fieldList) {
|
|
54
|
+
_fieldList.forEach((field) => {
|
|
55
|
+
if (!isObject(field))
|
|
56
|
+
return;
|
|
57
|
+
if (targetPropertyFor(field) != null && _target[propertyFor(field)] == null) {
|
|
58
|
+
_target[propertyFor(field)] = targetPropertyFor(field);
|
|
59
|
+
}
|
|
60
|
+
traverseProperties.forEach((p) => {
|
|
61
|
+
if (!field[p])
|
|
62
|
+
return;
|
|
63
|
+
if (!_target[propertyFor(field)]) {
|
|
64
|
+
_target[propertyFor(field)] = {};
|
|
65
|
+
}
|
|
66
|
+
traverse(_target[propertyFor(field)], arrayed(field[p]));
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
traverse(target, fieldList);
|
|
71
|
+
return target;
|
|
72
|
+
function propertyFor(field) {
|
|
73
|
+
return field[property];
|
|
74
|
+
}
|
|
75
|
+
function targetPropertyFor(field) {
|
|
76
|
+
return field[targetProperty];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
49
79
|
function parseIdCard(idCardNo) {
|
|
50
80
|
const parseInner = (certificateNo, idxSexStart, birthYearSpan) => {
|
|
51
81
|
const res = {};
|
|
@@ -71,26 +101,44 @@ function injectOrProvide(key, creator) {
|
|
|
71
101
|
}
|
|
72
102
|
return injected;
|
|
73
103
|
}
|
|
104
|
+
function parseNumberFromMaybeString(value) {
|
|
105
|
+
if (isNumber(value))
|
|
106
|
+
return value;
|
|
107
|
+
if (isString(value))
|
|
108
|
+
return +value;
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
74
111
|
function traverseDependKey(dependKeys, handler) {
|
|
75
112
|
if (!dependKeys)
|
|
76
113
|
return;
|
|
114
|
+
createDependKeyMap().forEach((valueKey, dependKey) => {
|
|
115
|
+
if (isString(valueKey))
|
|
116
|
+
return handler(dependKey, valueKey);
|
|
117
|
+
handler(dependKey, valueKey.key, valueKey.required);
|
|
118
|
+
});
|
|
77
119
|
Object.entries(createDependKeyMap()).forEach(([dependKey, valueKey]) => {
|
|
78
120
|
handler(dependKey, valueKey);
|
|
79
121
|
});
|
|
80
122
|
function createDependKeyMap() {
|
|
81
|
-
|
|
123
|
+
const result = /* @__PURE__ */ new Map();
|
|
82
124
|
if (isArray(dependKeys)) {
|
|
83
125
|
dependKeys.forEach((k) => {
|
|
126
|
+
var _a;
|
|
84
127
|
if (isObject(k)) {
|
|
85
|
-
result
|
|
128
|
+
result.set(k.paramName, {
|
|
129
|
+
key: (_a = k.paramName) != null ? _a : k.paramValue,
|
|
130
|
+
required: k.required
|
|
131
|
+
});
|
|
86
132
|
} else {
|
|
87
|
-
result
|
|
133
|
+
result.set(k, k);
|
|
88
134
|
}
|
|
89
135
|
});
|
|
90
136
|
} else if (isObject(dependKeys)) {
|
|
91
|
-
|
|
137
|
+
Object.entries(dependKeys).forEach(([k, v]) => {
|
|
138
|
+
result.set(k, v);
|
|
139
|
+
});
|
|
92
140
|
} else if (isString(dependKeys)) {
|
|
93
|
-
result
|
|
141
|
+
result.set(dependKeys, dependKeys);
|
|
94
142
|
}
|
|
95
143
|
return result;
|
|
96
144
|
}
|
|
@@ -172,4 +220,4 @@ function createInputSlot(props) {
|
|
|
172
220
|
});
|
|
173
221
|
}
|
|
174
222
|
|
|
175
|
-
export { arrayed, assignUpdateValue, createInputSlot, createLinebarId, createSlot, elementIdEscape, fieldKeyEscape, formRenderLog, getParentLinebar, injectOrProvide, isIdCard, isMobile, parseBirthday, parseIdCard, queryDecorator, queryInput, transformDateFormat, traverseDependKey, traverseSchema, uuidGenerator };
|
|
223
|
+
export { arrayed, assignUpdateValue, createInputSlot, createLinebarId, createSlot, elementIdEscape, fieldKeyEscape, formRenderLog, getParentLinebar, injectOrProvide, isIdCard, isMobile, mergeDeepProperties, parseBirthday, parseIdCard, parseNumberFromMaybeString, queryDecorator, queryInput, transformDateFormat, traverseDependKey, traverseSchema, uuidGenerator };
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
.form-render__formItem {
|
|
26
26
|
grid-column: span var(--form-item-column) / span var(--form-item-column);
|
|
27
27
|
}
|
|
28
|
-
.form-render__formItem .n-date-picker
|
|
28
|
+
.form-render__formItem .n-date-picker,
|
|
29
|
+
.form-render__formItem .n-input-number {
|
|
29
30
|
width: 100%;
|
|
30
31
|
}
|
|
31
32
|
.form-render__formItemLabel {
|
|
@@ -42,6 +43,15 @@
|
|
|
42
43
|
transform: translateY(-50%);
|
|
43
44
|
right: calc(var(--icon-right) * 1px);
|
|
44
45
|
}
|
|
46
|
+
.form-render__formItem .n-form-item-label {
|
|
47
|
+
display: inline-flex;
|
|
48
|
+
}
|
|
49
|
+
.form-render__formItem .n-form-item-label [annotation-hover-show='true'] {
|
|
50
|
+
visibility: hidden;
|
|
51
|
+
}
|
|
52
|
+
.form-render__formItem .n-form-item-label:hover [annotation-hover-show='true'] {
|
|
53
|
+
visibility: visible;
|
|
54
|
+
}
|
|
45
55
|
.form-render__linebar {
|
|
46
56
|
grid-column: span var(--column) / span var(--column);
|
|
47
57
|
}
|
|
@@ -131,12 +141,3 @@
|
|
|
131
141
|
display: flex !important;
|
|
132
142
|
gap: 0 8px;
|
|
133
143
|
}
|
|
134
|
-
.form-render .n-form-item-label {
|
|
135
|
-
display: inline-flex;
|
|
136
|
-
}
|
|
137
|
-
.form-render .n-form-item-label [annotation-hover-show='true'] {
|
|
138
|
-
visibility: hidden;
|
|
139
|
-
}
|
|
140
|
-
.form-render .n-form-item-label:hover [annotation-hover-show='true'] {
|
|
141
|
-
visibility: visible;
|
|
142
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function useNuiThemeOverrides() {
|
|
2
2
|
const nuiThemeOverrides = {
|
|
3
3
|
Input: { paddingMedium: "8px", paddingSmall: "8px", paddingLarge: "8px", paddingTiny: "8px" },
|
|
4
|
-
InternalSelection: { paddingSingle: "8px", paddingMultiple: "
|
|
4
|
+
InternalSelection: { paddingSingle: "8px", paddingMultiple: "2px" },
|
|
5
5
|
Form: {
|
|
6
6
|
feedbackHeightMedium: "16px",
|
|
7
7
|
feedbackHeightLarge: "16px",
|