cnhis-design-vue 3.1.53-beta.1 → 3.1.53-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +87 -87
  2. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  3. package/es/components/big-table/src/components/edit-form/edit-separate.vue.d.ts +4 -4
  4. package/es/components/big-table/src/hooks/useEdit.d.ts +4 -4
  5. package/es/components/big-table/src/hooks/useSeparateRow.d.ts +4 -4
  6. package/es/components/body-select/index.d.ts +9 -4
  7. package/es/components/body-select/src/config/index.js +1 -1
  8. package/es/components/body-select/src/hooks/renderCanvas.d.ts +1 -1
  9. package/es/components/body-select/src/hooks/renderCanvas.js +1 -1
  10. package/es/components/body-select/src/index.vue.d.ts +9 -4
  11. package/es/components/body-select/src/index.vue2.js +1 -1
  12. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  13. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  14. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  15. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  16. package/es/components/button-print/index.d.ts +9 -0
  17. package/es/components/button-print/src/ButtonPrint.vue.d.ts +9 -0
  18. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  19. package/es/components/button-print/src/utils/dialog.d.ts +2 -2
  20. package/es/components/button-print/src/utils/print.d.ts +14 -13
  21. package/es/components/button-print/src/utils/print.js +1 -1
  22. package/es/components/callback/src/components/render/popupMaps.d.ts +69 -6
  23. package/es/components/card-reader-sdk/src/cardReaderSDK.d.ts +5 -0
  24. package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
  25. package/es/components/card-reader-sdk/src/constants/index.d.ts +2 -1
  26. package/es/components/card-reader-sdk/src/constants/index.js +1 -1
  27. package/es/components/card-reader-sdk/src/types/index.d.ts +3 -3
  28. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  29. package/es/components/expand-field/src/components/form.vue2.js +1 -1
  30. package/es/components/form-config/index.d.ts +105 -26
  31. package/es/components/form-config/src/FormConfig.vue.d.ts +106 -27
  32. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  33. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +30 -6
  34. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +51 -12
  35. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  36. package/es/components/form-render/index.d.ts +30 -6
  37. package/es/components/form-render/index.js +1 -1
  38. package/es/components/form-render/src/FormRender.vue.d.ts +31 -7
  39. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  40. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +31 -7
  41. package/es/components/form-render/src/components/renderer/{combination.d.ts → combination/combination.d.ts} +1 -1
  42. package/es/components/form-render/src/components/renderer/combination/combination.js +1 -0
  43. package/es/components/form-render/src/components/renderer/combination/hooks/index.d.ts +2 -0
  44. package/es/components/form-render/src/components/renderer/combination/hooks/index.js +1 -0
  45. package/es/components/form-render/src/components/renderer/combination/hooks/useCombination.d.ts +8 -0
  46. package/es/components/form-render/src/components/renderer/combination/hooks/useCombination.js +1 -0
  47. package/es/components/form-render/src/components/renderer/combination/index.d.ts +3 -0
  48. package/es/components/form-render/src/components/renderer/combination/index.js +1 -0
  49. package/es/components/form-render/src/components/renderer/combination/jsonCombination.js +1 -0
  50. package/es/components/form-render/src/components/renderer/combination/tableCombination.d.ts +61 -0
  51. package/es/components/form-render/src/components/renderer/combination/tableCombination.js +1 -0
  52. package/es/components/form-render/src/components/renderer/index.js +1 -1
  53. package/es/components/form-render/src/components/renderer/inputNumber.d.ts +5 -5
  54. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.d.ts +2 -4
  55. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -1
  56. package/es/components/form-render/src/components/renderer/searchCascade.d.ts +3 -3
  57. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  58. package/es/components/form-render/src/components/renderer/select.d.ts +5 -5
  59. package/es/components/form-render/src/components/renderer/select.js +1 -1
  60. package/es/components/form-render/src/constants/index.d.ts +3 -2
  61. package/es/components/form-render/src/hooks/index.d.ts +0 -2
  62. package/es/components/form-render/src/hooks/index.js +1 -1
  63. package/es/components/form-render/src/hooks/useAnchor.d.ts +3 -3
  64. package/es/components/form-render/src/hooks/useCommonInjection.d.ts +2 -2
  65. package/es/components/form-render/src/hooks/useFieldListAdaptor.d.ts +2 -2
  66. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  67. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +10 -2
  68. package/es/components/form-render/src/hooks/useFormContext.d.ts +3 -3
  69. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  70. package/es/components/form-render/src/hooks/useFormItemDeps.d.ts +3 -3
  71. package/es/components/form-render/src/hooks/useFormRenderLifeCycle.d.ts +9 -1
  72. package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +5 -5
  73. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  74. package/es/components/form-render/src/types/fieldItem.d.ts +4 -2
  75. package/es/components/form-render/src/types/index.d.ts +7 -14
  76. package/es/components/form-render/src/utils/index.d.ts +1 -2
  77. package/es/components/form-render/src/utils/index.js +1 -1
  78. package/es/components/form-render/src/utils/schema.d.ts +2 -2
  79. package/es/components/form-render/src/utils/schema.js +1 -1
  80. package/es/components/guide/src/renderer.js +1 -1
  81. package/es/components/iho-table/index.d.ts +39 -0
  82. package/es/components/iho-table/src/IhoTable.vue.d.ts +40 -0
  83. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  84. package/es/components/iho-table/src/constants/index.d.ts +4 -1
  85. package/es/components/iho-table/src/constants/index.js +1 -1
  86. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +2 -2
  87. package/es/components/iho-table/src/hooks/tapHooks/useExposeHooks.d.ts +2 -2
  88. package/es/components/iho-table/src/hooks/useColumnConfigAdaptor.js +1 -1
  89. package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +1 -1
  90. package/es/components/iho-table/src/plugins/index.js +1 -1
  91. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +2 -2
  92. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useAutoFocus.js +1 -1
  93. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.d.ts +1 -0
  94. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.js +1 -0
  95. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue.d.ts +552 -0
  96. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue.js +1 -0
  97. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue2.js +1 -0
  98. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.d.ts +5 -2
  99. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  100. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  101. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.vue.d.ts +2 -2
  102. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  103. package/es/components/iho-table/src/types/index.d.ts +5 -2
  104. package/es/components/iho-table/src/types/pluginType.d.ts +3 -3
  105. package/es/components/iho-table/src/utils/index.d.ts +1 -1
  106. package/es/components/iho-table/src/utils/index.js +1 -1
  107. package/es/components/index.d.ts +1 -0
  108. package/es/components/index.js +1 -1
  109. package/es/components/info-header/index.d.ts +97 -29
  110. package/es/components/info-header/src/InfoHeader.vue.d.ts +98 -30
  111. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +9 -5
  112. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +10 -6
  113. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +41 -13
  114. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +30 -6
  115. package/es/components/keyboard/src/Keyboard.vue2.js +1 -1
  116. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  117. package/es/components/search-cascader/index.d.ts +23 -3
  118. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +24 -4
  119. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  120. package/es/components/search-cascader/src/components/ClearIcon.vue.js +1 -0
  121. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  122. package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
  123. package/es/components/shortcut-setter/index.d.ts +34 -9
  124. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +35 -10
  125. package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
  126. package/es/components/table-export-field/src/components/ExportModal.vue.d.ts +3 -0
  127. package/es/components/time-picker/src/TimePicker.vue2.js +1 -1
  128. package/es/env.d.ts +25 -25
  129. package/es/shared/assets/img/failure.png.js +1 -1
  130. package/es/shared/assets/img/no-permission.png.js +1 -1
  131. package/es/shared/assets/img/nodata.png.js +1 -1
  132. package/es/shared/assets/img/notfound.png.js +1 -1
  133. package/es/shared/assets/img/qr.png.js +1 -1
  134. package/es/shared/assets/img/success.png.js +1 -1
  135. package/es/shared/assets/img/video.png.js +1 -1
  136. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  137. package/es/shared/assets/img/xb_big.png.js +1 -1
  138. package/es/shared/assets/img/xb_small.png.js +1 -1
  139. package/es/shared/components/InputNumberSlash/InputNumberSlash.d.ts +4 -4
  140. package/es/shared/components/SlotRender/SlotRender.d.ts +5 -5
  141. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  142. package/es/shared/hooks/index.d.ts +3 -0
  143. package/es/shared/hooks/index.js +1 -1
  144. package/es/shared/hooks/selectHooks/index.d.ts +4 -0
  145. package/es/shared/hooks/selectHooks/index.js +1 -0
  146. package/es/shared/hooks/selectHooks/useOptionFiltered.d.ts +10 -0
  147. package/es/shared/hooks/selectHooks/useOptionFiltered.js +1 -0
  148. package/es/shared/hooks/selectHooks/useSearchContent.d.ts +6 -0
  149. package/es/shared/hooks/selectHooks/useSearchContent.js +1 -0
  150. package/es/shared/hooks/selectHooks/useSelectAllowModify.d.ts +23 -0
  151. package/es/shared/hooks/selectHooks/useSelectAllowModify.js +1 -0
  152. package/es/shared/hooks/selectHooks/useSelectRenders.d.ts +21 -0
  153. package/es/shared/hooks/selectHooks/useSelectRenders.js +1 -0
  154. package/es/shared/hooks/{useAsyncQueue.d.ts → useAsyncQueue/index.d.ts} +7 -15
  155. package/es/shared/hooks/useAsyncQueue/index.js +1 -0
  156. package/es/shared/hooks/useAsyncQueue/types.d.ts +20 -0
  157. package/es/shared/hooks/useAsyncQueue/types.js +1 -0
  158. package/es/shared/hooks/useDateTime.d.ts +2 -2
  159. package/es/shared/hooks/useFormRequest/index.d.ts +24 -0
  160. package/es/shared/hooks/useFormRequest/index.js +1 -0
  161. package/es/shared/hooks/useFormRequest/types.d.ts +39 -0
  162. package/es/shared/hooks/useFormRequest/types.js +1 -0
  163. package/es/shared/hooks/useLevelSearchCascader.d.ts +31 -0
  164. package/es/shared/hooks/useLevelSearchCascader.js +1 -0
  165. package/es/shared/package.json.js +1 -1
  166. package/es/shared/types/index.d.ts +1 -1
  167. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  168. package/es/shared/utils/tapable/index.d.ts +139 -0
  169. package/package.json +2 -2
  170. package/es/components/form-render/src/components/renderer/combination.js +0 -1
  171. package/es/components/form-render/src/components/renderer/jsonCombination/index.js +0 -1
  172. package/es/components/form-render/src/components/renderer/levelSearchCascader/utils.d.ts +0 -23
  173. package/es/components/form-render/src/components/renderer/levelSearchCascader/utils.js +0 -1
  174. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +0 -16
  175. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +0 -1
  176. package/es/components/form-render/src/hooks/useFormRequest.d.ts +0 -26
  177. package/es/components/form-render/src/hooks/useFormRequest.js +0 -1
  178. package/es/shared/hooks/useAsyncQueue.js +0 -1
  179. /package/es/components/form-render/src/components/renderer/{jsonCombination → combination}/hooks/useDeepValidate.d.ts +0 -0
  180. /package/es/components/form-render/src/components/renderer/{jsonCombination → combination}/hooks/useDeepValidate.js +0 -0
  181. /package/es/components/form-render/src/components/renderer/{jsonCombination/index.d.ts → combination/jsonCombination.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { Func } from '../../../../es/shared/types';
1
+ import { AnyFn } from '../../../../es/shared/types';
2
2
  import { FormRenderExpose } from '../../../../es/components/form-render';
3
3
  declare const _default: import("vue").DefineComponent<{}, {
4
4
  formRenderRef: import("vue").Ref<FormRenderExpose | undefined>;
@@ -116,13 +116,17 @@ declare const _default: import("vue").DefineComponent<{}, {
116
116
  lifeCycle: {
117
117
  type: import("vue").PropType<Partial<{
118
118
  onSetup(): void;
119
+ beforeSetValue(fieldKey: string, value: unknown, payload: {
120
+ field: import("@formily/core").GeneralField;
121
+ oldValue: unknown;
122
+ }): any;
119
123
  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>;
120
124
  afterRequest(fieldKey: string, res?: any, payload?: import("../../../../es/shared/types").AnyObject | undefined): import("../../../../es/shared/types").AnyObject[];
121
125
  afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[], payload?: import("../../../../es/shared/types").AnyObject | undefined): void;
122
126
  }>>;
123
127
  };
124
128
  requestInstance: {
125
- type: import("vue").PropType<import("../../../../es/components/form-render").RequestInstance>;
129
+ type: import("vue").PropType<import("../..").FormRequestDefine.RequestInstance>;
126
130
  };
127
131
  enterToNextWidget: {
128
132
  type: import("vue").PropType<boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void)>;
@@ -261,13 +265,17 @@ declare const _default: import("vue").DefineComponent<{}, {
261
265
  lifeCycle: {
262
266
  type: import("vue").PropType<Partial<{
263
267
  onSetup(): void;
268
+ beforeSetValue(fieldKey: string, value: unknown, payload: {
269
+ field: import("@formily/core").GeneralField;
270
+ oldValue: unknown;
271
+ }): any;
264
272
  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>;
265
273
  afterRequest(fieldKey: string, res?: any, payload?: import("../../../../es/shared/types").AnyObject | undefined): import("../../../../es/shared/types").AnyObject[];
266
274
  afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[], payload?: import("../../../../es/shared/types").AnyObject | undefined): void;
267
275
  }>>;
268
276
  };
269
277
  requestInstance: {
270
- type: import("vue").PropType<import("../../../../es/components/form-render").RequestInstance>;
278
+ type: import("vue").PropType<import("../..").FormRequestDefine.RequestInstance>;
271
279
  };
272
280
  enterToNextWidget: {
273
281
  type: import("vue").PropType<boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void)>;
@@ -321,7 +329,7 @@ declare const _default: import("vue").DefineComponent<{}, {
321
329
  changeContextCollector: import("../../../../es/components/form-render").ContextCollector;
322
330
  formUUID: string;
323
331
  anchorBarRef: import("vue").Ref<{
324
- syncBarPosition: Func<any[], any>;
332
+ syncBarPosition: AnyFn<any[], any>;
325
333
  } | undefined>;
326
334
  currentAnchor: import("vue").WritableComputedRef<string>;
327
335
  updateAnchorList: (field: import("@formily/core").GeneralField) => void;
@@ -330,13 +338,21 @@ declare const _default: import("vue").DefineComponent<{}, {
330
338
  title: string;
331
339
  }[]>;
332
340
  onScroll: (scrollEvent: Event) => void;
333
- callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
341
+ callLifeCycle: <T extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
334
342
  onSetup(): void;
343
+ beforeSetValue(fieldKey: string, value: unknown, payload: {
344
+ field: import("@formily/core").GeneralField;
345
+ oldValue: unknown;
346
+ }): any;
335
347
  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>;
336
348
  afterRequest(fieldKey: string, res?: any, payload?: import("../../../../es/shared/types").AnyObject | undefined): import("../../../../es/shared/types").AnyObject[];
337
349
  afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[], payload?: import("../../../../es/shared/types").AnyObject | undefined): void;
338
350
  }>>[T]> | undefined) => import("../../../../es/shared/types").UndefinedAble<ReturnType<Required<Partial<{
339
351
  onSetup(): void;
352
+ beforeSetValue(fieldKey: string, value: unknown, payload: {
353
+ field: import("@formily/core").GeneralField;
354
+ oldValue: unknown;
355
+ }): any;
340
356
  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>;
341
357
  afterRequest(fieldKey: string, res?: any, payload?: import("../../../../es/shared/types").AnyObject | undefined): import("../../../../es/shared/types").AnyObject[];
342
358
  afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[], payload?: import("../../../../es/shared/types").AnyObject | undefined): void;
