cnhis-design-vue 3.2.15-release.5 → 3.2.16-beta.17

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 (83) hide show
  1. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  2. package/es/components/branch-notice/src/canstants.js +1 -1
  3. package/es/components/button-print/index.d.ts +6 -13
  4. package/es/components/button-print/src/ButtonPrint.vue.d.ts +6 -13
  5. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +6 -13
  6. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  7. package/es/components/button-print/style/index.css +1 -1
  8. package/es/components/callback/src/components/render/popupMaps.d.ts +10 -0
  9. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  10. package/es/components/expand-field/index.d.ts +54 -1
  11. package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +54 -1
  12. package/es/components/expand-field/src/components/PersonModal.vue.d.ts +54 -1
  13. package/es/components/expand-field/src/components/form.vue.d.ts +54 -1
  14. package/es/components/expand-field/src/index.vue.d.ts +54 -1
  15. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  16. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  17. package/es/components/fabric-chart/src/interface.d.ts +1 -0
  18. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  19. package/es/components/field-set/src/FieldFilter.vue.d.ts +1 -1
  20. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  21. package/es/components/field-set/src/components/table-row.vue.d.ts +1 -1
  22. package/es/components/form-config/index.d.ts +177 -24
  23. package/es/components/form-config/src/FormConfig.vue.d.ts +177 -24
  24. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  25. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +10 -0
  26. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +18 -0
  27. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +220 -95
  28. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  29. package/es/components/form-render/index.d.ts +10 -0
  30. package/es/components/form-render/src/FormRender.vue.d.ts +10 -0
  31. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  32. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +10 -0
  33. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  34. package/es/components/form-render/src/components/renderer/input.d.ts +9 -1
  35. package/es/components/form-render/src/components/renderer/input.js +1 -1
  36. package/es/components/form-render/src/components/renderer/text.js +1 -1
  37. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  38. package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
  39. package/es/components/form-render/src/types/fieldItem.d.ts +3 -1
  40. package/es/components/iho-chat/index.d.ts +182 -24
  41. package/es/components/iho-chat/src/Index.vue.d.ts +182 -24
  42. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  43. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  44. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  45. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +24 -12
  46. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +150 -7
  47. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  48. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +12 -6
  49. package/es/components/iho-chat/src/components/MessageEvent.vue.d.ts +137 -0
  50. package/es/components/iho-chat/src/components/MessageEvent.vue.js +1 -0
  51. package/es/components/iho-chat/src/components/MessageEvent.vue2.js +1 -0
  52. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +6 -3
  53. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +1 -1
  54. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +13 -6
  55. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  56. package/es/components/iho-chat/src/components/Video.vue.d.ts +1 -1
  57. package/es/components/iho-chat/src/components/Video.vue2.js +1 -1
  58. package/es/components/iho-chat/src/constants/index.d.ts +2 -1
  59. package/es/components/iho-chat/src/constants/index.js +1 -1
  60. package/es/components/iho-chat/src/hooks/useVideo.d.ts +2 -2
  61. package/es/components/iho-chat/src/hooks/useVideo.js +1 -1
  62. package/es/components/iho-chat/src/utils/asyncQueue.d.ts +10 -0
  63. package/es/components/iho-chat/src/utils/asyncQueue.js +1 -0
  64. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  65. package/es/components/iho-table/src/plugins/filterTextPlugin/filter.vue.d.ts +1 -0
  66. package/es/components/iho-table/src/plugins/filterTextPlugin/filter.vue2.js +1 -1
  67. package/es/components/iho-table/src/types/index.d.ts +17 -0
  68. package/es/components/iho-table/src/utils/index.js +1 -1
  69. package/es/components/index.css +1 -1
  70. package/es/components/info-header/index.d.ts +20 -0
  71. package/es/components/info-header/src/InfoHeader.vue.d.ts +20 -0
  72. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +10 -0
  73. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +10 -0
  74. package/es/components/select-person/index.d.ts +54 -1
  75. package/es/components/select-person/src/SelectPerson.vue.d.ts +29 -1
  76. package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
  77. package/es/components/select-person/src/index.vue.d.ts +54 -1
  78. package/es/components/select-person/src/index.vue2.js +1 -1
  79. package/es/components/shortcut-setter/index.d.ts +12 -0
  80. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +12 -0
  81. package/es/shared/hooks/useDateTime.js +1 -1
  82. package/es/shared/package.json.js +1 -1
  83. package/package.json +2 -2
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,watchEffect as o,watch as n,inject as i,computed as a,reactive as t,h as d,openBlock as s,createElementBlock as u,createVNode as r,unref as p,withCtx as c,createTextVNode as v,normalizeStyle as _,createElementVNode as f,Fragment as m,renderList as g,createBlock as h,toDisplayString as y,withModifiers as F,createCommentVNode as b,normalizeClass as k}from"vue";import{useTheme as w}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{cloneDeep as C,isEmpty as O,isArray as x,union as j,isString as B,isObject as T,omit as E}from"lodash-es";import"@vue/shared";import{traverse as L}from"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{HelpCircleSharp as N}from"@vicons/ionicons5";import{useDialog as U,NSelect as R,NButton as I,NModal as P,NScrollbar as z,NCollapse as V,NCollapseItem as q,NEllipsis as A,NThing as S,NSpace as $,NInputGroup as D,NInput as H,NTooltip as M,NIcon as W,NEmpty as X}from"naive-ui";import"../../../../shared/hooks/useScrollLoading.js";import{conditionOppositeMap as G,connectionTypeOptions as J,connectionTypeOppositeMap as K,InjectionFieldList as Q,conditionTypeOptions as Y}from"../constants/index.js";import Z from"../../../form-render/index.js";const ee={class:"form-config__connectionOperation"},le={class:"form-config__connectionConditionHeaderDesc"},oe={class:"form-config__connectionCondition"},ne={class:"form-config__connectionConditionItem"},ie={style:{"margin-right":"8px"}},ae={class:"form-config__connectionFieldType"},te=["onClick"],de={key:0},se={style:{display:"inline-flex","align-items":"center",gap:"4px","margin-bottom":"4px"}};var ue=e({__name:"FormConfigEventSetting",props:{modelValue:{default:()=>[]}},emits:["update:modelValue","validateFailure"],setup(ue,{emit:re}){var pe,ce;const ve=ue,_e=w(),fe=l([]),me=l("");function ge(){fe.value.push({conObj:[]}),me.value=fe.value.length-1+""}function he(e){return e.__oppositeBindField?`已绑定互斥联动: 联动${fe.value.findIndex((l=>l===e.__oppositeBindField))+1}`:e.__oppositeTargetField?`已关联互斥联动: 联动${fe.value.findIndex((l=>l===e.__oppositeTargetField))+1}`:void 0}function ye(e){return null==e?void 0:e.replace(/(AND|OR)/g,(e=>"AND"===e?"OR":"AND"))}function Fe(e){var l;const o=e.__oppositeTargetField||{conObj:[]};return o.conObj=C(e.conObj),null==(l=o.conObj)||l.forEach((e=>{e.con=G[e.con]})),o.sqlExpression=ye(e.sqlExpression),J.forEach((({value:l})=>{O(e[l])?Reflect.deleteProperty(o,K[l]):o[K[l]]=C(e[l])})),o.__oppositeBindField=e,o}function be(e,l){var o,n,i,a;return(null==(o=e.conObj)?void 0:o.length)===(null==(n=l.conObj)?void 0:n.length)&&(!(e.conObj&&l.conObj&&e.conObj.some((e=>!l.conObj.find((l=>{return n=l,(o=e).field_key===n.field_key&&o.con&&G[o.con]===n.con&&o.value===n.value;var o,n})))))&&(i=e.sqlExpression,a=l.sqlExpression,(!i&&!a||ye(i)===a)&&!J.some((({value:o})=>{return n=e[o],i=l[K[o]],!(n&&i?n.length===i.length&&n.every((e=>i.some((l=>e===l)))):!n&&!i);var n,i}))))}function ke(e){me.value=e[0]}function we(e){const l=fe.value[e];if(!l)return"";const o=l.conObj||[],n=J.reduce(((e,{value:o})=>(x(l[o])&&l[o].length&&e.push(...l[o].map(a)),e)),[]),i=j([...o.map((({field_key:e})=>a(e))),...n]).filter((e=>!!e));return i.length?`( 相关字段: ${i} )`:"";function a(e){var l,o;return null!=(o=null==(l=xe.value.find((l=>B(e)?e===l.key:!!T(e)&&Reflect.get(e,"field")===l.key)))?void 0:l.name)?o:e}}o((()=>{fe.value.forEach((e=>{e.__oppositeTargetField&&(e.__oppositeTargetField=Fe(e))}))}));const Ce=l(!1);n(Ce,(e=>{e&&(fe.value=C(ve.modelValue),fe.value.forEach(((e,l)=>{if(e.__oppositeBindField||e.__oppositeTargetField)return;const o=fe.value.find(((o,n)=>n!==l&&!o.__oppositeBindField&&!o.__oppositeTargetField&&be(o,e)));o&&(o.__oppositeBindField=e,e.__oppositeTargetField=o)})))}));const Oe=i(Q,l([])),xe=a((()=>{const e=[];return L(Oe.value,(l=>{!["NEWLINE","LINE_BAR","COMPLEX","COMBINATION"].includes(l.type)&&e.push(l)})),e})),je=a((()=>xe.value.filter((e=>["INPUT","SELECT","SEARCH","REMOTE_SEARCH"].includes(e.type))))),Be=t([]),Te=U();async function Ee(){var e,l;Te.warning({title:"提示",content:"直接关闭弹窗会丢失已编辑的配置, 确定要关闭吗?",positiveText:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定",negativeText:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.28"))||"取消",onPositiveClick:()=>{Ce.value=!1,fe.value=[]}})}async function Le(){try{await function(){var e;const l=[];return null==(e=fe.value)||e.forEach(((e,o)=>{const n=[];e.conObj&&e.conObj.length?e.conObj.forEach(((e,l)=>{e.field_key||n.push(`条件${l+1}字段为空`),e.con||n.push(`条件${l+1}判断类型为空`),["NULL","NOT_NULL"].includes(e.con)||!e.con||e.value||n.push(`条件${l+1}值为空`)})):n.push("联动条件为空"),J.every((({value:l})=>!e[l]||!e[l].length))&&n.push("联动字段为空"),n.length&&l.push(`联动${o+1}: ${n}`)})),l.length?Promise.reject(l):Promise.resolve()}(),Ce.value=!1,re("update:modelValue",fe.value.map((e=>E(e,["__oppositeBindField","__oppositeTargetField"]))))}catch(e){re("validateFailure",e)}}const Ne=[{alias:"值设置联动",val_key:"setValueField",html_type:"COMBINATION",elem_width:12,jsonCombination:!1,children:[{alias:(null==(pe=window.getLanguageByCode)?void 0:pe.call(window,"10010.1.9"))||"字段",val_key:"field",html_type:"SELECT2",elem_width:6,componentProps:{labelField:"name",valueField:"key"}},{alias:(null==(ce=window.getLanguageByCode)?void 0:ce.call(window,"10010.1.22"))||"值",elem_width:5,val_key:"value",html_type:"INPUT"}]}],Ue={SELECT2:e({inheritAttrs:!1,props:{value:{},onChange:{type:Function}},setup:e=>()=>d(R,{value:e.value,onUpdateValue:e.onChange,options:je.value,labelField:"name",valueField:"key",filterable:!0})})};return(e,l)=>(s(),u("section",null,[r(p(I),{size:"small",onClick:l[0]||(l[0]=e=>Ce.value=!0)},{default:c((()=>[v("调整联动绑定")])),_:1}),r(p(P),{show:Ce.value,"onUpdate:show":l[1]||(l[1]=e=>Ce.value=e),closable:!1,bordered:!1,"show-icon":!1,title:"联动绑定设置",preset:"dialog","mask-closable":!1,"close-on-esc":!1,style:_({width:"1100px",...p(_e)}),class:"form-config__connectionModal"},{action:c((()=>[r(p(I),{size:"small",onClick:Ee},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1}),r(p(I),{size:"small",onClick:Le,type:"primary"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定")]})),_:1})])),default:c((()=>[f("header",ee,[r(p(I),{onClick:ge,size:"small"},{default:c((()=>[v("新增联动")])),_:1})]),r(p(z),{style:{"max-height":"500px","min-height":"500px"}},{default:c((()=>[r(p(V),{accordion:"","expanded-names":me.value,"onUpdate:expandedNames":ke},{default:c((()=>[(s(!0),u(m,null,g(fe.value,((e,l)=>(s(),h(p(q),{name:l+""},{header:c((()=>[v(" 联动"+y(l+1)+" ",1),r(p(A),{class:"form-config__connectionConditionHeaderDesc",style:{"max-width":"500px"}},{default:c((()=>[v(y(we(l)),1)])),_:2},1024)])),"header-extra":c((()=>[e.__oppositeBindField||e.__oppositeTargetField?(s(),u(m,{key:1},[f("span",le,"( "+y(he(e))+" )",1),r(p(I),{quaternary:"",type:"primary",size:"small",onClick:F((l=>function(e){const l=e.__oppositeTargetField||e.__oppositeBindField;l&&[l,e].forEach((e=>{Reflect.deleteProperty(e,"__oppositeBindField"),Reflect.deleteProperty(e,"__oppositeTargetField")}))}(e)),["stop"])},{default:c((()=>[v("解除互斥")])),_:2},1032,["onClick"])],64)):(s(),h(p(I),{key:0,onClick:F((l=>function(e){fe.value.push(e.__oppositeTargetField=Fe(e))}(e)),["stop"]),quaternary:"",type:"primary",size:"small"},{default:c((()=>[v(" 创建互斥条件 ")])),_:2},1032,["onClick"])),r(p(I),{onClick:F((e=>function(e){var l;const o=null==(l=fe.value)?void 0:l.splice(e,1);null==o||o.forEach((e=>{const l=e.__oppositeTargetField||e.__oppositeBindField;l&&(Reflect.deleteProperty(l,"__oppositeTargetField"),Reflect.deleteProperty(l,"__oppositeBindField"))})),Be.splice(e,1),!me.value||+me.value<e||(me.value=me.value===e+""?"":+me.value-1+"")}(l)),["stop"]),quaternary:"",type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["onClick"])])),default:c((()=>[r(p(S),{class:"form-config__connectionWrapper"},{default:c((()=>[r(p($),{justify:"space-between",wrap:!1},{default:c((()=>[f("section",oe,[f("header",null,[v(" 条件 "),e.__oppositeBindField?b("v-if",!0):(s(),h(p(I),{key:0,size:"small",quaternary:"",type:"primary",onClick:l=>{var o;x((o=e).conObj)?o.conObj.push({}):o.conObj=[{}]}},{default:c((()=>[v(" 添加条件 ")])),_:2},1032,["onClick"]))]),r(p(z),{style:{"max-height":"145px","min-height":"145px"},class:"form-config__connectionWrapper"},{default:c((()=>[(s(!0),u(m,null,g(e.conObj||[],((l,o)=>(s(),u("div",ne,[f("span",ie,y(o+1),1),r(p(D),{size:"small"},{default:c((()=>[r(p(R),{value:l.field_key,"onUpdate:value":e=>l.field_key=e,disabled:!!e.__oppositeBindField,placeholder:"请选择字段",options:p(xe),"label-field":"name","value-field":"key",filterable:""},null,8,["value","onUpdate:value","disabled","options"]),r(p(R),{value:l.con,disabled:!!e.__oppositeBindField,"onUpdate:value":e=>function(e,l){e.con=l,["NOT_NULL","NULL"].includes(l)&&Reflect.deleteProperty(e,"value")}(l,e),placeholder:"请选择判断类型",options:p(Y)},null,8,["value","disabled","onUpdate:value","options"]),l.con&&!["NULL","NOT_NULL"].includes(l.con)?(s(),h(p(H),{key:0,disabled:!!e.__oppositeBindField,value:l.value,"onUpdate:value":e=>l.value=e,placeholder:"请输入值",clearable:""},null,8,["disabled","value","onUpdate:value"])):b("v-if",!0)])),_:2},1024),r(p(I),{disabled:!!e.__oppositeBindField,quaternary:"",onClick:l=>function(e,l){x(e.conObj)&&e.conObj.splice(l,1)}(e,o),type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["disabled","onClick"])])))),256))])),_:2},1024)]),f("section",ae,[f("div",null,[(s(!0),u(m,null,g(p(J),(o=>{var n,i;return s(),u("div",{key:o.value,class:k({"is-active":Be[l]===o.value}),onClick:e=>Be[l]=o.value},y(o.label)+" ( "+y(null!=(i=null==(n=e[o.value])?void 0:n.length)?i:0)+" ) ",11,te)})),128))]),f("div",null,["setValueField"===Be[l]?(s(),u("section",de,[r(p(Z),{"field-list":Ne,"initial-data":{setValueField:e.setValueField},"label-placement":"left",components:Ue,onFormChange:l=>function(e,l){l.setValueField=e.fieldInstance.form.getValuesIn("setValueField")}(l,e)},null,8,["initial-data","onFormChange"])])):Be[l]?(s(),h(p(R),{key:1,value:e[Be[l]],"onUpdate:value":o=>e[Be[l]]=o,disabled:!!e.__oppositeBindField,multiple:"",placeholder:"请选择字段",options:p(xe),"label-field":"name","value-field":"key",filterable:"","max-tag-count":10},null,8,["value","onUpdate:value","disabled","options"])):b("v-if",!0)])])])),_:2},1024),f("section",null,[f("label",null,[f("span",se,[v(" 条件逻辑 "),r(p(M),null,{trigger:c((()=>[r(p(W),{size:"16",component:p(N)},null,8,["component"])])),default:c((()=>[v(" 非必填, 默认为需要全部满足. 示例: (1 AND 2) OR 3, 表示 条件1和2需要满足其一, 条件3必须满足 ")])),_:1})]),r(p(H),{value:e.sqlExpression,"onUpdate:value":l=>e.sqlExpression=l,disabled:!!e.__oppositeBindField,placeholder:"请输入条件逻辑"},null,8,["value","onUpdate:value","disabled"])])])])),_:2},1024)])),_:2},1032,["name"])))),256))])),_:1},8,["expanded-names"]),fe.value.length?b("v-if",!0):(s(),h(p(X),{key:0,size:"huge",style:{"margin-top":"20px"},description:"无联动配置"}))])),_:1})])),_:1},8,["show","style"])]))}});export{ue as default};
1
+ import{createElementVNode as e,defineComponent as l,ref as o,watchEffect as n,watch as i,inject as a,computed as t,reactive as d,openBlock as s,createElementBlock as r,createVNode as u,unref as p,withCtx as c,createTextVNode as v,normalizeStyle as f,Fragment as _,renderList as m,createBlock as g,toDisplayString as y,withModifiers as h,createCommentVNode as b,normalizeClass as k}from"vue";import{useTheme as F}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{cloneDeep as w,isEmpty as C,isArray as x,union as j,isString as O,isObject as B,omit as L}from"lodash-es";import"@vue/shared";import{traverse as E}from"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{HelpCircleSharp as T}from"@vicons/ionicons5";import{useDialog as U,NButton as N,NModal as R,NScrollbar as z,NCollapse as V,NCollapseItem as P,NEllipsis as q,NThing as A,NSpace as I,NInputGroup as D,NSelect as S,NInput as $,NTooltip as H,NIcon as M,NEmpty as W}from"naive-ui";import"../../../../shared/hooks/useScrollLoading.js";import{conditionOppositeMap as K,connectionTypeOptions as X,connectionTypeOppositeMap as G,InjectionFieldList as J,conditionTypeOptions as Q,EditAbleField as Y}from"../constants/index.js";import Z from"../../../form-render/index.js";import{findFieldItemByKey as ee}from"../utils/index.js";import"../../../../shared/components/VueDraggable/src/vuedraggable.js";import{useConfigurationField as le}from"../hooks/useConfigurationField.js";var oe;const ne={class:"form-config__connectionOperation"},ie={class:"form-config__connectionConditionHeaderDesc"},ae={class:"form-config__connectionCondition"},te={style:{"margin-right":"8px"}},de={class:"form-config__connectionFieldType"},se=["onClick"],re={key:0},ue={style:{"margin-bottom":"8px"}},pe=e("span",{style:{"word-break":"keep-all"}},(null==(oe=window.getLanguageByCode)?void 0:oe.call(window,"10010.1.9"))||"字段",-1),ce={key:1},ve={style:{display:"inline-flex","align-items":"center",gap:"4px","margin-bottom":"4px"}};var fe=l({__name:"FormConfigEventSetting",props:{modelValue:{default:()=>[]},bindFormRenderRef:null},emits:["update:modelValue","validateFailure"],setup(l,{emit:oe}){const fe=l,_e=F(),me=o([]),ge=o("");function ye(){me.value.push({conObj:[]}),ge.value=me.value.length-1+""}function he(e){return e.__oppositeBindField?`已绑定互斥联动: 联动${me.value.findIndex((l=>l===e.__oppositeBindField))+1}`:e.__oppositeTargetField?`已关联互斥联动: 联动${me.value.findIndex((l=>l===e.__oppositeTargetField))+1}`:void 0}function be(e){return null==e?void 0:e.replace(/(AND|OR)/g,(e=>"AND"===e?"OR":"AND"))}function ke(e){var l;const o=e.__oppositeTargetField||{conObj:[]};return o.conObj=w(e.conObj),null==(l=o.conObj)||l.forEach((e=>{e.con=K[e.con]})),o.sqlExpression=be(e.sqlExpression),X.forEach((({value:l})=>{C(e[l])?Reflect.deleteProperty(o,G[l]):o[G[l]]=w(e[l])})),o.__oppositeBindField=e,o}function Fe(e,l){var o,n,i,a;return(null==(o=e.conObj)?void 0:o.length)===(null==(n=l.conObj)?void 0:n.length)&&(!(e.conObj&&l.conObj&&e.conObj.some((e=>!l.conObj.find((l=>{return n=l,(o=e).field_key===n.field_key&&o.con&&K[o.con]===n.con&&o.value===n.value;var o,n})))))&&(i=e.sqlExpression,a=l.sqlExpression,(!i&&!a||be(i)===a)&&!X.some((({value:o})=>{return n=e[o],i=l[G[o]],!(n&&i?n.length===i.length&&n.every((e=>i.some((l=>e===l)))):!n&&!i);var n,i}))))}function we(e){ge.value=e[0]}function Ce(e){const l=me.value[e];if(!l)return"";const o=l.conObj||[],n=X.reduce(((e,{value:o})=>(x(l[o])&&l[o].length&&e.push(...l[o].map(a)),e)),[]),i=j([...o.map((({field_key:e})=>a(e))),...n]).filter((e=>!!e&&O(e)));return i.length?`( 相关字段: ${i} )`:"";function a(e){var l,o;return null!=(o=null==(l=Oe.value.find((l=>O(e)?e===l.key:!!B(e)&&Reflect.get(e,"field")===l.key)))?void 0:l.name)?o:e}}n((()=>{me.value.forEach((e=>{e.__oppositeTargetField&&(e.__oppositeTargetField=ke(e))}))}));const xe=o(!1);i(xe,(e=>{e&&(me.value=w(fe.modelValue),me.value.forEach(((e,l)=>{if(e.__oppositeBindField||e.__oppositeTargetField)return;const o=me.value.find(((o,n)=>n!==l&&!o.__oppositeBindField&&!o.__oppositeTargetField&&Fe(o,e)));o&&(o.__oppositeBindField=e,e.__oppositeTargetField=o)})))}));const je=a(J,o([])),Oe=t((()=>{const e=[];return E(je.value,(l=>{!["NEWLINE","LINE_BAR","COMPLEX","COMBINATION"].includes(l.type)&&e.push(l)})),e})),Be=["INPUT","SELECT","SEARCH","REMOTE_SEARCH"],Le=t((()=>Oe.value.filter((e=>{var l;return Be.includes(e.type)||(null==(l=e.originalSetting)?void 0:l.html_type)&&Be.includes(e.originalSetting.html_type)})))),Ee=d([]),Te=U();async function Ue(){var e,l;Te.warning({title:"提示",content:"直接关闭弹窗会丢失已编辑的配置, 确定要关闭吗?",positiveText:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定",negativeText:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.28"))||"取消",onPositiveClick:()=>{xe.value=!1,me.value=[]}})}async function Ne(){try{await function(){var e;const l=[];return null==(e=me.value)||e.forEach(((e,o)=>{const n=[];e.conObj&&e.conObj.length?e.conObj.forEach(((e,l)=>{e.field_key||n.push(`条件${l+1}字段为空`),e.con||n.push(`条件${l+1}判断类型为空`),["NULL","NOT_NULL"].includes(e.con)||!e.con||e.value||n.push(`条件${l+1}值为空`)})):n.push("联动条件为空"),X.every((({value:l})=>!e[l]||!e[l].length))&&n.push("联动字段为空"),n.length&&l.push(`联动${o+1}: ${n}`)})),l.length?Promise.reject(l):Promise.resolve()}(),xe.value=!1,oe("update:modelValue",me.value.map((e=>L(e,["__oppositeBindField","__oppositeTargetField"]))))}catch(e){oe("validateFailure",e)}}const{generateFieldListByKeys:Re}=le(),ze=e=>{var l,o;const n=null!=(o=null==(l=fe.bindFormRenderRef)?void 0:l.getFieldList())?o:[];return[...Re([Y.DEFAULT_VALUE],Le.value.find((l=>l.key===e)),ee(n,e)).map((e=>{var l;return{...e,alias:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.22"))||"值",decoratorProps:{showFeedback:!1}}}))]};return(l,o)=>(s(),r("section",null,[u(p(N),{size:"small",onClick:o[0]||(o[0]=e=>xe.value=!0)},{default:c((()=>[v("调整联动绑定")])),_:1}),u(p(R),{show:xe.value,"onUpdate:show":o[1]||(o[1]=e=>xe.value=e),closable:!1,bordered:!1,"show-icon":!1,title:"联动绑定设置",preset:"dialog","mask-closable":!1,"close-on-esc":!1,style:f({width:"1100px",...p(_e)}),class:"form-config__connectionModal"},{action:c((()=>[u(p(N),{size:"small",onClick:Ue},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1}),u(p(N),{size:"small",onClick:Ne,type:"primary"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定")]})),_:1})])),default:c((()=>[e("header",ne,[u(p(N),{onClick:ye,size:"small"},{default:c((()=>[v("新增联动")])),_:1})]),u(p(z),{style:{"max-height":"500px","min-height":"500px"}},{default:c((()=>[u(p(V),{accordion:"","expanded-names":ge.value,"onUpdate:expandedNames":we},{default:c((()=>[(s(!0),r(_,null,m(me.value,((l,o)=>(s(),g(p(P),{name:o+"",key:o},{header:c((()=>[v(" 联动"+y(o+1)+" ",1),u(p(q),{class:"form-config__connectionConditionHeaderDesc",style:{"max-width":"500px"}},{default:c((()=>[v(y(Ce(o)),1)])),_:2},1024)])),"header-extra":c((()=>[l.__oppositeBindField||l.__oppositeTargetField?(s(),r(_,{key:1},[e("span",ie,"( "+y(he(l))+" )",1),u(p(N),{quaternary:"",type:"primary",size:"small",onClick:h((e=>function(e){const l=e.__oppositeTargetField||e.__oppositeBindField;l&&[l,e].forEach((e=>{Reflect.deleteProperty(e,"__oppositeBindField"),Reflect.deleteProperty(e,"__oppositeTargetField")}))}(l)),["stop"])},{default:c((()=>[v("解除互斥")])),_:2},1032,["onClick"])],64)):(s(),g(p(N),{key:0,onClick:h((e=>function(e){me.value.push(e.__oppositeTargetField=ke(e))}(l)),["stop"]),quaternary:"",type:"primary",size:"small"},{default:c((()=>[v(" 创建互斥条件 ")])),_:2},1032,["onClick"])),u(p(N),{onClick:h((e=>function(e){var l;const o=null==(l=me.value)?void 0:l.splice(e,1);null==o||o.forEach((e=>{const l=e.__oppositeTargetField||e.__oppositeBindField;l&&(Reflect.deleteProperty(l,"__oppositeTargetField"),Reflect.deleteProperty(l,"__oppositeBindField"))})),Ee.splice(e,1),!ge.value||+ge.value<e||(ge.value=ge.value===e+""?"":+ge.value-1+"")}(o)),["stop"]),quaternary:"",type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["onClick"])])),default:c((()=>[u(p(A),{class:"form-config__connectionWrapper"},{default:c((()=>[u(p(I),{justify:"space-between",wrap:!1},{default:c((()=>[e("section",ae,[e("header",null,[v(" 条件 "),l.__oppositeBindField?b("v-if",!0):(s(),g(p(N),{key:0,size:"small",quaternary:"",type:"primary",onClick:e=>{var o;x((o=l).conObj)?o.conObj.push({}):o.conObj=[{}]}},{default:c((()=>[v(" 添加条件 ")])),_:2},1032,["onClick"]))]),u(p(z),{style:{"max-height":"145px","min-height":"145px"},class:"form-config__connectionWrapper"},{default:c((()=>[(s(!0),r(_,null,m(l.conObj||[],((o,n)=>(s(),r("div",{class:"form-config__connectionConditionItem",key:n},[e("span",te,y(n+1),1),u(p(D),{size:"small"},{default:c((()=>[u(p(S),{value:o.field_key,"onUpdate:value":e=>o.field_key=e,disabled:!!l.__oppositeBindField,placeholder:"请选择字段",options:p(Oe),"label-field":"name","value-field":"key",filterable:""},null,8,["value","onUpdate:value","disabled","options"]),u(p(S),{value:o.con,disabled:!!l.__oppositeBindField,"onUpdate:value":e=>function(e,l){e.con=l,["NOT_NULL","NULL"].includes(l)&&Reflect.deleteProperty(e,"value")}(o,e),placeholder:"请选择判断类型",options:p(Q)},null,8,["value","disabled","onUpdate:value","options"]),o.con&&!["NULL","NOT_NULL"].includes(o.con)?(s(),g(p($),{key:0,disabled:!!l.__oppositeBindField,value:o.value,"onUpdate:value":e=>o.value=e,placeholder:"请输入值",clearable:""},null,8,["disabled","value","onUpdate:value"])):b("v-if",!0)])),_:2},1024),u(p(N),{disabled:!!l.__oppositeBindField,quaternary:"",onClick:e=>function(e,l){x(e.conObj)&&e.conObj.splice(l,1)}(l,n),type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["disabled","onClick"])])))),128))])),_:2},1024)]),e("section",de,[e("div",null,[(s(!0),r(_,null,m(p(X),(e=>{var n,i;return s(),r("div",{key:e.value,class:k({"is-active":Ee[o]===e.value}),onClick:l=>Ee[o]=e.value},y(e.label)+" ( "+y(null!=(i=null==(n=l[e.value])?void 0:n.length)?i:0)+" ) ",11,se)})),128))]),e("div",null,["setValueField"===Ee[o]?(s(),r("section",re,[e("header",ue,[u(p(N),{type:"primary",size:"tiny",onClick:e=>(e=>{e.setValueField=e.setValueField||[],e.setValueField.push({})})(l)},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.279"))||"新增")]})),_:2},1032,["onClick"])]),(s(!0),r(_,null,m(l.setValueField||[],((e,o)=>(s(),r("section",{style:{display:"flex","justify-content":"space-between",gap:"16px","align-items":"center","margin-bottom":"4px"},key:o},[u(p(I),{wrap:!1,align:"center"},{default:c((()=>[pe,u(p(S),{style:{width:"130px"},value:e.field,"onUpdate:value":l=>e.field=l,placeholder:"请选择字段",options:p(Le),"label-field":"name","value-field":"key",filterable:""},null,8,["value","onUpdate:value","options"])])),_:2},1024),e.field?(s(),g(p(Z),{style:{flex:"1"},column:6,key:e.field,"field-list":ze(e.field),"initial-data":e,"label-placement":"left",onFormChange:l=>function(e,l){l.value=e.fieldInstance.form.getValuesIn("value")}(l,e)},null,8,["field-list","initial-data","onFormChange"])):(s(),r("i",ce)),u(p(N),{type:"error",size:"tiny",onClick:e=>((e,l)=>{var o;null==(o=e.setValueField)||o.splice(l,1)})(l,o)},{default:c((()=>[v(" x ")])),_:2},1032,["onClick"])])))),128))])):Ee[o]?(s(),g(p(S),{key:1,value:l[Ee[o]],"onUpdate:value":e=>l[Ee[o]]=e,disabled:!!l.__oppositeBindField,multiple:"",placeholder:"请选择字段",options:p(Oe),"label-field":"name","value-field":"key",filterable:"","max-tag-count":10},null,8,["value","onUpdate:value","disabled","options"])):b("v-if",!0)])])])),_:2},1024),e("section",null,[e("label",null,[e("span",ve,[v(" 条件逻辑 "),u(p(H),null,{trigger:c((()=>[u(p(M),{size:"16",component:p(T)},null,8,["component"])])),default:c((()=>[v(" 非必填, 默认为需要全部满足. 示例: (1 AND 2) OR 3, 表示 条件1和2需要满足其一, 条件3必须满足 ")])),_:1})]),u(p($),{value:l.sqlExpression,"onUpdate:value":e=>l.sqlExpression=e,disabled:!!l.__oppositeBindField,placeholder:"请输入条件逻辑"},null,8,["value","onUpdate:value","disabled"])])])])),_:2},1024)])),_:2},1032,["name"])))),128))])),_:1},8,["expanded-names"]),me.value.length?b("v-if",!0):(s(),g(p(W),{key:0,size:"huge",style:{"margin-top":"20px"},description:"无联动配置"}))])),_:1})])),_:1},8,["show","style"])]))}});export{fe as default};
@@ -206,6 +206,9 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
206
206
  type: import("vue").PropType<"default" | "tooltip">;
