cnhis-design-vue 3.1.50-beta.11 → 3.1.50-beta.13

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.
Files changed (62) hide show
  1. package/README.md +87 -87
  2. package/es/components/expand-field/src/components/form.vue2.js +1 -1
  3. package/es/components/expand-field/src/index.vue2.js +1 -1
  4. package/es/components/form-config/index.d.ts +186 -6
  5. package/es/components/form-config/src/FormConfig.vue.d.ts +186 -6
  6. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +90 -3
  7. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +93 -3
  8. package/es/components/form-config/src/hooks/useConfigurationField.js +1 -1
  9. package/es/components/form-render/index.d.ts +90 -3
  10. package/es/components/form-render/src/FormRender.vue.d.ts +90 -3
  11. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  12. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +90 -3
  13. package/es/components/form-render/src/components/renderer/select.d.ts +3 -0
  14. package/es/components/form-render/src/components/renderer/select.js +1 -1
  15. package/es/components/form-render/src/hooks/useFieldListAdaptor.d.ts +2 -5
  16. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  17. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +173 -4
  18. package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
  19. package/es/components/form-render/src/types/index.d.ts +1 -0
  20. package/es/components/iho-table/index.d.ts +26 -0
  21. package/es/components/iho-table/src/IhoTable.vue.d.ts +26 -0
  22. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.d.ts +3 -1
  23. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -1
  24. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  25. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  26. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -1
  27. package/es/components/iho-table/src/types/index.d.ts +4 -0
  28. package/es/components/info-header/index.d.ts +270 -9
  29. package/es/components/info-header/src/InfoHeader.vue.d.ts +270 -9
  30. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +86 -3
  31. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +86 -3
  32. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +176 -6
  33. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +90 -3
  34. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  35. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  36. package/es/components/select-person/src/SearchMultiple.vue.d.ts +6 -0
  37. package/es/components/shortcut-setter/index.d.ts +90 -3
  38. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +90 -3
  39. package/es/components/table-export-field/src/components/ExportModal.vue.d.ts +0 -3
  40. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +28 -0
  41. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.js +1 -1
  42. package/es/env.d.ts +25 -25
  43. package/es/shared/assets/img/failure.png.js +1 -1
  44. package/es/shared/assets/img/no-permission.png.js +1 -1
  45. package/es/shared/assets/img/nodata.png.js +1 -1
  46. package/es/shared/assets/img/notfound.png.js +1 -1
  47. package/es/shared/assets/img/qr.png.js +1 -1
  48. package/es/shared/assets/img/success.png.js +1 -1
  49. package/es/shared/assets/img/video.png.js +1 -1
  50. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  51. package/es/shared/assets/img/xb_big.png.js +1 -1
  52. package/es/shared/assets/img/xb_small.png.js +1 -1
  53. package/es/shared/package.json.js +1 -1
  54. package/es/shared/utils/index.d.ts +3 -3
  55. package/package.json +2 -2
  56. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  57. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  58. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  59. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  60. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  61. package/es/shared/utils/fabricjs/index.d.ts +0 -6823
  62. package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -151,6 +151,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
151
151
  type: BooleanConstructor;
152
152
  default: boolean;
153
153
  };