@@ -429,12 +445,16 @@ declare const _default: import("vue").DefineComponent<{}, {
429
445
  uuid: string;
430
446
  lifeCycle: Partial<{
431
447
  onSetup(): void;
448
+ beforeSetValue(fieldKey: string, value: unknown, payload: {
449
+ field: import("@formily/core").GeneralField;
450
+ oldValue: unknown;
451
+ }): any;
432
452
  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>;
433
453
  afterRequest(fieldKey: string, res?: any, payload?: import("../../../../es/shared/types").AnyObject | undefined): import("../../../../es/shared/types").AnyObject[];
434
454
  afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[], payload?: import("../../../../es/shared/types").AnyObject | undefined): void;
435
455
  }>;
436
456
  businessFormatter: import("../../../../es/components/form-render").FormBusinessFormatter;
437
- requestInstance: import("../../../../es/components/form-render").RequestInstance;
457
+ requestInstance: import("../..").FormRequestDefine.RequestInstance;
438
458
  enterToNextWidget: boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void);
439
459
  lowCodeReactions: import("../../../../es/shared/types").FormLowCodeReactions.Config[];
440
460
  linebarAutoHidden: boolean;
@@ -836,13 +856,17 @@ declare const _default: import("vue").DefineComponent<{}, {
836
856
  lifeCycle: {
837
857
  type: import("vue").PropType<Partial<{
838
858
  onSetup(): void;
859
+ beforeSetValue(fieldKey: string, value: unknown, payload: {
860
+ field: import("@formily/core").GeneralField;
861
+ oldValue: unknown;
862
+ }): any;
839
863
  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>;
840
864
  afterRequest(fieldKey: string, res?: any, payload?: import("../../../../es/shared/types").AnyObject | undefined): import("../../../../es/shared/types").AnyObject[];
841
865
  afterOptionInit(fieldKey: string, options: import("../../../../es/shared/types").AnyObject[], payload?: import("../../../../es/shared/types").AnyObject | undefined): void;
842
866
  }>>;
843
867
  };
844
868
  requestInstance: {
845
- type: import("vue").PropType<import("../../../../es/components/form-render").RequestInstance>;
869
+ type: import("vue").PropType<import("../..").FormRequestDefine.RequestInstance>;
846
870
  };
847
871
  enterToNextWidget: {
848
872
  type: import("vue").PropType<boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void)>;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { CombinationItemDeletableFn, FieldItem } from '../../../../../../es/components/form-render';
2
+ import { CombinationItemDeletableFn, FieldItem } from '../../../../../../../es/components/form-render';
3
3
  export declare const COMBINATION: import("vue").DefineComponent<{
4
4
  title: {
5
5
  type: StringConstructor;
@@ -0,0 +1 @@
1
+ import{defineComponent as e,inject as o,createVNode as r}from"vue";import{isObjectField as t}from"@formily/core";import{connect as i,RecursionField as n}from"@formily/vue";import{range as m}from"lodash-es";import"../../../../index.js";import{InjectionBusinessCollector as a,InjectionFormGlobalProps as s}from"../../../constants/index.js";import"../../../../../../shared/utils/index.js";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"@vueuse/core";import"naive-ui";import"date-fns";import{createObjSchema as l}from"../../../utils/schema.js";import{useCombination as u}from"./hooks/useCombination.js";import{useFormField as p}from"../../../hooks/useFormField.js";import{useFieldListAdaptor as c}from"../../../hooks/useFieldListAdaptor.js";const f=i(e({name:"FormCombination",props:{title:{type:String,default:""},value:{type:Array},maxGroupNum:{type:Number},disabled:{type:Boolean},properties:{type:Array,default:()=>[]},combinationItemDeletable:{type:[Boolean,Function],default:!0},onInput:{},onBlur:{},onChange:{}},emits:["update:value"],setup(e){const{field:i,fieldKey:f}=p(),{currentGroupNum:d,renderRemoveBtn:v,renderHeader:y}=u(e);function h(){d.value++}const b=o(a),C=o(s),{schemaAdaptor:j}=c(b,C.lifeCycle);return()=>r("section",{class:"form-render__combination"},[y({onClick:h}),m(d.value).map(((o,m)=>r("section",{class:"form-render__combinationContent"},[r(n,{schema:l(j(e.properties)),name:m},null),v({onClick:()=>async function(e){if(d.value>1)d.value--,await i.value.remove(e);else{const o=i.value.query(`${f.value}.${e}`).take();if(!o||!t(o))return;await o.reset()}}(m),class:"form-render__combinationClose"},m)])))])}}));export{f as COMBINATION};
@@ -0,0 +1,2 @@
1
+ export * from './useDeepValidate';
2
+ export * from './useCombination';
@@ -0,0 +1 @@
1
+ export{useDeepValidate}from"./useDeepValidate.js";export{useCombination}from"./useCombination.js";
@@ -0,0 +1,8 @@
1
+ import { AnyObject } from '../../../../../../../../es/shared/types';
2
+ export declare function useCombination(props: AnyObject): {
3
+ deletableList: import("vue").Ref<boolean[]>;
4
+ currentGroupNum: import("vue").Ref<number>;
5
+ maxGroupNum: import("vue").ComputedRef<number>;
6
+ renderHeader: (attrs: AnyObject) => JSX.Element;
7
+ renderRemoveBtn: (attrs: AnyObject, idx: number) => JSX.Element;
8
+ };
@@ -0,0 +1 @@
1
+ import{ref as e,computed as o,watch as r,onBeforeUnmount as t,createVNode as a,mergeProps as m}from"vue";import{autorun as i}from"@formily/reactive";import{AddCircleOutline as n,RemoveCircle as l}from"@vicons/ionicons5";import{isNumber as u,isArray as c,isFunction as d}from"lodash-es";import{NButton as s,NIcon as p}from"naive-ui";import"../../../../../index.js";import{useFormField as v}from"../../../../hooks/useFormField.js";function f(f){const{field:b}=v(),x=e(1),h=o((()=>u(f.maxGroupNum)?f.maxGroupNum<1?0:~~f.maxGroupNum:1/0));r((()=>f.value),(e=>{c(e)&&(x.value=Math.min(Math.max(e.length,1),h.value))}),{immediate:!0});const G=e([]);return t(i((()=>{c(b.value.value)&&(G.value=b.value.value.map(((e,o)=>d(f.combinationItemDeletable)?f.combinationItemDeletable(e||{},o):f.combinationItemDeletable)))}))),{deletableList:G,currentGroupNum:x,maxGroupNum:h,renderHeader:function(e){return a("header",{class:"form-render__combinationHeader"},[a("div",{class:"form-render__combinationHeaderText"},[f.title]),a(s,m(e,{text:!0,style:{"--n-text-color":"var(--c-primary-color)"},disabled:x.value>=h.value||f.disabled}),{icon:()=>a(p,{component:n},null),default:()=>"新增"})])},renderRemoveBtn:function(e,o){return a(s,m(e,{text:!0,disabled:!G.value[o],type:"error",size:"small"}),{icon:()=>a(p,{component:l},null)})}}}export{f as useCombination};
@@ -0,0 +1,3 @@
1
+ export * from './combination';
2
+ export * from './tableCombination';
3
+ export * from './jsonCombination';
@@ -0,0 +1 @@
1
+ export{COMBINATION}from"./combination.js";export{TABLE_COMBINATION}from"./tableCombination.js";export{JSON_COMBINATION}from"./jsonCombination.js";
@@ -0,0 +1 @@
1
+ import{defineComponent as e,ref as o,computed as r,watch as t,onMounted as n,createVNode as i}from"vue";import{isField as l}from"@formily/core";import{Path as a}from"@formily/path";import{AddCircleOutline as u,RemoveCircle as s}from"@vicons/ionicons5";import{isNumber as m,range as p,isArray as c,isEqual as f}from"lodash-es";import"../../../../index.js";import{useDeepValidate as v}from"./hooks/useDeepValidate.js";import{connect as d,mapProps as y}from"@formily/vue";import{useDebounceFn as h,isObject as g}from"@vueuse/core";import{NButton as x,NIcon as b}from"naive-ui";import N from"../../../FormRender.vue.js";import{formRenderLog as _,mergeDeepProperties as C}from"../../../utils/index.js";import{assignUpdateValue as j}from"../../../utils/schema.js";const I=d(e({name:"FormJsonCombination",props:{title:{type:String,default:""},value:{type:[String,Array]},maxGroupNum:{type:Number},properties:{type:Array,default:()=>[]},onInput:{},onBlur:{},onChange:{}},emits:["update:value"],setup(e,{emit:d}){_("当前COMBINATION控件为json模式,推荐使用非json模式,FieldItem.jsonCombination=false");const y=h((function(){d("update:value",JSON.stringify(j.value))}),300),j=o([]),I=r((()=>j.value.length));function S(o,r=!1){c(o)&&(o.length||o.push({}),o=JSON.stringify(o));const t=function(e){try{if(!e)return null;const o=JSON.parse(e);return Array.isArray(o)?o:null}catch(e){return null}}(o);var n;(n=t)&&!f(n,j.value)&&(t.splice(O.value),t.forEach((function(o,t){if(!g(o))return;j.value[t]=o,r&&C(o,e.properties)})),j.value.splice(t.length),j.value.forEach(F))}t((()=>e.value),(e=>S(e))),n((()=>{S(e.value||"[{}]",!0),y()}));const A=o([]);function F(e,o){var r;null==(r=A.value[o])||r.setFieldState("*",(o=>{l(o)&&(o.value=a.getIn(e,o.path))}))}function J(){j.value.push(C({},e.properties)),y()}v().bindDeepValidate(A);const O=r((()=>m(e.maxGroupNum)?e.maxGroupNum<1?0:~~e.maxGroupNum:1/0));t(O,(e=>{I.value<=e||(j.value.splice(e),y(),A.value.splice(e))}),{immediate:!0});const G=N;return()=>i("section",{class:"form-render__combination"},[i("header",{class:"form-render__combinationHeader"},[i("div",{class:"form-render__combinationHeaderText"},[e.title]),i(x,{onClick:J,style:{"--n-text-color":"var(--c-primary-color)"},text:!0,disabled:I.value>=O.value},{icon:()=>i(b,{component:u},null),default:()=>"新增"})]),p(I.value).map(((o,r)=>i("section",{class:"form-render__combinationContentJson"},[i(G,{ref:e=>function(e,o){A.value[e]=o,F(j.value[e]||{},e)}(r,e),fieldList:e.properties,onFormChange:e=>function(e,{fieldKey:o,value:r}){!j.value[e]&&(j.value[e]={}),a.setIn(j.value[e],o,r),y()}(r,e)},null),i(x,{text:!0,class:"form-render__combinationClose",type:"error",onClick:()=>function(e){j.value.length>1?(j.value.splice(e,1),A.value.splice(e,1)):j.value.splice(e,1,{}),y()}(r)},{icon:()=>i(b,{component:s},null)})])))])}}),y(j));export{I as JSON_COMBINATION};
@@ -0,0 +1,61 @@
1
+ import { AnyObject } from '../../../../../../../es/shared/types';
2
+ import { PropType } from 'vue';
3
+ import { CombinationItemDeletableFn, FieldItem } from '../../../../../../../es/components/form-render';
4
+ export declare const TABLE_COMBINATION: import("vue").DefineComponent<{
5
+ title: {
6
+ type: StringConstructor;
7
+ default: string;
8
+ };
9
+ value: {
10
+ type: PropType<AnyObject[]>;
11
+ };
12
+ maxGroupNum: {
13
+ type: NumberConstructor;
14
+ };
15
+ disabled: {
16
+ type: BooleanConstructor;
17
+ };
18
+ properties: {
19
+ type: PropType<FieldItem[]>;
20
+ default: () => never[];
21
+ };
22
+ combinationItemDeletable: {
23
+ type: PropType<boolean | CombinationItemDeletableFn>;
24
+ default: boolean;
25
+ };
26
+ onInput: {};
27
+ onBlur: {};
28
+ onChange: {};
29
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
+ title: {
31
+ type: StringConstructor;
32
+ default: string;
33
+ };
34
+ value: {
35
+ type: PropType<AnyObject[]>;
36
+ };
37
+ maxGroupNum: {
38
+ type: NumberConstructor;
39
+ };
40
+ disabled: {
41
+ type: BooleanConstructor;
42
+ };
43
+ properties: {
44
+ type: PropType<FieldItem[]>;
45
+ default: () => never[];
46
+ };
47
+ combinationItemDeletable: {
48
+ type: PropType<boolean | CombinationItemDeletableFn>;
49
+ default: boolean;
50
+ };
51
+ onInput: {};
52
+ onBlur: {};
53
+ onChange: {};
54
+ }>> & {
55
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
56
+ }, {
57
+ disabled: boolean;
58
+ title: string;
59
+ combinationItemDeletable: boolean | CombinationItemDeletableFn;
60
+ properties: FieldItem[];
61
+ }>;
@@ -0,0 +1 @@
1
+ import{defineComponent as e,ref as o,onMounted as a,createVNode as t}from"vue";import{arrayed as l}from"../../../../../../shared/utils/index.js";import{isField as i}from"@formily/core";import{connect as r,mapProps as u}from"@formily/vue";import{isArray as n,property as s}from"lodash-es";import"../../../../index.js";import"../../../../../iho-table/index.js";import m from"../../../../../iho-table/src/IhoTable.vue.js";import{useCombination as p}from"./hooks/useCombination.js";import{assignUpdateValue as f}from"../../../utils/schema.js";import{useColumnConfigAdaptor as d}from"../../../../../iho-table/src/hooks/useColumnConfigAdaptor.js";import{useFormField as v}from"../../../hooks/useFormField.js";const c=r(e({name:"FormTableCombination",props:{title:{type:String,default:""},value:{type:Array},maxGroupNum:{type:Number},disabled:{type:Boolean},properties:{type:Array,default:()=>[]},combinationItemDeletable:{type:[Boolean,Function],default:!0},onInput:{},onBlur:{},onChange:{}},emits:["update:value"],setup(e,{emit:r}){const{formConfigLikeAdaptor:u}=d(),{fieldList:f,editRules:c}=u({fieldList:e.properties}),{currentGroupNum:h,renderRemoveBtn:b,renderHeader:y}=p(e),j=o({editRules:c}),g=o(e.value);async function C(){h.value++,n(g.value)?g.value.push({}):(g.value=[{}],r("update:value",g.value))}const x=f.concat({alias:"操作",columnName:"operation",width:60,isFixed:2,align:"center",slots:{default:({rowIndex:e})=>b({onClick:()=>async function(e){if(n(g.value))if(h.value>1)h.value--,g.value.splice(e,1);else if(1===g.value.length){const e=g.value[0];f.forEach((o=>{o.columnName&&(o.defaultValue?e[o.columnName]=o.defaultValue:Reflect.deleteProperty(e,o.columnName))}))}}(e)},e)}});a((()=>{if(!n(g.value))return g.value=[{}],void r("update:value",g.value);g.value.length||g.value.push({})}));const{field:N}=v(),k=o();async function F(){if(k.value)return Object.values(await k.value.$table.validate(!0)).map((e=>e.map(s("rule.message")))).join(",")}return a((()=>{if(!i(N.value))return;const e=N.value.validator;N.value.validator=[{validator:F},...e?l(e):[]]})),()=>t("section",{class:"form-render__combination"},[y({onClick:C}),t(m,{ref:k,fieldList:x,tableConfig:j.value,tableData:g.value},null)])}}),u(f));export{c as TABLE_COMBINATION};
@@ -1 +1 @@
1
- import*as s from"./combination.js";import*as t from"./complex.js";import*as o from"./date.js";import*as r from"./formItem.js";import*as m from"./input.js";import*as e from"./inputGroup.js";import*as i from"./inputNumber.js";import*as a from"./jsonCombination/index.js";import*as p from"./levelSearchCascader/index.js";import*as n from"./lineBar/index.js";import*as x from"./radio_checkbox.js";import*as c from"./remoteSearch.js";import*as f from"./searchCascade.js";import*as j from"./select.js";import*as d from"./simpleComponent.js";import*as l from"./slider.js";import*as u from"./switch.js";import*as h from"./textarea.js";import{separateMetaModule as b}from"../../../../../shared/utils/index.js";var C=b(Object.assign({"./combination.tsx":s,"./complex.tsx":t,"./date.tsx":o,"./formItem.tsx":r,"./input.tsx":m,"./inputGroup.ts":e,"./inputNumber.tsx":i,"./jsonCombination/index.tsx":a,"./levelSearchCascader/index.tsx":p,"./lineBar/index.ts":n,"./radio&checkbox.tsx":x,"./remoteSearch.tsx":c,"./searchCascade.tsx":f,"./select.tsx":j,"./simpleComponent.tsx":d,"./slider.tsx":l,"./switch.tsx":u,"./textarea.tsx":h}));export{C as default};
1
+ import*as s from"./combination/index.js";import*as r from"./complex.js";import*as t from"./date.js";import*as o from"./formItem.js";import*as e from"./input.js";import*as m from"./inputGroup.js";import*as a from"./inputNumber.js";import*as i from"./levelSearchCascader/index.js";import*as p from"./lineBar/index.js";import*as x from"./radio_checkbox.js";import*as n from"./remoteSearch.js";import*as c from"./searchCascade.js";import*as f from"./select.js";import*as d from"./simpleComponent.js";import*as j from"./slider.js";import*as l from"./switch.js";import*as u from"./textarea.js";import{separateMetaModule as h}from"../../../../../shared/utils/index.js";var b=h(Object.assign({"./combination/index.ts":s,"./complex.tsx":r,"./date.tsx":t,"./formItem.tsx":o,"./input.tsx":e,"./inputGroup.ts":m,"./inputNumber.tsx":a,"./levelSearchCascader/index.tsx":i,"./lineBar/index.ts":p,"./radio&checkbox.tsx":x,"./remoteSearch.tsx":n,"./searchCascade.tsx":c,"./select.tsx":f,"./simpleComponent.tsx":d,"./slider.tsx":j,"./switch.tsx":l,"./textarea.tsx":u}));export{b as default};
@@ -1,11 +1,11 @@
1
- import { Func } from '../../../../../../es/shared/types';
1
+ import { AnyFn } from '../../../../../../es/shared/types';
2
2
  import { PropType } from 'vue';
3
3
  export declare const INPUT_NUMBER: import("vue").DefineComponent<{
4
4
  value: {
5
5
  type: (NumberConstructor | StringConstructor)[];
6
6
  };
7
7
  onChange: {
8
- type: PropType<Func<any[], any>>;
8
+ type: PropType<AnyFn<any[], any>>;
9
9
  required: true;
10
10
  };
11
11
  prefix: {
@@ -19,7 +19,7 @@ export declare const INPUT_NUMBER: import("vue").DefineComponent<{
19
19
  type: (NumberConstructor | StringConstructor)[];
20
20
  };
21
21
  onChange: {
22
- type: PropType<Func<any[], any>>;
22
+ type: PropType<AnyFn<any[], any>>;
23
23
  required: true;
24
24
  };
25
25
  prefix: {
@@ -34,7 +34,7 @@ export declare const INPUT_NUMBER_SLASH: import("vue").DefineComponent<{
34
34
  type: (NumberConstructor | StringConstructor)[];
35
35
  };
36
36
  onChange: {
37
- type: PropType<Func<any[], any>>;
37
+ type: PropType<AnyFn<any[], any>>;
38
38
  required: true;
39
39
  };
40
40
  prefix: {
@@ -51,7 +51,7 @@ export declare const INPUT_NUMBER_SLASH: import("vue").DefineComponent<{
51
51
  type: (NumberConstructor | StringConstructor)[];
52
52
  };
53
53
  onChange: {
54
- type: PropType<Func<any[], any>>;
54
+ type: PropType<AnyFn<any[], any>>;
55
55
  required: true;
56
56
  };
57
57
  prefix: {
@@ -1,6 +1,5 @@
1
1
  import { AnyObject } from '../../../../../../../es/shared/types';
2
2
  import { PropType } from 'vue';
3
- declare type ValueType = string | AnyObject[];
4
3
  export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
5
4
  options: {
6
5
  type: PropType<AnyObject[]>;
@@ -54,7 +53,7 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
54
53
  };
55
54
  onChange: {};
56
55
  value: {
57
- type: PropType<ValueType>;
56
+ type: PropType<string | AnyObject[]>;
58
57
  };
59
58
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
60
59
  options: {
@@ -109,7 +108,7 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
109
108
  };
110
109
  onChange: {};
111
110
  value: {
112
- type: PropType<ValueType>;
111
+ type: PropType<string | AnyObject[]>;
113
112
  };
114
113
  }>> & {
115
114
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
@@ -120,4 +119,3 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
120
119
  lazyRequest: boolean;
121
120
  requestCache: boolean;
122
121
  }>;
123
- export {};
@@ -1 +1 @@
1
- import{defineComponent as e,computed as a,ref as t,inject as r,watch as o,createVNode as l}from"vue";import u from"../../../../../../shared/components/no-data/NoData.vue.js";import{connect as n,mapProps as i}from"@formily/vue";import{isEqual as s,isString as d,isNumber as v,isEmpty as c,isFunction as p}from"lodash-es";import"../../../../index.js";import{createCascaderUtils as y}from"./utils.js";import{InjectionAsyncQueue as m}from"../../../constants/index.js";import{useCommonInjection as h}from"../../../hooks/useCommonInjection.js";import f from"../../../../../search-cascader/index.js";import{formRenderLog as k}from"../../../utils/index.js";import{assignUpdateValue as g}from"../../../utils/schema.js";import{useFormField as j}from"../../../hooks/useFormField.js";import{useFormRequest as w}from"../../../hooks/useFormRequest.js";const b=n(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:n}){const i=a({get:()=>e.value,set(a){s(a,e.value)||n("update:value",a)}}),g=t(!1),b=t([]),{field:K,fieldKey:C}=j(),O=a((()=>{var a,t,r;return null!=(r=null==(t=null==(a=e.wordbook)?void 0:a.show_key)?void 0:t[0])?r:e.labelField})),_=a((()=>{var a,t;return null!=(t=null==(a=e.wordbook)?void 0:a.value_key)?t:e.valueField})),F=a((()=>{var a,t;return null==(t=null==(a=e.wordbook)?void 0:a.render_key)?void 0:t[0]})),S=a((()=>{var a;return(null==(a=e.wordbook)?void 0:a.level_num)||1/0})),q=y(_,O,F),x=r(m),{getSearchRequestInfo:I}=w(),L=t(150),A=t();async function P(a,t,r=!0){var o,l;if(L.value=t&&(null==(o=A.value)?void 0:o.getWidth())||150,q.shouldInitOptionList(i.value,a,t)){const[e,a]=q.transformListToChildren(i.value),t=e[Math.max(0,e.length-2)];if(i.value.length>1){b.value=a;const t=e[Math.max(0,e.length-2)];return await P(t,void 0,!1),t}if(null==(l=b.value)?void 0:l.length)return t}try{return q.isClickNodeCheckbox(a)?u(a):a?a.__keyword?async function(){var t;if(!d(a.id_link))return Promise.reject();const r=q.parseLinkFromString2List(a.id_link);v(S.value)&&S.value!==1/0&&r.splice(S.value);const o=await async function(a){if(!I().primaryKeyUrl)return[];try{return await x.addAsync(t(e.wordbook,e.autograph,a,C.value))}catch(e){d(e)&&k(e)}function t(a,t,r,o){const l=I();return{key:o,params:{autograph:t,tableId:a.id,primaryKeyValue:r.join(","),page:1},...l,url:l.primaryKeyUrl,cache:e.requestCache,payload:{field:K.value,labelKey:O.value,valueKey:_.value}}}}(r);if(!o)return Promise.reject();const{lastOption:l,options:u}=q.generateOptionWithIdList(o,r,S.value);if(u.length<S.value&&(await P(l),c(l.children)))return i.value=q.sortOptionWithIdList(o,r),g.value=!1,Promise.reject();return b.value=u,null==(t=A.value)||t.setCursor(l),l}():async function(){const t=await x.addAsync(n(e.wordbook,e.autograph,K.value,a,C.value));if(!t.length)return r?u(a):Promise.reject();a.children=t.map((e=>q.enrichChildOption(e,a,S.value)))}():async function(){var r;const o=await x.addAsync(n(e.wordbook,e.autograph,K.value,a,C.value));b.value=o.map((e=>q.enrichKeywordOption(e,t))),t&&(null==(r=A.value)||r.setCursor(b.value[0]))}()}catch(e){d(e)&&k(e)}function u(e){return i.value=q.createOptionValue(e),g.value=!1,Promise.reject()}function n(a,r,o,l,u){const n={autograph:()=>r,wordbookId:"id",wordbookType:"type",fieldKeys:()=>a.search_key?JSON.stringify(a.search_key):void 0,conObj:()=>JSON.stringify(q.createConfigObject(a,t,l)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>t,page:()=>1},i=Object.entries(n).reduce(((e,[t,r])=>(e[t]=d(r)?a[r]:p(r)?r():void 0,e)),{});return{...I(),params:i,key:u,cache:e.requestCache,payload:{field:o,labelKey:O.value,valueKey:_.value}}}}function V(){L.value=150}o((()=>e.wordbook),((a,t)=>{s(a,t)||(b.value=[],a&&(i.value||!e.lazyRequest)&&P())}),{immediate:!0});const{injectValueValidate:N,injectValueBindKey:R}=h();N(i);const U=R(i);return()=>l(f,{ref:A,value:i.value,"onUpdate:value":e=>i.value=e,show:g.value,"onUpdate:show":e=>g.value=e,options:b.value,key:U.value,labelKey:O.value,valueKey:_.value,search:P,onFocus:V,menuWidth:L.value},{empty:()=>l(u,null,null)})}}),i({dataSource:"options"},g));export{b as LEVEL_SEARCH_CASCADER};
1
+ import{defineComponent as e,inject as o,createVNode as t}from"vue";import a from"../../../../../../shared/components/no-data/NoData.vue.js";import"../../../../../../shared/utils/index.js";import"lodash-es";import"naive-ui";import"@vueuse/core";import"date-fns";import"@vue/shared";import{useLevelSearchCascader as r}from"../../../../../../shared/hooks/useLevelSearchCascader.js";import"@vueuse/shared";import"../../../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{connect as s,mapProps as u}from"@formily/vue";import"../../../../index.js";import{InjectionAsyncQueue as i}from"../../../constants/index.js";import{useCommonInjection as l}from"../../../hooks/useCommonInjection.js";import n from"../../../../../search-cascader/index.js";import{assignUpdateValue as d}from"../../../utils/schema.js";import{useFormField as m}from"../../../hooks/useFormField.js";const p=s(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:s}){const u=o(i),{field:d,fieldKey:p}=m(),{valueRef:c,labelKey:v,valueKey:f,optionsRef:h,showRef:y,fetchData:j,menuWidth:S,searchCascaderRef:g}=r(e,s,{fieldKey:p,asyncQueue:u,getRequestPayload:()=>({field:d.value})});function k(){S.value=150}const{injectValueValidate:C,injectValueBindKey:K}=l();C(c);const x=K(c);return()=>t(n,{ref:g,value:c.value,"onUpdate:value":e=>c.value=e,show:y.value,"onUpdate:show":e=>y.value=e,options:h.value,key:x.value,labelKey:v.value,valueKey:f.value,search:j,onFocus:k,menuWidth:S.value},{empty:()=>t(a,null,null)})}}),u({dataSource:"options"},d));export{p as LEVEL_SEARCH_CASCADER};
@@ -1,4 +1,4 @@
1
- import { AnyObject, Func } from '../../../../../../es/shared/types';
1
+ import { AnyObject, AnyFn } from '../../../../../../es/shared/types';
2
2
  import { PropType } from 'vue';
3
3
  import { UrlConfig } from '../../../../../../es/components/form-render';
4
4
  export declare const SEARCH_CASCADER: import("vue").DefineComponent<{
@@ -21,7 +21,7 @@ export declare const SEARCH_CASCADER: import("vue").DefineComponent<{
21
21
  default: boolean;
22
22
  };
23
23
  onFocus: {
24
- type: PropType<Func<any[], any>>;
24
+ type: PropType<AnyFn<any[], any>>;
25
25
  };
26
26
  filterable: {
27
27
  type: BooleanConstructor;
@@ -61,7 +61,7 @@ export declare const SEARCH_CASCADER: import("vue").DefineComponent<{
61
61
  default: boolean;
62
62
  };
63
63
  onFocus: {
64
- type: PropType<Func<any[], any>>;
64
+ type: PropType<AnyFn<any[], any>>;
65
65
  };
66
66
  filterable: {
67
67
  type: BooleanConstructor;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{connect as u,mapProps as i}from"@formily/vue";import{isEqual as s,isArray as c,isString as p}from"lodash-es";import{NCascader as d}from"naive-ui";import"../../../index.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as v,InjectionFormUUID as f}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"@formily/core";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"@vueuse/core";import"date-fns";import{assignUpdateValue as y,createVisitedSetter as h,traverseDependKey as k}from"../../utils/schema.js";import{useFormField as j}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"./index.js";import"../../hooks/useFormRenderOptions.js";const g=u(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:u,emit:i}){const y=t(),{field:g,title:b}=j(),S=t(1),C=t(!0);const w=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[F.value])).slice(-1).join(""),l=t.map((e=>e[w.value])).join(" / ");return a||l}catch(e){return null}}));function H(e,t,a){i("update:value",c(a)?a.map((function(e){return{...e,label:e[w.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const q=l(v);async function x(t){e.filterable?await async function(){if(!e.urlConfig||y.value&&e.requestCache)return;const t=await q.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:b.value,cache:e.requestCache,payload:{field:g.value,labelKey:w.value,valueKey:F.value}});function a(e,t,r){const o=[...r,...l(e)],n={[w.value]:e[w.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:o};return c(e.children)&&(n.children=e.children.map((e=>a(e,t+1,o))),n.isLeaf=!e.children.length),S.value=Math.max(S.value,t+1),n}function l(e){let t=[];if(p(e[w.value])&&(t=[...t,e[w.value]]),p(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}y.value=t.map((e=>a(e,0,[])))}():await async function(t){if(r(e,t))return;const a=await q.addAsync(o(s(t),i(e),b.value,t));if(!a.length&&t)return t.isLeaf=!0,H(0,0,n(t)),void(O.value=!1);const l=a.map((e=>u(e,s(t))));function r(e,t){return!i(e)||!t&&y.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[w.value]:a[w.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:y.value=l}(t),await B()}const V=`form-render__cascade--menu-${l(f)}`;async function B(){await n();const e=document.querySelector(`.${V} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function K(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;return!(e.checkStrategy.includes("child")&&a.depth<S.value)&&(l.length>0&&l.some((e=>e.includes(t.trim()))))}const{injectValueValidate:L,injectValueWatchFromEmpty:I,injectValueBindKey:E}=m();I((()=>e.value),x),L((()=>e.value)),r((()=>e.urlConfig),(async(t,a)=>{s(t,a)||(y.value=null,C.value?e.lazyRequest||(x(),C.value=!C.value):await x())}),{immediate:!0});const O=t(!1);function R(e){O.value=!!e,e&&x()}const W=a((()=>y.value||e.options||[])),z=a((()=>!e.filterable)),N=E(A);return()=>o(d,{key:N.value,remote:z.value,filterable:e.filterable,"menu-props":{class:V,onClick:B},"check-strategy":e.checkStrategy,show:!!O.value,"onUpdate:show":R,value:A.value,filter:K,"onUpdate:value":H,labelField:w.value,valueField:F.value,options:W.value,onLoad:x,onFocus:h(g)},u)}}),i({dataSource:"options"},y));export{g as SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{connect as u,mapProps as i}from"@formily/vue";import{isEqual as s,isArray as c,isString as p}from"lodash-es";import{NCascader as d}from"naive-ui";import"../../../index.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as v,InjectionFormUUID as f}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"@formily/core";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"@vueuse/core";import"date-fns";import{assignUpdateValue as y,createVisitedSetter as h,traverseDependKey as k}from"../../utils/schema.js";import{useFormField as j}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"@vueuse/shared";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import"./index.js";const g=u(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:u,emit:i}){const y=t(),{field:g,title:b}=j(),S=t(1),C=t(!0);const w=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[F.value])).slice(-1).join(""),l=t.map((e=>e[w.value])).join(" / ");return a||l}catch(e){return null}}));function H(e,t,a){i("update:value",c(a)?a.map((function(e){return{...e,label:e[w.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const q=l(v);async function x(t){e.filterable?await async function(){if(!e.urlConfig||y.value&&e.requestCache)return;const t=await q.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:b.value,cache:e.requestCache,payload:{field:g.value,labelKey:w.value,valueKey:F.value}});function a(e,t,r){const o=[...r,...l(e)],n={[w.value]:e[w.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:o};return c(e.children)&&(n.children=e.children.map((e=>a(e,t+1,o))),n.isLeaf=!e.children.length),S.value=Math.max(S.value,t+1),n}function l(e){let t=[];if(p(e[w.value])&&(t=[...t,e[w.value]]),p(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}y.value=t.map((e=>a(e,0,[])))}():await async function(t){if(r(e,t))return;const a=await q.addAsync(o(s(t),i(e),b.value,t));if(!a.length&&t)return t.isLeaf=!0,H(0,0,n(t)),void(W.value=!1);const l=a.map((e=>u(e,s(t))));function r(e,t){return!i(e)||!t&&y.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[w.value]:a[w.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:y.value=l}(t),await B()}const V=`form-render__cascade--menu-${l(f)}`;async function B(){await n();const e=document.querySelector(`.${V} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function K(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;return!(e.checkStrategy.includes("child")&&a.depth<S.value)&&(l.length>0&&l.some((e=>e.includes(t.trim()))))}const{injectValueValidate:L,injectValueWatchFromEmpty:I,injectValueBindKey:E}=m();I((()=>e.value),x),L((()=>e.value)),r((()=>e.urlConfig),(async(t,a)=>{s(t,a)||(y.value=null,C.value?e.lazyRequest||(x(),C.value=!C.value):await x())}),{immediate:!0});const W=t(!1);function z(e){W.value=!!e,e&&x()}const N=a((()=>y.value||e.options||[])),O=a((()=>!e.filterable)),P=E(A);return()=>o(d,{key:P.value,remote:O.value,filterable:e.filterable,"menu-props":{class:V,onClick:B},"check-strategy":e.checkStrategy,show:!!W.value,"onUpdate:show":z,value:A.value,filter:K,"onUpdate:value":H,labelField:w.value,valueField:F.value,options:N.value,onLoad:x,onFocus:h(g)},u)}}),i({dataSource:"options"},y));export{g as SEARCH_CASCADER};
@@ -1,8 +1,8 @@
1
+ import { FormRequestDefine } from '../../../../../../es/shared/hooks';
1
2
  import { AnyObject, ArrayAble } from '../../../../../../es/shared/types';
3
+ import { PropType } from 'vue';
2
4
  import { RecommendItem } from '../../../../../../es/components/recommend-search/src/types';
3
- import { RecommendIds } from '../../hooks';
4
5
  import { UrlConfig } from '../../types';
5
- import { PropType } from 'vue';
6
6
  export declare const SELECT: import("vue").DefineComponent<{
7
7
  value: {
8
8
  type: PropType<ArrayAble<string | number> | null>;
@@ -81,7 +81,7 @@ export declare const SELECT: import("vue").DefineComponent<{
81
81
  type: PropType<RecommendItem[]>;
82
82
  };
83
83
  getRecommendInfo: {
84
- type: PropType<() => RecommendIds>;
84
+ type: PropType<() => FormRequestDefine.RecommendIds>;
85
85
  };
86
86
  commonNum: {
87
87
  type: NumberConstructor;
@@ -187,7 +187,7 @@ export declare const SELECT: import("vue").DefineComponent<{
187
187
  type: PropType<RecommendItem[]>;
188
188
  };
189
189
  getRecommendInfo: {
190
- type: PropType<() => RecommendIds>;
190
+ type: PropType<() => FormRequestDefine.RecommendIds>;
191
191
  };
192
192
  commonNum: {
193
193
  type: NumberConstructor;
@@ -229,11 +229,11 @@ export declare const SELECT: import("vue").DefineComponent<{
229
229
  deletable: boolean;
230
230
  selectAll: boolean;
231
231
  shouldSave: boolean;
232
+ allowCreate: boolean;
232
233
  recommend: boolean;
233
234
  recommendCache: boolean;
234
235
  commonNum: number;
235
236
  recentNum: number;
236
- allowCreate: boolean;
237
237
  useLoading: boolean;
238
238
  showCustomValue: boolean;
239
239
  cursorPlacement: "end" | "start";
@@ -1 +1 @@
1
- import{defineComponent as e,computed as l,inject as t,useAttrs as a,ref as o,createVNode as u,mergeProps as n,toRaw as r,nextTick as s,createTextVNode as i}from"vue";import{arrayed as p}from"../../../../../shared/utils/index.js";import{HelpCircleSharp as m}from"@vicons/ionicons5";import{promiseTimeout as c}from"@vueuse/shared";import{cloneDeep as d,isArray as v,isString as f,isObject as y,omit as h,xor as g}from"lodash-es";import{useCommonInjection as S,useSelectOptionProps as b}from"../../hooks/useCommonInjection.js";import{useComplexOptions as j,useComplexOptionsSpan as C}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as w,InjectionFormUUID as k}from"../../constants/index.js";import"../../../index.js";import"@formily/core";import"@formily/path";import"@vue/shared";import"@vueuse/core";import{NSelect as B,NTooltip as F,NIcon as x,NTag as A,NButton as O}from"naive-ui";import"date-fns";import{assignUpdateValue as H,assignClearBindVisited as P,createVisitedSetter as R}from"../../utils/schema.js";import{useFormField as V}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 K,mapProps as L}from"@formily/vue";import"./index.js";import{useUrlConfigOptions as E,useAutographOptions as _,useRecommendOptions as I,searchContentMatcher as N}from"../../hooks/useFormRenderOptions.js";const q=K(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},deletable:{type:Boolean,default:!0},selectAll:{type:Boolean}},emits:["update:value","postRecommend"],setup(e,{slots:H,emit:P}){const K=l({get:()=>e.value,async set(e){P("update:value",e),Y(e)}}),L=l((()=>(e.multiple&&e.allowModify&&console.warn("多选模式下不支持allowModify"),!e.multiple&&e.allowModify))),{labelKey:q,valueKey:M,showKey:z,fetchData:W,searchContent:U,fullOptions:D,filterOptions:T,remoteOptions:$,loading:G}=e.urlConfig?E(e,K):_(e,K),{renderComplexOption:J,hasComplexOption:Q}=j(e,K),{getRecommend:X,postRecommend:Y,sortedOptions:Z}=I(e,T,P,q,M),{field:ee,fieldKey:le}=V();t(w).setContext(le.value,(e=>({currentOption:d(function(e){const l=pe(D.value);return v(e)?function(e){const t=l.reduce(((e,l)=>(e[l[M.value]]=l,e)),{});return e.map((e=>t[e]))}(e):(t=e,l.find((e=>e[M.value]===t)));var t}(e))})));const te=async(e="")=>(U.value=e,Promise.allSettled([W(e),X(e)])),{injectValueValidate:ae,injectValueWatchFromEmpty:oe,injectValueBindKey:ue}=S();oe(K,te),ae(K);const ne=ue(K),{menuProps:re,nodeProps:se}=b();function ie(e){const l=e[q.value];if(!l||!f(l))return"";const t=U.value?N(U.value,l):null,a=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"}},[a,e.desc?u(F,null,{trigger:()=>u(x,{component:m},null),default:()=>e.desc}):null]):a}function pe(l){return e.allowCreate&&U.value&&!l.some((e=>e[q.value]===U.value))?[...l,{[q.value]:U.value,[M.value]:U.value,created:!0,shouldSave:e.shouldSave}]:l}const me=l((()=>pe(L.value?D.value:Z.value))),ce=a(),de=l((()=>{if(e.allowCreate||e.showCustomValue)return K.value;const l=e.multiple&&v(K.value);return D.value.find((e=>l?K.value.includes(e[M.value]):e[M.value]===K.value))?K.value:null})),ve=o(!1);async function fe(e){e&&await te(),ve.value=e}let ye=null;async function he(l,t){K.value=l,ye&&y(t)&&L.value&&(ye.focus(),await s(),ye.value=t[q.value]||"",ye.dispatchEvent(new CustomEvent("input")),"start"===e.cursorPlacement&&ye.setSelectionRange(0,0)),$.value&&t&&p(t).forEach((e=>{if(!y(e))return;const l=e;l.created&&l.shouldSave&&$.value.push(h(r(l),["created","shouldSave"]))}))}const ge=t(k),{getSpan:Se}=C(),be=R(ee,(async l=>{var t,a,o;L.value&&(ye=l.target,ye&&K.value&&(await s(),ye.value=null!=(o=null!=(a=null==(t=D.value.find((e=>e[M.value]===K.value)))?void 0:t[q.value])?a:K.value)?o:"",ye.dispatchEvent(new CustomEvent("input")),"start"===e.cursorPlacement&&(await c(0),ye.setSelectionRange(0,0))))}));function je(e){if(!L.value)return;if(ye=e.target,!ye)return;if(!ye.value)return K.value=null;const l=D.value.find((e=>e[q.value]===ye.value));l?K.value=l[M.value]:(U.value=ye.value,K.value=ye.value)}const Ce=o("");function we({option:l,handleClose:t}){var a;const o=null!=(a=z.value&&l[z.value])?a:l[q.value];return e.multiple?(Ce.value="",e.deletable?u(A,{closable:!0,onClose:e=>{e.stopPropagation(),t()}},{default:()=>u("span",{title:o},[o])}):`${o} ;`):(Ce.value=o,o)}function ke(l){if(!e.multiple)return;const t=l?me.value.map((e=>e[M.value])):[];g(t,e.value).length&&(K.value=t)}function Be(){return[u(O,{quaternary:!0,type:"primary",size:"tiny",onClick:()=>ke(!0)},{default:()=>[i("全选")]}),u(O,{quaternary:!0,type:"primary",size:"tiny",onClick:()=>ke(!1)},{default:()=>[i("清空")]})]}function Fe(l){let t=H;return e.multiple&&e.selectAll&&(t={action:Be,...H}),u(B,n({title:Ce.value,key:ne.value,multiple:e.multiple,remote:!0,filterable:!0,loading:G.value,value:de.value,onUpdateValue:he,"menu-props":re,"node-props":se,labelField:q.value,valueField:M.value,options:me.value,onSearch:te,show:ve.value,"onUpdate:show":fe,onFocus:be,onBlur:je,renderLabel:ie,renderTag:we},l,ce),t)}return()=>{var e,l;if(!Q.value)return Fe();const t=null!=(l=null==(e=ee.value.decoratorProps)?void 0:e.span)?l:6,a=Se(ge,ee.value.address);return u("section",{class:"form-render__selectChildField",style:{"--column":a+t}},[Fe({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),D.value.map((e=>J({option:e,value:K.value,valueKey:M.value,labelKey:q.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":a}}})))])}}}),L({dataSource:"options"},H,P));export{q as SELECT};
1
+ import{defineComponent as e,computed as o,inject as t,useAttrs as l,ref as a,createVNode as r,mergeProps as s,toRaw as n}from"vue";import{arrayed as u}from"../../../../../shared/utils/index.js";import{cloneDeep as i,isArray as p,isObject as m,omit as d,xor as c}from"lodash-es";import{NSelect as f}from"naive-ui";import"@vueuse/core";import"date-fns";import"@vue/shared";import{useSelectAllowModify as v}from"../../../../../shared/hooks/selectHooks/useSelectAllowModify.js";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import{useSelectRenders as y}from"../../../../../shared/hooks/selectHooks/useSelectRenders.js";import{connect as h,mapProps as b}from"@formily/vue";import{useCommonInjection as j,useSelectOptionProps as S}from"../../hooks/useCommonInjection.js";import{useComplexOptions as k,useComplexOptionsSpan as g}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as C,InjectionFormUUID as B}from"../../constants/index.js";import"../../../index.js";import"@formily/core";import"@formily/path";import"@vicons/ionicons5";import{assignUpdateValue as F,assignClearBindVisited as A,createVisitedSetter as w}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"./index.js";import{useUrlConfigOptions as O,useAutographOptions as K,useRecommendOptions as R}from"../../hooks/useFormRenderOptions.js";const x=h(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},deletable:{type:Boolean,default:!0},selectAll:{type:Boolean}},emits:["update:value","postRecommend"],setup(e,{slots:h,emit:b}){const F=o({get:()=>e.value,async set(e){b("update:value",e),D(e)}}),{labelKey:A,valueKey:x,showKey:V,fetchData:L,searchContent:P,fullOptions:_,filterOptions:N,remoteOptions:I,loading:W}=e.urlConfig?O(e,F):K(e,F),{modifyEvent:E,modifyAbleRef:q,getOptionsWithCreated:M}=v(e,{searchContent:P,labelKey:A,valueKey:x,valueRef:F,fullOptions:_}),{renderComplexOption:T,hasComplexOption:U}=k(e,F),{getRecommend:z,postRecommend:D,sortedOptions:G}=R(e,N,b,A,x),{field:J,fieldKey:Q}=H();t(C).setContext(Q.value,(e=>({currentOption:i(function(e){const o=M(_.value);return p(e)?function(e){const t=o.reduce(((e,o)=>(e[o[x.value]]=o,e)),{});return e.map((e=>t[e]))}(e):(t=e,o.find((e=>e[x.value]===t)));var t}(e))})));const X=async(e="")=>(P.value=e,Promise.allSettled([L(e),z(e)])),{injectValueValidate:Y,injectValueWatchFromEmpty:Z,injectValueBindKey:$}=j();Z(F,X),Y(F);const ee=$(F),{menuProps:oe,nodeProps:te}=S(),{renderTag:le,renderLabel:ae,renderSelectAll:re,titleRef:se}=y(e,{labelKey:A,valueKey:x,valueRef:F,showKey:V,searchContent:P}),ne=o((()=>M(q.value?_.value:G.value))),ue=l(),ie=o((()=>{if(e.allowCreate||e.showCustomValue)return F.value;const o=e.multiple&&p(F.value);return _.value.find((e=>o?F.value.includes(e[x.value]):e[x.value]===F.value))?F.value:null})),pe=a(!1);async function me(e){e&&await X(),pe.value=e}async function de(e,o){await E.updateValue(e,o),I.value&&o&&u(o).forEach((e=>{if(!m(e))return;const o=e;o.created&&o.shouldSave&&I.value.push(d(n(o),["created","shouldSave"]))}))}const ce=t(B),{getSpan:fe}=g(),ve=w(J,E.focus);function ye(o){if(!e.multiple)return;const t=o?ne.value.map((e=>e[x.value])):[];c(t,e.value).length&&(F.value=t)}function he(o){let t=h;return e.multiple&&e.selectAll&&(t={action:()=>re(ye),...h}),r(f,s({title:se.value,key:ee.value,multiple:e.multiple,remote:!0,filterable:!0,loading:W.value,value:ie.value,onUpdateValue:de,"menu-props":oe,"node-props":te,labelField:A.value,valueField:x.value,options:ne.value,onSearch:X,show:pe.value,"onUpdate:show":me,onFocus:ve,onBlur:E.blur,renderLabel:ae,renderTag:le},o,ue),t)}return()=>{var e,o;if(!U.value)return he();const t=null!=(o=null==(e=J.value.decoratorProps)?void 0:e.span)?o:6,l=fe(ce,J.value.address);return r("section",{class:"form-render__selectChildField",style:{"--column":l+t}},[he({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),_.value.map((e=>T({option:e,value:F.value,valueKey:x.value,labelKey:A.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":l}}})))])}}}),b({dataSource:"options"},F,A));export{x as SELECT};
@@ -1,12 +1,13 @@
1
+ import { FormRequestDefine } from '../../../../../es/shared/hooks';
1
2
  import { Nullable } from '../../../../../es/shared/types';
2
3
  import { GeneralField } from '@formily/core';
3
4
  import { AnnotationItem } from '../../../../../es/components/annotation-edit/src/type';
4
5
  import { ContextCollector } from '../../../../../es/components/form-render/src/hooks/useChangeContext';
5
6
  import { useFormRenderLifeCycle } from '../../../../../es/components/form-render/src/hooks/useFormRenderLifeCycle';
6
7
  import { BusinessCollector, FormItemDepsCollector } from '../hooks';
7
- import { FormAsyncQueue, FormRenderProps } from '../types';
8
+ import { FormRenderProps } from '../types';
8
9
  import { Component, InjectionKey, WritableComputedRef } from 'vue';
9
- export declare const InjectionAsyncQueue: InjectionKey<FormAsyncQueue>;
10
+ export declare const InjectionAsyncQueue: InjectionKey<FormRequestDefine.FormAsyncQueue>;
10
11
  export declare const InjectionSchemaField: InjectionKey<Component>;
11
12
  export declare const InjectionBusinessCollector: InjectionKey<BusinessCollector>;
12
13
  export declare const InjectionChangeContextCollector: InjectionKey<ContextCollector>;
@@ -1,8 +1,6 @@
1
1
  export * from './useFieldListAdaptor';
2
- export * from './useFormRequest';
3
2
  export * from './useCommonLog';
4
3
  export * from './useFormField';
5
- export * from './useFormAsyncQueue';
6
4
  export * from './useFieldVisitor';
7
5
  export * from './useFieldNormalize';
8
6
  export * from './useFormValidator';
@@ -1 +1 @@
1
- export{useFieldListAdaptor}from"./useFieldListAdaptor.js";export{useFormRequest}from"./useFormRequest.js";export{useCommonLog}from"./useCommonLog.js";export{useFormField}from"./useFormField.js";export{useFormAsyncQueue}from"./useFormAsyncQueue.js";export{useFieldVisitor}from"./useFieldVisitor.js";export{useFieldNormalize}from"./useFieldNormalize.js";export{useFormValidator,validateMessageLocale}from"./useFormValidator.js";export{BusinessCollector,useBusinessBinding}from"./useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./useChangeContext.js";export{FormItemDepsCollector,useFormItemDeps}from"./useFormItemDeps.js";export{useAnchor}from"./useAnchor.js";export{useFormContext}from"./useFormContext.js";export{useCommonInjection,useSelectOptionProps}from"./useCommonInjection.js";export{searchContentMatcher,useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./useFormRenderOptions.js";
1
+ export{useFieldListAdaptor}from"./useFieldListAdaptor.js";export{useCommonLog}from"./useCommonLog.js";export{useFormField}from"./useFormField.js";export{useFieldVisitor}from"./useFieldVisitor.js";export{useFieldNormalize}from"./useFieldNormalize.js";export{useFormValidator,validateMessageLocale}from"./useFormValidator.js";export{BusinessCollector,useBusinessBinding}from"./useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./useChangeContext.js";export{FormItemDepsCollector,useFormItemDeps}from"./useFormItemDeps.js";export{useAnchor}from"./useAnchor.js";export{useFormContext}from"./useFormContext.js";export{useCommonInjection,useSelectOptionProps}from"./useCommonInjection.js";export{useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./useFormRenderOptions.js";
@@ -1,8 +1,8 @@
1
- import { Func, UndefinedAble } from '../../../../../es/shared/types';
1
+ import { AnyFn, UndefinedAble } from '../../../../../es/shared/types';
2
2
  import { Form, GeneralField } from '@formily/core';
3
3
  import { Ref } from 'vue';
4
4
  import { FormItemDepsCollector, FormRenderProps } from '../../../../../es/components/form-render';
5
- export declare function useAnchor(props: Readonly<FormRenderProps>, emit: Func, scrollbarRef: Ref<UndefinedAble<HTMLElement>>, collector: FormItemDepsCollector): {
5
+ export declare function useAnchor(props: Readonly<FormRenderProps>, emit: AnyFn, scrollbarRef: Ref<UndefinedAble<HTMLElement>>, collector: FormItemDepsCollector): {
6
6
  currentAnchor: import("vue").WritableComputedRef<string>;
7
7
  onScroll: (scrollEvent: Event) => void;
8
8
  anchorIdList: Ref<{
@@ -13,6 +13,6 @@ export declare function useAnchor(props: Readonly<FormRenderProps>, emit: Func,
13
13
  updateAnchorList: (field: GeneralField) => void;
14
14
  scrollTo: (id: string) => Promise<void>;
15
15
  anchorBarRef: Ref<{
16
- syncBarPosition: Func;
16
+ syncBarPosition: AnyFn;
17
17
  } | undefined>;
18
18
  };
@@ -1,8 +1,8 @@
1
- import { Func } from '../../../../../es/shared/types';
1
+ import { AnyFn } from '../../../../../es/shared/types';
2
2
  import { WatchSource } from '@vue/runtime-core';
3
3
  export declare function useCommonInjection(): {
4
4
  injectValueValidate: (traverser: WatchSource) => void;
5
- injectValueWatchFromEmpty: (traverser: WatchSource, trigger: Func) => void;
5
+ injectValueWatchFromEmpty: (traverser: WatchSource, trigger: AnyFn) => void;
6
6
  injectValueBindKey: (traverser: WatchSource) => import("vue").Ref<number>;
7
7
  };
8
8
  export declare function useSelectOptionProps(): {
@@ -1,9 +1,9 @@
1
- import { BusinessCollector, FormRenderProps } from '../../../../../es/components/form-render';
1
+ import { BusinessCollector, FormRenderProps, FormRenderLifeCycle } from '../../../../../es/components/form-render';
2
2
  import { FieldItem } from '../types';
3
3
  /**
4
4
  * @description 胶水层, 将低代码平台中的fieldList转换为JSONSchema
5
5
  */
6
- export declare function useFieldListAdaptor(collector?: BusinessCollector): {
6
+ export declare function useFieldListAdaptor(collector?: BusinessCollector, hooks?: FormRenderLifeCycle): {
7
7
  schemaAdaptor: (fieldList: FieldItem[], options?: FormRenderProps) => Record<string, import("@formily/json-schema/esm/types").Stringify<{
8
8
  [key: symbol]: any;
9
9
  [key: `x-${string}`]: any;