cnhis-design-vue 3.3.1-beta.0 → 3.3.1-beta.1

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 (87) hide show
  1. package/es/components/ai-chat/index.d.ts +17 -147
  2. package/es/components/ai-chat/src/Index.vue.d.ts +17 -147
  3. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  4. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  5. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +2 -55
  6. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  7. package/es/components/ai-chat/src/components/ChatMain.d.ts +7 -1
  8. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  9. package/es/components/ai-chat/src/utils/index.d.ts +0 -1
  10. package/es/components/ai-chat/src/utils/index.js +1 -1
  11. package/es/components/ai-chat/style/index.css +1 -1
  12. package/es/components/audio-sdk/src/audioSDK.d.ts +7 -6
  13. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  14. package/es/components/audio-sdk/src/utils/recordingModal.d.ts +1 -2
  15. package/es/components/audio-sdk/src/utils/recordingModal.js +1 -1
  16. package/es/components/callback/src/components/render/popupMaps.d.ts +7 -1
  17. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  18. package/es/components/editor/src/Editor.js +1 -1
  19. package/es/components/editor/style/index.css +0 -1
  20. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  21. package/es/components/field-editor/index.d.ts +7 -1
  22. package/es/components/field-editor/src/FieldEditor.vue.d.ts +7 -1
  23. package/es/components/form-config/index.d.ts +33 -3
  24. package/es/components/form-config/src/FormConfig.vue.d.ts +33 -3
  25. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +7 -1
  26. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +13 -1
  27. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +7 -1
  28. package/es/components/form-render/index.d.ts +7 -1
  29. package/es/components/form-render/index.js +1 -1
  30. package/es/components/form-render/src/FormRender.vue.d.ts +7 -1
  31. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  32. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +7 -1
  33. package/es/components/form-render/src/components/renderer/date.d.ts +2 -0
  34. package/es/components/form-render/src/components/renderer/date.js +1 -1
  35. package/es/components/form-render/src/components/renderer/input.d.ts +5 -0
  36. package/es/components/form-render/src/components/renderer/input.js +1 -1
  37. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +2 -0
  38. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +2 -0
  39. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  40. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +4 -0
  41. package/es/components/form-render/src/types/index.d.ts +2 -0
  42. package/es/components/form-render/src/utils/index.d.ts +1 -0
  43. package/es/components/form-render/src/utils/index.js +1 -1
  44. package/es/components/form-render/style/index.css +1 -1
  45. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.d.ts +7 -0
  46. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.js +1 -1
  47. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  48. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +1 -2
  49. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -1
  50. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  51. package/es/components/iho-table/src/types/index.d.ts +1 -0
  52. package/es/components/index.css +1 -1
  53. package/es/components/index.js +1 -1
  54. package/es/components/info-header/index.d.ts +24 -2
  55. package/es/components/info-header/src/InfoHeader.vue.d.ts +24 -2
  56. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +2 -0
  57. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +2 -0
  58. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +9 -1
  59. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +7 -1
  60. package/es/components/shortcut-setter/index.d.ts +7 -1
  61. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +7 -1
  62. package/es/shared/components/DateIcon/DateIcon.vue.js +1 -0
  63. package/es/shared/components/DateIcon/index.d.ts +2 -0
  64. package/es/shared/components/DateIcon/index.js +1 -0
  65. package/es/shared/package.json.js +1 -1
  66. package/package.json +2 -2
  67. package/es/components/ai-chat/src/api/index.d.ts +0 -6
  68. package/es/components/ai-chat/src/api/index.js +0 -1
  69. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +0 -44
  70. package/es/components/ai-chat/src/components/ChatAudio.vue.js +0 -1
  71. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +0 -1
  72. package/es/components/ai-chat/src/components/ChatMainInner.d.ts +0 -2
  73. package/es/components/ai-chat/src/components/ChatMainInner.js +0 -1
  74. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +0 -56
  75. package/es/components/ai-chat/src/components/ChatRight.vue.js +0 -1
  76. package/es/components/ai-chat/src/components/ChatRight.vue2.js +0 -1
  77. package/es/components/ai-chat/src/components/card/JsonCard.d.ts +0 -25
  78. package/es/components/ai-chat/src/components/card/JsonCard.js +0 -1
  79. package/es/components/ai-chat/src/components/card/SelectIcon.d.ts +0 -14
  80. package/es/components/ai-chat/src/components/card/SelectIcon.js +0 -1
  81. package/es/components/ai-chat/src/hooks/useProgram.d.ts +0 -6
  82. package/es/components/ai-chat/src/hooks/useProgram.js +0 -1
  83. package/es/components/ai-chat/src/hooks/useWebsocket.d.ts +0 -2
  84. package/es/components/ai-chat/src/hooks/useWebsocket.js +0 -1
  85. package/es/shared/assets/img/file-emr.png.js +0 -1
  86. package/es/shared/assets/img/file.png.js +0 -1
  87. package/es/shared/assets/img/use.png.js +0 -1