154
+ forceClearable: BooleanConstructor;
154
155
  }, {
155
156
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
156
157
  fieldList: {
@@ -295,6 +296,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
295
296
  type: BooleanConstructor;
296
297
  default: boolean;
297
298
  };
299
+ forceClearable: BooleanConstructor;
298
300
  }>> & {
299
301
  onFormChange?: ((...args: any[]) => any) | undefined;
300
302
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -344,10 +346,93 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
344
346
  operationalFormHandler: (field: string) => void;
345
347
  triggerAllOperationalFormHandler: () => void;
346
348
  wordbookSettingHandler: (fieldKey: string, value: unknown) => void;
347
- schemaAdaptor: (fieldList: import("./src/types").FieldItem[], options?: {
349
+ schemaAdaptor: (fieldList: import("./src/types").FieldItem[], options?: Partial<{
350
+ fieldList: import("./src/types").FieldItem[];
351
+ initialData: import("../../../es/shared/types").AnyObject;
352
+ fieldVisitor: import("./src/types").FieldVisitor;
348
353
  column: number;
349
- outBordered?: boolean | undefined;
350
- }) => Record<string, import("@formily/json-schema").Stringify<{
354
+ maxHeight: string | number;
355
+ anchor: boolean;
356
+ parallelism: number;
357
+ schema: import("@formily/json-schema").Stringify<{
358
+ [key: symbol]: any;
359
+ [key: `x-${string}`]: any;
360
+ [key: `x-${number}`]: any;
361
+ version?: string | undefined;
362
+ name?: import("@formily/json-schema").SchemaKey | undefined;
363
+ title?: any;
364
+ description?: any;
365
+ default?: any;
366
+ readOnly?: boolean | undefined;
367
+ writeOnly?: boolean | undefined;
368
+ type?: import("@formily/json-schema").SchemaTypes | undefined;
369
+ enum?: import("@formily/json-schema").SchemaEnum<any> | undefined;
370
+ const?: any;
371
+ multipleOf?: number | undefined;
372
+ maximum?: number | undefined;
373
+ exclusiveMaximum?: number | undefined;
374
+ minimum?: number | undefined;
375
+ exclusiveMinimum?: number | undefined;
376
+ maxLength?: number | undefined;
377
+ minLength?: number | undefined;
378
+ pattern?: string | RegExp | undefined;
379
+ maxItems?: number | undefined;
380
+ minItems?: number | undefined;
381
+ uniqueItems?: boolean | undefined;
382
+ maxProperties?: number | undefined;
383
+ minProperties?: number | undefined;
384
+ required?: string | boolean | string[] | undefined;
385
+ format?: string | undefined;
386
+ $ref?: string | undefined;
387
+ $namespace?: string | undefined;
388
+ definitions?: import("@formily/json-schema").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
389
+ properties?: import("@formily/json-schema").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
390
+ items?: import("@formily/json-schema").SchemaItems<any, any, any, any, any, any, any, any> | undefined;
391
+ additionalItems?: import("@formily/json-schema").Stringify<any> | undefined;
392
+ patternProperties?: import("@formily/json-schema").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
393
+ additionalProperties?: import("@formily/json-schema").Stringify<any> | undefined;
394
+ "x-value"?: any;
395
+ "x-index"?: number | undefined;
396
+ "x-pattern"?: any;
397
+ "x-display"?: any;
398
+ "x-validator"?: any;
399
+ "x-decorator"?: any;
400
+ "x-decorator-props"?: any;
401
+ "x-component"?: any;
402
+ "x-component-props"?: any;
403
+ "x-reactions"?: import("@formily/json-schema").SchemaReactions<any> | undefined;
404
+ "x-content"?: any;
405
+ "x-data"?: any;
406
+ "x-visible"?: boolean | undefined;
407
+ "x-hidden"?: boolean | undefined;
408
+ "x-disabled"?: boolean | undefined;
409
+ "x-editable"?: boolean | undefined;
410
+ "x-read-only"?: boolean | undefined;
411
+ "x-read-pretty"?: boolean | undefined;
412
+ "x-compile-omitted"?: string[] | undefined;
413
+ }>;
414
+ components: Record<string, import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | import("vue").FunctionalComponent<{}, {}>>;
415
+ scope: import("../../../es/shared/types").AnyObject;
416
+ annotation: import("../../../es/shared/types").AnyObject;
417
+ consumer: boolean;
418
+ uuid: string;
419
+ lifeCycle: Partial<{
420
+ onSetup(): void;
421
+ beforeRequest(fieldKey: string, params?: import("../../../es/shared/types").AnyObject | undefined, payload?: import("../../../es/shared/types").AnyObject | undefined): void | import("../../../es/shared/types").UndefinedAble<import("../../../es/shared/types").AnyObject>;
422
+ afterRequest(fieldKey: string, res?: any, payload?: import("../../../es/shared/types").AnyObject | undefined): import("../../../es/shared/types").AnyObject[];
423
+ afterOptionInit(fieldKey: string, options: import("../../../es/shared/types").AnyObject[], payload?: import("../../../es/shared/types").AnyObject | undefined): void;
424
+ }>;
425
+ businessFormatter: import("./src/types").FormBusinessFormatter;
426
+ requestInstance: import("./src/hooks").RequestInstance;
427
+ enterToNextWidget: boolean | ((fieldItem: import("./src/types").FieldItem) => boolean | void);
428
+ lowCodeReactions: import("./src/types").FormLowCodeReactions.Config[];
429
+ linebarAutoHidden: boolean;
430
+ bordered: string | boolean;
431
+ uniqueCacheData: boolean;
432
+ operationalForm: import("../../../es/shared/types").FormOperationalConfig[];
433
+ outBordered: boolean;
434
+ forceClearable: boolean;
435
+ }>) => Record<string, import("@formily/json-schema").Stringify<{
351
436
  [key: symbol]: any;
352
437
  [key: `x-${string}`]: any;
353
438
  [key: `x-${number}`]: any;
@@ -771,6 +856,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
771
856
  type: BooleanConstructor;
772
857
  default: boolean;
773
858
  };
859
+ forceClearable: BooleanConstructor;
774
860
  }>> & {
775
861
  onFormChange?: ((...args: any[]) => any) | undefined;
776
862
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -779,6 +865,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
779
865
  anchor: boolean;
780
866
  maxHeight: string | number;
781
867
  column: number;
868
+ forceClearable: boolean;
782
869
  components: Record<string, import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | import("vue").FunctionalComponent<{}, {}>>;
783
870
  initialData: import("../../../es/shared/types").AnyObject;
784
871
  parallelism: number;
@@ -146,6 +146,7 @@ declare const _default: import("vue").DefineComponent<{
146
146
  type: BooleanConstructor;
147
147
  default: boolean;
148
148
  };
149
+ forceClearable: BooleanConstructor;
149
150
  }, {
150
151
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
151
152
  fieldList: {
@@ -290,6 +291,7 @@ declare const _default: import("vue").DefineComponent<{
290
291
  type: BooleanConstructor;
291
292
  default: boolean;
292
293
  };
294
+ forceClearable: BooleanConstructor;
293
295
  }>> & {
294
296
  onFormChange?: ((...args: any[]) => any) | undefined;
295
297
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -339,10 +341,93 @@ declare const _default: import("vue").DefineComponent<{
339
341
  operationalFormHandler: (field: string) => void;
340
342
  triggerAllOperationalFormHandler: () => void;
341
343
  wordbookSettingHandler: (fieldKey: string, value: unknown) => void;
342
- schemaAdaptor: (fieldList: FieldItem[], options?: {
344
+ schemaAdaptor: (fieldList: FieldItem[], options?: Partial<{
345
+ fieldList: FieldItem[];
346
+ initialData: AnyObject;
347
+ fieldVisitor: FieldVisitor;
343
348
  column: number;
344
- outBordered?: boolean | undefined;
345
- }) => Record<string, import("@formily/vue").Stringify<{
349
+ maxHeight: string | number;
350
+ anchor: boolean;
351
+ parallelism: number;
352
+ schema: import("@formily/vue").Stringify<{
353
+ [key: symbol]: any;
354
+ [key: `x-${string}`]: any;
355
+ [key: `x-${number}`]: any;
356
+ version?: string | undefined;
357
+ name?: import("@formily/vue").SchemaKey | undefined;
358
+ title?: any;
359
+ description?: any;
360
+ default?: any;
361
+ readOnly?: boolean | undefined;
362
+ writeOnly?: boolean | undefined;
363
+ type?: import("@formily/vue").SchemaTypes | undefined;
364
+ enum?: import("@formily/vue").SchemaEnum<any> | undefined;
365
+ const?: any;
366
+ multipleOf?: number | undefined;
367
+ maximum?: number | undefined;
368
+ exclusiveMaximum?: number | undefined;
369
+ minimum?: number | undefined;
370
+ exclusiveMinimum?: number | undefined;
371
+ maxLength?: number | undefined;
372
+ minLength?: number | undefined;
373
+ pattern?: string | RegExp | undefined;
374
+ maxItems?: number | undefined;
375
+ minItems?: number | undefined;
376
+ uniqueItems?: boolean | undefined;
377
+ maxProperties?: number | undefined;
378
+ minProperties?: number | undefined;
379
+ required?: string | boolean | string[] | undefined;
380
+ format?: string | undefined;
381
+ $ref?: string | undefined;
382
+ $namespace?: string | undefined;
383
+ definitions?: import("@formily/vue").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
384
+ properties?: import("@formily/vue").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
385
+ items?: import("@formily/vue").SchemaItems<any, any, any, any, any, any, any, any> | undefined;
386
+ additionalItems?: import("@formily/vue").Stringify<any> | undefined;
387
+ patternProperties?: import("@formily/vue").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
388
+ additionalProperties?: import("@formily/vue").Stringify<any> | undefined;
389
+ "x-value"?: any;
390
+ "x-index"?: number | undefined;
391
+ "x-pattern"?: any;
392
+ "x-display"?: any;
393
+ "x-validator"?: any;
394
+ "x-decorator"?: any;
395
+ "x-decorator-props"?: any;
396
+ "x-component"?: any;
397
+ "x-component-props"?: any;
398
+ "x-reactions"?: import("@formily/vue").SchemaReactions<any> | undefined;
399
+ "x-content"?: any;
400
+ "x-data"?: any;
401
+ "x-visible"?: boolean | undefined;
402
+ "x-hidden"?: boolean | undefined;
403
+ "x-disabled"?: boolean | undefined;
404
+ "x-editable"?: boolean | undefined;
405
+ "x-read-only"?: boolean | undefined;
406
+ "x-read-pretty"?: boolean | undefined;
407
+ "x-compile-omitted"?: string[] | undefined;
408
+ }>;
409
+ components: Record<string, Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | FunctionalComponent<{}, {}>>;
410
+ scope: AnyObject;
411
+ annotation: AnyObject;
412
+ consumer: boolean;
413
+ uuid: string;
414
+ lifeCycle: Partial<{
415
+ onSetup(): void;
416
+ beforeRequest(fieldKey: string, params?: AnyObject | undefined, payload?: AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<AnyObject>;
417
+ afterRequest(fieldKey: string, res?: any, payload?: AnyObject | undefined): AnyObject[];
418
+ afterOptionInit(fieldKey: string, options: AnyObject[], payload?: AnyObject | undefined): void;
419
+ }>;
420
+ businessFormatter: FormBusinessFormatter;
421
+ requestInstance: RequestInstance;
422
+ enterToNextWidget: boolean | ((fieldItem: FieldItem) => boolean | void);
423
+ lowCodeReactions: FormLowCodeReactions.Config[];
424
+ linebarAutoHidden: boolean;
425
+ bordered: string | boolean;
426
+ uniqueCacheData: boolean;
427
+ operationalForm: FormOperationalConfig[];
428
+ outBordered: boolean;
429
+ forceClearable: boolean;
430
+ }>) => Record<string, import("@formily/vue").Stringify<{
346
431
  [key: symbol]: any;
347
432
  [key: `x-${string}`]: any;
348
433
  [key: `x-${number}`]: any;
@@ -766,6 +851,7 @@ declare const _default: import("vue").DefineComponent<{
766
851
  type: BooleanConstructor;
767
852
  default: boolean;
768
853
  };
854
+ forceClearable: BooleanConstructor;
769
855
  }>> & {
770
856
  onFormChange?: ((...args: any[]) => any) | undefined;
771
857
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -774,6 +860,7 @@ declare const _default: import("vue").DefineComponent<{
774
860
  anchor: boolean;
775
861
  maxHeight: string | number;
776
862
  column: number;
863
+ forceClearable: boolean;
777
864
  components: Record<string, Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | FunctionalComponent<{}, {}>>;
778
865
  initialData: AnyObject;
779
866
  parallelism: number;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,computed as t,provide as r,onMounted as s,onUnmounted as a,nextTick as i,openBlock as l,createBlock as n,unref as m,normalizeClass as d,normalizeStyle as p,withCtx as u,createElementBlock as c,createVNode as f,isRef as h,Fragment as y,renderList as g,createCommentVNode as j,createElementVNode as b,withKeys as k,toDisplayString as v,renderSlot as F}from"vue";import{useTheme as C}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isNumber as S,cloneDeep as H,isObject as x,isBoolean as A}from"lodash-es";import{createForm as L,onFieldValueChange as O,onFieldMount as R,onFieldUnmount as B,onFieldReact as w,onFormMount as _}from"@formily/core";import{FormProvider as D,FormConsumer as V}from"@formily/vue";import{NForm as I,NTabs as N,NTabPane as q,NConfigProvider as W}from"naive-ui";import{InjectionFormLifeCycleCaller as E,InjectionFormGraph as K}from"./constants/index.js";import{useAutoHidden as T}from"./hooks/useAutoHidden.js";import{useComplexOptionsSpan as U}from"./hooks/useComplexOptions.js";import{useFormDomEvent as G,useFormExposeEvent as M}from"./hooks/useFormEvent.js";import{useFormGraph as P}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as J}from"./hooks/useFormRenderLifeCycle.js";import{useLowCodeEvent as $}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as z}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as Q}from"./hooks/useNuiThemeOverrides.js";import{useOperationalForm as X}from"./hooks/useOperationalForm.js";import{useWordbookSetting as Y}from"./hooks/useWordbookSetting.js";import"../../../shared/utils/index.js";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"../index.js";import{createObjSchema as Z}from"./utils/schema.js";import{useFieldListAdaptor as ee}from"./hooks/useFieldListAdaptor.js";import{useFieldVisitor as oe}from"./hooks/useFieldVisitor.js";import"../../../shared/utils/tapable/SyncHook.js";import"../../../shared/utils/tapable/SyncBailHook.js";import"../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../shared/utils/tapable/SyncLoopHook.js";import"../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{validateMessageLocale as te}from"./hooks/useFormValidator.js";import{useAnchor as re}from"./hooks/useAnchor.js";import{useFormContext as se}from"./hooks/useFormContext.js";import"./hooks/useFormRenderOptions.js";const ae={key:0,style:{height:"54px"}},ie={style:{"white-space":"pre"}};var le=e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default:3},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},lowCodeReactions:{type:Array},operationalForm:{type:Object},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},outBordered:{type:Boolean,default:!1},uniqueCacheData:{type:Boolean,default:!1}},emits:["formChange","annotationChange","scroll"],setup(e,{expose:le,emit:ne}){const me=e,de=C(),{nuiThemeOverrides:pe}=Q();te();const ue=o(),ce=t((()=>S(me.maxHeight)?me.maxHeight+"px":me.maxHeight)),{SchemaField:fe,businessCollector:he,formItemDepsCollector:ye,changeContextCollector:ge,formUUID:je}=se(me,ne),{anchorBarRef:be,currentAnchor:ke,updateAnchorList:ve,anchorIdList:Fe,onScroll:Ce}=re(me,ne,ue,ye),{callLifeCycle:Se}=J(me);r(E,Se),Se("onSetup");const{trigger:He}=T(),{observeFormGraph:xe,setGraph:Ae,removeGraph:Le}=P();r(K,xe);const{lowCodeEventTrigger:Oe}=$(),Re=L({initialValues:me.initialData,effects(e){O("*",(o=>{const t=o.props.name.toString();he.trigger(e,t),ye.trigger(t),ne("formChange",{fieldInstance:o,fieldKey:t,fieldName:o.title,value:o.value,context:ge.getContext(t,o.value)}),Oe(o),Be(t,o.value),_e(t),Ve(t,o.value)})),R("*",Ae),B("*",Le),me.linebarAutoHidden&&(w("*",He),_((e=>e.query("*").forEach(He)))),me.anchor&&w("*",ve)}}),{lowCodeReactionsHandler:Be,triggerAllReactionsHandler:we}=z(t((()=>me.lowCodeReactions)),Re),{operationalFormHandler:_e,triggerAllOperationalFormHandler:De}=X(t((()=>me.operationalForm)),Re),{wordbookSettingHandler:Ve}=Y(Re,ge);s(we),s(De);const{schemaAdaptor:Ie}=ee(he);let Ne=me.fieldList||[];const qe=t((()=>me.schema?me.schema:me.fieldList?(Ne=oe().traverse(H(me.fieldList),me.fieldVisitor),Z(Ie(Ne,me))):Z({}))),{onKeydown:We}=G({formModel:Re,formRenderRef:ue,props:me}),{clearSpan:Ee}=U();a((()=>Ee(je)));const Ke=M({formModel:Re,formRenderRef:ue,formItemDepsCollector:ye,getFieldList:()=>Ne,formUUID:je});return le({formModel:Re,validate:(e="*")=>Ke.validate(e),getFormValues:(e=!0)=>Ke.getFormValues(e),async setFormValues(e,o={},t=!1,r=!0){var s,a,l,n;let m=!0,d=!0;x(o)?(d=null==(s=o.needSplitExtendKey)||s,m=null==(a=o.avoidDependKeyConnection)||a,t=null!=(l=o.avoidBusinessConnection)&&l,r=null==(n=o.overwrite)||n):A(o)&&(d=o),t&&(he.triggerLock=!0),m&&(ye.triggerDisabled=!0),Ke.setFormValues(e,d,r),await i(),he.triggerLock=!1,ye.triggerDisabled=!1},setFieldState(e,o){Ke.setFieldState(e,o)},resetFields(e="*"){Ke.resetFields(e)},queryWidget:async e=>Ke.queryWidget(e),getFieldList:()=>Ne,async reload(){console.error("reload function is abstract,it should be overwrite!")}}),(o,t)=>(l(),n(m(I),{class:d(["form-render",{"form-render--out-border":e.outBordered}]),"require-mark-placement":"left",style:p(m(de))},{default:u((()=>[e.anchor?(l(),c("section",ae,[f(m(N),{value:m(ke),"onUpdate:value":t[0]||(t[0]=e=>h(ke)?ke.value=e:null),type:"line",ref_key:"anchorBarRef",ref:be},{default:u((()=>[(l(!0),c(y,null,g(m(Fe),(e=>(l(),n(m(q),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):j("v-if",!0),f(m(W),{"theme-overrides":m(pe)},{default:u((()=>[b("section",{class:"form-render__wrapper",style:p({"--column":e.column,"--form-height":m(ce)}),ref_key:"formRenderRef",ref:ue,onScroll:t[1]||(t[1]=(...e)=>m(Ce)&&m(Ce)(...e)),onKeydownCapture:t[2]||(t[2]=k(((...e)=>m(We)&&m(We)(...e)),["enter"]))},[f(m(D),{form:m(Re)},{default:u((()=>[f(m(fe),{schema:m(qe)},null,8,["schema"]),e.consumer?(l(),n(m(V),{key:0},{default:u((({form:e})=>[b("div",ie,v(JSON.stringify(e.values,null,2)),1)])),_:1})):j("v-if",!0),F(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},8,["class","style"]))}});export{le as default};
1
+ import{defineComponent as e,ref as o,computed as t,provide as r,onMounted as s,onUnmounted as a,nextTick as i,openBlock as l,createBlock as n,unref as m,normalizeClass as d,normalizeStyle as p,withCtx as u,createElementBlock as c,createVNode as f,isRef as h,Fragment as y,renderList as g,createCommentVNode as j,createElementVNode as b,withKeys as k,toDisplayString as v,renderSlot as F}from"vue";import{useTheme as C}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isNumber as S,cloneDeep as H,isObject as x,isBoolean as A}from"lodash-es";import{createForm as L,onFieldValueChange as B,onFieldMount as O,onFieldUnmount as R,onFieldReact as w,onFormMount as _}from"@formily/core";import{FormProvider as D,FormConsumer as V}from"@formily/vue";import{NForm as I,NTabs as N,NTabPane as q,NConfigProvider as W}from"naive-ui";import{InjectionFormLifeCycleCaller as E,InjectionFormGraph as K}from"./constants/index.js";import{useAutoHidden as T}from"./hooks/useAutoHidden.js";import{useComplexOptionsSpan as U}from"./hooks/useComplexOptions.js";import{useFormDomEvent as G,useFormExposeEvent as M}from"./hooks/useFormEvent.js";import{useFormGraph as P}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as J}from"./hooks/useFormRenderLifeCycle.js";import{useLowCodeEvent as $}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as z}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as Q}from"./hooks/useNuiThemeOverrides.js";import{useOperationalForm as X}from"./hooks/useOperationalForm.js";import{useWordbookSetting as Y}from"./hooks/useWordbookSetting.js";import"../../../shared/utils/index.js";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"../index.js";import{createObjSchema as Z}from"./utils/schema.js";import{useFieldListAdaptor as ee}from"./hooks/useFieldListAdaptor.js";import{useFieldVisitor as oe}from"./hooks/useFieldVisitor.js";import"../../../shared/utils/tapable/SyncHook.js";import"../../../shared/utils/tapable/SyncBailHook.js";import"../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../shared/utils/tapable/SyncLoopHook.js";import"../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{validateMessageLocale as te}from"./hooks/useFormValidator.js";import{useAnchor as re}from"./hooks/useAnchor.js";import{useFormContext as se}from"./hooks/useFormContext.js";import"./hooks/useFormRenderOptions.js";const ae={key:0,style:{height:"54px"}},ie={style:{"white-space":"pre"}};var le=e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default:3},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},lowCodeReactions:{type:Array},operationalForm:{type:Object},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},outBordered:{type:Boolean,default:!1},uniqueCacheData:{type:Boolean,default:!1},forceClearable:Boolean},emits:["formChange","annotationChange","scroll"],setup(e,{expose:le,emit:ne}){const me=e,de=C(),{nuiThemeOverrides:pe}=Q();te();const ue=o(),ce=t((()=>S(me.maxHeight)?me.maxHeight+"px":me.maxHeight)),{SchemaField:fe,businessCollector:he,formItemDepsCollector:ye,changeContextCollector:ge,formUUID:je}=se(me,ne),{anchorBarRef:be,currentAnchor:ke,updateAnchorList:ve,anchorIdList:Fe,onScroll:Ce}=re(me,ne,ue,ye),{callLifeCycle:Se}=J(me);r(E,Se),Se("onSetup");const{trigger:He}=T(),{observeFormGraph:xe,setGraph:Ae,removeGraph:Le}=P();r(K,xe);const{lowCodeEventTrigger:Be}=$(),Oe=L({initialValues:me.initialData,effects(e){B("*",(o=>{const t=o.props.name.toString();he.trigger(e,t),ye.trigger(t),ne("formChange",{fieldInstance:o,fieldKey:t,fieldName:o.title,value:o.value,context:ge.getContext(t,o.value)}),Be(o),Re(t),_e(t),Ve(t,o.value)})),O("*",Ae),R("*",Le),me.linebarAutoHidden&&(w("*",He),_((e=>e.query("*").forEach(He)))),me.anchor&&w("*",ve)}}),{lowCodeReactionsHandler:Re,triggerAllReactionsHandler:we}=z(t((()=>me.lowCodeReactions)),Oe),{operationalFormHandler:_e,triggerAllOperationalFormHandler:De}=X(t((()=>me.operationalForm)),Oe),{wordbookSettingHandler:Ve}=Y(Oe,ge);s(we),s(De);const{schemaAdaptor:Ie}=ee(he);let Ne=me.fieldList||[];const qe=t((()=>me.schema?me.schema:me.fieldList?(Ne=oe().traverse(H(me.fieldList),me.fieldVisitor),Z(Ie(Ne,me))):Z({}))),{onKeydown:We}=G({formModel:Oe,formRenderRef:ue,props:me}),{clearSpan:Ee}=U();a((()=>Ee(je)));const Ke=M({formModel:Oe,formRenderRef:ue,formItemDepsCollector:ye,getFieldList:()=>Ne,formUUID:je});return le({formModel:Oe,validate:(e="*")=>Ke.validate(e),getFormValues:(e=!0)=>Ke.getFormValues(e),async setFormValues(e,o={},t=!1,r=!0){var s,a,l,n;let m=!0,d=!0;x(o)?(d=null==(s=o.needSplitExtendKey)||s,m=null==(a=o.avoidDependKeyConnection)||a,t=null!=(l=o.avoidBusinessConnection)&&l,r=null==(n=o.overwrite)||n):A(o)&&(d=o),t&&(he.triggerLock=!0),m&&(ye.triggerDisabled=!0),Ke.setFormValues(e,d,r),await i(),he.triggerLock=!1,ye.triggerDisabled=!1},setFieldState(e,o){Ke.setFieldState(e,o)},resetFields(e="*"){Ke.resetFields(e)},queryWidget:async e=>Ke.queryWidget(e),getFieldList:()=>Ne,async reload(){console.error("reload function is abstract,it should be overwrite!")}}),(o,t)=>(l(),n(m(I),{class:d(["form-render",{"form-render--out-border":e.outBordered}]),"require-mark-placement":"left",style:p(m(de))},{default:u((()=>[e.anchor?(l(),c("section",ae,[f(m(N),{value:m(ke),"onUpdate:value":t[0]||(t[0]=e=>h(ke)?ke.value=e:null),type:"line",ref_key:"anchorBarRef",ref:be},{default:u((()=>[(l(!0),c(y,null,g(m(Fe),(e=>(l(),n(m(q),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):j("v-if",!0),f(m(W),{"theme-overrides":m(pe)},{default:u((()=>[b("section",{class:"form-render__wrapper",style:p({"--column":e.column,"--form-height":m(ce)}),ref_key:"formRenderRef",ref:ue,onScroll:t[1]||(t[1]=(...e)=>m(Ce)&&m(Ce)(...e)),onKeydownCapture:t[2]||(t[2]=k(((...e)=>m(We)&&m(We)(...e)),["enter"]))},[f(m(D),{form:m(Oe)},{default:u((()=>[f(m(fe),{schema:m(qe)},null,8,["schema"]),e.consumer?(l(),n(m(V),{key:0},{default:u((({form:e})=>[b("div",ie,v(JSON.stringify(e.values,null,2)),1)])),_:1})):j("v-if",!0),F(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},8,["class","style"]))}});export{le as default};
@@ -149,6 +149,7 @@ declare const _default: import("vue").DefineComponent<{}, {
149
149
  type: BooleanConstructor;
150
150
  default: boolean;
151
151
  };
