cnhis-design-vue 3.1.45-beta.5 → 3.1.45-beta.6

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 (66) hide show
  1. package/README.md +87 -87
  2. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  3. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  4. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  5. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  6. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  7. package/es/components/fabric-chart/index.d.ts +40 -5
  8. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +40 -5
  9. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  10. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/index.d.ts +2 -0
  11. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/index.js +1 -0
  12. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.d.ts +4 -0
  13. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -0
  14. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.d.ts +20 -0
  15. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
  16. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.d.ts +4 -0
  17. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.js +1 -0
  18. package/es/components/fabric-chart/src/hooks/useGrid.d.ts +1 -1
  19. package/es/components/fabric-chart/src/hooks/useGrid.js +1 -1
  20. package/es/components/fabric-chart/src/interface.d.ts +4 -0
  21. package/es/components/fabric-chart/src/utils/index.d.ts +2 -1
  22. package/es/components/fabric-chart/src/utils/index.js +1 -1
  23. package/es/components/form-config/index.d.ts +56 -2
  24. package/es/components/form-config/src/FormConfig.vue.d.ts +56 -2
  25. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +28 -1
  26. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +28 -1
  27. package/es/components/form-render/index.d.ts +28 -1
  28. package/es/components/form-render/src/FormRender.vue.d.ts +28 -1
  29. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  30. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +28 -1
  31. package/es/components/form-render/src/constants/index.d.ts +2 -0
  32. package/es/components/form-render/src/constants/index.js +1 -1
  33. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +1 -1
  34. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +1 -1
  35. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  36. package/es/components/form-render/src/hooks/useFormRenderLifeCycle.d.ts +3 -1
  37. package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +1 -1
  38. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  39. package/es/components/form-render/src/types/index.d.ts +2 -0
  40. package/es/components/info-header/index.d.ts +64 -2
  41. package/es/components/info-header/src/InfoHeader.vue.d.ts +64 -2
  42. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +28 -1
  43. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +28 -1
  44. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  45. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  46. package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
  47. package/es/components/shortcut-setter/index.d.ts +28 -1
  48. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +28 -1
  49. package/es/env.d.ts +25 -25
  50. package/es/shared/assets/img/failure.png.js +1 -1
  51. package/es/shared/assets/img/no-permission.png.js +1 -1
  52. package/es/shared/assets/img/nodata.png.js +1 -1
  53. package/es/shared/assets/img/notfound.png.js +1 -1
  54. package/es/shared/assets/img/qr.png.js +1 -1
  55. package/es/shared/assets/img/success.png.js +1 -1
  56. package/es/shared/assets/img/video.png.js +1 -1
  57. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  58. package/es/shared/assets/img/xb_big.png.js +1 -1
  59. package/es/shared/assets/img/xb_small.png.js +1 -1
  60. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  61. package/es/shared/hooks/useAsyncQueue.d.ts +3 -1
  62. package/es/shared/hooks/useAsyncQueue.js +1 -1
  63. package/es/shared/package.json.js +1 -1
  64. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  65. package/es/shared/utils/tapable/index.d.ts +139 -0
  66. package/package.json +2 -2
@@ -120,6 +120,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
120
120
  onSetup(): void;
121
121
  beforeRequest(fieldKey: string, params?: import("../../../es/shared/types").AnyObject | undefined): void | import("../../../es/shared/types").UndefinedAble<import("../../../es/shared/types").AnyObject>;
122
122
  afterRequest(fieldKey: string, payload?: any): import("../../../es/shared/types").AnyObject[];
123
+ afterOptionInit(fieldKey: string, options: import("../../../es/shared/types").AnyObject[]): void;
123
124
  }>>;
124
125
  };
125
126
  requestInstance: {
@@ -139,6 +140,10 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
139
140
  type: (BooleanConstructor | StringConstructor)[];
140
141
  default: boolean;
141
142
  };
143
+ uniqueCacheData: {
144
+ type: BooleanConstructor;
145
+ default: boolean;
146
+ };
142
147
  }, {
143
148
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
144
149
  fieldList: {
@@ -252,6 +257,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
252
257
  onSetup(): void;
253
258
  beforeRequest(fieldKey: string, params?: import("../../../es/shared/types").AnyObject | undefined): void | import("../../../es/shared/types").UndefinedAble<import("../../../es/shared/types").AnyObject>;
254
259
  afterRequest(fieldKey: string, payload?: any): import("../../../es/shared/types").AnyObject[];
260
+ afterOptionInit(fieldKey: string, options: import("../../../es/shared/types").AnyObject[]): void;
255
261
  }>>;
256
262
  };
257
263
  requestInstance: {
@@ -271,6 +277,10 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
271
277
  type: (BooleanConstructor | StringConstructor)[];
272
278
  default: boolean;
273
279
  };
280
+ uniqueCacheData: {
281
+ type: BooleanConstructor;
282
+ default: boolean;
283
+ };
274
284
  }>> & {
275
285
  onFormChange?: ((...args: any[]) => any) | undefined;
276
286
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -296,6 +306,17 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
296
306
  title: string;
297
307
  }[]>;
298
308
  onScroll: (scrollEvent: Event) => void;
309
+ callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
310
+ onSetup(): void;
311
+ beforeRequest(fieldKey: string, params?: import("../../../es/shared/types").AnyObject | undefined): void | import("../../../es/shared/types").UndefinedAble<import("../../../es/shared/types").AnyObject>;
312
+ afterRequest(fieldKey: string, payload?: any): import("../../../es/shared/types").AnyObject[];
313
+ afterOptionInit(fieldKey: string, options: import("../../../es/shared/types").AnyObject[]): void;
314
+ }>>[T]> | undefined) => import("../../../es/shared/types").UndefinedAble<ReturnType<Required<Partial<{
315
+ onSetup(): void;
316
+ beforeRequest(fieldKey: string, params?: import("../../../es/shared/types").AnyObject | undefined): void | import("../../../es/shared/types").UndefinedAble<import("../../../es/shared/types").AnyObject>;
317
+ afterRequest(fieldKey: string, payload?: any): import("../../../es/shared/types").AnyObject[];
318
+ afterOptionInit(fieldKey: string, options: import("../../../es/shared/types").AnyObject[]): void;
319
+ }>>[T]>>;
299
320
  triggerAutoHidden: (field: import("@formily/core/esm/types").GeneralField) => Promise<void>;
300
321
  observeFormGraph: Record<string, import("@formily/core/esm/types").GeneralField>;
301
322
  setGraph: (field: import("@formily/core/esm/types").GeneralField) => void;
@@ -443,7 +464,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
443
464
  reset: (options?: import("@formily/core/esm/types").IFieldResetOptions | undefined) => Promise<void>;
444
465
  title: string;
445
466
  visible: boolean;
446
- submit: <T>(onSubmit?: ((values: any) => void | Promise<T>) | undefined) => Promise<T>;
467
+ submit: <T_1>(onSubmit?: ((values: any) => void | Promise<T_1>) | undefined) => Promise<T_1>;
447
468
  validator: import("@formily/core/esm/types").FieldValidator;
448
469
  pattern: import("@formily/core/esm/types").FieldPatternTypes;
449
470
  content: any;
@@ -699,6 +720,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
699
720
  onSetup(): void;