@@ -1 +1 @@
1
- import{COMPONENT_NAMESPACE as e}from"../../shared/global/variable.js";import{safeComponentRegister as o}from"../../shared/utils/index.js";import s from"./src/FormRenderWrapper.vue.js";export{useAnchor}from"./src/hooks/useAnchor.js";export{BusinessCollector,useBusinessBinding}from"./src/hooks/useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./src/hooks/useChangeContext.js";export{useCommonInjection,useSelectOptionProps}from"./src/hooks/useCommonInjection.js";export{useCommonLog}from"./src/hooks/useCommonLog.js";export{useComplexOptions,useComplexOptionsSpan}from"./src/hooks/useComplexOptions.js";export{useFieldListAdaptor}from"./src/hooks/useFieldListAdaptor.js";export{useFieldNormalize}from"./src/hooks/useFieldNormalize.js";export{useFieldVisitor}from"./src/hooks/useFieldVisitor.js";export{useFormContext}from"./src/hooks/useFormContext.js";export{useFormDomEvent,useFormExposeEvent}from"./src/hooks/useFormEvent.js";export{useFormField}from"./src/hooks/useFormField.js";export{useFormGraph}from"./src/hooks/useFormGraph.js";export{FormItemDepsCollector,useFormItemDeps}from"./src/hooks/useFormItemDeps.js";export{useFormRenderLifeCycle}from"./src/hooks/useFormRenderLifeCycle.js";export{useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./src/hooks/useFormRenderOptions.js";export{useFormValidator,validateMessageLocale}from"./src/hooks/useFormValidator.js";export{useLowCodeEvent}from"./src/hooks/useLowCodeEvent.js";export{useLowCodeReactions}from"./src/hooks/useLowCodeReactions.js";export{useNuiThemeOverrides}from"./src/hooks/useNuiThemeOverrides.js";export{useOperationalForm}from"./src/hooks/useOperationalForm.js";export{usePresetScope}from"./src/hooks/usePresetScope.js";export{useWordbookSetting,wordbookSettingHandler}from"./src/hooks/useWordbookSetting.js";export{useNewLowCodeReactions}from"./src/hooks/useNewLowCodeReactions.js";export{useSelectedSetting}from"./src/hooks/useSelectedSetting.js";export{FieldListFilter,combineExtendKey,createInputSlot,createSlot,editorUnescape,findItemByValCondition,formRenderLog,getAbsoluteKey,injectOrProvide,isEnter,isNegative,isNestedFieldType,isNestedType,isPositive,mergeDeepProperties,parseEnhanceText,parseNumberFromMaybeString,renderDescOption,renderOptionLabel,replace2Any,splitExtendKey,validateMessageParser}from"./src/utils/index.js";export{businessDateParser,isForeignerID,isIdCard,isMobile,parseAge2Birthday,parseAgeFromContext,parseBirthday,parseIdCard,transformDateFormat}from"./src/utils/business.js";export{findNextWidget,queryDecoratorByAddress,queryDecoratorByFieldKey,queryInput}from"./src/utils/dom.js";export{assignClearBindVisited,assignUpdateValue,assignValueBindKey,createFieldAddressId,createLinebarId,createObjSchema,createVisitedSetter,dotEscape,fieldKeyEscape,getParentLinebar,traverseDependKey,traverseSchema}from"./src/utils/schema.js";const r=s;r.install=function(s){o(s,r,e+"FormRender")};export{r as default};
1
+ import{COMPONENT_NAMESPACE as e}from"../../shared/global/variable.js";import{safeComponentRegister as o}from"../../shared/utils/index.js";import s from"./src/FormRenderWrapper.vue.js";export{useAnchor}from"./src/hooks/useAnchor.js";export{BusinessCollector,useBusinessBinding}from"./src/hooks/useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./src/hooks/useChangeContext.js";export{useCommonInjection,useSelectOptionProps}from"./src/hooks/useCommonInjection.js";export{useCommonLog}from"./src/hooks/useCommonLog.js";export{useComplexOptions,useComplexOptionsSpan}from"./src/hooks/useComplexOptions.js";export{useFieldListAdaptor}from"./src/hooks/useFieldListAdaptor.js";export{useFieldNormalize}from"./src/hooks/useFieldNormalize.js";export{useFieldVisitor}from"./src/hooks/useFieldVisitor.js";export{useFormContext}from"./src/hooks/useFormContext.js";export{useFormDomEvent,useFormExposeEvent}from"./src/hooks/useFormEvent.js";export{useFormField}from"./src/hooks/useFormField.js";export{useFormGraph}from"./src/hooks/useFormGraph.js";export{FormItemDepsCollector,useFormItemDeps}from"./src/hooks/useFormItemDeps.js";export{useFormRenderLifeCycle}from"./src/hooks/useFormRenderLifeCycle.js";export{useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./src/hooks/useFormRenderOptions.js";export{useFormValidator,validateMessageLocale}from"./src/hooks/useFormValidator.js";export{useLowCodeEvent}from"./src/hooks/useLowCodeEvent.js";export{useLowCodeReactions}from"./src/hooks/useLowCodeReactions.js";export{useNuiThemeOverrides}from"./src/hooks/useNuiThemeOverrides.js";export{useOperationalForm}from"./src/hooks/useOperationalForm.js";export{usePresetScope}from"./src/hooks/usePresetScope.js";export{useWordbookSetting,wordbookSettingHandler}from"./src/hooks/useWordbookSetting.js";export{useNewLowCodeReactions}from"./src/hooks/useNewLowCodeReactions.js";export{useSelectedSetting}from"./src/hooks/useSelectedSetting.js";export{FieldListFilter,combineExtendKey,createInputSlot,createSlot,editorUnescape,findItemByValCondition,formRenderLog,getAbsoluteKey,injectOrProvide,isEnter,isNegative,isNestedFieldType,isNestedType,isPositive,isValidWidgetCombination,mergeDeepProperties,parseEnhanceText,parseNumberFromMaybeString,renderDescOption,renderOptionLabel,replace2Any,splitExtendKey,validateMessageParser}from"./src/utils/index.js";export{businessDateParser,isForeignerID,isIdCard,isMobile,parseAge2Birthday,parseAgeFromContext,parseBirthday,parseIdCard,transformDateFormat}from"./src/utils/business.js";export{findNextWidget,queryDecoratorByAddress,queryDecoratorByFieldKey,queryInput}from"./src/utils/dom.js";export{assignClearBindVisited,assignUpdateValue,assignValueBindKey,createFieldAddressId,createLinebarId,createObjSchema,createVisitedSetter,dotEscape,fieldKeyEscape,getParentLinebar,traverseDependKey,traverseSchema}from"./src/utils/schema.js";const r=s;r.install=function(s){o(s,r,e+"FormRender")};export{r as default};
@@ -204,6 +204,7 @@ declare const _default: import("vue").DefineComponent<{
204
204
  fixMemoLeak: {
205
205
  type: BooleanConstructor;
206
206
  };
207
+ lazyRender: BooleanConstructor;
207
208
  }, {
208
209
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
209
210
  fieldList: {
@@ -406,6 +407,7 @@ declare const _default: import("vue").DefineComponent<{
406
407
  fixMemoLeak: {
407
408
  type: BooleanConstructor;
408
409
  };
410
+ lazyRender: BooleanConstructor;
409
411
  }>> & {
410
412
  onFormChange?: ((...args: any[]) => any) | undefined;
411
413
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -580,6 +582,8 @@ declare const _default: import("vue").DefineComponent<{
580
582
  linebarTextDirection: "horizontal" | "vertical";
581
583
  autoWidth: number | boolean;
582
584
  feedbackType: "default" | "tooltip";
585
+ fixMemoLeak: boolean;
586
+ lazyRender: boolean;
583
587
  }>) => Record<string, import("@formily/vue").Stringify<{
584
588
  [key: symbol]: any;
585
589
  [key: `x-${string}`]: any;
@@ -966,6 +970,7 @@ declare const _default: import("vue").DefineComponent<{
966
970
  fixMemoLeak: {
967
971
  type: BooleanConstructor;
968
972
  };
973
+ lazyRender: BooleanConstructor;
969
974
  }>> & {
970
975
  onFormChange?: ((...args: any[]) => any) | undefined;
971
976
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -997,8 +1002,9 @@ declare const _default: import("vue").DefineComponent<{
997
1002
  linebarTextDirection: "horizontal" | "vertical";
998
1003
  autoWidth: number | boolean;
999
1004
  feedbackType: "default" | "tooltip";
1005
+ fixMemoLeak: boolean;
1006
+ lazyRender: boolean;
1000
1007
  operationalFormInit: boolean;
1001
1008
  incrementalRender: boolean;
1002
- fixMemoLeak: boolean;
1003
1009
  }>;
1004
1010
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,provide as t,computed as r,nextTick as a,onBeforeUnmount as s,openBlock as i,createBlock as l,unref as n,mergeProps as m,withCtx as p,createElementBlock as d,createVNode as u,isRef as c,Fragment as f,renderList as h,createCommentVNode as y,createElementVNode as g,normalizeStyle as v,toDisplayString as b,renderSlot as j}from"vue";import{useTheme as k}from"../../../shared/hooks/useTheme.js";import{useElementSize as C}from"@vueuse/core";import"date-fns";import{isNumber as F,cloneDeep as S}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NForm as x,NTabs as w,NTabPane as L,NConfigProvider as B}from"naive-ui";import{useVersion as A}from"../../../shared/hooks/useVersion.js";import"../../../shared/hooks/useScrollLoading.js";import{createForm as R,onFormMount as H,onFieldValueChange as O,onFieldMount as T,onFieldUnmount as I,onFieldReact as V}from"@formily/core";import{Path as N}from"@formily/path";import{FormProvider as _,FormConsumer as D}from"@formily/vue";import{InjectionFormColumnWidth as W,InjectionFormLifeCycleCaller as U,InjectionFormGraph as E}from"./constants/index.js";import"./components/renderer/text.js";import"./utils/business.js";import{createObjSchema as M}from"./utils/schema.js";import{useAnchor as q}from"./hooks/useAnchor.js";import"../index.js";import{useComplexOptionsSpan as P}from"./hooks/useComplexOptions.js";import{useFieldListAdaptor as G}from"./hooks/useFieldListAdaptor.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{useFieldVisitor as K}from"./hooks/useFieldVisitor.js";import{useFormContext as z}from"./hooks/useFormContext.js";import{useFormDomEvent as J,useFormExposeEvent as Q}from"./hooks/useFormEvent.js";import{useFormGraph as $}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as X}from"./hooks/useFormRenderLifeCycle.js";import{validateMessageLocale as Y}from"./hooks/useFormValidator.js";import{useLowCodeEvent as Z}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as ee}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as oe}from"./hooks/useNuiThemeOverrides.js";import{useOperationalForm as te}from"./hooks/useOperationalForm.js";import{useWordbookSetting as re}from"./hooks/useWordbookSetting.js";import{useNewLowCodeReactions as ae}from"./hooks/useNewLowCodeReactions.js";import{GlobalState as se}from"@formily/core/esm/shared/constants";const ie={key:0,style:{height:"54px"}},le={style:{"white-space":"pre"}};var ne=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:5},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},annotationShortcuts:{type:Array},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},autoExpand:Boolean,lowCodeReactions:{type:Array},newLowCodeReactions:{type:Array},operationalForm:{type:Array},dateOperationalForm:{type:Object},operationalFormInit:{type:Boolean,default:!0},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},labelPlacementOverwrite:Boolean,outBordered:{type:Boolean,default:!1},uniqueCacheData:{type:Boolean,default:!1},forceClearable:Boolean,wordSplitFilter:{type:Boolean,default:!0},selectMode:Boolean,selectedFields:{type:Array},linebarDirection:{type:String,default:"vertical"},linebarTextDirection:{type:String,default:"horizontal"},linebarWidth:{type:[Number,String],default:120},autoWidth:{type:[Boolean,Number],default:!1},incrementalRender:{type:Boolean,default:!1},feedbackType:{type:String,default:"default"},fixMemoLeak:{type:Boolean}},emits:["formChange","annotationChange","scroll","update:selectedFields","linebarChange","ready"],setup(e,{expose:ne,emit:me}){const pe=e,de=k(),{nuiThemeOverrides:ue}=oe();Y();const ce=o(),{width:fe}=C(ce);t(W,r((()=>fe.value?(fe.value-16*(pe.column-1))/24:0)));const he=r((()=>F(pe.maxHeight)?pe.maxHeight+"px":pe.maxHeight)),{SchemaField:ye,businessCollector:ge,formItemDepsCollector:ve,changeContextCollector:be,asyncQueue:je,formUUID:ke}=z(pe,me),{anchorBarRef:Ce,currentAnchor:Fe,updateAnchorList:Se,anchorIdList:xe,onScroll:we,generateAnchorList:Le}=q(pe,me,ce,ve),{callLifeCycle:Be}=X(pe);t(U,Be),Be("onSetup");const{observeFormGraph:Ae,setGraph:Re,removeGraph:He}=$();t(E,Ae);const{lowCodeEventTrigger:Oe}=Z(),Te=o(!0),Ie=R({initialValues:pe.initialData,effects(e){const o={};H((()=>{Object.assign(o,S(e.values))})),O("*",(t=>{const r=N.getIn(o,t.path);N.setIn(o,t.path,t.value);const a=t.props.name.toString();ge.trigger(e,a),ve.trigger(t.path),Te.value&&me("formChange",{fieldInstance:t,fieldKey:a,oldValue:r,fieldName:t.title,value:t.value,context:be.getContext(a,t.value)}),Oe(t),Ve(a),Ne(a),_e.trigger(a),De.trigger(a,t.value)})),T("*",Re),T("*",(e=>{const o=e.props.name.toString();Ve(o),Ne(o),pe.operationalFormInit&&_e.trigger(o)})),I("*",He),pe.anchor&&V("*",Se)}}),{lowCodeReactionsHandler:Ve}=ee(r((()=>pe.lowCodeReactions)),Ie),{newLowCodeReactionsHandler:Ne}=ae(r((()=>pe.newLowCodeReactions)),Ie),_e=te(pe,Ie),De=re().create(Ie,be),{schemaAdaptor:We}=G(ge,pe.lifeCycle);let Ue=pe.fieldList||[],Ee=[];const Me=r((()=>{var e;let o=!1;const t=pe.schema?pe.schema:pe.fieldList?(Ue!==pe.fieldList&&0!==Ue.length||(o=!0),Ue=K().traverse(S(pe.fieldList),pe.fieldVisitor),M(We(Ue,pe))):M({});return pe.incrementalRender&&(null==(e=pe.fieldList)?void 0:e.length)&&o&&(Ee=[],Object.values(t.properties).forEach((e=>{var o;"visible"===e["x-display"]&&"LINEBAR"===e["x-component"]&&!1!==(null==(o=e["x-component-props"])?void 0:o.show)&&(Ee.push(e),e["x-component-props"].show=!1)})),qe()),t}));function qe(){Ee.length?setTimeout((()=>{const e=Ee.shift();e&&(ve.trigger(N.parse(e.name),!0),Ie.setFieldState(e.name,(e=>{e.componentProps.show=!0})),Ee.length?qe():a().then((()=>{me("ready")})))}),300):me("ready")}const{onKeydown:Pe}=J({formModel:Ie,formRenderRef:ce,props:pe,formUUID:ke}),{clearSpan:Ge}=P();s((()=>{Ge(ke),pe.fixMemoLeak&&(se.lifecycles.length=0)}));const Ke=Q({formModel:Ie,formRenderRef:ce,formItemDepsCollector:ve,businessCollector:ge,wordbookSettingHandler:De,operationalFormHandler:_e,getFieldList:()=>Ue,formUUID:ke,changeContextCollector:be,emitFormChange:Te});return ne({formModel:Ie,validate:(e="*",o={})=>Ke.validate(e,o),getFormValues:(e=!0)=>Ke.getFormValues(e),setFormValues:async(e,o={})=>Ke.setFormValues(e,o),setFieldState(e,o){Ke.setFieldState(e,o)},resetFields(e="*"){Ke.resetFields(e)},queryWidget:async e=>Ke.queryWidget(e),getFieldList:()=>Ue,applySelectedSetting:e=>Ke.applySelectedSetting(e),async reload(){console.error("reload function is abstract,it should be overwrite!")},async optionInited(e={}){if(await a(),je.activeTasks)return new Promise((o=>{var t;const r=()=>{o(),je.onActiveTaskChange=null};je.onActiveTaskChange=()=>{je.activeTasks||r()},setTimeout(r,null!=(t=e.timeout)?t:5e3)}))},updateAnchor(){Le(Ie)},getTextFormValues:()=>Ke.getTextFormValues()}),(o,t)=>(i(),l(n(x),m({class:["form-render",{"form-render--out-border":e.outBordered}],"require-mark-placement":"left",style:n(de)},n(A)(),{uuid:n(ke)}),{default:p((()=>[e.anchor&&n(xe).length?(i(),d("section",ie,[u(n(w),{value:n(Fe),"onUpdate:value":t[0]||(t[0]=e=>c(Fe)?Fe.value=e:null),type:"line",ref_key:"anchorBarRef",ref:Ce},{default:p((()=>[(i(!0),d(f,null,h(n(xe),(e=>(i(),l(n(L),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):y("v-if",!0),u(n(B),{"theme-overrides":n(ue)},{default:p((()=>[g("section",{class:"form-render__wrapper",style:v({"--column":e.column,"--form-height":n(he)}),ref_key:"formRenderRef",ref:ce,onScroll:t[1]||(t[1]=(...e)=>n(we)&&n(we)(...e)),onKeydownCapture:t[2]||(t[2]=(...e)=>n(Pe)&&n(Pe)(...e))},[u(n(_),{form:n(Ie)},{default:p((()=>[u(n(ye),{schema:n(Me)},null,8,["schema"]),e.consumer?(i(),l(n(D),{key:0},{default:p((({form:e})=>[g("div",le,b(JSON.stringify(e.values,null,2)),1)])),_:1})):y("v-if",!0),j(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},16,["class","style","uuid"]))}});export{ne as default};
1
+ import{defineComponent as e,ref as o,provide as t,computed as r,nextTick as a,onBeforeUnmount as s,openBlock as i,createBlock as l,unref as n,mergeProps as m,withCtx as p,createElementBlock as d,createVNode as u,isRef as c,Fragment as f,renderList as h,createCommentVNode as y,createElementVNode as g,normalizeStyle as v,toDisplayString as b,renderSlot as j}from"vue";import{useTheme as k}from"../../../shared/hooks/useTheme.js";import{useElementSize as C}from"@vueuse/core";import"date-fns";import{isNumber as F,cloneDeep as S}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NForm as x,NTabs as w,NTabPane as L,NConfigProvider as B}from"naive-ui";import{useVersion as A}from"../../../shared/hooks/useVersion.js";import"../../../shared/hooks/useScrollLoading.js";import{createForm as R,onFormMount as H,onFieldValueChange as O,onFieldMount as T,onFieldUnmount as I,onFieldReact as V}from"@formily/core";import{Path as N}from"@formily/path";import{FormProvider as _,FormConsumer as D}from"@formily/vue";import{InjectionFormColumnWidth as W,InjectionFormLifeCycleCaller as U,InjectionFormGraph as E}from"./constants/index.js";import"./components/renderer/text.js";import"./utils/business.js";import{createObjSchema as M}from"./utils/schema.js";import{useAnchor as q}from"./hooks/useAnchor.js";import"../index.js";import{useComplexOptionsSpan as P}from"./hooks/useComplexOptions.js";import{useFieldListAdaptor as G}from"./hooks/useFieldListAdaptor.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{useFieldVisitor as K}from"./hooks/useFieldVisitor.js";import{useFormContext as z}from"./hooks/useFormContext.js";import{useFormDomEvent as J,useFormExposeEvent as Q}from"./hooks/useFormEvent.js";import{useFormGraph as $}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as X}from"./hooks/useFormRenderLifeCycle.js";import{validateMessageLocale as Y}from"./hooks/useFormValidator.js";import{useLowCodeEvent as Z}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as ee}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as oe}from"./hooks/useNuiThemeOverrides.js";import{useOperationalForm as te}from"./hooks/useOperationalForm.js";import{useWordbookSetting as re}from"./hooks/useWordbookSetting.js";import{useNewLowCodeReactions as ae}from"./hooks/useNewLowCodeReactions.js";import{GlobalState as se}from"@formily/core/esm/shared/constants";const ie={key:0,style:{height:"54px"}},le={style:{"white-space":"pre"}};var ne=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:5},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},annotationShortcuts:{type:Array},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},autoExpand:Boolean,lowCodeReactions:{type:Array},newLowCodeReactions:{type:Array},operationalForm:{type:Array},dateOperationalForm:{type:Object},operationalFormInit:{type:Boolean,default:!0},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},labelPlacementOverwrite:Boolean,outBordered:{type:Boolean,default:!1},uniqueCacheData:{type:Boolean,default:!1},forceClearable:Boolean,wordSplitFilter:{type:Boolean,default:!0},selectMode:Boolean,selectedFields:{type:Array},linebarDirection:{type:String,default:"vertical"},linebarTextDirection:{type:String,default:"horizontal"},linebarWidth:{type:[Number,String],default:120},autoWidth:{type:[Boolean,Number],default:!1},incrementalRender:{type:Boolean,default:!1},feedbackType:{type:String,default:"default"},fixMemoLeak:{type:Boolean},lazyRender:Boolean},emits:["formChange","annotationChange","scroll","update:selectedFields","linebarChange","ready"],setup(e,{expose:ne,emit:me}){const pe=e,de=k(),{nuiThemeOverrides:ue}=oe();Y();const ce=o(),{width:fe}=C(ce);t(W,r((()=>fe.value?(fe.value-16*(pe.column-1))/24:0)));const he=r((()=>F(pe.maxHeight)?pe.maxHeight+"px":pe.maxHeight)),{SchemaField:ye,businessCollector:ge,formItemDepsCollector:ve,changeContextCollector:be,asyncQueue:je,formUUID:ke}=z(pe,me),{anchorBarRef:Ce,currentAnchor:Fe,updateAnchorList:Se,anchorIdList:xe,onScroll:we,generateAnchorList:Le}=q(pe,me,ce,ve),{callLifeCycle:Be}=X(pe);t(U,Be),Be("onSetup");const{observeFormGraph:Ae,setGraph:Re,removeGraph:He}=$();t(E,Ae);const{lowCodeEventTrigger:Oe}=Z(),Te=o(!0),Ie=R({initialValues:pe.initialData,effects(e){const o={};H((()=>{Object.assign(o,S(e.values))})),O("*",(t=>{const r=N.getIn(o,t.path);N.setIn(o,t.path,t.value);const a=t.props.name.toString();ge.trigger(e,a),ve.trigger(t.path),Te.value&&me("formChange",{fieldInstance:t,fieldKey:a,oldValue:r,fieldName:t.title,value:t.value,context:be.getContext(a,t.value)}),Oe(t),Ve(a),Ne(a),_e.trigger(a),De.trigger(a,t.value)})),T("*",Re),T("*",(e=>{const o=e.props.name.toString();Ve(o),Ne(o),pe.operationalFormInit&&_e.trigger(o)})),I("*",He),pe.anchor&&V("*",Se)}}),{lowCodeReactionsHandler:Ve}=ee(r((()=>pe.lowCodeReactions)),Ie),{newLowCodeReactionsHandler:Ne}=ae(r((()=>pe.newLowCodeReactions)),Ie),_e=te(pe,Ie),De=re().create(Ie,be),{schemaAdaptor:We}=G(ge,pe.lifeCycle);let Ue=pe.fieldList||[],Ee=[];const Me=r((()=>{var e;let o=!1;const t=pe.schema?pe.schema:pe.fieldList?(Ue!==pe.fieldList&&0!==Ue.length||(o=!0),Ue=K().traverse(S(pe.fieldList),pe.fieldVisitor),M(We(Ue,pe))):M({});return pe.incrementalRender&&(null==(e=pe.fieldList)?void 0:e.length)&&o&&(Ee=[],Object.values(t.properties).forEach((e=>{var o;"visible"===e["x-display"]&&"LINEBAR"===e["x-component"]&&!1!==(null==(o=e["x-component-props"])?void 0:o.show)&&(Ee.push(e),e["x-component-props"].show=!1)})),qe()),t}));function qe(){Ee.length?setTimeout((()=>{const e=Ee.shift();e&&(ve.trigger(N.parse(e.name),!0),Ie.setFieldState(e.name,(e=>{e.componentProps.show=!0})),Ee.length?qe():a().then((()=>{me("ready")})))}),300):me("ready")}const{onKeydown:Pe}=J({formModel:Ie,formRenderRef:ce,props:pe,formUUID:ke}),{clearSpan:Ge}=P();s((()=>{Ge(ke),pe.fixMemoLeak&&(se.lifecycles.length=0)}));const Ke=Q({formModel:Ie,formRenderRef:ce,formItemDepsCollector:ve,businessCollector:ge,wordbookSettingHandler:De,operationalFormHandler:_e,getFieldList:()=>Ue,formUUID:ke,changeContextCollector:be,emitFormChange:Te});return ne({formModel:Ie,validate:(e="*",o={})=>Ke.validate(e,o),getFormValues:(e=!0)=>Ke.getFormValues(e),setFormValues:async(e,o={})=>Ke.setFormValues(e,o),setFieldState(e,o){Ke.setFieldState(e,o)},resetFields(e="*"){Ke.resetFields(e)},queryWidget:async e=>Ke.queryWidget(e),getFieldList:()=>Ue,applySelectedSetting:e=>Ke.applySelectedSetting(e),async reload(){console.error("reload function is abstract,it should be overwrite!")},async optionInited(e={}){if(await a(),je.activeTasks)return new Promise((o=>{var t;const r=()=>{o(),je.onActiveTaskChange=null};je.onActiveTaskChange=()=>{je.activeTasks||r()},setTimeout(r,null!=(t=e.timeout)?t:5e3)}))},updateAnchor(){Le(Ie)},getTextFormValues:()=>Ke.getTextFormValues()}),(o,t)=>(i(),l(n(x),m({class:["form-render",{"form-render--out-border":e.outBordered}],"require-mark-placement":"left",style:n(de)},n(A)(),{uuid:n(ke)}),{default:p((()=>[e.anchor&&n(xe).length?(i(),d("section",ie,[u(n(w),{value:n(Fe),"onUpdate:value":t[0]||(t[0]=e=>c(Fe)?Fe.value=e:null),type:"line",ref_key:"anchorBarRef",ref:Ce},{default:p((()=>[(i(!0),d(f,null,h(n(xe),(e=>(i(),l(n(L),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):y("v-if",!0),u(n(B),{"theme-overrides":n(ue)},{default:p((()=>[g("section",{class:"form-render__wrapper",style:v({"--column":e.column,"--form-height":n(he)}),ref_key:"formRenderRef",ref:ce,onScroll:t[1]||(t[1]=(...e)=>n(we)&&n(we)(...e)),onKeydownCapture:t[2]||(t[2]=(...e)=>n(Pe)&&n(Pe)(...e))},[u(n(_),{form:n(Ie)},{default:p((()=>[u(n(ye),{schema:n(Me)},null,8,["schema"]),e.consumer?(i(),l(n(D),{key:0},{default:p((({form:e})=>[g("div",le,b(JSON.stringify(e.values,null,2)),1)])),_:1})):y("v-if",!0),j(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},16,["class","style","uuid"]))}});export{ne as default};
@@ -207,6 +207,7 @@ declare const _default: import("vue").DefineComponent<{}, {
207
207
  fixMemoLeak: {
208
208
  type: BooleanConstructor;
209
209
  };
210
+ lazyRender: BooleanConstructor;
210
211
  }, {
211
212
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
212
213
  fieldList: {
@@ -409,6 +410,7 @@ declare const _default: import("vue").DefineComponent<{}, {
409
410
  fixMemoLeak: {
410
411
  type: BooleanConstructor;
411
412
  };
413
+ lazyRender: BooleanConstructor;
412
414
  }>> & {
413
415
  onFormChange?: ((...args: any[]) => any) | undefined;
414
416
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -583,6 +585,8 @@ declare const _default: import("vue").DefineComponent<{}, {
583
585
  linebarTextDirection: "horizontal" | "vertical";
584
586
  autoWidth: number | boolean;
585
587
  feedbackType: "default" | "tooltip";
588
+ fixMemoLeak: boolean;
589
+ lazyRender: boolean;
586
590
  }>) => Record<string, import("@formily/json-schema").Stringify<{
587
591
  [key: symbol]: any;
588
592
  [key: `x-${string}`]: any;
@@ -969,6 +973,7 @@ declare const _default: import("vue").DefineComponent<{}, {
969
973
  fixMemoLeak: {
970
974
  type: BooleanConstructor;
971
975
  };
976
+ lazyRender: BooleanConstructor;
972
977
  }>> & {
973
978
  onFormChange?: ((...args: any[]) => any) | undefined;
974
979
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -1000,9 +1005,10 @@ declare const _default: import("vue").DefineComponent<{}, {
1000
1005
  linebarTextDirection: "horizontal" | "vertical";
1001
1006
  autoWidth: number | boolean;
1002
1007
  feedbackType: "default" | "tooltip";
1008
+ fixMemoLeak: boolean;
1009
+ lazyRender: boolean;
1003
1010
  operationalFormInit: boolean;
1004
1011
  incrementalRender: boolean;
1005
- fixMemoLeak: boolean;
1006
1012
  }>;
1007
1013
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1008
1014
  export default _default;
@@ -32,6 +32,7 @@ export declare const DATE: import("vue").DefineComponent<{
32
32
  type: StringConstructor;
33
33
  default: string;
34
34
  };
35
+ placeholder: StringConstructor;
35
36
  dbclickToCurrent: {
36
37
  type: BooleanConstructor;
37
38
  default: boolean;
@@ -69,6 +70,7 @@ export declare const DATE: import("vue").DefineComponent<{
69
70
  type: StringConstructor;
70
71
  default: string;
71
72
  };
73
+ placeholder: StringConstructor;
72
74
  dbclickToCurrent: {
73
75
  type: BooleanConstructor;
74
76
  default: boolean;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,watch as a,ref as o,onMounted as i,createVNode as n,mergeProps as r}from"vue";import{generateTimeFormat as u}from"../../../../../shared/utils/index.js";import{connect as l,mapProps as s}from"@formily/vue";import{isObject as d,useEventListener as m}from"@vueuse/core";import{format as v}from"date-fns";import c from"../../../../date-picker/index.js";import{useCommonInjection as p}from"../../hooks/useCommonInjection.js";import"@formily/core";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"lodash-es";import"naive-ui";import"./text.js";import"../../utils/business.js";import{assignUpdateValue as f,assignClearBindVisited as y}from"../../utils/schema.js";const b=l(e({props:{onChange:{},disabled:{type:Boolean},value:{type:String},validate:{type:Object},valueFormat:{type:String,default:"yyyy-MM-dd"},allowedInvalidValue:{type:String,default:"-"},dbclickToCurrent:{type:Boolean,default:!0}},emits:["update:value"],setup(e,{emit:l}){const{injectValueValidate:s,injectValueBindKey:f}=p();function y(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.min_date)}function b(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.max_date)}function w(e){return y()&&e<Date.now()-864e5||b()&&e>Date.now()}function D(e){const t=new Date(e),a=new Date,o=new Date(t);o.setHours(0),o.setMinutes(0),o.setSeconds(0);const i=new Date(t);i.setHours(23),i.setMinutes(59),i.setSeconds(59);const n=o>a,r=i<a,u=t.getHours(),l=a.getHours(),s=a.getMinutes();return{isHourDisabled:function(e){return y()&&!n&&e<l||b()&&!r&&e>l},isMinuteDisabled:function(e){if(u===l)return y()&&!n&&e<s||b()&&!r&&e>s;return y()&&!n&&u<l||b()&&!r&&u>l}}}s((()=>e.value));const j=t((()=>{const t={};if(d(e.validate)){const{min_date:a,max_date:o}=e.validate;(a||o)&&(t.isDateDisabled=w,t.isTimeDisabled=D)}return t})),g=t((()=>({valueFormat:e.valueFormat,format:e.valueFormat,timePickerProps:{format:u(e.valueFormat)}})));function h(t){return t?t===e.allowedInvalidValue?t:v(new Date(t),e.valueFormat):null}a((()=>e.value),(e=>{e&&h(e)!==e&&l("update:value",h(e))}));const k=t({get:()=>h(e.value),set:e=>{l("update:value",e)}}),F=f(k),V=o();return i((()=>{var t;if(!e.dbclickToCurrent)return;const a=null==(t=V.value)?void 0:t.$el;if(!a)return;const o=a.querySelector("input");o&&m(a,"dblclick",(()=>function(t){e.disabled||(t.value=v(Date.now(),e.valueFormat),t.dispatchEvent(new Event("input")))}(o)))})),()=>n(c,r({ref:V,key:F.value,disabled:e.disabled,allowedInvalidValue:e.allowedInvalidValue},j.value,g.value,{"formatted-value":k.value,"onUpdate:formatted-value":e=>k.value=e}),null)}}),s(f,y));export{b as DATE};
1
+ import{defineComponent as e,computed as t,watch as a,ref as n,onMounted as o,inject as r,createVNode as i,mergeProps as l}from"vue";import{generateTimeFormat as u}from"../../../../../shared/utils/index.js";import{connect as s,mapProps as d}from"@formily/vue";import{isObject as c,useEventListener as m}from"@vueuse/core";import{promiseTimeout as v}from"@vueuse/shared";import{format as p}from"date-fns";import f from"naive-ui/es/_mixins/use-locale";import y from"../../../../date-picker/index.js";import{InjectionFormGlobalProps as b}from"../../constants/index.js";import{useCommonInjection as D}from"../../hooks/useCommonInjection.js";import"@formily/core";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"lodash-es";import"naive-ui";import"./text.js";import"../../utils/business.js";import{assignUpdateValue as h,assignClearBindVisited as w}from"../../utils/schema.js";import x from"../../../../../shared/components/DateIcon/DateIcon.vue.js";const _=s(e({props:{onChange:{},disabled:{type:Boolean},value:{type:String},validate:{type:Object},valueFormat:{type:String,default:"yyyy-MM-dd"},allowedInvalidValue:{type:String,default:"-"},placeholder:String,dbclickToCurrent:{type:Boolean,default:!0}},emits:["update:value"],setup(e,{emit:s,attrs:d}){const{injectValueValidate:h,injectValueBindKey:w}=D();function _(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.min_date)}function j(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.max_date)}function k(e){return _()&&e<Date.now()-864e5||j()&&e>Date.now()}function M(e){const t=new Date(e),a=new Date,n=new Date(t);n.setHours(0),n.setMinutes(0),n.setSeconds(0);const o=new Date(t);o.setHours(23),o.setMinutes(59),o.setSeconds(59);const r=n>a,i=o<a,l=t.getHours(),u=a.getHours(),s=a.getMinutes();return{isHourDisabled:function(e){return _()&&!r&&e<u||j()&&!i&&e>u},isMinuteDisabled:function(e){if(l===u)return _()&&!r&&e<s||j()&&!i&&e>s;return _()&&!r&&l<u||j()&&!i&&l>u}}}h((()=>e.value));const g=t((()=>{const t={};if(c(e.validate)){const{min_date:a,max_date:n}=e.validate;(a||n)&&(t.isDateDisabled=k,t.isTimeDisabled=M)}return t})),F=t((()=>({valueFormat:e.valueFormat,format:e.valueFormat,timePickerProps:{format:u(e.valueFormat)}})));function I(t){return t?t===e.allowedInvalidValue?t:p(new Date(t),e.valueFormat):null}a((()=>e.value),(e=>{e&&I(e)!==e&&s("update:value",I(e))}));const S=t({get:()=>I(e.value),set:e=>{s("update:value",e)}}),V=w(S),H=n();let P=!1;function T(){var t;if(!e.dbclickToCurrent||P)return;const a=null==(t=H.value)?void 0:t.$el;if(!a)return;const n=a.querySelector("input");n&&(m(a,"dblclick",(()=>function(t){e.disabled||(t.value=p(Date.now(),e.valueFormat),t.dispatchEvent(new Event("input")))}(n))),P=!0)}o(T);const C=r(b),B=n(!0);async function q(){var e;B.value=!1,await v(0);const t=null==(e=H.value)?void 0:e.$el;if(!t)return;const a=t.querySelector("input");a&&(a.click(),T())}const{localeRef:E}=f("DatePicker");return()=>{var t;return(null==C?void 0:C.lazyRender)&&B.value?i("div",{class:["form-render__textMode--input n-input",{"form-render__textMode--inputDisabled":e.disabled}],tabindex:0,onFocus:q},[[S.value?i("span",null,[S.value]):i("span",{class:"form-render__textMode--inputPlaceholder"},[e.placeholder||(null==(t=E.value)?void 0:t.datetimePlaceholder)]),i(x,{class:"form-render__textMode--dateIcon n-base-icon n-date-picker-icon"},null)]]):i(y,l({ref:H,key:V.value,disabled:e.disabled,allowedInvalidValue:e.allowedInvalidValue},g.value,F.value,{"formatted-value":S.value,"onUpdate:formatted-value":e=>S.value=e}),null)}}}),d(h,w));export{_ as DATE};
@@ -8,6 +8,8 @@ export declare const INPUT: import("vue").DefineComponent<{
8
8
  suffix: {
9
9
  type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
10
10
  };
11
+ placeholder: StringConstructor;
12
+ disabled: BooleanConstructor;
11
13
  password: {
12
14
  type: BooleanConstructor;
13
15
  };
@@ -21,6 +23,8 @@ export declare const INPUT: import("vue").DefineComponent<{
21
23
  suffix: {
22
24
  type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
23
25
  };
26
+ placeholder: StringConstructor;
27
+ disabled: BooleanConstructor;
24
28
  password: {
25
29
  type: BooleanConstructor;
26
30
  };
@@ -28,4 +32,5 @@ export declare const INPUT: import("vue").DefineComponent<{
28
32
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
29
33
  }, {
30
34
  password: boolean;
35
+ disabled: boolean;
31
36
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,createVNode as t}from"vue";import{useVModel as o}from"@vueuse/core";import{useCommonInjection as r}from"../../hooks/useCommonInjection.js";import{createInputSlot as i}from"../../utils/index.js";import{connect as u,mapProps as s}from"@formily/vue";import{NInput as n}from"naive-ui";import{assignUpdateValue as p,assignClearBindVisited as a}from"../../utils/schema.js";const m=u(e({name:"FormInput",props:{value:{type:String},prefix:{type:[String,Function,Object]},suffix:{type:[String,Function,Object]},password:{type:Boolean}},emits:["update:value"],setup(e,{emit:u}){const s=o(e,"value",u),p=r().injectValueBindKey(s),a=i(e,(e=>[t("i",{style:{color:"rgba(33,33,33,.4)"}},[e])]));return()=>t(n,{type:e.password?"password":"text",key:p.value,value:s.value,"onUpdate:value":e=>s.value=e},a.value)}}),s(((e,t)=>{const o=p(e,t);return o.allowInput=e=>!e.startsWith(" ")&&!e.endsWith(" "),o}),a));export{m as INPUT};
1
+ import{defineComponent as e,inject as o,createVNode as t,ref as r,createTextVNode as n,nextTick as l}from"vue";import{useVModel as a}from"@vueuse/core";import{InjectionFormGlobalProps as i}from"../../constants/index.js";import{useCommonInjection as u}from"../../hooks/useCommonInjection.js";import{createInputSlot as s}from"../../utils/index.js";import{connect as p,mapProps as d}from"@formily/vue";import{NInput as c}from"naive-ui";import m from"naive-ui/es/_mixins/use-locale";import{assignUpdateValue as v,assignClearBindVisited as f}from"../../utils/schema.js";const x=p(e({name:"FormInput",props:{value:{type:String},prefix:{type:[String,Function,Object]},suffix:{type:[String,Function,Object]},placeholder:String,disabled:Boolean,password:{type:Boolean}},emits:["update:value"],setup(e,{emit:p}){const d=o(i),v=a(e,"value",p),f=u().injectValueBindKey(v),x=s(e,(e=>[t("i",{style:{color:"rgba(33,33,33,.4)"}},[e])]));function y(o){var r;return(null==(r=x.value)?void 0:r[o])?t("div",{class:`n-input__${o}`},[n(" "),x.value[o](e)]):""}const h=r(!0),b=r();async function _(){h.value=!1,await l(),b.value.focus()}const{localeRef:j}=m("Input");return()=>{var o;return(null==d?void 0:d.lazyRender)&&h.value?t("div",{class:["form-render__textMode--input n-input",{"form-render__textMode--inputDisabled":e.disabled}],tabindex:0,onFocus:_},[[y("prefix"),v.value?t("span",null,[v.value]):t("span",{class:"form-render__textMode--inputPlaceholder"},[e.placeholder||(null==(o=j.value)?void 0:o.placeholder)]),y("suffix")]]):t(c,{ref:b,type:e.password?"password":"text",key:f.value,disabled:e.disabled,placeholder:e.placeholder,value:v.value,"onUpdate:value":e=>v.value=e},x.value)}}}),d(((e,o)=>{const t=v(e,o);return t.allowInput=e=>!e.startsWith(" ")&&!e.endsWith(" "),t}),f));export{x as INPUT};
@@ -157,6 +157,8 @@ declare const _default: import("vue").DefineComponent<{
157
157
  linebarTextDirection: "horizontal" | "vertical";
158
158
  autoWidth: number | boolean;
159
159
  feedbackType: "default" | "tooltip";
160
+ fixMemoLeak: boolean;
161
+ lazyRender: boolean;
160
162
  }>>;
161
163
  isVerticalLinebar: import("vue").ComputedRef<boolean>;
162
164
  wrapperClass: import("vue").ComputedRef<string[] | "">;
@@ -156,6 +156,8 @@ export declare const LINEBAR: import("@vue/runtime-core").DefineComponent<{
156
156
  linebarTextDirection: "horizontal" | "vertical";
157
157
  autoWidth: number | boolean;
158
158
  feedbackType: "default" | "tooltip";
159
+ fixMemoLeak: boolean;
160
+ lazyRender: boolean;
159
161
  }>>;
160
162
  isVerticalLinebar: import("vue").ComputedRef<boolean>;
161
163
  wrapperClass: import("vue").ComputedRef<string[] | "">;
@@ -1 +1 @@
1
- import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,castArray as n,pick as i}from"lodash-es";import"../../index.js";import{isPositive as r,isNegative as s,parseNumberFromMaybeString as l,formRenderLog as a}from"../utils/index.js";import{useFieldNormalize as p}from"./useFieldNormalize.js";import{traverseSchema as c,fieldKeyEscape as d,createLinebarId as m}from"../utils/schema.js";import{useFormValidator as u}from"./useFormValidator.js";import{transformDateFormat as f}from"../utils/business.js";function x(e,o){Object.assign(e["x-component-props"],{...i(o,["wordbook","autograph"])})}function _(e,o){Object.assign(e["x-component-props"],{...i(o,["urlConfig","wordbook"])})}function h(n,h){const{createValidatorSchema:g}=u(),v=o=>{var t;const n={name:o.val_key,type:null!=(t=o.fieldType)?t:"string",title:o.alias||o.name,"x-component":o.html_type,default:o.default_val,"x-component-props":{placeholder:o.placeholder,clearable:s(o.is_empty),...o.componentProps||{}},"x-content":o.slots,"x-display":s(o.is_show)?"hidden":"visible","x-pattern":s(o.is_edit)?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};o.reactions&&(n["x-reactions"]=e(o.reactions).map((e=>{var o;return e.target?{...e,effects:null!=(o=e.effects)?o:["onFieldInit","onFieldValueChange"]}:e}))),o.noDecorator||Object.assign(n,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:o,beforeSetValue:null==h?void 0:h.beforeSetValue,span:2*(o.elem_width||3),showLabel:!r(o.hide_title),remark:o.remark,propertyKey:o.val_key,annotation:o.annotation,...o.decoratorProps||{}}});const i=g(o);return i&&(n["x-validator"]=i),s(o.is_null)&&(n.required=!0),n},y=e=>{var o,t,n,s,a,p,c,d,m,u,f,h,b,g;const y=v(e);e.urlConfig?_(y,e):e.autograph&&x(y,e);const w=!!e.__multiple,C=r(null!=(t=null==(o=e.componentProps)?void 0:o.allowModify)?t:e.allowModify),O=r(null!=(s=null==(n=e.componentProps)?void 0:n.selectAll)?s:e.selectAll),A=r(null!=(p=null==(a=e.componentProps)?void 0:a.shouldSave)?p:e.save_free_entry),j=r(null!=(d=null==(c=e.componentProps)?void 0:c.allowCreate)?d:e.free_entry),E=null!=(u=null==(m=e.componentProps)?void 0:m.showField)?u:e.show_key,k=null!=(h=null==(f=e.componentProps)?void 0:f.options)?h:e.option,I=null!=(g=l(e.multi_select_value))?g:null==(b=e.componentProps)?void 0:b.maxTagCount;return Object.assign(y["x-component-props"],{multiple:w,options:k,allowModify:C,allowCreate:j||C,shouldSave:A,showField:E,maxTagCount:I,selectAll:O,...i(e,["lazyRequest","requestCache"])}),w&&(y.type="array"),y},w=e=>{var o,t;const n=v(e),i=null!=(t=null==(o=e.componentProps)?void 0:o.selectAll)?t:e.selectAll;return Object.assign(n["x-component-props"],{options:e.option,childFieldStrategy:e.childFieldStrategy,childWidthMode:e.childWidthMode,vertical:e.__vertical,selectAll:r(i)}),e.urlConfig?_(n,e):e.autograph&&x(n,e),n},C=e=>{const t=v(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},O=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{linebarTextDirection:e.linebarTextDirection,linebarDirection:e.linebarDirection,linebarWidth:e.linebarWidth,disabled:r(e.is_not_fold),id:m(e.val_key),show:!s(e.is_show),remark:e.remark},"x-content":e.slots}),A=new Map([["LINEBAR",O],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-component-props":{border:e.lineBreaksBorder},"x-display":s(e.is_show)?"hidden":"visible"})],["INPUT",e=>{var o;const t=v(e);return Object.assign(t["x-component-props"],{...i(e,["prefix","suffix"]),password:"password"===(null==(o=e.validate)?void 0:o.obj_type)}),t}],["TEXTAREA",e=>{const o=v(e);return Object.assign(o["x-component-props"],{rows:e.initialize_high||3}),o}],["INPUT_NUMBER",e=>{const o=v(e),{decimal_length:t,validate:n,allowSlash:i}=e;return r(i)&&(o["x-component"]="INPUT_NUMBER_SLASH",o.type="string"),Object.assign(o["x-component-props"],{precision:l(null!=t?t:null==n?void 0:n.decimal_length),whiteList:e.whiteList,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",y],["REMOTE_SEARCH",y],["DATE",e=>{const o=v(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:f(e.date_format),validate:e.validate}),o}],["TIME",e=>{const o=v(e);return Object.assign(o["x-component-props"],{format:e.date_format,type:f(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=v(e);return Object.assign(o["x-component-props"],{...i(e,["wordbook","lazyRequest","autograph"])}),r(e.is_allow_check_mid)&&e.allow_check_mid_level&&(o["x-component-props"].checkAbleLevel=+e.allow_check_mid_level),o}],["SEARCH_CASCADER",e=>{var o;const t=v(e);return Object.assign(t["x-component-props"],{urlConfig:e.urlConfig,depth:null==(o=e.wordbook)?void 0:o.level_num,options:e.option}),t}],["COMBINATION",e=>{const o=v(e);return o.type="array","table"===e.displayMode?o["x-component"]="TABLE_COMBINATION":!1!==e.jsonCombination&&(o["x-component"]="JSON_COMBINATION"),Object.assign(o["x-decorator-props"],{showLabel:!1,showFeedback:!1}),Object.assign(o["x-component-props"],{title:e.alias||e.name,maxGroupNum:e.maxGroupNum,minGroupNum:e.minGroupNum,showLabel:!r(e.hide_title),properties:e.children||[],combinationItemDeletable:e.combinationItemDeletable}),o}],["RADIO",w],["CHECKBOX",w],["SWITCH",e=>{const o=v(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close,showMode:e.show_mode}),o}],["SLIDER",e=>{const o=v(e);return Object.assign(o["x-component-props"],{step:l(e.step_length),max:l(e.max_length),min:l(e.min_length),option:e.option}),o}],["COMPLEX",e=>{const o=v(e);Array.isArray(e.properties)&&a("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?N(e.properties||e.children):{};return o.type=e.fieldType||"void",o.properties=t,Object.assign(o["x-decorator-props"],{showFeedback:!1}),Object.assign(o["x-component-props"],i(e,["wrapperStyle","display"])),o}]]),j=e=>{if(e.suffixConfig||e.prefixConfig)return E(e);return(A.get(e.html_type)||C)(e)},E=o=>{if(!o.suffixConfig&&!o.prefixConfig)return j(o);const t=v(o),n=o.suffixConfig?e(o.suffixConfig):[],i=[...(o.prefixConfig?e(o.prefixConfig):[]).map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:s(e.is_show)?"0":o.is_show}))),{...o,hide_title:"1",suffixConfig:void 0,prefixConfig:void 0},...n.map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:s(e.is_show)?"0":o.is_show})))],r=i.reduce(((e,o)=>e+2*(o.elem_width||3)),0);return Object.assign(t,{type:"void",name:d(i),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:r},"x-decorator-props":{...t["x-decorator-props"],showFeedback:!1,suffixFields:i.map((e=>e.val_key))},properties:N(i)}),t},{FieldNormalizeWaterfallHook:k,FieldListNormalizeWaterfallHook:I}=p();function N(o,i={column:9999}){let r=null;const s=I.call(t(o),i).reduce(((e,o,s)=>{var p;const c=null==(p=(o=k.call(o,i)).validate)?void 0:p.obj_type;return c&&n&&n.collect(c,t(o)),"LINEBAR"===o.html_type?(e[a(o)]=l(O(o),s),r=e[a(o)].properties={}):r?r[a(o)]=l(j(o),s):(r=null,e[a(o)]=l(j(o),s)),e}),{});return i.linebarAutoHidden&&Object.values(s).forEach((e=>{"LINEBAR"===e["x-component"]&&b(e)})),c({properties:s,"x-root":!0},((e,o)=>{"INPUT_GROUP"===e["x-component"]&&b(e,!!o&&!o["x-root"])})),s;function l(e,o){return e["x-index"]=o,e["x-decorator-props"]={_index:o,...e["x-decorator-props"]},e}function a(o){if(o.suffixConfig||o.prefixConfig){const t=[...e(o.prefixConfig),o,...e(o.suffixConfig)].filter(Boolean);return d(t)}return o.val_key}}return{schemaAdaptor:N}}function b(e,o=!1){e["x-reactions"]?e["x-reactions"]=n(e["x-reactions"]):e["x-reactions"]=[];const t=Object.keys(e.properties||{}).map((t=>`${o?"*.":"."}${e.name}.${t}#selfDisplay`)).concat(Object.keys(e.properties||{}).map((t=>`${o?"*.":"."}${e.name}.${t}#component`)));e["x-reactions"].push({dependencies:t,fulfill:{state:{visible:"{{hasVisible($deps)}}"}}})}export{h as useFieldListAdaptor};
1
+ import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,castArray as n,pick as i}from"lodash-es";import"../../index.js";import{isPositive as r,isNegative as l,isValidWidgetCombination as s,parseNumberFromMaybeString as a,formRenderLog as p}from"../utils/index.js";import{useFieldNormalize as c}from"./useFieldNormalize.js";import{traverseSchema as d,fieldKeyEscape as m,createLinebarId as u}from"../utils/schema.js";import{useFormValidator as f}from"./useFormValidator.js";import{transformDateFormat as x}from"../utils/business.js";function _(e,o){Object.assign(e["x-component-props"],{...i(o,["wordbook","autograph"])})}function h(e,o){Object.assign(e["x-component-props"],{...i(o,["urlConfig","wordbook"])})}function b(n,b){const{createValidatorSchema:g}=f(),y=o=>{var t;const n={name:o.val_key,type:null!=(t=o.fieldType)?t:"string",title:o.alias||o.name,"x-component":o.html_type,default:o.default_val,"x-component-props":{placeholder:o.placeholder,clearable:l(o.is_empty),...o.componentProps||{}},"x-content":o.slots,"x-display":l(o.is_show)?"hidden":"visible","x-pattern":l(o.is_edit)?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};o.reactions&&(n["x-reactions"]=e(o.reactions).map((e=>{var o;return e.target?{...e,effects:null!=(o=e.effects)?o:["onFieldInit","onFieldValueChange"]}:e}))),o.noDecorator||Object.assign(n,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:o,beforeSetValue:null==b?void 0:b.beforeSetValue,span:2*(o.elem_width||3),showLabel:!r(o.hide_title),remark:o.remark,propertyKey:o.val_key,annotation:o.annotation,...o.decoratorProps||{}}});const i=g(o);return i&&(n["x-validator"]=i),l(o.is_null)&&(n.required=!0),n},w=e=>{var o,t,n,l,s,p,c,d,m,u,f,x,b,v;const g=y(e);e.urlConfig?h(g,e):e.autograph&&_(g,e);const w=!!e.__multiple,C=r(null!=(t=null==(o=e.componentProps)?void 0:o.allowModify)?t:e.allowModify),O=r(null!=(l=null==(n=e.componentProps)?void 0:n.selectAll)?l:e.selectAll),A=r(null!=(p=null==(s=e.componentProps)?void 0:s.shouldSave)?p:e.save_free_entry),j=r(null!=(d=null==(c=e.componentProps)?void 0:c.allowCreate)?d:e.free_entry),E=null!=(u=null==(m=e.componentProps)?void 0:m.showField)?u:e.show_key,k=null!=(x=null==(f=e.componentProps)?void 0:f.options)?x:e.option,I=null!=(v=a(e.multi_select_value))?v:null==(b=e.componentProps)?void 0:b.maxTagCount;return Object.assign(g["x-component-props"],{multiple:w,options:k,allowModify:C,allowCreate:j||C,shouldSave:A,showField:E,maxTagCount:I,selectAll:O,...i(e,["lazyRequest","requestCache"])}),w&&(g.type="array"),g},C=e=>{var o,t;const n=y(e),i=null!=(t=null==(o=e.componentProps)?void 0:o.selectAll)?t:e.selectAll;return Object.assign(n["x-component-props"],{options:e.option,childFieldStrategy:e.childFieldStrategy,childWidthMode:e.childWidthMode,vertical:e.__vertical,selectAll:r(i)}),e.urlConfig?h(n,e):e.autograph&&_(n,e),n},O=e=>{const t=y(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},A=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{linebarTextDirection:e.linebarTextDirection,linebarDirection:e.linebarDirection,linebarWidth:e.linebarWidth,disabled:r(e.is_not_fold),id:u(e.val_key),show:!l(e.is_show),remark:e.remark},"x-content":e.slots}),j=new Map([["LINEBAR",A],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-component-props":{border:e.lineBreaksBorder},"x-display":l(e.is_show)?"hidden":"visible"})],["INPUT",e=>{var o;const t=y(e);return Object.assign(t["x-component-props"],{...i(e,["prefix","suffix"]),password:"password"===(null==(o=e.validate)?void 0:o.obj_type)}),t}],["TEXTAREA",e=>{const o=y(e);return Object.assign(o["x-component-props"],{rows:e.initialize_high||3}),o}],["INPUT_NUMBER",e=>{const o=y(e),{decimal_length:t,validate:n,allowSlash:i}=e;return r(i)&&(o["x-component"]="INPUT_NUMBER_SLASH",o.type="string"),Object.assign(o["x-component-props"],{precision:a(null!=t?t:null==n?void 0:n.decimal_length),whiteList:e.whiteList,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",w],["REMOTE_SEARCH",w],["DATE",e=>{const o=y(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:x(e.date_format),validate:e.validate}),o}],["TIME",e=>{const o=y(e);return Object.assign(o["x-component-props"],{format:e.date_format,type:x(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=y(e);return Object.assign(o["x-component-props"],{...i(e,["wordbook","lazyRequest","autograph"])}),r(e.is_allow_check_mid)&&e.allow_check_mid_level&&(o["x-component-props"].checkAbleLevel=+e.allow_check_mid_level),o}],["SEARCH_CASCADER",e=>{var o;const t=y(e);return Object.assign(t["x-component-props"],{urlConfig:e.urlConfig,depth:null==(o=e.wordbook)?void 0:o.level_num,options:e.option}),t}],["COMBINATION",e=>{const o=y(e);return o.type="array","table"===e.displayMode?o["x-component"]="TABLE_COMBINATION":!1!==e.jsonCombination&&(o["x-component"]="JSON_COMBINATION"),Object.assign(o["x-decorator-props"],{showLabel:!1,showFeedback:!1}),Object.assign(o["x-component-props"],{title:e.alias||e.name,maxGroupNum:e.maxGroupNum,minGroupNum:e.minGroupNum,showLabel:!r(e.hide_title),properties:e.children||[],combinationItemDeletable:e.combinationItemDeletable}),o}],["RADIO",C],["CHECKBOX",C],["SWITCH",e=>{const o=y(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close,showMode:e.show_mode}),o}],["SLIDER",e=>{const o=y(e);return Object.assign(o["x-component-props"],{step:a(e.step_length),max:a(e.max_length),min:a(e.min_length),option:e.option}),o}],["COMPLEX",e=>{const o=y(e);Array.isArray(e.properties)&&p("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?T(e.properties||e.children):{};return o.type=e.fieldType||"void",o.properties=t,Object.assign(o["x-decorator-props"],{showFeedback:!1}),Object.assign(o["x-component-props"],i(e,["wrapperStyle","display"])),o}]]),E=e=>{if(s(e.suffixConfig)||s(e.prefixConfig))return k(e);return(j.get(e.html_type)||O)(e)},k=o=>{const t=y(o),n=o.suffixConfig?e(o.suffixConfig):[],i=[...(o.prefixConfig?e(o.prefixConfig):[]).map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:l(e.is_show)?"0":o.is_show}))),{...o,hide_title:"1",suffixConfig:void 0,prefixConfig:void 0},...n.map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:l(e.is_show)?"0":o.is_show})))],r=i.reduce(((e,o)=>e+2*(o.elem_width||3)),0);return Object.assign(t,{type:"void",name:m(i),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:r},"x-decorator-props":{...t["x-decorator-props"],showFeedback:!1,suffixFields:i.map((e=>e.val_key))},properties:T(i)}),t},{FieldNormalizeWaterfallHook:I,FieldListNormalizeWaterfallHook:N}=c();function T(o,i={column:9999}){let r=null;const l=N.call(t(o),i).reduce(((e,o,l)=>{var p;const c=null==(p=(o=I.call(o,i)).validate)?void 0:p.obj_type;return c&&n&&n.collect(c,t(o)),"LINEBAR"===o.html_type?(e[a(o)]=s(A(o),l),r=e[a(o)].properties={}):r?r[a(o)]=s(E(o),l):(r=null,e[a(o)]=s(E(o),l)),e}),{});return i.linebarAutoHidden&&Object.values(l).forEach((e=>{"LINEBAR"===e["x-component"]&&v(e)})),d({properties:l,"x-root":!0},((e,o)=>{"INPUT_GROUP"===e["x-component"]&&v(e,!!o&&!o["x-root"])})),l;function s(e,o){return e["x-index"]=o,e["x-decorator-props"]={_index:o,...e["x-decorator-props"]},e}function a(o){if(o.suffixConfig||o.prefixConfig){const t=[...e(o.prefixConfig),o,...e(o.suffixConfig)].filter(Boolean);return m(t)}return o.val_key}}return{schemaAdaptor:T}}function v(e,o=!1){e["x-reactions"]?e["x-reactions"]=n(e["x-reactions"]):e["x-reactions"]=[];const t=Object.keys(e.properties||{}).map((t=>`${o?"*.":"."}${e.name}.${t}#selfDisplay`)).concat(Object.keys(e.properties||{}).map((t=>`${o?"*.":"."}${e.name}.${t}#component`)));e["x-reactions"].push({dependencies:t,fulfill:{state:{visible:"{{hasVisible($deps)}}"}}})}export{b as useFieldListAdaptor};
@@ -105,6 +105,8 @@ export declare function useFieldNormalize(): {
105
105
  linebarTextDirection: "horizontal" | "vertical";
106
106
  autoWidth: number | boolean;
107
107
  feedbackType: "default" | "tooltip";
108
+ fixMemoLeak: boolean;
109
+ lazyRender: boolean;
108
110
  }>], import("../../../../shared/utils/tapable").UnsetAdditionalOptions>;
109
111
  FieldListNormalizeWaterfallHook: SyncWaterfallHook<[FieldItem[], Partial<{
110
112
  fieldList: FieldItem[];
@@ -210,5 +212,7 @@ export declare function useFieldNormalize(): {
210
212
  linebarTextDirection: "horizontal" | "vertical";
211
213
  autoWidth: number | boolean;
212
214
  feedbackType: "default" | "tooltip";
215
+ fixMemoLeak: boolean;
216
+ lazyRender: boolean;
213
217
  }>], import("../../../../shared/utils/tapable").UnsetAdditionalOptions>;
214
218
  };
@@ -173,6 +173,8 @@ export type FormRenderProps = Partial<{
173
173
  linebarTextDirection: 'vertical' | 'horizontal';
174
174
  autoWidth: boolean | number;
175
175
  feedbackType: 'tooltip' | 'default';
176
+ fixMemoLeak: boolean;
177
+ lazyRender: boolean;
176
178
  }>;
177
179
  export type FormBusinessFormatter = (payload: {
178
180
  fieldKey: string;
@@ -33,3 +33,4 @@ export declare function replace2Any(str: string, replacer: {
33
33
  to: any;
34
34
  }[]): any[];
35
35
  export declare function isEnter(event: KeyboardEvent): boolean;
36
+ export declare function isValidWidgetCombination(config: unknown): boolean;
@@ -1 +1 @@
1
- import{inject as e,provide as t,computed as n,createVNode as r,Fragment as o}from"vue";import{widthAppend as i,traverse as u,arrayed as c}from"../../../../shared/utils/index.js";import{isGeneralField as s}from"@formily/core";import{Path as f}from"@formily/path";import{HelpCircleSharp as l}from"@vicons/ionicons5";import{isObject as a}from"@vue/shared";import{useMemoize as p}from"@vueuse/core";import{isString as d,isFunction as m,omit as h,castArray as E,flattenDeep as T}from"lodash-es";import{NTooltip as g,NIcon as x}from"naive-ui";import{NESTED_FORM_ITEM_TYPE as y}from"../constants/index.js";import{TEXT as v}from"../components/renderer/text.js";export{businessDateParser,isForeignerID,isIdCard,isMobile,parseAge2Birthday,parseAgeFromContext,parseBirthday,parseIdCard,transformDateFormat}from"./business.js";function I(e){console.warn(`[FormRender]: ${e}`)}function R(e){return"1"===e||!0===e||1===e}function D(e){return"0"===e||!1===e||0===e}function A(e,t,n=["children","properties","suffixConfig"],r="val_key",o="default_val"){return function e(t,r){r.forEach((r=>{a(r)&&(null!=u(r)&&null==t[i(r)]&&f.setIn(t,i(r),u(r)),n.forEach((n=>{r[n]&&(t[i(r)]||(t[i(r)]={}),e(t[i(r)],c(r[n])))})))}))}(e,t),e;function i(e){return e[r]}function u(e){return e[o]}}function W(n,r){let o=e(n,null);return o||(o=r(),t(n,o)),o}function P(e){return e&&d(e)?+e:e}function _(e,t,n){if(a(e)&&!m(e)){const n={};return Object.entries(e).forEach((([e,r])=>{m(r)&&(n[e]=()=>r(t))})),n}return{default:()=>m(e)?e(t):n?n(e):[e]}}function G(e,t){return n((()=>{const n={};return e.prefix&&(n.prefix=()=>r(o,null,[_(e.prefix,e,t).default()])),e.suffix&&(n.suffix=()=>r(o,null,[_(e.suffix,e,t).default()])),n}))}function S(e,t){return d(e)&&e?e.replace(/\$\{([^}]*)}/g,(function(e,n){const r=n.split("||");for(const e of r){const n=t[e.trim()];if(n)return n}return""})):""}function j(e){return e.reduce(((e,t)=>(d(t.extendKey)&&t.extendKey&&e.push(t),B(t)&&e.push(...j(t.children||[])),e)),[])}function w(e,t){const n=j(e);if(!n.length)return t;const r={},o=new Map;return Object.entries(t).forEach((([e,i])=>{const u=n.find((t=>t.val_key===e));if(!u)return r[e]=i;const{val_key:c,extendKey:s}=u,l=o.get(s)||{};o.set(s,l);const a=f.getIn(t,e);null!=a&&f.setIn(l,c,a)})),[...o.entries()].forEach((([e,t])=>{r[e]=JSON.stringify(t)})),r}function $(e,t){const n=j(e);if(!n.length)return t;const r=p((e=>{try{return a(t[e])?t[e]:JSON.parse(t[e])||{}}catch(e){return{}}})),o=h(t,n.map((e=>e.extendKey)));return n.forEach((({val_key:e,extendKey:t})=>{Reflect.has(o,e)||(o[e]=r(t)[e])})),o}function b(e){return e&&y.includes(e)}function B(e){return b(s(e)?e.componentType:e.html_type)}function K(e,t){var n;const o=null!=(n=e.title)?n:e[t];return r("span",{title:o,style:{display:"inline-flex",flexDirection:"column",alignItems:"center","justify-content":"center"}},[e.imageBase64?r("img",{src:e.imageBase64,style:{width:i(e.imageWidth||80),height:i(e.imageHeight||80),marginBottom:"4px"}},null):null,r(v,{content:e[t],fieldItem:e},null)])}function X(e,t){return r("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[e,t.desc?r(g,null,{trigger:()=>r(x,{component:l},null),default:()=>t.desc}):null])}function k(e,t){return f.parse(e.startsWith(".")?e:`.${e}`,t).toString()}function C(e){return e.replace(/&lt;/g,"<").replace(/&gt;/g,">")}function F(e,t){return e.reduce(((e,n)=>(t(n)||(e.push(n),n.properties&&(n.properties=F(n.properties,t)),n.children&&(n.children=F(n.children,t))),e)),[])}function O(e,t){let n=null;return u(e,((e,r)=>{t(e)&&(n=e,r())}),["children","properties"]),n}var N=function(e){return e[e.PREPARE=0]="PREPARE",e[e.TEXT=1]="TEXT",e[e.WIDGET_START=2]="WIDGET_START",e[e.WIDGET=3]="WIDGET",e}(N||{});function J(e){const t=[...e],n=[];let r=N.PREPARE,o="";function i(e){switch(r=e,r){case N.PREPARE:case N.WIDGET_START:case N.WIDGET:o=""}}function u(e="text",t=o){n.push({type:e,content:t})}function c(){const e=n.pop();e&&("text"===e.type?o=e.content:n.push(e))}return t.forEach(((e,n)=>{const s=n===t.length-1;switch(r){case N.PREPARE:return"#"===e?(i(N.WIDGET_START),void(s&&u())):(i(N.TEXT),o=e,void(s&&u()));case N.TEXT:return"#"===e?void(s?(o+=e,u()):(u(),i(N.WIDGET_START))):(o+=e,void(s&&u()));case N.WIDGET_START:return"{"!==e||s?(c(),i(N.TEXT),o+=`#${e}`,void(s&&u())):void i(N.WIDGET);case N.WIDGET:return"}"===e?(u("widget"),void i(N.PREPARE)):"#"===e?(c(),u(),i(N.WIDGET_START),o+=`#${e}`,void(s&&u())):(o+=e,void(s&&u("text",`#{${o}`)))}})),n}function M(e,t){let n=E(e);return t.forEach((({from:e,to:t})=>{n.forEach(((r,o)=>{d(r)&&(n[o]=r.split(e).map(((e,n,r)=>[e,n<r.length-1?t:null])))})),n=T(n)})),n}function H(e){return"Enter"===e.code||"NumpadEnter"===e.code}export{F as FieldListFilter,w as combineExtendKey,G as createInputSlot,_ as createSlot,C as editorUnescape,O as findItemByValCondition,I as formRenderLog,k as getAbsoluteKey,W as injectOrProvide,H as isEnter,D as isNegative,B as isNestedFieldType,b as isNestedType,R as isPositive,A as mergeDeepProperties,J as parseEnhanceText,P as parseNumberFromMaybeString,X as renderDescOption,K as renderOptionLabel,M as replace2Any,$ as splitExtendKey,S as validateMessageParser};
1
+ import{inject as e,provide as t,computed as n,createVNode as r,Fragment as o}from"vue";import{widthAppend as i,traverse as u,arrayed as c}from"../../../../shared/utils/index.js";import{isGeneralField as s}from"@formily/core";import{Path as f}from"@formily/path";import{HelpCircleSharp as l}from"@vicons/ionicons5";import{isObject as a}from"@vue/shared";import{useMemoize as p}from"@vueuse/core";import{isString as d,isFunction as m,omit as h,castArray as E,flattenDeep as T,isArray as g}from"lodash-es";import{NTooltip as x,NIcon as y}from"naive-ui";import{NESTED_FORM_ITEM_TYPE as v}from"../constants/index.js";import{TEXT as I}from"../components/renderer/text.js";export{businessDateParser,isForeignerID,isIdCard,isMobile,parseAge2Birthday,parseAgeFromContext,parseBirthday,parseIdCard,transformDateFormat}from"./business.js";function R(e){console.warn(`[FormRender]: ${e}`)}function D(e){return"1"===e||!0===e||1===e}function A(e){return"0"===e||!1===e||0===e}function W(e,t,n=["children","properties","suffixConfig"],r="val_key",o="default_val"){return function e(t,r){r.forEach((r=>{a(r)&&(null!=u(r)&&null==t[i(r)]&&f.setIn(t,i(r),u(r)),n.forEach((n=>{r[n]&&(t[i(r)]||(t[i(r)]={}),e(t[i(r)],c(r[n])))})))}))}(e,t),e;function i(e){return e[r]}function u(e){return e[o]}}function P(n,r){let o=e(n,null);return o||(o=r(),t(n,o)),o}function _(e){return e&&d(e)?+e:e}function G(e,t,n){if(a(e)&&!m(e)){const n={};return Object.entries(e).forEach((([e,r])=>{m(r)&&(n[e]=()=>r(t))})),n}return{default:()=>m(e)?e(t):n?n(e):[e]}}function S(e,t){return n((()=>{const n={};return e.prefix&&(n.prefix=()=>r(o,null,[G(e.prefix,e,t).default()])),e.suffix&&(n.suffix=()=>r(o,null,[G(e.suffix,e,t).default()])),n}))}function j(e,t){return d(e)&&e?e.replace(/\$\{([^}]*)}/g,(function(e,n){const r=n.split("||");for(const e of r){const n=t[e.trim()];if(n)return n}return""})):""}function w(e){return e.reduce(((e,t)=>(d(t.extendKey)&&t.extendKey&&e.push(t),K(t)&&e.push(...w(t.children||[])),e)),[])}function $(e,t){const n=w(e);if(!n.length)return t;const r={},o=new Map;return Object.entries(t).forEach((([e,i])=>{const u=n.find((t=>t.val_key===e));if(!u)return r[e]=i;const{val_key:c,extendKey:s}=u,l=o.get(s)||{};o.set(s,l);const a=f.getIn(t,e);null!=a&&f.setIn(l,c,a)})),[...o.entries()].forEach((([e,t])=>{r[e]=JSON.stringify(t)})),r}function b(e,t){const n=w(e);if(!n.length)return t;const r=p((e=>{try{return a(t[e])?t[e]:JSON.parse(t[e])||{}}catch(e){return{}}})),o=h(t,n.map((e=>e.extendKey)));return n.forEach((({val_key:e,extendKey:t})=>{Reflect.has(o,e)||(o[e]=r(t)[e])})),o}function B(e){return e&&v.includes(e)}function K(e){return B(s(e)?e.componentType:e.html_type)}function X(e,t){var n;const o=null!=(n=e.title)?n:e[t];return r("span",{title:o,style:{display:"inline-flex",flexDirection:"column",alignItems:"center","justify-content":"center"}},[e.imageBase64?r("img",{src:e.imageBase64,style:{width:i(e.imageWidth||80),height:i(e.imageHeight||80),marginBottom:"4px"}},null):null,r(I,{content:e[t],fieldItem:e},null)])}function k(e,t){return r("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[e,t.desc?r(x,null,{trigger:()=>r(y,{component:l},null),default:()=>t.desc}):null])}function C(e,t){return f.parse(e.startsWith(".")?e:`.${e}`,t).toString()}function F(e){return e.replace(/&lt;/g,"<").replace(/&gt;/g,">")}function O(e,t){return e.reduce(((e,n)=>(t(n)||(e.push(n),n.properties&&(n.properties=O(n.properties,t)),n.children&&(n.children=O(n.children,t))),e)),[])}function N(e,t){let n=null;return u(e,((e,r)=>{t(e)&&(n=e,r())}),["children","properties"]),n}var J=function(e){return e[e.PREPARE=0]="PREPARE",e[e.TEXT=1]="TEXT",e[e.WIDGET_START=2]="WIDGET_START",e[e.WIDGET=3]="WIDGET",e}(J||{});function M(e){const t=[...e],n=[];let r=J.PREPARE,o="";function i(e){switch(r=e,r){case J.PREPARE:case J.WIDGET_START:case J.WIDGET:o=""}}function u(e="text",t=o){n.push({type:e,content:t})}function c(){const e=n.pop();e&&("text"===e.type?o=e.content:n.push(e))}return t.forEach(((e,n)=>{const s=n===t.length-1;switch(r){case J.PREPARE:return"#"===e?(i(J.WIDGET_START),void(s&&u())):(i(J.TEXT),o=e,void(s&&u()));case J.TEXT:return"#"===e?void(s?(o+=e,u()):(u(),i(J.WIDGET_START))):(o+=e,void(s&&u()));case J.WIDGET_START:return"{"!==e||s?(c(),i(J.TEXT),o+=`#${e}`,void(s&&u())):void i(J.WIDGET);case J.WIDGET:return"}"===e?(u("widget"),void i(J.PREPARE)):"#"===e?(c(),u(),i(J.WIDGET_START),o+=`#${e}`,void(s&&u())):(o+=e,void(s&&u("text",`#{${o}`)))}})),n}function H(e,t){let n=E(e);return t.forEach((({from:e,to:t})=>{n.forEach(((r,o)=>{d(r)&&(n[o]=r.split(e).map(((e,n,r)=>[e,n<r.length-1?t:null])))})),n=T(n)})),n}function q(e){return"Enter"===e.code||"NumpadEnter"===e.code}function z(e){return g(e)?!!e.length:a(e)}export{O as FieldListFilter,$ as combineExtendKey,S as createInputSlot,G as createSlot,F as editorUnescape,N as findItemByValCondition,R as formRenderLog,C as getAbsoluteKey,P as injectOrProvide,q as isEnter,A as isNegative,K as isNestedFieldType,B as isNestedType,D as isPositive,z as isValidWidgetCombination,W as mergeDeepProperties,M as parseEnhanceText,_ as parseNumberFromMaybeString,k as renderDescOption,X as renderOptionLabel,H as replace2Any,b as splitExtendKey,j as validateMessageParser};
@@ -1 +1 @@
1
- .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}
1
+ .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__textMode--dateIcon{color:#c2c2c2;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.form-render__textMode--input{align-items:center;border:1px solid #d5d5d5;border-radius:3px;display:flex;height:32px;justify-content:space-between;max-height:32px;overflow:hidden;padding:0 7px;position:relative;white-space:nowrap;width:100%;word-break:keep-all}.form-render__textMode--inputPlaceholder{color:#c2c2c2}.form-render__textMode--inputDisabled{background-color:#f5f5f5;cursor:not-allowed}.form-render__textMode--inputDisabled .form-render__textMode--inputPlaceholder{color:#000}.form-render__textMode--input>span{flex:1;overflow:hidden}.form-render__textMode--input .n-input__prefix{margin-right:4px}.form-render__textMode--input .n-input__suffix{margin-left:4px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}
@@ -1,4 +1,11 @@
1
1
  import { AnyObject } from '../../../../../../../shared/types';
2
2
  import { VxeTableConstructor } from 'vxe-table';
3
+ import { IhoTableFieldItem } from '../../../../../../../components/iho-table';
3
4
  export declare const selectOptionsMap: Map<string, Record<string, AnyObject[]>>;
5
+ export declare const selectColumnMap: {
6
+ uuidMap: Map<string, Record<string, IhoTableFieldItem[]>>;
7
+ getItemFromUUID: (uuid: string) => Record<string, IhoTableFieldItem[]>;
8
+ setItemFromUUID: (uuid: string, value: Record<string, IhoTableFieldItem[]>) => void;
9
+ removeItemFromUUID: (uuid: string) => void;
10
+ };
4
11
  export declare function getSelectOptions(uuid: string, field: string, row?: AnyObject, $table?: VxeTableConstructor): AnyObject[];
@@ -1 +1 @@
1
- import{reactive as e}from"vue";const n=e(new Map);function t(e,t,i,l){if(!e||!t)return[];if(l&&i){const{tableColumn:r}=l.reactData,o=r.find((e=>{var n,i;const l=null==(n=e.editRender)?void 0:n.props,r=null==(i=(null==l?void 0:l.connectField)||"")?void 0:i.split(",");return null==r?void 0:r.includes(t)}));if(o&&i[o.field])return n.get(e)[`${t}__${o.field}-${i[o.field]}`]}return n.get(e)[t]}export{t as getSelectOptions,n as selectOptionsMap};
1
+ import{reactive as e}from"vue";import{useUUIDMap as t}from"../../../../utils/index.js";const r=e(new Map),i=t((()=>({})));function n(e,t,n,o){var f;if(!e||!t)return[];if(o&&n){const o=null==(f=i.getItemFromUUID(e)[t])?void 0:f[0];if(o&&n[o.field])return r.get(e)[`${t}__${o.field}-${n[o.field]}`]}return r.get(e)[t]}export{n as getSelectOptions,i as selectColumnMap,r as selectOptionsMap};
@@ -1 +1 @@
1
- import{reactive as e,inject as l,createVNode as o,mergeProps as n,onBeforeUnmount as t}from"vue";import{arrayed as i}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r,InjectionIhoTableUUID as d}from"../../../../constants/index.js";import{useAutoFocus as u}from"../hooks/useAutoFocus.js";import{getTitle as s,IhoTableRenderHelper as a,IhoTableUtils as c}from"../../../../utils/index.js";import p from"./editSelect.js";import{getDefaultValue as f,isConnectField as m,getArray as v}from"./selectUtils.js";import{getSelectOptions as w,selectOptionsMap as C}from"../hooks/useSelectOption.js";import{cloneDeep as y,isFunction as b,isEqual as g}from"lodash-es";import{defineTablePlugin as h}from"../../../../hooks/useTablePlugin.js";function P(){const P="selectRendererPlugin",x=e(new Map);function E(e){return!0===e||"1"===e}return h({name:P,vxe(e){e.renderer.add(r.SELECT,{renderCell({props:e},{row:n,column:t,$table:r}){var u,a,c,p,m,v;const C=l(d),y=w(C,t.field,n,r);if(e&&e.labelToValue&&y.length){const l=E(null!=(a=null==(u=e.componentProps)?void 0:u.allowModify)?a:e.allowModify),o=E(null!=(p=null==(c=e.componentProps)?void 0:c.allowCreate)?p:e.allowCreate)||l,i=n[t.field];if(!l&&!o&&null!=i&&""!==i){const{aliasField:l="",labelField:o="label",valueField:r="value"}=e.componentProps||{};if(!y.find((e=>e[r]===i))){const e=y.find((e=>e[o]===i||e[l]===i));e?n[t.field]=e[r]:Reflect.deleteProperty(n,t.field)}}}const b=f(n,e,y),g=i(b).join(","),h=e&&(null==(m=e.componentProps)?void 0:m.multiple)&&(E(e.variableHeight)||(null==(v=e.componentProps)?void 0:v.indexedText));return[o("span",{title:s(t,g),class:"iho-table__colorAndIcon"},[h?i(b).reduce(((e,l)=>(null!=l&&e.push([l,";",o("br",null,null)]),e)),[]):g])]},renderEdit:a.createRenderEdit((({fieldItem:e,emitFormClick:t,row:i,column:r,$rowIndex:u,$table:s})=>{var a,c,f,m;const v=l(d),C=w(v,r.field,i,s),y=E(null!=(c=null==(a=e.componentProps)?void 0:a.allowModify)?c:e.allowModify),b=E(null!=(m=null==(f=e.componentProps)?void 0:f.allowCreate)?m:e.allowCreate)||y;return[o(p,n({queryOptions:e.queryOptions},e.componentProps,{options:C,column:r,row:i,"row-index":u,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,allowModify:y,allowCreate:b,onClick:t}),null)]}))})},apply(e){async function l(e,l={}){var o,n,t;const i=null==(o=e.editRender)?void 0:o.props;if(!i)return[];let r=v(i.options)||v(null==(n=i.componentProps)?void 0:n.options)||[];if(i.queryOptions)try{const o={column:e,isFullData:!0,...l};r=await(null==(t=i.queryOptions)?void 0:t.call(i,o))}catch(e){console.log(`获取${i.field}_options错误`)}return r}function o(e){return e&&c.getCellType(e)===r.SELECT}u(e).bindAutoFocusConfig(P,r.SELECT,".n-base-selection-input,.n-base-selection-tags"),e.fieldHooks.fieldList.tap(P,((e,{uuid:n})=>{if(n){C.get(n)||C.set(n,{}),x.set(n,y(e));const t=C.get(n);e.forEach((async n=>{var i;const r=null==(i=n.editRender)?void 0:i.props;if(n.field&&r&&o(r)&&!m(e,n.field)){if(b(r.queryOptions)&&t[n.field])return;t[n.field]=[],t[n.field]=await l(n)}}))}return e})),e.dataHooks.data.tap(P,((e,{uuid:n},t)=>{if(!n)return;const i=x.get(n);if(!i||!i.length)return;const r=C.get(n);i.forEach((async n=>{var t;const d=null==(t=n.editRender)?void 0:t.props;if(n.field&&d&&o(d)&&(null==d?void 0:d.connectField)){const o=d.connectField.split(","),t=e[d.columnName];o.forEach((async o=>{const u=null==i?void 0:i.find((e=>e.field===o));if(!u)return;const s=t?`${o}__${d.columnName}-${t}`:o;r[s]||(r[s]=[],r[s]=await l(u,{row:e,connectColumn:n}))}))}}))})),e.setupHooks.setup.tap(P,(e=>{t((()=>{var l;const o=null==(l=e.value)?void 0:l.uuid;o&&(C.delete(o),x.delete(o))}))})),e.eventHooks.onCellDblclick.tap(P,((e,l,{emits:n})=>{var t,i,r;const{$table:d,row:u,column:s}=e,a=Reflect.get(e,"verticalState");let{column:c,row:p}=d.reactData.editStore.actived;if(!(c&&p||(a&&(c=null==(t=a.editCell)?void 0:t.column,p=null==(i=a.editCell)?void 0:i.row),c&&p)))return;a&&(c=s,p=u);const f=null==(r=c.editRender)?void 0:r.props,{cellDblclickSelectable:m=!1,multiple:v=!1,valueField:C="value"}=f.componentProps||{};if(!m||!o(f))return;const y=l.uuid&&w(l.uuid,c.field,p,d);if(1!==(null==y?void 0:y.length))return;const b=v?[y[0][C]]:y[0][C],h=p[c.field];d.clearEdit(),g(b,h)||(p[c.field]=b,n("formChange",{column:c,row:p,oldValue:h,value:b,index:d.getRowIndex(p),$table:d,option:y[0]}),a&&(a.editCell=null))}))}})}export{P as selectRendererPlugin};
1
+ import{reactive as e,inject as o,createVNode as l,mergeProps as n,onBeforeUnmount as t}from"vue";import{arrayed as i}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r,InjectionIhoTableUUID as d}from"../../../../constants/index.js";import{useAutoFocus as s}from"../hooks/useAutoFocus.js";import{getTitle as u,IhoTableRenderHelper as c,getLowCodeFieldFromField as a,IhoTableUtils as p}from"../../../../utils/index.js";import f from"./editSelect.js";import{getDefaultValue as m,getArray as v}from"./selectUtils.js";import{getSelectOptions as w,selectOptionsMap as h,selectColumnMap as g}from"../hooks/useSelectOption.js";import{isString as C,isFunction as y,isEqual as b}from"lodash-es";import{defineTablePlugin as F}from"../../../../hooks/useTablePlugin.js";function E(){const E="selectRendererPlugin",P=e(new Map);function x(e){return!0===e||"1"===e}return F({name:E,vxe(e){e.renderer.add(r.SELECT,{renderCell({props:e},{row:n,column:t,$table:r}){var s,c,a,p,f,v;const h=o(d),g=w(h,t.field,n,r);if(e&&e.labelToValue&&g.length){const o=x(null!=(c=null==(s=e.componentProps)?void 0:s.allowModify)?c:e.allowModify),l=x(null!=(p=null==(a=e.componentProps)?void 0:a.allowCreate)?p:e.allowCreate)||o,i=n[t.field];if(!o&&!l&&null!=i&&""!==i){const{aliasField:o="",labelField:l="label",valueField:r="value"}=e.componentProps||{};if(!g.find((e=>e[r]===i))){const e=g.find((e=>e[l]===i||e[o]===i));e?n[t.field]=e[r]:Reflect.deleteProperty(n,t.field)}}}const C=m(n,e,g),y=i(C).join(","),b=e&&(null==(f=e.componentProps)?void 0:f.multiple)&&(x(e.variableHeight)||(null==(v=e.componentProps)?void 0:v.indexedText));return[l("span",{title:u(t,y),class:"iho-table__colorAndIcon"},[b?i(C).reduce(((e,o)=>(null!=o&&e.push([o,";",l("br",null,null)]),e)),[]):y])]},renderEdit:c.createRenderEdit((({fieldItem:e,emitFormClick:t,row:i,column:r,$rowIndex:s,$table:u})=>{var c,a,p,m;const v=o(d),h=w(v,r.field,i,u),g=x(null!=(a=null==(c=e.componentProps)?void 0:c.allowModify)?a:e.allowModify),C=x(null!=(m=null==(p=e.componentProps)?void 0:p.allowCreate)?m:e.allowCreate)||g;return[l(f,n({queryOptions:e.queryOptions},e.componentProps,{options:h,column:r,row:i,"row-index":s,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,allowModify:g,allowCreate:C,onClick:t}),null)]}))})},apply(e){async function o(e,o={}){var l,n,t;const i=null==(l=e.editRender)?void 0:l.props;if(!i)return[];let r=v(i.options)||v(null==(n=i.componentProps)?void 0:n.options)||[];if(i.queryOptions)try{const l={column:e,isFullData:!0,...o};r=await(null==(t=i.queryOptions)?void 0:t.call(i,l))}catch(e){console.log(`获取${i.field}_options错误`)}return r}function l(e){return e&&p.getCellType(e)===r.SELECT}s(e).bindAutoFocusConfig(E,r.SELECT,".n-base-selection-input,.n-base-selection-tags"),e.fieldHooks.fieldList.tap(E,((e,{uuid:n})=>{if(n){h.get(n)||h.set(n,{}),P.set(n,e);const t={};e.forEach((e=>{t[e.field]=e})),g.setItemFromUUID(n,{});const i=g.getItemFromUUID(n);e.forEach((e=>{const o=a(e);if(!o||!o.connectField||!C(o.connectField))return;o.connectField.split(",").forEach((o=>{i[o]=i[o]||[],i[o].push(e)}))}));const r=h.get(n);e.forEach((async e=>{var n,t;const d=null==(n=e.editRender)?void 0:n.props;if(e.field&&d&&l(d)&&!(null==(t=i[e.field])?void 0:t.length)){if(y(d.queryOptions)&&r[e.field])return;r[e.field]=[],r[e.field]=await o(e)}}))}return e})),e.dataHooks.data.tap(E,((e,{uuid:n},t)=>{if(!n)return;const i=P.get(n);if(!i||!i.length)return;const r=h.get(n);i.forEach((async n=>{var t;const d=null==(t=n.editRender)?void 0:t.props;if(n.field&&d&&l(d)&&(null==d?void 0:d.connectField)){const l=d.connectField.split(","),t=e[d.columnName];l.forEach((async l=>{const s=null==i?void 0:i.find((e=>e.field===l));if(!s)return;const u=t?`${l}__${d.columnName}-${t}`:l;r[u]||(r[u]=[],r[u]=await o(s,{row:e,connectColumn:n}))}))}}))})),e.setupHooks.setup.tap(E,(e=>{t((()=>{var o;const l=null==(o=e.value)?void 0:o.uuid;l&&(h.delete(l),g.removeItemFromUUID(l),P.delete(l))}))})),e.eventHooks.onCellDblclick.tap(E,((e,o,{emits:n})=>{var t,i,r;const{$table:d,row:s,column:u}=e,c=Reflect.get(e,"verticalState");let{column:a,row:p}=d.reactData.editStore.actived;if(!(a&&p||(c&&(a=null==(t=c.editCell)?void 0:t.column,p=null==(i=c.editCell)?void 0:i.row),a&&p)))return;c&&(a=u,p=s);const f=null==(r=a.editRender)?void 0:r.props,{cellDblclickSelectable:m=!1,multiple:v=!1,valueField:h="value"}=f.componentProps||{};if(!m||!l(f))return;const g=o.uuid&&w(o.uuid,a.field,p,d);if(1!==(null==g?void 0:g.length))return;const C=v?[g[0][h]]:g[0][h],y=p[a.field];d.clearEdit(),b(C,y)||(p[a.field]=C,n("formChange",{column:a,row:p,oldValue:y,value:C,index:d.getRowIndex(p),$table:d,option:g[0]}),c&&(c.editCell=null))}))}})}export{E as selectRendererPlugin};
@@ -1,5 +1,4 @@
1
1
  import { AnyObject } from '../../../../../../../shared/types';
2
- import { LowCodeTableFieldItem, IhoTableFieldItem } from '../../../../../../../components/iho-table/src/types';
2
+ import { LowCodeTableFieldItem } from '../../../../../../../components/iho-table/src/types';
3
3
  export declare function getDefaultValue(row: AnyObject, item: LowCodeTableFieldItem | any, options?: AnyObject[]): any;
4
4
  export declare function getArray(list: AnyObject[] | undefined): AnyObject[] | null | undefined;
5
- export declare function isConnectField(columns: IhoTableFieldItem[], field: string): boolean;
@@ -1 +1 @@
1
- function l(l,r,e=[]){const{aliasField:u="",labelField:i="label",valueField:o="value"}=(null==r?void 0:r.componentProps)||{},t=l[r.columnName];return Array.isArray(t)?t.map((l=>a(l))):a(t);function a(l){var r,t,a;const d=null==(r=n(e))?void 0:r.find((n=>n[o]==l));return null!=(a=null!=(t=null==d?void 0:d[u])?t:null==d?void 0:d[i])?a:l}}function n(l){return Array.isArray(l)&&!l.length?null:l}function r(l,n){return l.some((l=>{var r,e;return((null==(e=null==(r=l.editRender)?void 0:r.props)?void 0:e.connectField)||"").split(",").includes(n)}))}export{n as getArray,l as getDefaultValue,r as isConnectField};
1
+ function l(l,r,u=[]){const{aliasField:e="",labelField:i="label",valueField:o="value"}=(null==r?void 0:r.componentProps)||{},a=l[r.columnName];return Array.isArray(a)?a.map((l=>t(l))):t(a);function t(l){var r,a,t;const d=null==(r=n(u))?void 0:r.find((n=>n[o]==l));return null!=(t=null!=(a=null==d?void 0:d[e])?a:null==d?void 0:d[i])?t:l}}function n(l){return Array.isArray(l)&&!l.length?null:l}export{n as getArray,l as getDefaultValue};
@@ -1 +1 @@
1
- import{createVNode as e,defineComponent as o,inject as l,computed as n}from"vue";import{isNumber as t,constant as a,isString as i}from"lodash-es";import"../../../../index.js";import{NCheckbox as d}from"naive-ui";import{defineTablePlugin as c}from"../../../hooks/useTablePlugin.js";function r(){const o="checkRendererPlugin";return c({name:o,apply(l){l.fieldHooks.field.tap(o,((l,{index:n,insertBefore:i},d)=>{if(0===n&&d.selectType&&["checkbox","radio"].includes(d.selectType)){const{radioConfig:l,checkboxConfig:n={}}=d,c={width:45,align:"center",fixed:"left",..."radio"===d.selectType?l:n,field:o,type:d.selectType,annotation:!1};n.disableHeader&&(c.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...c.slots}),n.useNCheckbox&&(c.slots={checkbox:e=>s(e,n),header:t(n.maxCheckSize)?a([]):e=>s(e,n),...c.slots}),i(c)}return l}))}})}function s(o,l){return[e(p,{payload:o,checkboxConfig:l},null)]}const p=o({name:"IhoTableNCheckbox",props:{payload:{type:Object,default:()=>({})},checkboxConfig:{type:Object,default:()=>({})}},setup(o){const t=l("$xetable");function a(e,l){var n;l.stopPropagation(),"header"===(null==(n=o.payload)?void 0:n.type)?null==t||t.triggerCheckAllEvent(l,e):null==t||t.triggerCheckRowEvent(l,o.payload,e)}const c=n((()=>{var e,l;return i(null==(e=o.checkboxConfig)?void 0:e.indeterminateField)?null==(l=o.payload.row)?void 0:l[o.checkboxConfig.indeterminateField]:o.payload.indeterminate}));return()=>!1===o.payload.visible?null:e(d,{checked:o.payload.checked,"onUpdate:checked":e=>o.payload.checked=e,indeterminate:c.value,disabled:o.payload.disabled,onUpdateChecked:a},null)}});export{r as checkRendererPlugin};
1
+ import{createVNode as e,defineComponent as l,inject as o,computed as t}from"vue";import{isNumber as n,constant as i,isString as c}from"lodash-es";import"../../../../index.js";import{NCheckbox as a}from"naive-ui";import{defineTablePlugin as d}from"../../../hooks/useTablePlugin.js";function r(){const l="checkRendererPlugin";return d({name:l,apply(o){o.fieldHooks.field.tap(l,((o,{index:t,insertBefore:c},a)=>{if(0===t&&a.selectType&&["checkbox","radio"].includes(a.selectType)){const{radioConfig:o,checkboxConfig:t={}}=a,d={width:45,align:"center",fixed:"left",..."radio"===a.selectType?o:t,field:l,type:a.selectType,annotation:!1};t.disableHeader&&(d.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...d.slots}),t.useNCheckbox&&(d.slots={checkbox:e=>s(e,t),header:n(t.maxCheckSize)?i([]):e=>s(e,t),...d.slots}),c(d)}return o}))}})}function s(l,o){return[e(p,{payload:l,checkboxConfig:o},null)]}const p=l({name:"IhoTableNCheckbox",props:{payload:{type:Object,default:()=>({})},checkboxConfig:{type:Object,default:()=>({})}},setup(l){const n=o("$xetable");function i(e,o){var t,i,c,a;if(o.stopPropagation(),"header"===(null==(t=l.payload)?void 0:t.type))if(null==(i=l.checkboxConfig)?void 0:i.checkStrictly){const l=null==(a=null==(c=null==n?void 0:n.getComputeMaps())?void 0:c.computeCheckboxOpts)?void 0:a.value;if(!l)return;l.checkStrictly=!1,null==n||n.triggerCheckAllEvent(o,e),l.checkStrictly=!0}else null==n||n.triggerCheckAllEvent(o,e);else null==n||n.triggerCheckRowEvent(o,l.payload,e)}const d=t((()=>{var e,o;return c(null==(e=l.checkboxConfig)?void 0:e.indeterminateField)?null==(o=l.payload.row)?void 0:o[l.checkboxConfig.indeterminateField]:l.payload.indeterminate}));return()=>!1===l.payload.visible?null:e(a,{checked:l.payload.checked,"onUpdate:checked":e=>l.payload.checked=e,indeterminate:d.value,disabled:l.payload.disabled,onUpdateChecked:i},null)}});export{r as checkRendererPlugin};
@@ -216,6 +216,7 @@ export type LowCodeTableFieldItem = {
216
216
  colWidth: VxeTableDefines.ColumnInfo['width'];
217
217
  settingObj: IhoTableLowCodeField.SettingObj;
218
218
  treeNode: boolean;
219
+ connectField: string;
219
220
  isShow: MaybeString<0 | 1>;
220
221
  isSort: MaybeString<0 | 1>;
221
222
  isOrder: MaybeString<0> | VxeTablePropTypes.SortOrder;