152
+ forceClearable: BooleanConstructor;
152
153
  }, {
153
154
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
154
155
  fieldList: {
@@ -293,6 +294,7 @@ declare const _default: import("vue").DefineComponent<{}, {
293
294
  type: BooleanConstructor;
294
295
  default: boolean;
295
296
  };
297
+ forceClearable: BooleanConstructor;
296
298
  }>> & {
297
299
  onFormChange?: ((...args: any[]) => any) | undefined;
298
300
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -342,10 +344,93 @@ declare const _default: import("vue").DefineComponent<{}, {
342
344
  operationalFormHandler: (field: string) => void;
343
345
  triggerAllOperationalFormHandler: () => void;
344
346
  wordbookSettingHandler: (fieldKey: string, value: unknown) => void;
345
- schemaAdaptor: (fieldList: import("../../../../es/components/form-render").FieldItem[], options?: {
347
+ schemaAdaptor: (fieldList: import("../../../../es/components/form-render").FieldItem[], options?: Partial<{
348
+ fieldList: import("../../../../es/components/form-render").FieldItem[];
349
+ initialData: import("../../../../es/shared/types").AnyObject;
350
+ fieldVisitor: import("../../../../es/components/form-render").FieldVisitor;
346
351
  column: number;
347
- outBordered?: boolean | undefined;
348
- }) => Record<string, import("@formily/json-schema").Stringify<{
352
+ maxHeight: string | number;
353
+ anchor: boolean;
354
+ parallelism: number;
355
+ schema: import("@formily/json-schema").Stringify<{
356
+ [key: symbol]: any;
357
+ [key: `x-${string}`]: any;
358
+ [key: `x-${number}`]: any;
359
+ version?: string | undefined;
360
+ name?: import("@formily/json-schema").SchemaKey | undefined;
361
+ title?: any;
362
+ description?: any;
363
+ default?: any;
364
+ readOnly?: boolean | undefined;
365
+ writeOnly?: boolean | undefined;
366
+ type?: import("@formily/json-schema").SchemaTypes | undefined;
367
+ enum?: import("@formily/json-schema").SchemaEnum<any> | undefined;
368
+ const?: any;
369
+ multipleOf?: number | undefined;
370
+ maximum?: number | undefined;
371
+ exclusiveMaximum?: number | undefined;
372
+ minimum?: number | undefined;
373
+ exclusiveMinimum?: number | undefined;
374
+ maxLength?: number | undefined;
375
+ minLength?: number | undefined;
376
+ pattern?: string | RegExp | undefined;
377
+ maxItems?: number | undefined;
378
+ minItems?: number | undefined;
379
+ uniqueItems?: boolean | undefined;
380
+ maxProperties?: number | undefined;
381
+ minProperties?: number | undefined;
382
+ required?: string | boolean | string[] | undefined;
383
+ format?: string | undefined;
384
+ $ref?: string | undefined;
385
+ $namespace?: string | undefined;
386
+ definitions?: import("@formily/json-schema").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
387
+ properties?: import("@formily/json-schema").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
388
+ items?: import("@formily/json-schema").SchemaItems<any, any, any, any, any, any, any, any> | undefined;
389
+ additionalItems?: import("@formily/json-schema").Stringify<any> | undefined;
390
+ patternProperties?: import("@formily/json-schema").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
391
+ additionalProperties?: import("@formily/json-schema").Stringify<any> | undefined;
392
+ "x-value"?: any;
393
+ "x-index"?: number | undefined;
394
+ "x-pattern"?: any;
395
+ "x-display"?: any;
396
+ "x-validator"?: any;
397
+ "x-decorator"?: any;
398
+ "x-decorator-props"?: any;
399
+ "x-component"?: any;
400
+ "x-component-props"?: any;
401
+ "x-reactions"?: import("@formily/json-schema").SchemaReactions<any> | undefined;
402
+ "x-content"?: any;
403
+ "x-data"?: any;
404
+ "x-visible"?: boolean | undefined;
405
+ "x-hidden"?: boolean | undefined;
406
+ "x-disabled"?: boolean | undefined;
407
+ "x-editable"?: boolean | undefined;
408
+ "x-read-only"?: boolean | undefined;
409
+ "x-read-pretty"?: boolean | undefined;
410
+ "x-compile-omitted"?: string[] | undefined;
411
+ }>;
412
+ components: Record<string, import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | import("vue").FunctionalComponent<{}, {}>>;
413
+ scope: import("../../../../es/shared/types").AnyObject;
414
+ annotation: import("../../../../es/shared/types").AnyObject;
415
+ consumer: boolean;
416
+ uuid: string;
417
+ lifeCycle: Partial<{
418
+ onSetup(): void;
419
+ beforeRequest(fieldKey: string, params?: import("../../../../es/shared/types").AnyObject | undefined, payload?: import("../../../../es/shared/types").AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<import("../../../../es/shared/types").AnyObject>;
420
+ afterRequest(fieldKey: string, res?: any, payload?: import("../../../../es/shared/types").AnyObject | undefined): import("../../../../es/shared/types").AnyObject[];
421
+ afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[], payload?: import("../../../../es/shared/types").AnyObject | undefined): void;
422
+ }>;
423
+ businessFormatter: import("../../../../es/components/form-render").FormBusinessFormatter;
424
+ requestInstance: import("../../../../es/components/form-render").RequestInstance;
425
+ enterToNextWidget: boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void);
426
+ lowCodeReactions: import("../../../../es/components/form-render").FormLowCodeReactions.Config[];
427
+ linebarAutoHidden: boolean;
428
+ bordered: string | boolean;
429
+ uniqueCacheData: boolean;
430
+ operationalForm: import("../../../../es/shared/types").FormOperationalConfig[];
431
+ outBordered: boolean;
432
+ forceClearable: boolean;
433
+ }>) => Record<string, import("@formily/json-schema").Stringify<{
349
434
  [key: symbol]: any;
350
435
  [key: `x-${string}`]: any;
351
436
  [key: `x-${number}`]: any;
@@ -769,6 +854,7 @@ declare const _default: import("vue").DefineComponent<{}, {
769
854
  type: BooleanConstructor;
770
855
  default: boolean;
771
856
  };
857
+ forceClearable: BooleanConstructor;
772
858
  }>> & {
773
859
  onFormChange?: ((...args: any[]) => any) | undefined;
774
860
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -777,6 +863,7 @@ declare const _default: import("vue").DefineComponent<{}, {
777
863
  anchor: boolean;
778
864
  maxHeight: string | number;
779
865
  column: number;
866
+ forceClearable: boolean;
780
867
  components: Record<string, import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | import("vue").FunctionalComponent<{}, {}>>;
781
868
  initialData: import("../../../../es/shared/types").AnyObject;
782
869
  parallelism: number;
@@ -34,6 +34,7 @@ export declare const SELECT: import("vue").DefineComponent<{
34
34
  allowCreate: BooleanConstructor;
35
35
  shouldSave: BooleanConstructor;
36
36
  allowModify: BooleanConstructor;
37
+ showCustomValue: BooleanConstructor;
37
38
  cursorPlacement: {
38
39
  type: PropType<"end" | "start">;
39
40
  default: string;
@@ -132,6 +133,7 @@ export declare const SELECT: import("vue").DefineComponent<{
132
133
  allowCreate: BooleanConstructor;
133
134
  shouldSave: BooleanConstructor;
134
135
  allowModify: BooleanConstructor;
136
+ showCustomValue: BooleanConstructor;
135
137
  cursorPlacement: {
136
138
  type: PropType<"end" | "start">;
137
139
  default: string;
@@ -217,5 +219,6 @@ export declare const SELECT: import("vue").DefineComponent<{
217
219
  allowCreate: boolean;
218
220
  useLoading: boolean;
219
221
  shouldSave: boolean;
222
+ showCustomValue: boolean;
220
223
  cursorPlacement: "end" | "start";
221
224
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as l,inject as t,useAttrs as o,ref as a,createVNode as u,mergeProps as n,toRaw as r,nextTick as s}from"vue";import{arrayed as i}from"../../../../../shared/utils/index.js";import{HelpCircleSharp as p}from"@vicons/ionicons5";import{promiseTimeout as m}from"@vueuse/shared";import{cloneDeep as c,isArray as d,isString as v,isObject as f,omit as y}from"lodash-es";import{useCommonInjection as h,useSelectOptionProps as g}from"../../hooks/useCommonInjection.js";import{useComplexOptions as S,useComplexOptionsSpan as j}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as b,InjectionFormUUID as C}from"../../constants/index.js";import"../../../index.js";import"@formily/core";import"@formily/path";import"@vue/shared";import"@vueuse/core";import{NSelect as w,NTooltip as k,NIcon as F,NTag as B}from"naive-ui";import"date-fns";import{assignUpdateValue as x,assignClearBindVisited as O,createVisitedSetter as A}from"../../utils/schema.js";import{useFormField as H}from"../../hooks/useFormField.js";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import{connect as P,mapProps as R}from"@formily/vue";import"./index.js";import{useUrlConfigOptions as K,useAutographOptions as L,useRecommendOptions as E,searchContentMatcher as V}from"../../hooks/useFormRenderOptions.js";const _=P(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},showField:{type:String},allowCreate:Boolean,shouldSave:Boolean,allowModify:Boolean,cursorPlacement:{type:String,default:"end"},urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1},useLoading:{type:Boolean,default:!0},multiple:{type:Boolean}},emits:["update:value","postRecommend"],setup(e,{slots:x,emit:O}){const P=l({get:()=>e.value,async set(e){O("update:value",e),Q(e)}}),R=l((()=>(e.multiple&&e.allowModify&&console.warn("多选模式下不支持allowModify"),!e.multiple&&e.allowModify))),{labelKey:_,valueKey:I,showKey:N,fetchData:M,searchContent:W,fullOptions:q,filterOptions:U,remoteOptions:z,loading:D}=e.urlConfig?K(e,P):L(e,P),{renderComplexOption:T,hasComplexOption:G}=S(e,P),{getRecommend:J,postRecommend:Q,sortedOptions:X}=E(e,U,O,_,I),{field:Y,fieldKey:Z}=H();t(b).setContext(Z.value,(e=>({currentOption:c(function(e){const l=re(q.value);return d(e)?function(e){const t=l.reduce(((e,l)=>(e[l[I.value]]=l,e)),{});return e.map((e=>t[e]))}(e):(t=e,l.find((e=>e[I.value]===t)));var t}(e))})));const $=async(e="")=>(W.value=e,Promise.allSettled([M(e),J(e)])),{injectValueValidate:ee,injectValueWatchFromEmpty:le,injectValueBindKey:te}=h();le(P,$),ee(P);const oe=te(P),{menuProps:ae,nodeProps:ue}=g();function ne(e){const l=e[_.value];if(!l||!v(l))return"";const t=W.value?V(W.value,l):null,o=t?u("section",null,[t.map(((e,l)=>0!==l&&e?u("span",{style:{color:l%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):l;return e.desc?u("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[o,e.desc?u(k,null,{trigger:()=>u(F,{component:p},null),default:()=>e.desc}):null]):o}function re(l){return e.allowCreate&&W.value&&!l.some((e=>e[_.value]===W.value))?[...l,{[_.value]:W.value,[I.value]:W.value,created:!0,shouldSave:e.shouldSave}]:l}const se=l((()=>re(R.value?q.value:X.value))),ie=o(),pe=l((()=>{if(e.allowCreate)return P.value;const l=e.multiple&&d(P.value);return q.value.find((e=>l?P.value.includes(e[I.value]):e[I.value]===P.value))?P.value:null})),me=a(!1);async function ce(e){e&&await $(),me.value=e}let de=null;async function ve(l,t){P.value=l,de&&f(t)&&R.value&&(de.focus(),await s(),de.value=t[_.value]||"",de.dispatchEvent(new CustomEvent("input")),"start"===e.cursorPlacement&&de.setSelectionRange(0,0)),z.value&&t&&i(t).forEach((e=>{if(!f(e))return;const l=e;l.created&&l.shouldSave&&z.value.push(y(r(l),["created","shouldSave"]))}))}const fe=t(C),{getSpan:ye}=j(),he=A(Y,(async l=>{var t,o,a;R.value&&(de=l.target,de&&P.value&&(await s(),de.value=null!=(a=null!=(o=null==(t=q.value.find((e=>e[I.value]===P.value)))?void 0:t[_.value])?o:P.value)?a:"",de.dispatchEvent(new CustomEvent("input")),"start"===e.cursorPlacement&&(await m(0),de.setSelectionRange(0,0))))}));function ge(e){if(!R.value)return;if(de=e.target,!de)return;if(!de.value)return P.value=null;const l=q.value.find((e=>e[_.value]===de.value));l?P.value=l[I.value]:(W.value=de.value,P.value=de.value)}function Se({option:l,handleClose:t}){var o;const a=null!=(o=N.value&&l[N.value])?o:l[_.value];return e.multiple?u(B,{closable:!0,onClose:e=>{e.stopPropagation(),t()}},{default:()=>a}):a}function je(l){return u(w,n({key:oe.value,multiple:e.multiple,remote:!0,filterable:!0,loading:D.value,value:pe.value,onUpdateValue:ve,"menu-props":ae,"node-props":ue,labelField:_.value,valueField:I.value,options:se.value,onSearch:$,show:me.value,"onUpdate:show":ce,onFocus:he,onBlur:ge,renderLabel:ne,renderTag:Se},l,ie),x)}return()=>{var e,l;if(!G.value)return je();const t=null!=(l=null==(e=Y.value.decoratorProps)?void 0:e.span)?l:6,o=ye(fe,Y.value.address);return u("section",{class:"form-render__selectChildField",style:{"--column":o+t}},[je({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),q.value.map((e=>T({option:e,value:P.value,valueKey:I.value,labelKey:_.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":o}}})))])}}}),R({dataSource:"options"},x,O));export{_ as SELECT};
1
+ import{defineComponent as e,computed as l,inject as t,useAttrs as o,ref as a,createVNode as u,mergeProps as n,toRaw as r,nextTick as s}from"vue";import{arrayed as i}from"../../../../../shared/utils/index.js";import{HelpCircleSharp as p}from"@vicons/ionicons5";import{promiseTimeout as m}from"@vueuse/shared";import{cloneDeep as c,isArray as d,isString as v,isObject as f,omit as y}from"lodash-es";import{useCommonInjection as h,useSelectOptionProps as g}from"../../hooks/useCommonInjection.js";import{useComplexOptions as S,useComplexOptionsSpan as j}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as b,InjectionFormUUID as C}from"../../constants/index.js";import"../../../index.js";import"@formily/core";import"@formily/path";import"@vue/shared";import"@vueuse/core";import{NSelect as w,NTooltip as k,NIcon as F,NTag as B}from"naive-ui";import"date-fns";import{assignUpdateValue as x,assignClearBindVisited as O,createVisitedSetter as A}from"../../utils/schema.js";import{useFormField as H}from"../../hooks/useFormField.js";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import{connect as P,mapProps as R}from"@formily/vue";import"./index.js";import{useUrlConfigOptions as V,useAutographOptions as K,useRecommendOptions as L,searchContentMatcher as E}from"../../hooks/useFormRenderOptions.js";const _=P(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},showField:{type:String},allowCreate:Boolean,shouldSave:Boolean,allowModify:Boolean,showCustomValue:Boolean,cursorPlacement:{type:String,default:"end"},urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1},useLoading:{type:Boolean,default:!0},multiple:{type:Boolean}},emits:["update:value","postRecommend"],setup(e,{slots:x,emit:O}){const P=l({get:()=>e.value,async set(e){O("update:value",e),Q(e)}}),R=l((()=>(e.multiple&&e.allowModify&&console.warn("多选模式下不支持allowModify"),!e.multiple&&e.allowModify))),{labelKey:_,valueKey:I,showKey:N,fetchData:M,searchContent:W,fullOptions:q,filterOptions:U,remoteOptions:z,loading:D}=e.urlConfig?V(e,P):K(e,P),{renderComplexOption:T,hasComplexOption:G}=S(e,P),{getRecommend:J,postRecommend:Q,sortedOptions:X}=L(e,U,O,_,I),{field:Y,fieldKey:Z}=H();t(b).setContext(Z.value,(e=>({currentOption:c(function(e){const l=re(q.value);return d(e)?function(e){const t=l.reduce(((e,l)=>(e[l[I.value]]=l,e)),{});return e.map((e=>t[e]))}(e):(t=e,l.find((e=>e[I.value]===t)));var t}(e))})));const $=async(e="")=>(W.value=e,Promise.allSettled([M(e),J(e)])),{injectValueValidate:ee,injectValueWatchFromEmpty:le,injectValueBindKey:te}=h();le(P,$),ee(P);const oe=te(P),{menuProps:ae,nodeProps:ue}=g();function ne(e){const l=e[_.value];if(!l||!v(l))return"";const t=W.value?E(W.value,l):null,o=t?u("section",null,[t.map(((e,l)=>0!==l&&e?u("span",{style:{color:l%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):l;return e.desc?u("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[o,e.desc?u(k,null,{trigger:()=>u(F,{component:p},null),default:()=>e.desc}):null]):o}function re(l){return e.allowCreate&&W.value&&!l.some((e=>e[_.value]===W.value))?[...l,{[_.value]:W.value,[I.value]:W.value,created:!0,shouldSave:e.shouldSave}]:l}const se=l((()=>re(R.value?q.value:X.value))),ie=o(),pe=l((()=>{if(e.allowCreate||e.showCustomValue)return P.value;const l=e.multiple&&d(P.value);return q.value.find((e=>l?P.value.includes(e[I.value]):e[I.value]===P.value))?P.value:null})),me=a(!1);async function ce(e){e&&await $(),me.value=e}let de=null;async function ve(l,t){P.value=l,de&&f(t)&&R.value&&(de.focus(),await s(),de.value=t[_.value]||"",de.dispatchEvent(new CustomEvent("input")),"start"===e.cursorPlacement&&de.setSelectionRange(0,0)),z.value&&t&&i(t).forEach((e=>{if(!f(e))return;const l=e;l.created&&l.shouldSave&&z.value.push(y(r(l),["created","shouldSave"]))}))}const fe=t(C),{getSpan:ye}=j(),he=A(Y,(async l=>{var t,o,a;R.value&&(de=l.target,de&&P.value&&(await s(),de.value=null!=(a=null!=(o=null==(t=q.value.find((e=>e[I.value]===P.value)))?void 0:t[_.value])?o:P.value)?a:"",de.dispatchEvent(new CustomEvent("input")),"start"===e.cursorPlacement&&(await m(0),de.setSelectionRange(0,0))))}));function ge(e){if(!R.value)return;if(de=e.target,!de)return;if(!de.value)return P.value=null;const l=q.value.find((e=>e[_.value]===de.value));l?P.value=l[I.value]:(W.value=de.value,P.value=de.value)}function Se({option:l,handleClose:t}){var o;const a=null!=(o=N.value&&l[N.value])?o:l[_.value];return e.multiple?u(B,{closable:!0,onClose:e=>{e.stopPropagation(),t()}},{default:()=>a}):a}function je(l){return u(w,n({key:oe.value,multiple:e.multiple,remote:!0,filterable:!0,loading:D.value,value:pe.value,onUpdateValue:ve,"menu-props":ae,"node-props":ue,labelField:_.value,valueField:I.value,options:se.value,onSearch:$,show:me.value,"onUpdate:show":ce,onFocus:he,onBlur:ge,renderLabel:ne,renderTag:Se},l,ie),x)}return()=>{var e,l;if(!G.value)return je();const t=null!=(l=null==(e=Y.value.decoratorProps)?void 0:e.span)?l:6,o=ye(fe,Y.value.address);return u("section",{class:"form-render__selectChildField",style:{"--column":o+t}},[je({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),q.value.map((e=>T({option:e,value:P.value,valueKey:I.value,labelKey:_.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":o}}})))])}}}),R({dataSource:"options"},x,O));export{_ as SELECT};
@@ -1,13 +1,10 @@
1
- import { BusinessCollector } from '../../../../../es/components/form-render';
1
+ import { BusinessCollector, FormRenderProps } from '../../../../../es/components/form-render';
2
2
  import { FieldItem } from '../types';