700
721
  beforeRequest(fieldKey: string, params?: import("../../../es/shared/types").AnyObject | undefined): void | import("../../../es/shared/types").UndefinedAble<import("../../../es/shared/types").AnyObject>;
701
722
  afterRequest(fieldKey: string, payload?: any): import("../../../es/shared/types").AnyObject[];
723
+ afterOptionInit(fieldKey: string, options: import("../../../es/shared/types").AnyObject[]): void;
702
724
  }>>;
703
725
  };
704
726
  requestInstance: {
@@ -718,6 +740,10 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
718
740
  type: (BooleanConstructor | StringConstructor)[];
719
741
  default: boolean;
720
742
  };
743
+ uniqueCacheData: {
744
+ type: BooleanConstructor;
745
+ default: boolean;
746
+ };
721
747
  }>> & {
722
748
  onFormChange?: ((...args: any[]) => any) | undefined;
723
749
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -734,6 +760,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
734
760
  enterToNextWidget: boolean | ((fieldItem: import("./src/types").FieldItem) => boolean | void);
735
761
  linebarAutoHidden: boolean;
736
762
  bordered: string | boolean;
763
+ uniqueCacheData: boolean;
737
764
  }>;
738
765
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
739
766
  export default FormRender;
@@ -114,6 +114,7 @@ declare const _default: import("vue").DefineComponent<{
114
114
  onSetup(): void;
115
115
  beforeRequest(fieldKey: string, params?: AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<AnyObject>;
116
116
  afterRequest(fieldKey: string, payload?: any): AnyObject[];
117
+ afterOptionInit(fieldKey: string, options: AnyObject[]): void;
117
118
  }>>;
118
119
  };