207
207
  default: string;
208
208
  };
209
+ fixMemoLeak: {
210
+ type: BooleanConstructor;
211
+ };
209
212
  }, {
210
213
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
211
214
  fieldList: {
@@ -405,6 +408,9 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
405
408
  type: import("vue").PropType<"default" | "tooltip">;
406
409
  default: string;
407
410
  };
411
+ fixMemoLeak: {
412
+ type: BooleanConstructor;
413
+ };
408
414
  }>> & {
409
415
  onFormChange?: ((...args: any[]) => any) | undefined;
410
416
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -962,6 +968,9 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
962
968
  type: import("vue").PropType<"default" | "tooltip">;
963
969
  default: string;
964
970
  };
971
+ fixMemoLeak: {
972
+ type: BooleanConstructor;
973
+ };
965
974
  }>> & {
966
975
  onFormChange?: ((...args: any[]) => any) | undefined;
967
976
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -995,6 +1004,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
995
1004
  feedbackType: "default" | "tooltip";
996
1005
  operationalFormInit: boolean;
997
1006
  incrementalRender: boolean;
1007
+ fixMemoLeak: boolean;
998
1008
  }>;
999
1009
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
1000
1010
  export default FormRender;
@@ -201,6 +201,9 @@ declare const _default: import("vue").DefineComponent<{
201
201
  type: PropType<"default" | "tooltip">;
202
202
  default: string;
203
203
  };