3
3
  /**
4
4
  * @description 胶水层, 将低代码平台中的fieldList转换为JSONSchema
5
5
  */
6
6
  export declare function useFieldListAdaptor(collector?: BusinessCollector): {
7
- schemaAdaptor: (fieldList: FieldItem[], options?: {
8
- column: number;
9
- outBordered?: boolean;
10
- }) => Record<string, import("@formily/json-schema/esm/types").Stringify<{
7
+ schemaAdaptor: (fieldList: FieldItem[], options?: FormRenderProps) => Record<string, import("@formily/json-schema/esm/types").Stringify<{
11
8
  [key: symbol]: any;
12
9
  [key: `x-${string}`]: any;
13
10
  [key: `x-${number}`]: any;
@@ -1 +1 @@
1
- import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,pick as n}from"lodash-es";import"../../index.js";import{parseNumberFromMaybeString as i,formRenderLog as r}from"../utils/index.js";import{useFieldNormalize as s}from"./useFieldNormalize.js";import{fieldKeyEscape as a,createLinebarId as p}from"../utils/schema.js";import{useFormValidator as l}from"./useFormValidator.js";import{transformDateFormat as c}from"../utils/business.js";function m(e,o){Object.assign(e["x-component-props"],{...n(o,["wordbook","autograph"])})}function d(e,o){Object.assign(e["x-component-props"],{...n(o,["urlConfig","wordbook"])})}function u(u){const{createValidatorSchema:f}=l(),_=e=>{var o;const t={name:e.val_key,type:null!=(o=e.fieldType)?o:"string",title:e.alias||e.name,"x-component":e.html_type,default:e.default_val,"x-component-props":{placeholder:e.placeholder,clearable:"0"===e.is_empty,...e.componentProps||{}},"x-content":e.slots,"x-display":"0"===e.is_show?"hidden":"visible","x-pattern":"0"===e.is_edit?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};e.reactions&&(t["x-reactions"]=e.reactions),e.noDecorator||Object.assign(t,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:e,span:2*(e.elem_width||3),showLabel:"1"!==e.hide_title,remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const n=f(e);return n&&(t["x-validator"]=n),"0"===e.is_null&&(t.required=!0),t},x=e=>{var o;const t=_(e);e.urlConfig?d(t,e):e.autograph&&m(t,e);const r=!!e.__multiple;return Object.assign(t["x-component-props"],{multiple:r,options:e.option||(null==(o=e.componentProps)?void 0:o.options),allowModify:"1"===e.allowModify,allowCreate:"1"===e.free_entry||!!t["x-component-props"].allowCreate||"1"===e.allowModify,shouldSave:"1"===e.save_free_entry,showField:e.show_key,maxTagCount:i(e.multi_select_value),...n(e,["lazyRequest","requestCache"])}),r&&(t.type="array"),t},h=e=>{const o=_(e);return Object.assign(o["x-component-props"],{options:e.option,childFieldStrategy:e.childFieldStrategy,vertical:e.__vertical}),e.urlConfig?d(o,e):e.autograph&&m(o,e),o},g=e=>{const t=_(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},y=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{disabled:"1"===e.is_not_fold,id:p(e.val_key),show:"0"!==e.is_show,remark:e.remark}}),b=new Map([["LINEBAR",y],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-component-props":{border:e.lineBreaksBorder},"x-display":"0"===e.is_show?"hidden":"visible"})],["INPUT",e=>{const o=_(e);return Object.assign(o["x-component-props"],{...n(e,["prefix","suffix"])}),o}],["TEXTAREA",e=>{const o=_(e);return Object.assign(o["x-component-props"],{rows:e.initialize_high||3}),o}],["INPUT_NUMBER",e=>{const o=_(e),{decimal_length:t,validate:n,allowSlash:i}=e;return i&&(o["x-component"]="INPUT_NUMBER_SLASH",o.type="string"),Object.assign(o["x-component-props"],{precision:null!=t?t:null==n?void 0:n.decimal_length,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",x],["REMOTE_SEARCH",x],["DATE",e=>{const o=_(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:c(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=_(e);return Object.assign(o["x-component-props"],{...n(e,["wordbook","lazyRequest","autograph"])}),"1"===e.is_allow_check_mid&&e.allow_check_mid_level&&(o["x-component-props"].checkAbleLevel=+e.allow_check_mid_level),o}],["SEARCH_CASCADER",e=>{var o;const t=_(e);return Object.assign(t["x-component-props"],{urlConfig:e.urlConfig,depth:null==(o=e.wordbook)?void 0:o.level_num,options:e.option}),t}],["COMBINATION",e=>{const o=_(e);return o.type="array",!1!==e.jsonCombination&&(o["x-component"]="JSON_COMBINATION"),Object.assign(o["x-decorator-props"],{showLabel:!1,showFeedback:!1}),Object.assign(o["x-component-props"],{title:e.alias||e.name,maxGroupNum:e.maxGroupNum,properties:e.children||[],combinationItemDeletable:e.combinationItemDeletable}),o}],["RADIO",h],["CHECKBOX",h],["SWITCH",e=>{const o=_(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close}),o}],["SLIDER",e=>{const o=_(e);return Object.assign(o["x-component-props"],{step:i(e.step_length),max:i(e.max_length),min:i(e.min_length),option:e.option}),o}],["COMPLEX",e=>{const o=_(e);Array.isArray(e.properties)&&r("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?j(e.properties||e.children):{};return o.type=e.fieldType||"void",o.properties=t,Object.assign(o["x-decorator-props"],{showFeedback:!1}),Object.assign(o["x-component-props"],n(e,["wrapperStyle","display"])),o}]]),v=e=>{if(e.suffixConfig)return w(e);return(b.get(e.html_type)||g)(e)},w=o=>{if(!o.suffixConfig&&!o.prefixConfig)return v(o);const t=o.suffixConfig?e(o.suffixConfig):[],n=[...(o.prefixConfig?e(o.prefixConfig):[]).map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:"1"}))),{...o,is_show:"1",hide_title:"1",suffixConfig:void 0,prefixConfig:void 0},...t.map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:"1"})))],i=_(o),r=n.reduce(((e,o)=>e+2*(o.elem_width||3)),0);return Object.assign(i,{type:"void",name:a(n),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:r},"x-decorator-props":{...i["x-decorator-props"],showFeedback:!1,suffixFields:n.map((e=>e.val_key))},properties:j(n)}),i},{FieldNormalizeWaterfallHook:C,FieldListNormalizeWaterfallHook:O}=s();function j(o,n={column:9999}){let i=null;return O.call(t(o),n).reduce(((e,o,n)=>{var a;const p=null==(a=(o=C.call(o)).validate)?void 0:a.obj_type;return p&&u&&u.collect(p,t(o)),"LINEBAR"===o.html_type?(e[s(o)]=r(y(o),n),i=e[s(o)].properties={}):i?i[s(o)]=r(v(o),n):(i=null,e[s(o)]=r(v(o),n)),e}),{});function r(e,o){return e["x-index"]=o,e}function s(o){return o.suffixConfig?a([o,...e(o.suffixConfig)]):o.val_key}}return{schemaAdaptor:j}}export{u as useFieldListAdaptor};
1
+ import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,pick as n}from"lodash-es";import"../../index.js";import{parseNumberFromMaybeString as i,formRenderLog as r}from"../utils/index.js";import{useFieldNormalize as s}from"./useFieldNormalize.js";import{fieldKeyEscape as a,createLinebarId as p}from"../utils/schema.js";import{useFormValidator as l}from"./useFormValidator.js";import{transformDateFormat as c}from"../utils/business.js";function m(e,o){Object.assign(e["x-component-props"],{...n(o,["wordbook","autograph"])})}function d(e,o){Object.assign(e["x-component-props"],{...n(o,["urlConfig","wordbook"])})}function u(u){const{createValidatorSchema:f}=l(),_=e=>{var o;const t={name:e.val_key,type:null!=(o=e.fieldType)?o:"string",title:e.alias||e.name,"x-component":e.html_type,default:e.default_val,"x-component-props":{placeholder:e.placeholder,clearable:"0"===e.is_empty,...e.componentProps||{}},"x-content":e.slots,"x-display":"0"===e.is_show?"hidden":"visible","x-pattern":"0"===e.is_edit?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};e.reactions&&(t["x-reactions"]=e.reactions),e.noDecorator||Object.assign(t,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:e,span:2*(e.elem_width||3),showLabel:"1"!==e.hide_title,remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const n=f(e);return n&&(t["x-validator"]=n),"0"===e.is_null&&(t.required=!0),t},x=e=>{var o;const t=_(e);e.urlConfig?d(t,e):e.autograph&&m(t,e);const r=!!e.__multiple;return Object.assign(t["x-component-props"],{multiple:r,options:e.option||(null==(o=e.componentProps)?void 0:o.options),allowModify:"1"===e.allowModify,allowCreate:"1"===e.free_entry||!!t["x-component-props"].allowCreate||"1"===e.allowModify,shouldSave:"1"===e.save_free_entry,showField:e.show_key,maxTagCount:i(e.multi_select_value),...n(e,["lazyRequest","requestCache"])}),r&&(t.type="array"),t},h=e=>{const o=_(e);return Object.assign(o["x-component-props"],{options:e.option,childFieldStrategy:e.childFieldStrategy,vertical:e.__vertical}),e.urlConfig?d(o,e):e.autograph&&m(o,e),o},g=e=>{const t=_(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},y=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{disabled:"1"===e.is_not_fold,id:p(e.val_key),show:"0"!==e.is_show,remark:e.remark}}),b=new Map([["LINEBAR",y],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-component-props":{border:e.lineBreaksBorder},"x-display":"0"===e.is_show?"hidden":"visible"})],["INPUT",e=>{const o=_(e);return Object.assign(o["x-component-props"],{...n(e,["prefix","suffix"])}),o}],["TEXTAREA",e=>{const o=_(e);return Object.assign(o["x-component-props"],{rows:e.initialize_high||3}),o}],["INPUT_NUMBER",e=>{const o=_(e),{decimal_length:t,validate:n,allowSlash:i}=e;return i&&(o["x-component"]="INPUT_NUMBER_SLASH",o.type="string"),Object.assign(o["x-component-props"],{precision:null!=t?t:null==n?void 0:n.decimal_length,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",x],["REMOTE_SEARCH",x],["DATE",e=>{const o=_(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:c(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=_(e);return Object.assign(o["x-component-props"],{...n(e,["wordbook","lazyRequest","autograph"])}),"1"===e.is_allow_check_mid&&e.allow_check_mid_level&&(o["x-component-props"].checkAbleLevel=+e.allow_check_mid_level),o}],["SEARCH_CASCADER",e=>{var o;const t=_(e);return Object.assign(t["x-component-props"],{urlConfig:e.urlConfig,depth:null==(o=e.wordbook)?void 0:o.level_num,options:e.option}),t}],["COMBINATION",e=>{const o=_(e);return o.type="array",!1!==e.jsonCombination&&(o["x-component"]="JSON_COMBINATION"),Object.assign(o["x-decorator-props"],{showLabel:!1,showFeedback:!1}),Object.assign(o["x-component-props"],{title:e.alias||e.name,maxGroupNum:e.maxGroupNum,properties:e.children||[],combinationItemDeletable:e.combinationItemDeletable}),o}],["RADIO",h],["CHECKBOX",h],["SWITCH",e=>{const o=_(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close}),o}],["SLIDER",e=>{const o=_(e);return Object.assign(o["x-component-props"],{step:i(e.step_length),max:i(e.max_length),min:i(e.min_length),option:e.option}),o}],["COMPLEX",e=>{const o=_(e);Array.isArray(e.properties)&&r("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?j(e.properties||e.children):{};return o.type=e.fieldType||"void",o.properties=t,Object.assign(o["x-decorator-props"],{showFeedback:!1}),Object.assign(o["x-component-props"],n(e,["wrapperStyle","display"])),o}]]),v=e=>{if(e.suffixConfig)return w(e);return(b.get(e.html_type)||g)(e)},w=o=>{if(!o.suffixConfig&&!o.prefixConfig)return v(o);const t=o.suffixConfig?e(o.suffixConfig):[],n=[...(o.prefixConfig?e(o.prefixConfig):[]).map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:"1"}))),{...o,is_show:"1",hide_title:"1",suffixConfig:void 0,prefixConfig:void 0},...t.map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:"1"})))],i=_(o),r=n.reduce(((e,o)=>e+2*(o.elem_width||3)),0);return Object.assign(i,{type:"void",name:a(n),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:r},"x-decorator-props":{...i["x-decorator-props"],showFeedback:!1,suffixFields:n.map((e=>e.val_key))},properties:j(n)}),i},{FieldNormalizeWaterfallHook:C,FieldListNormalizeWaterfallHook:O}=s();function j(o,n={column:9999}){let i=null;return O.call(t(o),n).reduce(((e,o,a)=>{var p;const l=null==(p=(o=C.call(o,n)).validate)?void 0:p.obj_type;return l&&u&&u.collect(l,t(o)),"LINEBAR"===o.html_type?(e[s(o)]=r(y(o),a),i=e[s(o)].properties={}):i?i[s(o)]=r(v(o),a):(i=null,e[s(o)]=r(v(o),a)),e}),{});function r(e,o){return e["x-index"]=o,e}function s(o){return o.suffixConfig?a([o,...e(o.suffixConfig)]):o.val_key}}return{schemaAdaptor:j}}export{u as useFieldListAdaptor};