119
120
  requestInstance: {
@@ -133,6 +134,10 @@ declare const _default: import("vue").DefineComponent<{
133
134
  type: (BooleanConstructor | StringConstructor)[];
134
135
  default: boolean;
135
136
  };
137
+ uniqueCacheData: {
138
+ type: BooleanConstructor;
139
+ default: boolean;
140
+ };
136
141
  }, {
137
142
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
138
143
  fieldList: {
@@ -246,6 +251,7 @@ declare const _default: import("vue").DefineComponent<{
246
251
  onSetup(): void;
247
252
  beforeRequest(fieldKey: string, params?: AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<AnyObject>;
248
253
  afterRequest(fieldKey: string, payload?: any): AnyObject[];
254
+ afterOptionInit(fieldKey: string, options: AnyObject[]): void;
249
255
  }>>;
250
256
  };
251
257
  requestInstance: {
@@ -265,6 +271,10 @@ declare const _default: import("vue").DefineComponent<{
265
271
  type: (BooleanConstructor | StringConstructor)[];
266
272
  default: boolean;
267
273
  };
274
+ uniqueCacheData: {
275
+ type: BooleanConstructor;
276
+ default: boolean;
277
+ };
268
278
  }>> & {
269
279
  onFormChange?: ((...args: any[]) => any) | undefined;
270
280
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -290,6 +300,17 @@ declare const _default: import("vue").DefineComponent<{
290
300
  title: string;
291
301
  }[]>;
292
302
  onScroll: (scrollEvent: Event) => void;
303
+ callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
304
+ onSetup(): void;
305
+ beforeRequest(fieldKey: string, params?: AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<AnyObject>;
306
+ afterRequest(fieldKey: string, payload?: any): AnyObject[];
307
+ afterOptionInit(fieldKey: string, options: AnyObject[]): void;
308
+ }>>[T]> | undefined) => import("../../../../es/shared/types").UndefinedAble<ReturnType<Required<Partial<{
309
+ onSetup(): void;
310
+ beforeRequest(fieldKey: string, params?: AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<AnyObject>;
311
+ afterRequest(fieldKey: string, payload?: any): AnyObject[];
312
+ afterOptionInit(fieldKey: string, options: AnyObject[]): void;
313
+ }>>[T]>>;
293
314
  triggerAutoHidden: (field: import("@formily/core").GeneralField) => Promise<void>;
294
315
  observeFormGraph: Record<string, import("@formily/core").GeneralField>;
295
316
  setGraph: (field: import("@formily/core").GeneralField) => void;
@@ -437,7 +458,7 @@ declare const _default: import("vue").DefineComponent<{
437
458
  reset: (options?: import("@formily/core").IFieldResetOptions | undefined) => Promise<void>;
438
459
  title: string;
439
460
  visible: boolean;
440
- submit: <T>(onSubmit?: ((values: any) => void | Promise<T>) | undefined) => Promise<T>;
461
+ submit: <T_1>(onSubmit?: ((values: any) => void | Promise<T_1>) | undefined) => Promise<T_1>;
441
462
  validator: import("@formily/core").FieldValidator;
442
463
  pattern: import("@formily/core").FieldPatternTypes;
443
464
  content: any;
@@ -693,6 +714,7 @@ declare const _default: import("vue").DefineComponent<{
693
714
  onSetup(): void;
694
715
  beforeRequest(fieldKey: string, params?: AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<AnyObject>;
695
716
  afterRequest(fieldKey: string, payload?: any): AnyObject[];
717
+ afterOptionInit(fieldKey: string, options: AnyObject[]): void;
696
718
  }>>;
697
719
  };
698
720
  requestInstance: {
@@ -712,6 +734,10 @@ declare const _default: import("vue").DefineComponent<{
712
734
  type: (BooleanConstructor | StringConstructor)[];
713
735
  default: boolean;
714
736
  };
737
+ uniqueCacheData: {
738
+ type: BooleanConstructor;
739
+ default: boolean;
740
+ };
715
741
  }>> & {
716
742
  onFormChange?: ((...args: any[]) => any) | undefined;
717
743
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -728,5 +754,6 @@ declare const _default: import("vue").DefineComponent<{
728
754
  enterToNextWidget: boolean | ((fieldItem: FieldItem) => boolean | void);
729
755
  linebarAutoHidden: boolean;
730
756
  bordered: string | boolean;
757
+ uniqueCacheData: boolean;
731
758
  }>;
732
759
  export default _default;
@@ -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 j,createCommentVNode as g,createElementVNode as b,withKeys as k,withModifiers as v,toDisplayString as F,renderSlot as C}from"vue";import{useTheme as S}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isNumber as H,cloneDeep as x}from"lodash-es";import{createForm as A,onFieldValueChange as L,onFieldMount as R,onFieldUnmount as O,onFieldReact as w,onFormMount as _}from"@formily/core";import{FormProvider as B,FormConsumer as V}from"@formily/vue";import{NForm as I,NTabs as N,NTabPane as D,NConfigProvider as q}from"naive-ui";import{InjectionFormGraph as T}from"./constants/index.js";import{useAutoHidden as U}from"./hooks/useAutoHidden.js";import{useComplexOptionsSpan as W}from"./hooks/useComplexOptions.js";import{useFormDomEvent as E,useFormExposeEvent as G}from"./hooks/useFormEvent.js";import{useFormGraph as K}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as M}from"./hooks/useFormRenderLifeCycle.js";import{useLowCodeEvent as P}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as J}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as $}from"./hooks/useNuiThemeOverrides.js";import"./utils/index.js";import{useFieldListAdaptor as z}from"./hooks/useFieldListAdaptor.js";import"../../../shared/utils/index.js";import"../index.js";import{useFieldVisitor as Q}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 X}from"./hooks/useFormValidator.js";import{useAnchor as Y}from"./hooks/useAnchor.js";import{useFormContext as Z}from"./hooks/useFormContext.js";import"./hooks/useFormRenderOptions.js";import{createObjSchema as ee}from"./utils/schema.js";const oe={key:0,style:{height:"54px"}},te={style:{"white-space":"pre"}};var re=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},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0}},emits:["formChange","annotationChange","scroll"],setup(e,{expose:re,emit:se}){const ae=e,ie=S(),{nuiThemeOverrides:le}=$();X();const ne=o(),me=t((()=>H(ae.maxHeight)?ae.maxHeight+"px":ae.maxHeight)),{SchemaField:de,businessCollector:pe,formItemDepsCollector:ue,changeContextCollector:ce,formUUID:fe}=Z(ae,se),{anchorBarRef:he,currentAnchor:ye,updateAnchorList:je,anchorIdList:ge,onScroll:be}=Y(ae,se,ne,ue);M(ae).callLifeCycle("onSetup");const{trigger:ke}=U(),{observeFormGraph:ve,setGraph:Fe,removeGraph:Ce}=K();r(T,ve);const{lowCodeEventTrigger:Se}=P(),He=A({initialValues:ae.initialData,effects(e){L("*",(o=>{const t=o.props.name.toString();pe.trigger(e,t),ue.trigger(t),se("formChange",{fieldInstance:o,fieldKey:t,fieldName:o.title,value:o.value,context:ce.getContext(t,o.value)}),Se(o),xe(t,o.value)})),R("*",Fe),O("*",Ce),ae.linebarAutoHidden&&(w("*",ke),_((e=>e.query("*").forEach(ke)))),ae.anchor&&w("*",je)}}),{lowCodeReactionsHandler:xe,triggerAllReactionsHandler:Ae}=J(t((()=>ae.lowCodeReactions)),He);s(Ae);const{schemaAdaptor:Le}=z(pe);let Re=ae.fieldList||[];const Oe=t((()=>ae.schema?ae.schema:ae.fieldList?(Re=Q().traverse(x(ae.fieldList),ae.fieldVisitor),ee(Le(Re))):ee({}))),{onKeydown:we}=E({formModel:He,formRenderRef:ne,props:ae}),{clearSpan:_e}=W();a((()=>_e(fe)));const Be=G({formModel:He,formRenderRef:ne,formItemDepsCollector:ue,getFieldList:()=>Re,formUUID:fe});return re({formModel:He,validate:(e="*")=>Be.validate(e),getFormValues:(e=!0)=>Be.getFormValues(e),async setFormValues(e,o=!0,t=!1,r=!0){t&&(pe.triggerLock=!0),Be.setFormValues(e,o,r),await i(),pe.triggerLock=!1},setFieldState(e,o){Be.setFieldState(e,o)},resetFields(e="*"){Be.resetFields(e)},queryWidget:async e=>Be.queryWidget(e),getFieldList:()=>Re,async reload(){console.error("reload function is abstract,it should be overwrite!")}}),(o,t)=>(l(),n(m(I),{class:d(["form-render",{"form-render--no-border":!e.bordered,"form-render--underline":"underline"===e.bordered}]),"require-mark-placement":"left",style:p(m(ie))},{default:u((()=>[e.anchor?(l(),c("section",oe,[f(m(N),{value:m(ye),"onUpdate:value":t[0]||(t[0]=e=>h(ye)?ye.value=e:null),type:"line",ref_key:"anchorBarRef",ref:he},{default:u((()=>[(l(!0),c(y,null,j(m(ge),(e=>(l(),n(m(D),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):g("v-if",!0),f(m(q),{"theme-overrides":m(le)},{default:u((()=>[b("section",{class:"form-render__wrapper",style:p({"--column":e.column,"--form-height":m(me)}),ref_key:"formRenderRef",ref:ne,onScroll:t[1]||(t[1]=(...e)=>m(be)&&m(be)(...e)),onKeydownCapture:t[2]||(t[2]=k(v(((...e)=>m(we)&&m(we)(...e)),["prevent"]),["enter"]))},[f(m(B),{form:m(He)},{default:u((()=>[f(m(de),{schema:m(Oe)},null,8,["schema"]),e.consumer?(l(),n(m(V),{key:0},{default:u((({form:e})=>[b("div",te,F(JSON.stringify(e.values,null,2)),1)])),_:1})):g("v-if",!0),C(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},8,["class","style"]))}});export{re 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 j,createCommentVNode as g,createElementVNode as b,withKeys as k,withModifiers as v,toDisplayString as F,renderSlot as C}from"vue";import{useTheme as S}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isNumber as H,cloneDeep as x}from"lodash-es";import{createForm as A,onFieldValueChange as L,onFieldMount as R,onFieldUnmount as O,onFieldReact as w,onFormMount as B}from"@formily/core";import{FormProvider as _,FormConsumer as V}from"@formily/vue";import{NForm as D,NTabs as I,NTabPane as N,NConfigProvider as q}from"naive-ui";import{InjectionFormLifeCycleCaller as T,InjectionFormGraph as U}from"./constants/index.js";import{useAutoHidden as W}from"./hooks/useAutoHidden.js";import{useComplexOptionsSpan as E}from"./hooks/useComplexOptions.js";import{useFormDomEvent as G,useFormExposeEvent as K}from"./hooks/useFormEvent.js";import{useFormGraph as M}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as P}from"./hooks/useFormRenderLifeCycle.js";import{useLowCodeEvent as J}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as $}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as z}from"./hooks/useNuiThemeOverrides.js";import"./utils/index.js";import{useFieldListAdaptor as Q}from"./hooks/useFieldListAdaptor.js";import"../../../shared/utils/index.js";import"../index.js";import{useFieldVisitor as X}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 Y}from"./hooks/useFormValidator.js";import{useAnchor as Z}from"./hooks/useAnchor.js";import{useFormContext as ee}from"./hooks/useFormContext.js";import"./hooks/useFormRenderOptions.js";import{createObjSchema as oe}from"./utils/schema.js";const te={key:0,style:{height:"54px"}},re={style:{"white-space":"pre"}};var se=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},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},uniqueCacheData:{type:Boolean,default:!1}},emits:["formChange","annotationChange","scroll"],setup(e,{expose:se,emit:ae}){const ie=e,le=S(),{nuiThemeOverrides:ne}=z();Y();const me=o(),de=t((()=>H(ie.maxHeight)?ie.maxHeight+"px":ie.maxHeight)),{SchemaField:pe,businessCollector:ue,formItemDepsCollector:ce,changeContextCollector:fe,formUUID:he}=ee(ie,ae),{anchorBarRef:ye,currentAnchor:je,updateAnchorList:ge,anchorIdList:be,onScroll:ke}=Z(ie,ae,me,ce),{callLifeCycle:ve}=P(ie);r(T,ve),ve("onSetup");const{trigger:Fe}=W(),{observeFormGraph:Ce,setGraph:Se,removeGraph:He}=M();r(U,Ce);const{lowCodeEventTrigger:xe}=J(),Ae=A({initialValues:ie.initialData,effects(e){L("*",(o=>{const t=o.props.name.toString();ue.trigger(e,t),ce.trigger(t),ae("formChange",{fieldInstance:o,fieldKey:t,fieldName:o.title,value:o.value,context:fe.getContext(t,o.value)}),xe(o),Le(t,o.value)})),R("*",Se),O("*",He),ie.linebarAutoHidden&&(w("*",Fe),B((e=>e.query("*").forEach(Fe)))),ie.anchor&&w("*",ge)}}),{lowCodeReactionsHandler:Le,triggerAllReactionsHandler:Re}=$(t((()=>ie.lowCodeReactions)),Ae);s(Re);const{schemaAdaptor:Oe}=Q(ue);let we=ie.fieldList||[];const Be=t((()=>ie.schema?ie.schema:ie.fieldList?(we=X().traverse(x(ie.fieldList),ie.fieldVisitor),oe(Oe(we))):oe({}))),{onKeydown:_e}=G({formModel:Ae,formRenderRef:me,props:ie}),{clearSpan:Ve}=E();a((()=>Ve(he)));const De=K({formModel:Ae,formRenderRef:me,formItemDepsCollector:ce,getFieldList:()=>we,formUUID:he});return se({formModel:Ae,validate:(e="*")=>De.validate(e),getFormValues:(e=!0)=>De.getFormValues(e),async setFormValues(e,o=!0,t=!1,r=!0){t&&(ue.triggerLock=!0),De.setFormValues(e,o,r),await i(),ue.triggerLock=!1},setFieldState(e,o){De.setFieldState(e,o)},resetFields(e="*"){De.resetFields(e)},queryWidget:async e=>De.queryWidget(e),getFieldList:()=>we,async reload(){console.error("reload function is abstract,it should be overwrite!")}}),(o,t)=>(l(),n(m(D),{class:d(["form-render",{"form-render--no-border":!e.bordered,"form-render--underline":"underline"===e.bordered}]),"require-mark-placement":"left",style:p(m(le))},{default:u((()=>[e.anchor?(l(),c("section",te,[f(m(I),{value:m(je),"onUpdate:value":t[0]||(t[0]=e=>h(je)?je.value=e:null),type:"line",ref_key:"anchorBarRef",ref:ye},{default:u((()=>[(l(!0),c(y,null,j(m(be),(e=>(l(),n(m(N),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):g("v-if",!0),f(m(q),{"theme-overrides":m(ne)},{default:u((()=>[b("section",{class:"form-render__wrapper",style:p({"--column":e.column,"--form-height":m(de)}),ref_key:"formRenderRef",ref:me,onScroll:t[1]||(t[1]=(...e)=>m(ke)&&m(ke)(...e)),onKeydownCapture:t[2]||(t[2]=k(v(((...e)=>m(_e)&&m(_e)(...e)),["prevent"]),["enter"]))},[f(m(_),{form:m(Ae)},{default:u((()=>[f(m(pe),{schema:m(Be)},null,8,["schema"]),e.consumer?(l(),n(m(V),{key:0},{default:u((({form:e})=>[b("div",re,F(JSON.stringify(e.values,null,2)),1)])),_:1})):g("v-if",!0),C(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},8,["class","style"]))}});export{se as default};
@@ -118,6 +118,7 @@ declare const _default: import("vue").DefineComponent<{}, {
118
118
  onSetup(): void;
119
119
  beforeRequest(fieldKey: string, params?: import("../../../../es/shared/types").AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<import("../../../../es/shared/types").AnyObject>;
120
120
  afterRequest(fieldKey: string, payload?: any): import("../../../../es/shared/types").AnyObject[];
121
+ afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[]): void;
121
122
  }>>;
122
123
  };
123
124
  requestInstance: {
@@ -137,6 +138,10 @@ declare const _default: import("vue").DefineComponent<{}, {
137
138
  type: (BooleanConstructor | StringConstructor)[];
138
139
  default: boolean;
139
140
  };
141
+ uniqueCacheData: {
142
+ type: BooleanConstructor;
143
+ default: boolean;
144
+ };
140
145
  }, {
141
146
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
142
147
  fieldList: {
@@ -250,6 +255,7 @@ declare const _default: import("vue").DefineComponent<{}, {
250
255
  onSetup(): void;
251
256
  beforeRequest(fieldKey: string, params?: import("../../../../es/shared/types").AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<import("../../../../es/shared/types").AnyObject>;
252
257
  afterRequest(fieldKey: string, payload?: any): import("../../../../es/shared/types").AnyObject[];
258
+ afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[]): void;
253
259
  }>>;
254
260
  };
255
261
  requestInstance: {
@@ -269,6 +275,10 @@ declare const _default: import("vue").DefineComponent<{}, {
269
275
  type: (BooleanConstructor | StringConstructor)[];
270
276
  default: boolean;
271
277
  };
278
+ uniqueCacheData: {
279
+ type: BooleanConstructor;
280
+ default: boolean;
281
+ };
272
282
  }>> & {
273
283
  onFormChange?: ((...args: any[]) => any) | undefined;
274
284
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -294,6 +304,17 @@ declare const _default: import("vue").DefineComponent<{}, {
294
304
  title: string;
295
305
  }[]>;
296
306
  onScroll: (scrollEvent: Event) => void;
307
+ callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
308
+ onSetup(): void;
309
+ beforeRequest(fieldKey: string, params?: import("../../../../es/shared/types").AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<import("../../../../es/shared/types").AnyObject>;
310
+ afterRequest(fieldKey: string, payload?: any): import("../../../../es/shared/types").AnyObject[];
311
+ afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[]): void;
312
+ }>>[T]> | undefined) => import("../../../../es/shared/types").UndefinedAble<ReturnType<Required<Partial<{
313
+ onSetup(): void;
314
+ beforeRequest(fieldKey: string, params?: import("../../../../es/shared/types").AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<import("../../../../es/shared/types").AnyObject>;
315
+ afterRequest(fieldKey: string, payload?: any): import("../../../../es/shared/types").AnyObject[];
316
+ afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[]): void;
317
+ }>>[T]>>;
297
318
  triggerAutoHidden: (field: import("../../../../es/components/form-render").GeneralField) => Promise<void>;
298
319
  observeFormGraph: Record<string, import("../../../../es/components/form-render").GeneralField>;
299
320
  setGraph: (field: import("../../../../es/components/form-render").GeneralField) => void;
@@ -441,7 +462,7 @@ declare const _default: import("vue").DefineComponent<{}, {
441
462
  reset: (options?: import("../../../../es/components/form-render").IFieldResetOptions | undefined) => Promise<void>;
442
463
  title: string;
443
464
  visible: boolean;
444
- submit: <T>(onSubmit?: ((values: any) => void | Promise<T>) | undefined) => Promise<T>;
465
+ submit: <T_1>(onSubmit?: ((values: any) => void | Promise<T_1>) | undefined) => Promise<T_1>;
445
466
  validator: import("../../../../es/components/form-render").FieldValidator;
446
467
  pattern: import("../../../../es/components/form-render").FieldPatternTypes;
447
468
  content: any;
@@ -697,6 +718,7 @@ declare const _default: import("vue").DefineComponent<{}, {
697
718
  onSetup(): void;
698
719
  beforeRequest(fieldKey: string, params?: import("../../../../es/shared/types").AnyObject | undefined): void | import("../../../../es/shared/types").UndefinedAble<import("../../../../es/shared/types").AnyObject>;
699
720
  afterRequest(fieldKey: string, payload?: any): import("../../../../es/shared/types").AnyObject[];
721
+ afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[]): void;
700
722
  }>>;
701
723
  };
702
724
  requestInstance: {
@@ -716,6 +738,10 @@ declare const _default: import("vue").DefineComponent<{}, {
716
738
  type: (BooleanConstructor | StringConstructor)[];
717
739
  default: boolean;
718
740
  };
741
+ uniqueCacheData: {
742
+ type: BooleanConstructor;
743
+ default: boolean;
744
+ };
719
745
  }>> & {
720
746
  onFormChange?: ((...args: any[]) => any) | undefined;
721
747
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -732,6 +758,7 @@ declare const _default: import("vue").DefineComponent<{}, {
732
758
  enterToNextWidget: boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void);
733
759
  linebarAutoHidden: boolean;
734
760
  bordered: string | boolean;
761
+ uniqueCacheData: boolean;
735
762
  }>;
736
763
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
737
764
  export default _default;
@@ -2,6 +2,7 @@ import { Nullable } from '../../../../../es/shared/types';
2
2
  import { GeneralField } from '@formily/core';
3
3
  import { AnnotationItem } from '../../../../../es/components/annotation-edit/src/type';
4
4
  import { ContextCollector } from '../../../../../es/components/form-render/src/hooks/useChangeContext';
5
+ import { useFormRenderLifeCycle } from '../../../../../es/components/form-render/src/hooks/useFormRenderLifeCycle';
5
6
  import { BusinessCollector, FormItemDepsCollector } from '../hooks';
6
7
  import { FormAsyncQueue } from '../types';
7
8
  import { Component, InjectionKey, WritableComputedRef } from 'vue';
@@ -10,6 +11,7 @@ export declare const InjectionSchemaField: InjectionKey<Component>;
10
11
  export declare const InjectionBusinessCollector: InjectionKey<BusinessCollector>;
11
12
  export declare const InjectionChangeContextCollector: InjectionKey<ContextCollector>;
12
13
  export declare const InjectionFormItemDepsCollector: InjectionKey<FormItemDepsCollector>;
14
+ export declare const InjectionFormLifeCycleCaller: InjectionKey<ReturnType<typeof useFormRenderLifeCycle>['callLifeCycle']>;
13
15
  export declare const InjectionFormUUID: InjectionKey<string>;
14
16
  export declare const InjectionFormGraph: InjectionKey<Record<string, GeneralField>>;
15
17
  export declare const InjectionAnnotation: InjectionKey<WritableComputedRef<Nullable<Record<string, AnnotationItem>>>>;
@@ -1 +1 @@
1
- const e=Symbol("InjectionAsyncQueue"),o=Symbol("InjectionSchemaField"),n=Symbol("InjectionBusinessCollector"),t=Symbol("InjectionChangeContextCollector"),E=Symbol("InjectionFormItemDepsCollector"),A=Symbol("InjectionFormUUID"),I=Symbol("InjectionFormGraph"),l=Symbol("InjectionAnnotation"),a="__dep_LINEBAR_";var i=(e=>(e.PASSWORD="password",e.ID_CARD="id_card",e.AGE="age",e.AGE_UNIT="age_unit",e.MOBILE="mobile",e.TELEPHONE="telephone",e.EMAIL="email",e.SEX="sex",e.BIRTHDAY="birthday",e.BANK_CARD="bank_card",e.WEBSITE="website",e.GESTATIONAL_WEEKS="gestational_weeks",e.GESTATIONAL_STAGE="gestational_stage",e.CUSTOMER_NAME="customer_name",e))(i||{}),c=(e=>(e.MALE="1",e.FEMALE="2",e))(c||{}),S=(e=>(e.DAY="D",e.MONTH="M",e.YEAR="Y",e.HOUR="H",e.WEEK="W",e.MINUTE="N",e))(S||{});const m=["COMPLEX","COMBINATION"];export{S as FIELD_AGE_UNIT,i as FIELD_BUSINESS_TYPE,c as FIELD_SEX_VALUE,a as FormItemLineBarDepKeyPrepend,l as InjectionAnnotation,e as InjectionAsyncQueue,n as InjectionBusinessCollector,t as InjectionChangeContextCollector,I as InjectionFormGraph,E as InjectionFormItemDepsCollector,A as InjectionFormUUID,o as InjectionSchemaField,m as NESTED_FORM_ITEM_TYPE};
1
+ const e=Symbol("InjectionAsyncQueue"),o=Symbol("InjectionSchemaField"),n=Symbol("InjectionBusinessCollector"),t=Symbol("InjectionChangeContextCollector"),E=Symbol("InjectionFormItemDepsCollector"),l=Symbol("InjectionFormLifeCycleCaller"),I=Symbol("InjectionFormUUID"),A=Symbol("InjectionFormGraph"),i=Symbol("InjectionAnnotation"),a="__dep_LINEBAR_";var c=(e=>(e.PASSWORD="password",e.ID_CARD="id_card",e.AGE="age",e.AGE_UNIT="age_unit",e.MOBILE="mobile",e.TELEPHONE="telephone",e.EMAIL="email",e.SEX="sex",e.BIRTHDAY="birthday",e.BANK_CARD="bank_card",e.WEBSITE="website",e.GESTATIONAL_WEEKS="gestational_weeks",e.GESTATIONAL_STAGE="gestational_stage",e.CUSTOMER_NAME="customer_name",e))(c||{}),m=(e=>(e.MALE="1",e.FEMALE="2",e))(m||{}),S=(e=>(e.DAY="D",e.MONTH="M",e.YEAR="Y",e.HOUR="H",e.WEEK="W",e.MINUTE="N",e))(S||{});const r=["COMPLEX","COMBINATION"];export{S as FIELD_AGE_UNIT,c as FIELD_BUSINESS_TYPE,m as FIELD_SEX_VALUE,a as FormItemLineBarDepKeyPrepend,i as InjectionAnnotation,e as InjectionAsyncQueue,n as InjectionBusinessCollector,t as InjectionChangeContextCollector,A as InjectionFormGraph,E as InjectionFormItemDepsCollector,l as InjectionFormLifeCycleCaller,I as InjectionFormUUID,o as InjectionSchemaField,r as NESTED_FORM_ITEM_TYPE};
@@ -7,7 +7,7 @@ declare type ProcessorOption = Partial<{
7
7
  afterRequest(key: string, payload?: unknown): AnyObject[];
8
8
  beforeRequest(key: string, params?: unknown): UndefinedAble<AnyObject> | void;
9
9
  }>;
10
- export declare function useFormAsyncQueue(requestInstance: ComputedRef<UndefinedAble<RequestInstance>>): {
10
+ export declare function useFormAsyncQueue(requestInstance: ComputedRef<UndefinedAble<RequestInstance>>, uniqueData: ComputedRef<boolean>): {
11
11
  create: (parallelism?: number, option?: ProcessorOption) => AsyncQueue<FormAsyncQueueItem, any, {
12
12
  label: string;
13
13
  value: unknown;
@@ -1 +1 @@
1
- import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import"naive-ui";import{unref as t}from"vue";import"@vueuse/core";import"date-fns";import{AsyncQueue as o}from"../../../../shared/hooks/useAsyncQueue.js";import"../../index.js";import{useCommonLog as s}from"./useCommonLog.js";import{useFormRequest as n}from"./useFormRequest.js";function a(a){const{getHttpInstance:i}=n();return{create:function(n=3,u){return new o({name:"FormRenderAsyncQueue",parallelism:n,async processor({key:e,method:o="post",cache:n,params:m,url:p},c,f){var l,d;const h=null!=(l=t(a))?l:i();if(!h)return s().invalidHttpInstanceLog(),c(),void f();try{u&&r(u.beforeRequest)&&(m=null!=(d=u.beforeRequest(e,m))?d:{});let t=await h[o](p,m);u&&r(u.afterRequest)&&(t=u.afterRequest(e,t)),c(void 0,Array.isArray(t)?t:[]),!n&&f()}catch(e){c(new Error(`Request error => ${e}`)),f()}},getKey:({url:r,method:t="post",cache:o,params:s})=>o?r+t+JSON.stringify(s||{}):e()})}}}export{a as useFormAsyncQueue};
1
+ import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import"naive-ui";import{unref as t}from"vue";import"@vueuse/core";import"date-fns";import{AsyncQueue as o}from"../../../../shared/hooks/useAsyncQueue.js";import"../../index.js";import{useCommonLog as s}from"./useCommonLog.js";import{useFormRequest as a}from"./useFormRequest.js";function n(n,u){const{getHttpInstance:i}=a();return{create:function(a=3,m){return new o({name:"FormRenderAsyncQueue",uniqueData:u.value,parallelism:a,async processor({key:e,method:o="post",cache:a,params:u,url:p},c,f){var l,d;const h=null!=(l=t(n))?l:i();if(!h)return s().invalidHttpInstanceLog(),c(),void f();try{m&&r(m.beforeRequest)&&(u=null!=(d=m.beforeRequest(e,u))?d:{});let t=await h[o](p,u);m&&r(m.afterRequest)&&(t=m.afterRequest(e,t)),c(void 0,Array.isArray(t)?t:[]),!a&&f()}catch(e){c(new Error(`Request error => ${e}`)),f()}},getKey:({url:r,method:t="post",cache:o,params:s})=>o?r+t+JSON.stringify(s||{}):e()})}}}export{n as useFormAsyncQueue};
@@ -1 +1 @@
1
- import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{createSchemaField as o}from"@formily/vue";import{isObject as t}from"@vue/shared";import{cloneDeep as r}from"lodash-es";import{computed as s,provide as n,readonly as i}from"vue";import"../../index.js";import m from"../components/renderer/index.js";import{InjectionAsyncQueue as a,InjectionSchemaField as u,InjectionBusinessCollector as p,InjectionChangeContextCollector as c,InjectionFormItemDepsCollector as l,InjectionFormUUID as f,InjectionAnnotation as d}from"../constants/index.js";import{useFormRenderLifeCycle as j}from"./useFormRenderLifeCycle.js";import{usePresetScope as y}from"./usePresetScope.js";import{injectOrProvide as C,presetRequestHandler as h}from"../utils/index.js";import{useFormAsyncQueue as x}from"./useFormAsyncQueue.js";import{useBusinessBinding as g}from"./useBusinessBinding.js";import{useChangeContext as v}from"./useChangeContext.js";import{useFormItemDeps as F}from"./useFormItemDeps.js";function b(b,q){const{callLifeCycle:R}=j(b),I=C(a,(()=>x(s((()=>b.requestInstance))).create(b.parallelism,{beforeRequest:(...e)=>R("beforeRequest",r(e))||e[1],afterRequest:(...e)=>R("afterRequest",r(e))||h(e[1])}))),D=C(u,(()=>o({components:{...m,...b.components},scope:Object.assign({},y(),b.scope)}).SchemaField)),S=g().create(b.businessFormatter);n(p,S);const B=v().create();n(c,B);const L=F().create();n(l,L);const Q=b.uuid||e();return n(f,Q),n(d,s({get:()=>b.annotation?i(b.annotation):null,set(e){if(!t(b.annotation)||!t(e))return;const o=b.annotation[e.property];b.annotation[e.property]=e.value,q("annotationChange",{fieldKey:e.property,value:e.value,oldValue:o})}})),{asyncQueue:I,SchemaField:D,businessCollector:S,changeContextCollector:B,formItemDepsCollector:L,formUUID:Q}}export{b as useFormContext};
1
+ import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{createSchemaField as o}from"@formily/vue";import{isObject as t}from"@vue/shared";import{cloneDeep as r}from"lodash-es";import{computed as n,provide as s,readonly as i}from"vue";import"../../index.js";import m from"../components/renderer/index.js";import{InjectionAsyncQueue as a,InjectionSchemaField as u,InjectionBusinessCollector as c,InjectionChangeContextCollector as p,InjectionFormItemDepsCollector as l,InjectionFormUUID as f,InjectionAnnotation as d}from"../constants/index.js";import{useFormRenderLifeCycle as j}from"./useFormRenderLifeCycle.js";import{usePresetScope as C}from"./usePresetScope.js";import{injectOrProvide as h,presetRequestHandler as y}from"../utils/index.js";import{useFormAsyncQueue as x}from"./useFormAsyncQueue.js";import{useBusinessBinding as g}from"./useBusinessBinding.js";import{useChangeContext as q}from"./useChangeContext.js";import{useFormItemDeps as v}from"./useFormItemDeps.js";function F(F,b){const{callLifeCycle:R}=j(F),D=h(a,(()=>x(n((()=>F.requestInstance)),n((()=>!!F.uniqueCacheData))).create(F.parallelism,{beforeRequest:(...e)=>R("beforeRequest",r(e))||e[1],afterRequest:(...e)=>R("afterRequest",r(e))||y(e[1])}))),I=h(u,(()=>o({components:{...m,...F.components},scope:Object.assign({},C(),F.scope)}).SchemaField)),S=g().create(F.businessFormatter);s(c,S);const B=q().create();s(p,B);const L=v().create();s(l,L);const Q=F.uuid||e();return s(f,Q),s(d,n({get:()=>F.annotation?i(F.annotation):null,set(e){if(!t(F.annotation)||!t(e))return;const o=F.annotation[e.property];F.annotation[e.property]=e.value,b("annotationChange",{fieldKey:e.property,value:e.value,oldValue:o})}})),{asyncQueue:D,SchemaField:I,businessCollector:S,changeContextCollector:B,formItemDepsCollector:L,formUUID:Q}}export{F as useFormContext};
@@ -1,13 +1,15 @@
1
1
  import { UndefinedAble } from '../../../../../es/shared/types';
2
2
  import { FormRenderLifeCycle, FormRenderProps } from '../../../../../es/components/form-render';
3
3
  export declare function useFormRenderLifeCycle(props: FormRenderProps): {
4
- callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
4
+ callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
5
5
  onSetup(): void;
6
6
  beforeRequest(fieldKey: string, params?: import("../../../../../es/shared/types").AnyObject | undefined): void | UndefinedAble<import("../../../../../es/shared/types").AnyObject>;
7
7
  afterRequest(fieldKey: string, payload?: any): import("../../../../../es/shared/types").AnyObject[];
8
+ afterOptionInit(fieldKey: string, options: import("../../../../../es/shared/types").AnyObject[]): void;
8
9
  }>>[T]> | undefined) => UndefinedAble<ReturnType<Required<Partial<{
9
10
  onSetup(): void;
10
11
  beforeRequest(fieldKey: string, params?: import("../../../../../es/shared/types").AnyObject | undefined): void | UndefinedAble<import("../../../../../es/shared/types").AnyObject>;
11
12
  afterRequest(fieldKey: string, payload?: any): import("../../../../../es/shared/types").AnyObject[];
13
+ afterOptionInit(fieldKey: string, options: import("../../../../../es/shared/types").AnyObject[]): void;
12
14
  }>>[T]>>;
13
15
  };
@@ -2,7 +2,7 @@ import { AnyObject, Func } from '../../../../../es/shared/types';
2
2
  import { Ref } from 'vue';
3
3
  import { FormWordbook, RecommendIds, UrlConfig } from '../../../../../es/components/form-render';
4
4
  import { RecommendItem } from '../../../../../es/components/recommend-search/src/types';
5
- export declare const searchContentMatcher: (searchContent: string, label: string) => string[] | null;
5
+ export declare const searchContentMatcher: (searchContent: string, label: string) => RegExpMatchArray | null;
6
6
  export declare function useRecommendOptions(props: {
7
7
  recommend: boolean;
8
8
  commonList?: RecommendItem[];
@@ -1 +1 @@
1
- import{checkInSetupEnv as e,jsonParse as n}from"../../../../shared/utils/index.js";import{useMemoize as t,useDebounceFn as l}from"@vueuse/core";import{identity as u,uniqBy as o,isString as r,isEqual as a,omit as i,isArray as c,isFunction as s}from"lodash-es";import{computed as v,inject as m,ref as d,watch as f}from"vue";import"../../index.js";import{InjectionAsyncQueue as y,InjectionFormItemDepsCollector as p}from"../constants/index.js";import{createUrlConfigParams as h,formRenderLog as g,keywordMatcher as w}from"../utils/index.js";import{useFormField as k}from"./useFormField.js";import{useFormRequest as b}from"./useFormRequest.js";function R(e,n){const t=d();return v({get:()=>t.value?t.value:e[n],set(e){t.value=e}})}const C=(()=>{const e=new Map,n=t((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:u});return(t,l)=>{const u=e.get(t)||{};return e.set(t,u),Reflect.has(u,l)?u[l]:u[l]=l.match(n(t))}})();function K(){const e=d();return{searchContent:e,optionSearchFilter:function(n,t,l){if(!e.value)return n;const u=c(l)?l.filter((e=>e&&r(e))):[];return n.filter((n=>function(n,t,l){if(!e.value)return!0;const u=n?n[t]:"";return!!r(u)&&(!!C(e.value,u)||!!w(e.value,n.keyword)||!!l.length&&l.some((t=>r(n[t])&&n[t].includes(e.value))))}(n,t,u)))}}}function F(e,t,l,u,r){const a=R(e,"commonList"),c=R(e,"recentList"),{searchContent:d,optionSearchFilter:f}=K();function p(e){return n(e.itemObj)}const h=v((()=>{var e,n;return null!=(n=null==(e=a.value)?void 0:e.map(p))?n:[]})),g=v((()=>{var e,n;return null!=(n=null==(e=c.value)?void 0:e.map(p))?n:[]})),w=v((()=>{if(!e.recommend||!h.value.length&&!g.value.length)return t.value;const n=o(h.value.concat(g.value),(e=>e[r.value])),l=t.value.filter((e=>n.every((function(n){return n[r.value]!==e[r.value]}))));return[...f(n,u.value),...l]})),{getRecommendRequestInfo:C,getHttpInstance:F}=b();function j(n){const{url:t,getRecommendIds:l}=C(),u=s(l)?l():{},o=s(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:t[n],info:Object.assign({},u,o)}}const{fieldKey:x}=k(),O=m(y);return{postRecommend:async function(n){if(!e.recommend)return;const t=F();if(!t)return;const{url:u,info:o}=j("post"),a=w.value.find((e=>e[r.value]===n));a&&l("postRecommend",await t.post(u,{...o,keyword:"",itemId:r.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(d.value=n,a.value&&c.value&&e.recommendCache)return;const t=await O.addAsync(function(n,t){const{url:l,info:u}=j("get");return{url:l,method:"get",key:n,cache:t,params:{...u,recNum:Math.max(e.commonNum,e.recentNum),keyword:""}}}(x.value,e.recommendCache)),{commonly:l,recently:u}=t.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(i(n,["type"])):"recently"===n.type&&e.recently.push(i(n,["type"])),e)),{commonly:[],recently:[]});a.value=l.slice(0,e.commonNum),c.value=u.slice(0,e.recentNum)},sortedOptions:w}}function j(n,t){e();const u=m(y),o=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.nameKey)?t:n.labelField)?l:"text"})),i=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.valueKey)?t:n.valueField)?l:"value"})),{searchContent:c,optionSearchFilter:s}=K(),w=d(null),{field:b,fieldKey:R}=k(),C=l((async function(e){if(c.value=e||"",!n.urlConfig)return w.value=null;try{w.value=await u.addAsync(await h({config:n.urlConfig,cache:n.requestCache,field:b.value}))}catch(e){r(e)&&g(e)}}),300),F=v((()=>w.value?s(w.value,o.value):Array.isArray(n.options)?s(n.options,o.value):[])),j=v((()=>w.value||n.options||[])),x=m(p);return f((()=>n.urlConfig),((e,l)=>{a(e,l)||(w.value=null,e&&(x.setDeps(R.value,e.dependKey||[],(async()=>{w.value=null,t.value=null,!n.lazyRequest&&await C()})),(t.value||!n.lazyRequest)&&C()))}),{immediate:!0}),{labelKey:o,valueKey:i,filterOptions:F,fullOptions:j,fetchData:C}}function x(n,t){e();const u=m(y),o=v((()=>{var e,t,l,u;return null!=(u=null!=(l=null==(t=null==(e=n.wordbook)?void 0:e.render_key)?void 0:t[0])?l:n.labelField)?u:"text"})),i=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.wordbook)?void 0:e.value_key)?t:n.valueField)?l:"value"})),c=v((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),{searchContent:s,optionSearchFilter:p}=K(),h=d(null),{fieldKey:w}=k(),{getSearchRequestInfo:R}=b(),C=l((async function(e){if(s.value=e||"",!n.autograph||!n.wordbook)return h.value=null;try{h.value=await u.addAsync(function(e,t,l){const u={autograph:t,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};return{...R(),params:u,key:l,cache:n.requestCache}}(n.wordbook,n.autograph,w.value))}catch(e){r(e)&&g(e)}}),300),F=v((()=>h.value?p(h.value,o.value,c.value):Array.isArray(n.options)?p(n.options,o.value):[])),j=v((()=>h.value||n.options||[]));return f((()=>n.wordbook),((e,l)=>{a(e,l)||(h.value=null,e&&(t.value||!n.lazyRequest)&&C())}),{immediate:!0}),{labelKey:o,valueKey:i,filterOptions:F,fullOptions:j,fetchData:C}}export{C as searchContentMatcher,x as useAutographOptions,F as useRecommendOptions,j as useUrlConfigOptions};
1
+ import{checkInSetupEnv as e,jsonParse as n}from"../../../../shared/utils/index.js";import{useMemoize as t,useDebounceFn as l}from"@vueuse/core";import{identity as u,uniqBy as o,isString as r,isEqual as a,omit as i,isArray as c,isFunction as s}from"lodash-es";import{computed as v,inject as m,ref as d,toRaw as f,watch as y}from"vue";import"../../index.js";import{InjectionAsyncQueue as p,InjectionFormLifeCycleCaller as h,InjectionFormItemDepsCollector as g}from"../constants/index.js";import{createUrlConfigParams as w,formRenderLog as k,keywordMatcher as b}from"../utils/index.js";import{useFormField as R}from"./useFormField.js";import{useFormRequest as C}from"./useFormRequest.js";function K(e,n){const t=d();return v({get:()=>t.value?t.value:e[n],set(e){t.value=e}})}const F=(()=>{const e=t((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:u});return(n,t)=>t.match(e(n))})();function O(){const e=d();return{searchContent:e,optionSearchFilter:function(n,t,l){if(!e.value)return n;const u=c(l)?l.filter((e=>e&&r(e))):[];return n.filter((n=>function(n,t,l){if(!e.value)return!0;const u=n?n[t]:"";return!!r(u)&&(!!F(e.value,u)||!!b(e.value,n.keyword)||!!l.length&&l.some((t=>r(n[t])&&n[t].includes(e.value))))}(n,t,u)))}}}function j(e,t,l,u,r){const a=K(e,"commonList"),c=K(e,"recentList"),{searchContent:d,optionSearchFilter:f}=O();function y(e){return n(e.itemObj)}const h=v((()=>{var e,n;return null!=(n=null==(e=a.value)?void 0:e.map(y))?n:[]})),g=v((()=>{var e,n;return null!=(n=null==(e=c.value)?void 0:e.map(y))?n:[]})),w=v((()=>{if(!e.recommend||!h.value.length&&!g.value.length)return t.value;const n=o(h.value.concat(g.value),(e=>e[r.value])),l=t.value.filter((e=>n.every((function(n){return n[r.value]!==e[r.value]}))));return[...f(n,u.value),...l]})),{getRecommendRequestInfo:k,getHttpInstance:b}=C();function F(n){const{url:t,getRecommendIds:l}=k(),u=s(l)?l():{},o=s(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:t[n],info:Object.assign({},u,o)}}const{fieldKey:j}=R(),I=m(p);return{postRecommend:async function(n){if(!e.recommend)return;const t=b();if(!t)return;const{url:u,info:o}=F("post"),a=w.value.find((e=>e[r.value]===n));a&&l("postRecommend",await t.post(u,{...o,keyword:"",itemId:r.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(d.value=n,a.value&&c.value&&e.recommendCache)return;const t=await I.addAsync(function(n,t){const{url:l,info:u}=F("get");return{url:l,method:"get",key:n,cache:t,params:{...u,recNum:Math.max(e.commonNum,e.recentNum),keyword:""}}}(j.value,e.recommendCache)),{commonly:l,recently:u}=t.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(i(n,["type"])):"recently"===n.type&&e.recently.push(i(n,["type"])),e)),{commonly:[],recently:[]});a.value=l.slice(0,e.commonNum),c.value=u.slice(0,e.recentNum)},sortedOptions:w}}function I(n,t){e();const u=m(p),o=m(h),i=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.nameKey)?t:n.labelField)?l:"text"})),c=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.valueKey)?t:n.valueField)?l:"value"})),{searchContent:s,optionSearchFilter:b}=O(),C=d(null),{field:K,fieldKey:F}=R(),j=l((async function(e){if(s.value=e||"",!n.urlConfig)return C.value=null;try{const e=await u.addAsync(await w({config:n.urlConfig,cache:n.requestCache,field:K.value}));f(C.value)!==e&&(C.value=e,o("afterOptionInit",[F.value,C.value]))}catch(e){r(e)&&k(e)}}),300),I=v((()=>C.value?b(C.value,i.value):Array.isArray(n.options)?b(n.options,i.value):[])),x=v((()=>C.value||n.options||[])),q=m(g);return y((()=>n.urlConfig),((e,l)=>{a(e,l)||(C.value=null,e&&(q.setDeps(F.value,e.dependKey||[],(async()=>{C.value=null,t.value=null,!n.lazyRequest&&await j()})),(t.value||!n.lazyRequest)&&j()))}),{immediate:!0}),{labelKey:i,valueKey:c,filterOptions:I,fullOptions:x,fetchData:j}}function x(n,t){e();const u=m(p),o=m(h),i=v((()=>{var e,t,l,u;return null!=(u=null!=(l=null==(t=null==(e=n.wordbook)?void 0:e.render_key)?void 0:t[0])?l:n.labelField)?u:"text"})),c=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.wordbook)?void 0:e.value_key)?t:n.valueField)?l:"value"})),s=v((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),{searchContent:g,optionSearchFilter:w}=O(),b=d(null),{fieldKey:K}=R(),{getSearchRequestInfo:F}=C(),j=l((async function(e){if(g.value=e||"",!n.autograph||!n.wordbook)return b.value=null;try{const e=await u.addAsync(function(e,t,l){const u={autograph:t,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};return{...F(),params:u,key:l,cache:n.requestCache}}(n.wordbook,n.autograph,K.value));f(b.value)!==e&&(b.value=e,o("afterOptionInit",[K.value,b.value]))}catch(e){r(e)&&k(e)}}),300),I=v((()=>b.value?w(b.value,i.value,s.value):Array.isArray(n.options)?w(n.options,i.value):[])),x=v((()=>b.value||n.options||[]));return y((()=>n.wordbook),((e,l)=>{a(e,l)||(b.value=null,e&&(t.value||!n.lazyRequest)&&j())}),{immediate:!0}),{labelKey:i,valueKey:c,filterOptions:I,fullOptions:x,fetchData:j}}export{F as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};
@@ -60,6 +60,7 @@ export declare type FormRenderLifeCycle = Partial<{
60
60
  onSetup(): void;
61
61
  beforeRequest(fieldKey: string, params?: AnyObject): UndefinedAble<AnyObject> | void;
62
62
  afterRequest(fieldKey: string, payload?: any): AnyObject[];
63
+ afterOptionInit(fieldKey: string, options: AnyObject[]): void;
63
64
  }>;
64
65
  export declare type FormRenderProps = Partial<{
65
66
  fieldList: FieldItem[];
@@ -82,6 +83,7 @@ export declare type FormRenderProps = Partial<{
82
83
  lowCodeReactions: FormLowCodeReactions.Config[];
83
84
  linebarAutoHidden: boolean;
84
85
  bordered: boolean | string;
86
+ uniqueCacheData: boolean;
85
87
  }>;
86
88
  export declare type FormBusinessFormatter = (payload: {
87
89
  fieldKey: string;