204
+ fixMemoLeak: {
205
+ type: BooleanConstructor;
206
+ };
204
207
  }, {
205
208
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
206
209
  fieldList: {
@@ -400,6 +403,9 @@ declare const _default: import("vue").DefineComponent<{
400
403
  type: PropType<"default" | "tooltip">;
401
404
  default: string;
402
405
  };
406
+ fixMemoLeak: {
407
+ type: BooleanConstructor;
408
+ };
403
409
  }>> & {
404
410
  onFormChange?: ((...args: any[]) => any) | undefined;
405
411
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -957,6 +963,9 @@ declare const _default: import("vue").DefineComponent<{
957
963
  type: PropType<"default" | "tooltip">;
958
964
  default: string;
959
965
  };
966
+ fixMemoLeak: {
967
+ type: BooleanConstructor;
968
+ };
960
969
  }>> & {
961
970
  onFormChange?: ((...args: any[]) => any) | undefined;
962
971
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -990,5 +999,6 @@ declare const _default: import("vue").DefineComponent<{
990
999
  feedbackType: "default" | "tooltip";
991
1000
  operationalFormInit: boolean;
992
1001
  incrementalRender: boolean;
1002
+ fixMemoLeak: boolean;
993
1003
  }>;
994
1004
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,provide as t,computed as r,nextTick as a,onUnmounted 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 w,NTabs as x,NTabPane as A,NConfigProvider as B}from"naive-ui";import{useVersion as L}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 q}from"./utils/schema.js";import{useAnchor as P}from"./hooks/useAnchor.js";import"../index.js";import{useComplexOptionsSpan as G}from"./hooks/useComplexOptions.js";import{useFieldListAdaptor as M}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";const se={key:0,style:{height:"54px"}},ie={style:{"white-space":"pre"}};var le=e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default: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"}},emits:["formChange","annotationChange","scroll","update:selectedFields","linebarChange","ready"],setup(e,{expose:le,emit:ne}){const me=e,pe=k(),{nuiThemeOverrides:de}=oe();Y();const ue=o(),{width:ce}=C(ue);t(W,r((()=>ce.value?(ce.value-16*(me.column-1))/24:0)));const fe=r((()=>F(me.maxHeight)?me.maxHeight+"px":me.maxHeight)),{SchemaField:he,businessCollector:ye,formItemDepsCollector:ge,changeContextCollector:ve,asyncQueue:be,formUUID:je}=z(me,ne),{anchorBarRef:ke,currentAnchor:Ce,updateAnchorList:Fe,anchorIdList:Se,onScroll:we,generateAnchorList:xe}=P(me,ne,ue,ge),{callLifeCycle:Ae}=X(me);t(U,Ae),Ae("onSetup");const{observeFormGraph:Be,setGraph:Le,removeGraph:Re}=$();t(E,Be);const{lowCodeEventTrigger:He}=Z(),Oe=o(!0),Te=R({initialValues:me.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();ye.trigger(e,a),ge.trigger(t.path),Oe.value&&ne("formChange",{fieldInstance:t,fieldKey:a,oldValue:r,fieldName:t.title,value:t.value,context:ve.getContext(a,t.value)}),He(t),Ie(a),Ve(a),Ne.trigger(a),_e.trigger(a,t.value)})),T("*",Le),T("*",(e=>{const o=e.props.name.toString();Ie(o),Ve(o),me.operationalFormInit&&Ne.trigger(o)})),I("*",Re),me.anchor&&V("*",Fe)}}),{lowCodeReactionsHandler:Ie}=ee(r((()=>me.lowCodeReactions)),Te),{newLowCodeReactionsHandler:Ve}=ae(r((()=>me.newLowCodeReactions)),Te),Ne=te(me,Te),_e=re().create(Te,ve),{schemaAdaptor:De}=M(ye,me.lifeCycle);let We=me.fieldList||[],Ue=[];const Ee=r((()=>{let e=!1;const o=me.schema?me.schema:me.fieldList?(We!==me.fieldList&&0!==We.length||(e=!0),We=K().traverse(S(me.fieldList),me.fieldVisitor),q(De(We,me))):q({});return me.incrementalRender&&e&&(Ue=[],Object.values(o.properties).forEach((e=>{var o;"visible"===e["x-display"]&&"LINEBAR"===e["x-component"]&&!1!==(null==(o=e["x-component-props"])?void 0:o.show)&&(Ue.push(e),e["x-component-props"].show=!1)})),qe()),o}));function qe(){Ue.length&&setTimeout((()=>{const e=Ue.shift();e&&(ge.trigger(N.parse(e.name),!0),Te.setFieldState(e.name,(e=>{e.componentProps.show=!0})),Ue.length?qe():a().then((()=>{ne("ready")})))}),300)}const{onKeydown:Pe}=J({formModel:Te,formRenderRef:ue,props:me,formUUID:je}),{clearSpan:Ge}=G();s((()=>Ge(je)));const Me=Q({formModel:Te,formRenderRef:ue,formItemDepsCollector:ge,businessCollector:ye,wordbookSettingHandler:_e,operationalFormHandler:Ne,getFieldList:()=>We,formUUID:je,changeContextCollector:ve,emitFormChange:Oe});return le({formModel:Te,validate:(e="*",o={})=>Me.validate(e,o),getFormValues:(e=!0)=>Me.getFormValues(e),setFormValues:async(e,o={})=>Me.setFormValues(e,o),setFieldState(e,o){Me.setFieldState(e,o)},resetFields(e="*"){Me.resetFields(e)},queryWidget:async e=>Me.queryWidget(e),getFieldList:()=>We,applySelectedSetting:e=>Me.applySelectedSetting(e),async reload(){console.error("reload function is abstract,it should be overwrite!")},async optionInited(e={}){if(await a(),be.activeTasks)return new Promise((o=>{var t;const r=()=>{o(),be.onActiveTaskChange=null};be.onActiveTaskChange=()=>{be.activeTasks||r()},setTimeout(r,null!=(t=e.timeout)?t:5e3)}))},updateAnchor(){xe(Te)},getTextFormValues:()=>Me.getTextFormValues()}),(o,t)=>(i(),l(n(w),m({class:["form-render",{"form-render--out-border":e.outBordered}],"require-mark-placement":"left",style:n(pe)},n(L)(),{uuid:n(je)}),{default:p((()=>[e.anchor?(i(),d("section",se,[u(n(x),{value:n(Ce),"onUpdate:value":t[0]||(t[0]=e=>c(Ce)?Ce.value=e:null),type:"line",ref_key:"anchorBarRef",ref:ke},{default:p((()=>[(i(!0),d(f,null,h(n(Se),(e=>(i(),l(n(A),{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(de)},{default:p((()=>[g("section",{class:"form-render__wrapper",style:v({"--column":e.column,"--form-height":n(fe)}),ref_key:"formRenderRef",ref:ue,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(Te)},{default:p((()=>[u(n(he),{schema:n(Ee)},null,8,["schema"]),e.consumer?(i(),l(n(D),{key:0},{default:p((({form:e})=>[g("div",ie,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{le 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}},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((()=>{let e=!1;const o=pe.schema?pe.schema:pe.fieldList?(Ue!==pe.fieldList&&0!==Ue.length||(e=!0),Ue=K().traverse(S(pe.fieldList),pe.fieldVisitor),M(We(Ue,pe))):M({});return pe.incrementalRender&&e&&(Ee=[],Object.values(o.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()),o}));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?(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};
@@ -204,6 +204,9 @@ declare const _default: import("vue").DefineComponent<{}, {
204
204
  type: import("vue").PropType<"default" | "tooltip">;
205
205
  default: string;
206
206
  };
207
+ fixMemoLeak: {
208
+ type: BooleanConstructor;
209
+ };
207
210
  }, {
208
211
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
209
212
  fieldList: {
@@ -403,6 +406,9 @@ declare const _default: import("vue").DefineComponent<{}, {
403
406
  type: import("vue").PropType<"default" | "tooltip">;
404
407
  default: string;
405
408
  };
409
+ fixMemoLeak: {
410
+ type: BooleanConstructor;
411
+ };
406
412
  }>> & {
407
413
  onFormChange?: ((...args: any[]) => any) | undefined;
408
414
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -960,6 +966,9 @@ declare const _default: import("vue").DefineComponent<{}, {
960
966
  type: import("vue").PropType<"default" | "tooltip">;
961
967
  default: string;
962
968
  };
969
+ fixMemoLeak: {
970
+ type: BooleanConstructor;
971
+ };
963
972
  }>> & {
964
973
  onFormChange?: ((...args: any[]) => any) | undefined;
965
974
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -993,6 +1002,7 @@ declare const _default: import("vue").DefineComponent<{}, {
993
1002
  feedbackType: "default" | "tooltip";
994
1003
  operationalFormInit: boolean;
995
1004
  incrementalRender: boolean;
1005
+ fixMemoLeak: boolean;
996
1006
  }>;
997
1007
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
998
1008
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,computed as t,ref as r,onUnmounted as o,createVNode as a,mergeProps as i,unref as n,withModifiers as d,createTextVNode as u}from"vue";import{arrayed as s,getStringWidth as m,widthAppend as f}from"../../../../../shared/utils/index.js";import{isVoidField as v}from"@formily/core";import{observe as c,autorun as p}from"@formily/reactive";import{connect as b,mapProps as h}from"@formily/vue";import{useDebounceFn as _}from"@vueuse/core";import{isString as y,isArray as g,isObject as k,isNumber as I,isFunction as x,uniq as F}from"lodash-es";import{NFormItem as w,NTooltip as O,NButton as P}from"naive-ui";import R from"../../../../annotation-edit/index.js";import"../../../index.js";import T from"../tooltipMessage.vue.js";import{InjectionFormGlobalProps as j,InjectionFormGlobalEmit as E,InjectionFormUUID as L,InjectionFormGraph as M,InjectionAnnotation as S,InjectionAnnotationShortcuts as A,InjectionFormColumnWidth as C}from"../../constants/index.js";import{useComplexOptionsSpan as U}from"../../hooks/useComplexOptions.js";import{validateMessageParser as W,editorUnescape as N}from"../../utils/index.js";import{dotEscape as q,createFieldAddressId as B}from"../../utils/schema.js";import{useFormField as H}from"../../hooks/useFormField.js";const K=b(e({name:"FormRenderItem",props:{label:String,propertyKey:String,remark:String,span:{type:Number,default:6},suffixFields:{type:Array},labelRender:Function,annotation:{},isOptionChildField:Boolean,feedback:String,showFeedback:{type:Boolean,default:void 0},fieldItem:{type:Object},showTooltipFeedback:{type:Boolean,default:!0}},setup(e,{slots:s,attrs:b}){const h=l(j),W=l(E),{field:K,fieldKey:V,fieldAddress:D}=H(),G=l(L),$=t((()=>q(`${G}-${D.value}`))),z=r(!1);if(v(K.value)&&g(e.suffixFields)){const t=l(M);o(c(t,_((()=>{v(K.value)&&g(e.suffixFields)&&(z.value=e.suffixFields.some((e=>{const l=K.value.form.query(e).take();return l&&Reflect.get(l,"required")})))}),100)))}else o(p((()=>{z.value=Reflect.get(K.value,"required")})));const Y=l(S),J=t({get(){var l,t;return null!=(t=null==(l=Y.value)?void 0:l[e.propertyKey])?t:""},set(l){Y.value={property:e.propertyKey,value:l}}}),Q=l(A);const X=t((()=>{var l;const t={color:null==(l=e.fieldItem)?void 0:l.labelColor};return k(b.labelStyle)&&Object.assign(t,b.labelStyle),t})),Z=t((()=>Y.value&&!1!==e.annotation)),ee=t((()=>{var l;return y(null==(l=e.fieldItem)?void 0:l.editor_title)&&e.fieldItem.editor_title&&["POPUP_ALERT","HOVER_TOOLTIP"].includes(e.fieldItem.editor_title_mode)})),le=r(!1);const te=t((()=>e.label&&" "!==e.label)),re=t((()=>{let l=0;return Z.value&&(l+=18),e.remark&&(l+=18),ee.value&&(l+=32),l})),oe=l(j,{}),ae=t((()=>{var l;const t=null==(l=e.fieldItem)?void 0:l.bordered;return null==t?oe.bordered:t})),ie=l("n-form",{}),ne=t((()=>{var e,l,t,r;if("left"!==(null!=(l=b.labelPlacement)?l:null==(e=ie.props)?void 0:e.labelPlacement))return"";let o=null!=(r=b.labelWidth)?r:null==(t=ie.props)?void 0:t.labelWidth;return o&&"auto"!==o?(o=parseInt(o+""),isNaN(o)||!I(o)?"":o-12-re.value-(z.value?11:0)):""})),de=t((()=>x(e.labelRender)?"":y(e.label)?e.label:""));function ue(){return te.value?a("section",{class:"form-render__formItemLabel"},[a("span",{class:"form-render__formItemLabel--text",style:{marginRight:f(re.value),maxWidth:f(ne.value)},title:de.value},[x(e.labelRender)?e.labelRender(e.label):e.label]),re.value?a("section",{class:"form-render__formItemLabel--operation"},[e.remark?a("div",{class:"form-render__formItemLabel--tooltip"},[a(T,{message:e.remark},null)]):null,Z.value?a(R,{class:"form-render__formItemLabel--annotation",modelValue:J.value,"onUpdate:modelValue":e=>J.value=e,shortcuts:n(Q)},null):null,ee.value?a(O,{zIndex:3e3,raw:!0,showArrow:!1,trigger:"POPUP_ALERT"===e.fieldItem.editor_title_mode?"manual":"hover",placement:"top-start",show:"HOVER_TOOLTIP"===e.fieldItem.editor_title_mode?void 0:le.value,contentStyle:"background-color:white;color:rgb(51, 54, 57);padding:8px;position:relative;"},{trigger:()=>a(P,{onClick:d((()=>le.value=!le.value),["stop","prev"]),text:!0,type:"primary"},{default:()=>[a("span",{style:"display:inline-block;margin-left:4px"},[u("提示")])]}),default:()=>{var l,t;return[a("div",{innerHTML:N(null!=(t=null==(l=e.fieldItem)?void 0:l.editor_title)?t:"")},null),a(P,{text:!0,onClick:()=>le.value=!le.value,style:"position:absolute;right:2px;top:2px;line-height:1;height:12px;transform:scaleY(0.9)"},{default:()=>[u("x")]})]}}):null]):null]):null}const se=t((()=>{let l=re.value;return z.value&&(l+=11),y(e.label)&&(l+=ne.value||m(e.label)),l})),me=l(C),{getSpan:fe}=U();function ve(){var l,t,r,o,a,i,d;const u="inner"===(null==(l=e.fieldItem)?void 0:l.childWidthMode)?e.span:fe(G,K.value.address,!1)+e.span;if("left"!==(null!=(r=b.labelPlacement)?r:null==(t=ie.props)?void 0:t.labelPlacement)||!n(me)||!(null==h?void 0:h.autoWidth)||"INPUT_GROUP"===(null==(a=null==(o=K.value.parent)?void 0:o.component)?void 0:a[0]))return u;if("INPUT_GROUP"===(null==(d=null==(i=K.value.parent)?void 0:i.component)?void 0:d[0]))return u;const s=16+me.value;let m=u*s-16-se.value;const f=I(null==h?void 0:h.autoWidth)?h.autoWidth:120;let v=u;for(;m<f&&v<12;)v++,m+=s;return v}function ce(){var l;return"tooltip"!==(null==h?void 0:h.feedbackType)?null==(l=s.default)?void 0:l.call(s):a(O,{to:"body",trigger:"manual",show:!!e.feedback&&e.showTooltipFeedback,raw:!0,animated:!1,showArrow:!1,placement:"top-start",contentStyle:"background-color:#e88080;color:white;padding:8px;border-radius:4px"},{trigger(){var e;return null==(e=s.default)?void 0:e.call(s)},default:()=>e.feedback})}function pe(){var l,t,r;const o=null==(l=e.fieldItem)?void 0:l.editor_title,i=!(null==(t=e.fieldItem)?void 0:t.editor_title_mode)||"EMBEDDED_FORM"===(null==(r=e.fieldItem)?void 0:r.editor_title_mode);return y(o)&&o&&i?a("section",{style:"display:flex;flex-direction:column;gap:4px"},[ce(),a("div",{innerHTML:N(o)},null)]):ce()}function be(){const e=[K.value.path+""];return K.value.form.query("*").forEach((l=>{(l.address+"").includes(K.value.address+"")&&((l.path+"").includes(K.value.path+"")||e.push(l.path+""))})),e}const he=t({get:()=>!(!(null==h?void 0:h.selectMode)||!g(null==h?void 0:h.selectedFields))&&h.selectedFields.includes(K.value.path+""),set(e){if(!g(null==h?void 0:h.selectedFields))return;let l=[...h.selectedFields];e?(l.push(...be()),l=F(l)):be().forEach((e=>{const t=l.indexOf(e);t>-1&&l.splice(t,1)})),null==W||W("update:selectedFields",l)}}),_e=t((()=>(null==h?void 0:h.selectMode)&&!(K.value.parent&&"LINEBAR"!==K.value.parent.componentType)));function ye(){(null==h?void 0:h.selectMode)&&(he.value=!he.value)}const ge=t((()=>e.isOptionChildField?!!e.feedback&&" "!==e.feedback&&e.showFeedback:e.showFeedback));return()=>a(w,i({class:["form-render__formItem",{"form-render--no-border":!ae.value,"form-render--underline":"underline"===ae.value,"form-render__formItemMask":_e.value,"form-render__formItemMask--selected":_e.value&&he.value}],style:{"--form-item-column":ve()},showFeedback:ge.value,feedback:"tooltip"===(null==h?void 0:h.feedbackType)?"":e.feedback,labelStyle:X.value},{id:$.value,uuid:G,onClick:ye,"widget-type":K.value.componentType,"field-key":q(V.value),"field-address":B(D.value),required:z.value}),{...s,default:pe,label:ue})}}),h({title:"label"},((e,l)=>{const t=v(l)?void 0:s(l.selfErrors).length?function(e,l){if(!y(l.defined_error_msg)||!l.defined_error_msg)return e.map((e=>W(e,l))).join(",");return W(l.defined_error_msg,l)}(s(l.selfErrors),e.fieldItem):void 0;return{...e,fieldItem:void 0,feedback:t,"validation-status":t?"error":void 0}})));export{K as FORM_ITEM};
1
+ import{defineComponent as e,inject as l,computed as t,ref as r,onUnmounted as o,createVNode as a,mergeProps as i,unref as n,withModifiers as d,createTextVNode as u}from"vue";import{arrayed as s,getStringWidth as m,widthAppend as f}from"../../../../../shared/utils/index.js";import{isVoidField as v}from"@formily/core";import{observe as c,autorun as p}from"@formily/reactive";import{connect as b,mapProps as h}from"@formily/vue";import{useDebounceFn as _}from"@vueuse/core";import{isString as y,isArray as g,isObject as k,isNumber as I,isFunction as x,uniq as F}from"lodash-es";import{NFormItem as w,NTooltip as O,NButton as T}from"naive-ui";import P from"../../../../annotation-edit/index.js";import"../../../index.js";import R from"../tooltipMessage.vue.js";import{InjectionFormGlobalProps as j,InjectionFormGlobalEmit as E,InjectionFormUUID as L,InjectionFormGraph as M,InjectionAnnotation as S,InjectionAnnotationShortcuts as C,InjectionFormColumnWidth as A}from"../../constants/index.js";import{useComplexOptionsSpan as U}from"../../hooks/useComplexOptions.js";import{validateMessageParser as W,editorUnescape as N}from"../../utils/index.js";import{dotEscape as q,createFieldAddressId as B}from"../../utils/schema.js";import{useFormField as H}from"../../hooks/useFormField.js";const K=b(e({name:"FormRenderItem",props:{label:String,propertyKey:String,remark:String,span:{type:Number,default:6},suffixFields:{type:Array},labelRender:Function,annotation:{},isOptionChildField:Boolean,feedback:String,showFeedback:{type:Boolean,default:void 0},fieldItem:{type:Object},showTooltipFeedback:{type:Boolean,default:!0}},setup(e,{slots:s,attrs:b}){const h=l(j),W=l(E),{field:K,fieldKey:V,fieldAddress:D}=H(),G=l(L),$=t((()=>q(`${G}-${D.value}`))),z=r(!1);if(v(K.value)&&g(e.suffixFields)){const t=l(M);o(c(t,_((()=>{v(K.value)&&g(e.suffixFields)&&(z.value=e.suffixFields.some((e=>{const l=K.value.form.query(e).take();return l&&Reflect.get(l,"required")})))}),100)))}else o(p((()=>{z.value=Reflect.get(K.value,"required")})));const Y=l(S),J=t({get(){var l,t;return null!=(t=null==(l=Y.value)?void 0:l[e.propertyKey])?t:""},set(l){Y.value={property:e.propertyKey,value:l}}}),Q=l(C);const X=t((()=>{var l;const t={color:null==(l=e.fieldItem)?void 0:l.labelColor};return k(b.labelStyle)&&Object.assign(t,b.labelStyle),t})),Z=t((()=>Y.value&&!1!==e.annotation)),ee=t((()=>{var l;return y(null==(l=e.fieldItem)?void 0:l.editor_title)&&e.fieldItem.editor_title&&["POPUP_ALERT","HOVER_TOOLTIP"].includes(e.fieldItem.editor_title_mode)})),le=r(!1);const te=t((()=>e.label&&" "!==e.label)),re=t((()=>{let l=0;return Z.value&&(l+=18),e.remark&&(l+=18),ee.value&&(l+=32),l})),oe=l(j,{}),ae=t((()=>{var l;const t=null==(l=e.fieldItem)?void 0:l.bordered;return null==t?oe.bordered:t})),ie=l("n-form",{}),ne=t((()=>{var e,l,t,r;if("left"!==(null!=(l=b.labelPlacement)?l:null==(e=ie.props)?void 0:e.labelPlacement))return"";let o=null!=(r=b.labelWidth)?r:null==(t=ie.props)?void 0:t.labelWidth;return o&&"auto"!==o?(o=parseInt(o+""),isNaN(o)||!I(o)?"":o-12-re.value-(z.value?11:0)):""})),de=t((()=>x(e.labelRender)?"":y(e.label)?e.label:"")),ue=t((()=>{var l;return null==(l=e.fieldItem)?void 0:l.fieldTitleColor}));function se(){return te.value?a("section",{class:"form-render__formItemLabel"},[a("span",{class:"form-render__formItemLabel--text",style:{marginRight:f(re.value),maxWidth:f(ne.value),color:ue.value},title:de.value},[x(e.labelRender)?e.labelRender(e.label):e.label]),re.value?a("section",{class:"form-render__formItemLabel--operation"},[e.remark?a("div",{class:"form-render__formItemLabel--tooltip"},[a(R,{message:e.remark},null)]):null,Z.value?a(P,{class:"form-render__formItemLabel--annotation",modelValue:J.value,"onUpdate:modelValue":e=>J.value=e,shortcuts:n(Q)},null):null,ee.value?a(O,{zIndex:3e3,raw:!0,showArrow:!1,trigger:"POPUP_ALERT"===e.fieldItem.editor_title_mode?"manual":"hover",placement:"top-start",show:"HOVER_TOOLTIP"===e.fieldItem.editor_title_mode?void 0:le.value,contentStyle:"background-color:white;color:rgb(51, 54, 57);padding:8px;position:relative;"},{trigger:()=>a(T,{onClick:d((()=>le.value=!le.value),["stop","prev"]),text:!0,type:"primary"},{default:()=>[a("span",{style:"display:inline-block;margin-left:4px"},[u("提示")])]}),default:()=>{var l,t;return[a("div",{innerHTML:N(null!=(t=null==(l=e.fieldItem)?void 0:l.editor_title)?t:"")},null),a(T,{text:!0,onClick:()=>le.value=!le.value,style:"position:absolute;right:2px;top:2px;line-height:1;height:12px;transform:scaleY(0.9)"},{default:()=>[u("x")]})]}}):null]):null]):null}const me=t((()=>{let l=re.value;return z.value&&(l+=11),y(e.label)&&(l+=ne.value||m(e.label)),l})),fe=l(A),{getSpan:ve}=U();function ce(){var l,t,r,o,a,i,d;const u="inner"===(null==(l=e.fieldItem)?void 0:l.childWidthMode)?e.span:ve(G,K.value.address,!1)+e.span;if("left"!==(null!=(r=b.labelPlacement)?r:null==(t=ie.props)?void 0:t.labelPlacement)||!n(fe)||!(null==h?void 0:h.autoWidth)||"INPUT_GROUP"===(null==(a=null==(o=K.value.parent)?void 0:o.component)?void 0:a[0]))return u;if("INPUT_GROUP"===(null==(d=null==(i=K.value.parent)?void 0:i.component)?void 0:d[0]))return u;const s=16+fe.value;let m=u*s-16-me.value;const f=I(null==h?void 0:h.autoWidth)?h.autoWidth:120;let v=u;for(;m<f&&v<12;)v++,m+=s;return v}function pe(){var l;return"tooltip"!==(null==h?void 0:h.feedbackType)?null==(l=s.default)?void 0:l.call(s):a(O,{to:"body",trigger:"manual",show:!!e.feedback&&e.showTooltipFeedback,raw:!0,animated:!1,showArrow:!1,placement:"top-start",contentStyle:"background-color:#e88080;color:white;padding:8px;border-radius:4px"},{trigger(){var e;return null==(e=s.default)?void 0:e.call(s)},default:()=>e.feedback})}function be(){var l,t,r;const o=null==(l=e.fieldItem)?void 0:l.editor_title,i=!(null==(t=e.fieldItem)?void 0:t.editor_title_mode)||"EMBEDDED_FORM"===(null==(r=e.fieldItem)?void 0:r.editor_title_mode);return y(o)&&o&&i?a("section",{style:"display:flex;flex-direction:column;gap:4px"},[pe(),a("div",{innerHTML:N(o)},null)]):pe()}function he(){const e=[K.value.path+""];return K.value.form.query("*").forEach((l=>{(l.address+"").includes(K.value.address+"")&&((l.path+"").includes(K.value.path+"")||e.push(l.path+""))})),e}const _e=t({get:()=>!(!(null==h?void 0:h.selectMode)||!g(null==h?void 0:h.selectedFields))&&h.selectedFields.includes(K.value.path+""),set(e){if(!g(null==h?void 0:h.selectedFields))return;let l=[...h.selectedFields];e?(l.push(...he()),l=F(l)):he().forEach((e=>{const t=l.indexOf(e);t>-1&&l.splice(t,1)})),null==W||W("update:selectedFields",l)}}),ye=t((()=>(null==h?void 0:h.selectMode)&&!(K.value.parent&&"LINEBAR"!==K.value.parent.componentType)));function ge(){(null==h?void 0:h.selectMode)&&(_e.value=!_e.value)}const ke=t((()=>e.isOptionChildField?!!e.feedback&&" "!==e.feedback&&e.showFeedback:e.showFeedback));return()=>a(w,i({class:["form-render__formItem",{"form-render--no-border":!ae.value,"form-render--underline":"underline"===ae.value,"form-render__formItemMask":ye.value,"form-render__formItemMask--selected":ye.value&&_e.value}],style:{"--form-item-column":ce()},showFeedback:ke.value,feedback:"tooltip"===(null==h?void 0:h.feedbackType)?"":e.feedback,labelStyle:X.value},{id:$.value,uuid:G,onClick:ge,"widget-type":K.value.componentType,"field-key":q(V.value),"field-address":B(D.value),required:z.value}),{...s,default:be,label:se})}}),h({title:"label"},((e,l)=>{const t=v(l)?void 0:s(l.selfErrors).length?function(e,l){if(!y(l.defined_error_msg)||!l.defined_error_msg)return e.map((e=>W(e,l))).join(",");return W(l.defined_error_msg,l)}(s(l.selfErrors),e.fieldItem):void 0;return{...e,fieldItem:void 0,feedback:t,"validation-status":t?"error":void 0}})));export{K as FORM_ITEM};
@@ -8,6 +8,9 @@ export declare const INPUT: import("vue").DefineComponent<{
8
8
  suffix: {
9
9
  type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
10
10
  };
11
+ password: {
12
+ type: BooleanConstructor;
13
+ };
11
14
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12
15
  value: {
13
16
  type: StringConstructor;
@@ -18,6 +21,11 @@ export declare const INPUT: import("vue").DefineComponent<{
18
21
  suffix: {
19
22
  type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
20
23
  };
24
+ password: {
25
+ type: BooleanConstructor;
26
+ };
21
27
  }>> & {
22
28
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
23
- }, {}>;
29
+ }, {
30
+ password: boolean;
31
+ }>;
@@ -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 n}from"@formily/vue";import{NInput as m}from"naive-ui";import{assignUpdateValue as s,assignClearBindVisited as p}from"../../utils/schema.js";const a=u(e({name:"FormInput",props:{value:{type:String},prefix:{type:[String,Function,Object]},suffix:{type:[String,Function,Object]}},emits:["update:value"],setup(e,{emit:u}){const n=o(e,"value",u),s=r().injectValueBindKey(n),p=i(e,(e=>[t("i",{style:{color:"rgba(33,33,33,.4)"}},[e])]));return()=>t(m,{key:s.value,value:n.value,"onUpdate:value":e=>n.value=e},p.value)}}),n(((e,t)=>{const o=s(e,t);return o.allowInput=e=>!e.startsWith(" ")&&!e.endsWith(" "),o}),p));export{a as INPUT};
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 +1 @@
1
- import{defineComponent as e,computed as t,inject as n,createVNode as o}from"vue";import{connect as r,mapProps as l,RecursionField as i}from"@formily/vue";import{isString as s}from"lodash-es";import"../../../index.js";import{InjectionBusinessCollector as a,InjectionFormGlobalProps as u}from"../../constants/index.js";import{useFieldListAdaptor as m}from"../../hooks/useFieldListAdaptor.js";import{createObjSchema as c}from"../../utils/schema.js";import{createSlot as p,replace2Any as d}from"../../utils/index.js";const f=r(e({name:"FORM_TEXT",props:{content:{},fieldItem:{type:Object},value:{},onChange:{}},setup(e){function r(t,n=!1,r=!0){return r?o("div",{style:n?{display:"flex",alignItems:"center"}:{}},[l()]):l();function l(){var n,r;return null==(r=(n=p(t,e,(e=>s(e)?e=d(e.replace("\n","<br>"),[{from:"<br>",to:o("i",{style:{width:"100%",height:"4px"}},null)},{from:" ",to:o("i",{style:{display:"inline-block",width:"4px"}},null)}]):[e]))).default)?void 0:r.call(n)}}const l=t((()=>{var t,n;return null!=(n=null==(t=e.fieldItem)?void 0:t.__textEnhance)?n:[]})),f=t((()=>l.value.length&&l.value.some((e=>"widget"===e.type)))),v=n(a),h=n(u),{schemaAdaptor:y}=m(v,h.lifeCycle);return()=>{var t;return f.value?o("div",{style:{display:"flex",alignItems:"center"}},[l.value.map((e=>{if("text"===e.type)return r(e.content,!0,!1);if(s(e.content))return r(e.content,!0,!1);const t={...e.content};return t.decoratorProps={...t.decoratorProps,showLabel:!1,showFeedback:!1},o(i,{basePath:".",schema:c(y([t]))},null)}))]):r(null!=(t=e.content)?t:e.value)}}}),l((e=>{var t;return{...e,content:null==(t=e.fieldItem)?void 0:t.content}})));export{f as TEXT};
1
+ import{defineComponent as e,computed as t,inject as n,createVNode as r}from"vue";import{connect as o,mapProps as l,RecursionField as i}from"@formily/vue";import{isString as a}from"lodash-es";import"../../../index.js";import{InjectionBusinessCollector as s,InjectionFormGlobalProps as u}from"../../constants/index.js";import{useFieldListAdaptor as m}from"../../hooks/useFieldListAdaptor.js";import{createObjSchema as c}from"../../utils/schema.js";import{createSlot as p,replace2Any as d}from"../../utils/index.js";const f=o(e({name:"FORM_TEXT",props:{content:{},fieldItem:{type:Object},value:{},onChange:{}},setup(e){function o(t,n=!1,o=!0){return o?r("div",{style:n?{display:"flex",alignItems:"center"}:{}},[l()]):l();function l(){var n,o;return null==(o=(n=p(t,e,(e=>a(e)?(e=d(e.replace("\n","<br>"),[{from:"<br>",to:r("i",{style:{width:"100%",height:"4px"}},null)},{from:" ",to:r("i",{style:{display:"inline-block",width:"4px"}},null)}])).map((e=>a(e)&&e.match(/<.+>/)?r("span",{innerHTML:e},null):e)):[e]))).default)?void 0:o.call(n)}}const l=t((()=>{var t,n;return null!=(n=null==(t=e.fieldItem)?void 0:t.__textEnhance)?n:[]})),f=t((()=>l.value.length&&l.value.some((e=>"widget"===e.type)))),v=n(s),h=n(u),{schemaAdaptor:y}=m(v,h.lifeCycle);return()=>{var t;return f.value?r("div",{style:{display:"flex",alignItems:"center"}},[l.value.map((e=>{if("text"===e.type)return o(e.content,!0,!1);if(a(e.content))return o(e.content,!0,!1);const t={...e.content};return t.decoratorProps={...t.decoratorProps,showLabel:!1,showFeedback:!1},r(i,{basePath:".",schema:c(y([t]))},null)}))]):o(null!=(t=e.content)?t:e.value)}}}),l((e=>{var t;return{...e,content:null==(t=e.fieldItem)?void 0:t.content}})));export{f as TEXT};
@@ -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=e=>{var o;const t={name:e.val_key,type:null!=(o=e.fieldType)?o:"string",title:e.alias||e.name,"x-component":e.html_type,default:e.default_val,"x-component-props":{placeholder:e.placeholder,clearable:s(e.is_empty),...e.componentProps||{}},"x-content":e.slots,"x-display":s(e.is_show)?"hidden":"visible","x-pattern":s(e.is_edit)?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};e.reactions&&(t["x-reactions"]=e.reactions),e.noDecorator||Object.assign(t,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:e,beforeSetValue:null==h?void 0:h.beforeSetValue,span:2*(e.elem_width||3),showLabel:!r(e.hide_title),remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const n=g(e);return n&&(t["x-validator"]=n),s(e.is_null)&&(t.required=!0),t},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,N=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:N,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=>{const o=v(e);return Object.assign(o["x-component-props"],{...i(e,["prefix","suffix"])}),o}],["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)?I(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:I(i)}),t},{FieldNormalizeWaterfallHook:k,FieldListNormalizeWaterfallHook:N}=p();function I(o,i={column:9999}){let r=null;const s=N.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:I}}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 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 +1 @@
1
- import{arrayed as e,traverse as t}from"../../../../shared/utils/index.js";import"../../../../shared/utils/tapable/SyncHook.js";import"../../../../shared/utils/tapable/SyncBailHook.js";import a from"../../../../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{format as l}from"date-fns";import{isString as o,isEmpty as r}from"lodash-es";import"../../index.js";import{FIELD_BUSINESS_TYPE as _}from"../constants/index.js";import{isNegative as i,isPositive as s,FieldListFilter as n,findItemByValCondition as p,parseEnhanceText as c}from"../utils/index.js";import{transformDateFormat as u}from"../utils/business.js";function d(){const d=new a(["fieldList","props"]),m=new a(["fieldItem","props"]);m.tap("__forceClearable",((e,t)=>(t.forceClearable&&(e.componentProps={...e.componentProps,clearable:!0}),e))),m.tap({name:"__fieldAlias",before:"__labelPlacementOverwrite"},(e=>("BOTTOM"===e.inputBorder&&(e.bordered="underline"),null!=e.title_h_layout&&(e.decoratorProps={...e.decoratorProps},i(e.title_h_layout)?e.decoratorProps.labelPlacement="top":s(e.title_h_layout)&&(e.decoratorProps.labelPlacement="left")),o(e.lineBarLayoutDirection)&&(e.linebarDirection=e.lineBarLayoutDirection.toLowerCase()),e))),m.tap("__labelPlacementOverwrite",((e,t)=>(t.labelPlacementOverwrite&&(e.decoratorProps={...e.decoratorProps,labelPlacement:void 0}),e))),m.tap("__time",(e=>("DATE"===e.html_type&&"time"===u(e.date_format)&&(e.html_type="TIME"),e))),m.tap("__block",(e=>(["CHECKBOX_BLOCK","RADIO_BLOCK"].includes(e.html_type)&&(e.__vertical=!0),e))),m.tap("__age",(t=>("AGE"===t.html_type&&(t.html_type="INPUT_NUMBER",t.reactions=t.reactions?e(t.reactions):[],t.reactions.push({target:t.val_key_unit,fulfill:{state:{disabled:"{{$self.disabled}}"}}}),t.suffixConfig=[{validate:{obj_type:_.AGE_UNIT},val_key:t.val_key_unit,html_type:"SELECT",option:t.option,urlConfig:t.urlConfig}]),t))),m.tap({name:"__multiple_select",before:"__defaultValue"},(e=>{const{html_type:t,multi_select:a,__multiple:l}=e;return e.__multiple="SEARCH"!==t&&("SEARCH_MORE"===t||("SELECT"===t?i(a):l)),e})),m.tap("__defaultValue",(e=>{switch(e.html_type){case"TIME":"current"===e.default_val&&(e.default_val=l(new Date,e.date_format||"HH:mm:ss"));break;case"DATE":"current"===e.default_val&&(e.default_val=l(new Date,e.date_format||"yyyy-MM-dd"));break;case"CHECKBOX":case"CHECKBOX_BLOCK":o(e.default_val)&&e.default_val&&(e.default_val=e.default_val.split(","));break;case"SELECT":case"SEARCH":case"SEARCH_MORE":o(e.default_val)&&e.default_val&&(e.default_val=e.__multiple?e.default_val.split(","):e.default_val)}return e}));const E=[[["SEARCH","PHONE_TYPE","IDCARD_TYPE","SEARCH_MORE"],"SELECT"],["DIGITAL","INPUT_NUMBER"],["CHECKBOX_BLOCK","CHECKBOX"],["RADIO_BLOCK","RADIO"],[["DATE-INPUT","DATETIME-INPUT"],"DATE"],["SWITCH_COMPONENT","SWITCH"],["SLIDER_COMPONENT","SLIDER"],["LEVEL_SEARCH_CASCADE","LEVEL_SEARCH_CASCADER"],["SEARCH_CASCADE","SEARCH_CASCADER"]];m.tap("__normalize",(e=>(E.some((([t,a])=>(Array.isArray(t)?t.includes(e.html_type):t===e.html_type)&&(e.html_type=a))),e)));const f=new Map([[["SELECT","SEARCH","SEARCH_MORE"],new Map([["H_TILE",e=>e.html_type=e.__multiple?"CHECKBOX":"RADIO"],["V_TILE",e=>{e.html_type=e.__multiple?"CHECKBOX":"RADIO",e.__vertical=!0}]])],["RADIO",new Map([["DROPDOWN",e=>e.html_type="SELECT"]])],["CHECKBOX",new Map([["DROPDOWN",e=>{e.__multiple=!0,e.html_type="SELECT"}]])]]);return m.tap({stage:9999,name:"__show_mode"},(t=>t.show_mode?([...f].some((([a,l])=>{if(!e(a).includes(t.html_type))return;const o=l.get(t.show_mode);return o&&o(t),!0})),t):t)),d.tap("__out_bordered",((e,{column:t,outBordered:a})=>e)),d.tap("__prefix/suffix",(e=>{const a=[];return t(e,(t=>{["prefix","suffix"].forEach((l=>{const r=t[l];if(!o(r))return;const _=r.match("#{(.+)}");if(!_)return;const i=o(_[1])&&p(e,(e=>e.val_key===_[1].trim()));i&&(Reflect.deleteProperty(t,l),t[`${l}Config`]=t[`${l}Config`]||[],t[`${l}Config`].push(i),a.push(i))}))}),["children","properties"]),a.length?n(e,(e=>a.includes(e))):e})),d.tap("__checkboxOrRadioEnhance",(e=>{const a=[];return t(e,(t=>{["CHECKBOX","RADIO","RADIO_BLOCK","CHECKBOX_BLOCK"].includes(t.html_type)&&!r(t.option)&&t.option.forEach((t=>{const l=c(t.text||"");t.__textEnhance=l,l.forEach((t=>{if("text"===t.type)return;const l=p(e,(e=>[e.name,e.val_key].includes(t.content)));l&&(a.push(l),t.content=l)}))}))})),n(e,(e=>a.includes(e)))})),d.tap("__textEnhance",(e=>{const a=[];return t(e,(t=>{if("TEXT"!==t.html_type||!o(t.default_val))return;const l=c(t.default_val);t.__textEnhance=l,l.forEach((l=>{if("text"===l.type)return;const o=p(e,(e=>[e.name,e.val_key].includes(l.content)));o&&(Reflect.deleteProperty(t,"default_val"),a.push(o),l.content=o)}))}),["children","properties"]),n(e,(e=>a.includes(e)))})),{FieldNormalizeWaterfallHook:m,FieldListNormalizeWaterfallHook:d}}export{d as useFieldNormalize};
1
+ import{arrayed as e,traverse as t}from"../../../../shared/utils/index.js";import"../../../../shared/utils/tapable/SyncHook.js";import"../../../../shared/utils/tapable/SyncBailHook.js";import l from"../../../../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{format as a}from"date-fns";import{isString as o,isEmpty as r}from"lodash-es";import"../../index.js";import{FIELD_BUSINESS_TYPE as i}from"../constants/index.js";import{isNegative as _,isPositive as s,FieldListFilter as n,findItemByValCondition as p,parseEnhanceText as c}from"../utils/index.js";import{transformDateFormat as u}from"../utils/business.js";function d(){const d=new l(["fieldList","props"]),m=new l(["fieldItem","props"]);m.tap("__forceClearable",((e,t)=>(t.forceClearable&&(e.componentProps={...e.componentProps,clearable:!0}),e))),m.tap({name:"__fieldAlias",before:"__labelPlacementOverwrite"},(e=>("BOTTOM"===e.inputBorder&&(e.bordered="underline"),null!=e.title_h_layout&&(e.decoratorProps={...e.decoratorProps},_(e.title_h_layout)?e.decoratorProps.labelPlacement="top":s(e.title_h_layout)&&(e.decoratorProps.labelPlacement="left")),o(e.lineBarLayoutDirection)&&(e.linebarDirection=e.lineBarLayoutDirection.toLowerCase()),e))),m.tap("__labelPlacementOverwrite",((e,t)=>(t.labelPlacementOverwrite&&(e.decoratorProps={...e.decoratorProps,labelPlacement:void 0}),e))),m.tap("__time",(e=>("DATE"===e.html_type&&"time"===u(e.date_format)&&(e.html_type="TIME"),e))),m.tap("__block",(e=>(["CHECKBOX_BLOCK","RADIO_BLOCK"].includes(e.html_type)&&(e.__vertical=!0),e))),m.tap("__age",(t=>("AGE"===t.html_type&&(t.html_type="INPUT_NUMBER",t.reactions=t.reactions?e(t.reactions):[],t.reactions.push({target:t.val_key_unit,fulfill:{state:{disabled:"{{$self.disabled}}"}}}),t.suffixConfig=[{validate:{obj_type:i.AGE_UNIT},val_key:t.val_key_unit,html_type:"SELECT",option:t.option,urlConfig:t.urlConfig}]),t))),m.tap({name:"__multiple_select",before:"__defaultValue"},(e=>{const{html_type:t,multi_select:l,__multiple:a}=e;return e.__multiple="SEARCH"!==t&&("SEARCH_MORE"===t||("SELECT"===t?_(l):a)),e})),m.tap("__defaultValue",(e=>{switch(e.html_type){case"TIME":"current"===e.default_val&&(e.default_val=a(new Date,e.date_format||"HH:mm:ss"));break;case"DATE":"current"===e.default_val&&(e.default_val=a(new Date,e.date_format||"yyyy-MM-dd"));break;case"CHECKBOX":case"CHECKBOX_BLOCK":o(e.default_val)&&e.default_val&&(e.default_val=e.default_val.split(","));break;case"SELECT":case"SEARCH":case"SEARCH_MORE":o(e.default_val)&&e.default_val&&(e.default_val=e.__multiple?e.default_val.split(","):e.default_val)}return e}));const E=[[["SEARCH","PHONE_TYPE","IDCARD_TYPE","SEARCH_MORE"],"SELECT"],["DIGITAL","INPUT_NUMBER"],["CHECKBOX_BLOCK","CHECKBOX"],["RADIO_BLOCK","RADIO"],[["DATE-INPUT","DATETIME-INPUT"],"DATE"],["SWITCH_COMPONENT","SWITCH"],["SLIDER_COMPONENT","SLIDER"],["LEVEL_SEARCH_CASCADE","LEVEL_SEARCH_CASCADER"],["SEARCH_CASCADE","SEARCH_CASCADER"]];m.tap("__normalize",(e=>(E.some((([t,l])=>(Array.isArray(t)?t.includes(e.html_type):t===e.html_type)&&(e.html_type=l))),e)));const f=new Map([[["SELECT","SEARCH","SEARCH_MORE"],new Map([["H_TILE",e=>e.html_type=e.__multiple?"CHECKBOX":"RADIO"],["V_TILE",e=>{e.html_type=e.__multiple?"CHECKBOX":"RADIO",e.__vertical=!0}]])],["RADIO",new Map([["DROPDOWN",e=>e.html_type="SELECT"]])],["CHECKBOX",new Map([["DROPDOWN",e=>{e.__multiple=!0,e.html_type="SELECT"}]])]]);return m.tap({stage:9999,name:"__show_mode"},(t=>t.show_mode?([...f].some((([l,a])=>{if(!e(l).includes(t.html_type))return;const o=a.get(t.show_mode);return o&&o(t),!0})),t):t)),d.tap("__out_bordered",((e,{column:t,outBordered:l})=>e)),d.tap("__prefix/suffix",(e=>{const l=[];return t(e,(t=>{["prefix","suffix"].forEach((a=>{const r=t[a];if(!o(r))return;const i=r.match("#{(.+)}");if(!i)return;const _=o(i[1])&&p(e,(e=>e.val_key===i[1].trim()));_&&(Reflect.deleteProperty(t,a),t[`${a}Config`]=t[`${a}Config`]||[],t[`${a}Config`].push(_),l.push(_))}))}),["children","properties"]),l.length?n(e,(e=>l.includes(e))):e})),d.tap("__checkboxOrRadioEnhance",(e=>{const l=[];return t(e,(t=>{["CHECKBOX","RADIO","RADIO_BLOCK","CHECKBOX_BLOCK"].includes(t.html_type)&&!r(t.option)&&t.option.forEach((t=>{const a=c(t.text||"");t.__textEnhance=a,a.forEach((t=>{if("text"===t.type)return;const a=p(e,(e=>[e.name,e.val_key].includes(t.content)));a&&(l.push(a),t.content=a)}))}))})),n(e,(e=>l.includes(e)))})),m.tap("__fieldTitleRed",(e=>(s(e.fieldTitleRed)&&(e.fieldTitleColor="#e02828"),e))),d.tap("__textEnhance",(e=>{const l=[];return t(e,(t=>{if("TEXT"!==t.html_type||!o(t.default_val))return;const a=c(t.default_val);t.__textEnhance=a,a.forEach((a=>{if("text"===a.type)return;const o=p(e,(e=>[e.name,e.val_key].includes(a.content)));o&&(Reflect.deleteProperty(t,"default_val"),l.push(o),a.content=o)}))}),["children","properties"]),n(e,(e=>l.includes(e)))})),{FieldNormalizeWaterfallHook:m,FieldListNormalizeWaterfallHook:d}}export{d as useFieldNormalize};
@@ -57,7 +57,7 @@ export type UrlConfig = {
57
57
  dependKey: DependKeyType;
58
58
  [key: string]: any;
59
59
  }>;
60
- interface ReactionType {
60
+ export interface ReactionType {
61
61
  dependencies?: string[];
62
62
  target?: string;
63
63
  effects?: SchemaEffectTypes[];
@@ -136,6 +136,8 @@ export type FieldItem = {
136
136
  linebarDirection: 'horizontal' | 'vertical';
137
137
  linebarTextDirection: 'horizontal' | 'vertical';
138
138
  labelColor: string;
139
+ fieldTitleRed: FormCommonState | boolean;
140
+ fieldTitleColor: string;
139
141
  fieldType: SchemaTypes;
140
142
  content: string | FormRenderer | Record<string, FormRenderer>;
141
143
  lazyRequest: boolean;