cnhis-design-vue 3.1.46-release.3 → 3.1.46

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 (108) hide show
  1. package/README.md +87 -87
  2. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  3. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  4. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  5. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  6. package/es/components/button-print/src/utils/print.js +1 -1
  7. package/es/components/form-config/index.d.ts +67 -16
  8. package/es/components/form-config/src/FormConfig.vue.d.ts +67 -16
  9. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  10. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +5 -4
  11. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +29 -7
  12. package/es/components/form-config/src/hooks/useDataNormalize.d.ts +1 -1
  13. package/es/components/form-config/src/hooks/useDataNormalize.js +1 -1
  14. package/es/components/form-config/src/types/index.d.ts +1 -1
  15. package/es/components/form-render/index.d.ts +5 -4
  16. package/es/components/form-render/src/FormRender.vue.d.ts +4 -3
  17. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  18. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +5 -4
  19. package/es/components/form-render/src/components/renderer/levelSearchCascader.d.ts +16 -2
  20. package/es/components/form-render/src/components/renderer/levelSearchCascader.js +1 -1
  21. package/es/components/form-render/src/components/renderer/radio&checkbox.d.ts +32 -4
  22. package/es/components/form-render/src/components/renderer/remoteSearch.d.ts +3 -0
  23. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  24. package/es/components/form-render/src/components/renderer/select.d.ts +16 -2
  25. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  26. package/es/components/form-render/src/hooks/useFormEvent.d.ts +1 -1
  27. package/es/components/form-render/src/hooks/useFormEvent.js +1 -1
  28. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  29. package/es/components/form-render/src/hooks/useOperationalForm.d.ts +1 -1
  30. package/es/components/form-render/src/hooks/useOperationalForm.js +1 -1
  31. package/es/components/form-render/src/hooks/useWordbookSetting.d.ts +5 -0
  32. package/es/components/form-render/src/hooks/useWordbookSetting.js +1 -0
  33. package/es/components/form-render/src/types/fieldItem.d.ts +8 -1
  34. package/es/components/form-render/src/types/index.d.ts +1 -7
  35. package/es/components/iho-table/index.d.ts +12 -0
  36. package/es/components/iho-table/src/IhoTable.vue.d.ts +12 -0
  37. package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +1 -1
  38. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +1 -1
  39. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
  40. package/es/components/iho-table/src/plugins/index.js +1 -1
  41. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -1
  42. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  43. package/es/components/iho-table/src/plugins/operationalFormPlugin/index.d.ts +1 -0
  44. package/es/components/iho-table/src/plugins/operationalFormPlugin/index.js +1 -0
  45. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  46. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -1
  47. package/es/components/iho-table/src/types/index.d.ts +5 -3
  48. package/es/components/iho-table/src/utils/index.d.ts +1 -1
  49. package/es/components/iho-table/src/utils/index.js +1 -1
  50. package/es/components/index.css +1 -1
  51. package/es/components/info-header/index.d.ts +14 -12
  52. package/es/components/info-header/src/InfoHeader.vue.d.ts +14 -12
  53. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +5 -4
  54. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +5 -4
  55. package/es/components/scale-view/index.d.ts +1 -1
  56. package/es/components/scale-view/src/ScaleView.vue.d.ts +1 -1
  57. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  58. package/es/components/scale-view/src/components/AnswerParse.vue.d.ts +1 -1
  59. package/es/components/scale-view/src/components/AnswerParse.vue2.js +1 -1
  60. package/es/components/scale-view/src/components/EvaluateCountdown.vue2.js +1 -1
  61. package/es/components/scale-view/src/components/EvaluatePage.vue2.js +1 -1
  62. package/es/components/scale-view/src/hooks/scaleview-computed.js +1 -1
  63. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  64. package/es/components/search-cascader/src/components/SearchMenu.js +1 -1
  65. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  66. package/es/components/select-person/index.d.ts +153 -14
  67. package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
  68. package/es/components/select-person/src/SearchMultiple.vue2.js +1 -1
  69. package/es/components/select-person/src/SearchOrgAndStaff.vue.d.ts +106 -0
  70. package/es/components/select-person/src/SearchOrgAndStaff.vue.js +1 -0
  71. package/es/components/select-person/src/SearchOrgAndStaff.vue2.js +1 -0
  72. package/es/components/select-person/src/SelectPerson.vue.d.ts +150 -12
  73. package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
  74. package/es/components/select-person/src/types/enums.d.ts +4 -0
  75. package/es/components/select-person/src/types/enums.js +1 -0
  76. package/es/components/select-person/src/utils/index.d.ts +1 -1
  77. package/es/components/select-person/src/utils/index.js +1 -1
  78. package/es/components/select-person/style/index.css +1 -1
  79. package/es/components/shortcut-setter/index.d.ts +13 -5
  80. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +13 -5
  81. package/es/components/steps-wheel/index.d.ts +16 -0
  82. package/es/components/steps-wheel/src/StepsWheel.vue.d.ts +16 -0
  83. package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
  84. package/es/components/steps-wheel/style/index.css +1 -1
  85. package/es/components/table-export-field/src/components/ExportModal.vue.d.ts +3 -0
  86. package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
  87. package/es/env.d.ts +25 -25
  88. package/es/shared/assets/img/failure.png.js +1 -1
  89. package/es/shared/assets/img/no-permission.png.js +1 -1
  90. package/es/shared/assets/img/nodata.png.js +1 -1
  91. package/es/shared/assets/img/notfound.png.js +1 -1
  92. package/es/shared/assets/img/qr.png.js +1 -1
  93. package/es/shared/assets/img/success.png.js +1 -1
  94. package/es/shared/assets/img/video.png.js +1 -1
  95. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  96. package/es/shared/assets/img/xb_big.png.js +1 -1
  97. package/es/shared/assets/img/xb_small.png.js +1 -1
  98. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  99. package/es/shared/package.json.js +1 -1
  100. package/es/shared/types/business.d.ts +6 -0
  101. package/es/shared/utils/business.d.ts +6 -1
  102. package/es/shared/utils/business.js +1 -1
  103. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  104. package/es/shared/utils/index.js +1 -1
  105. package/es/shared/utils/tapable/index.d.ts +139 -0
  106. package/es/shared/utils/tapableLess.d.ts +28 -0
  107. package/es/shared/utils/tapableLess.js +1 -0
  108. package/package.json +2 -2
@@ -33,15 +33,22 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
33
33
  name: string;
34
34
  render_key: string[];
35
35
  search_key: string[];
36
+ value_key: string;
37
+ queryParams: string[];
36
38
  primary_key: string;
37
39
  type: string;
38
- value_key: string;
39
40
  level_key: string;
40
41
  link_key: string;
41
42
  link_key_split: string;
42
43
  show_key: string[];
43
44
  conObj: AnyObject[];
44
45
  conObjFirstLevel: AnyObject[];
46
+ setting: Partial<{
47
+ cascading: {
48
+ 'form.name': string;
49
+ value: string;
50
+ }[];
51
+ }>;
45
52
  }>>;
46
53
  required: true;
47
54
  };
@@ -81,15 +88,22 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
81
88
  name: string;
82
89
  render_key: string[];
83
90
  search_key: string[];
91
+ value_key: string;
92
+ queryParams: string[];
84
93
  primary_key: string;
85
94
  type: string;
86
- value_key: string;
87
95
  level_key: string;
88
96
  link_key: string;
89
97
  link_key_split: string;
90
98
  show_key: string[];
91
99
  conObj: AnyObject[];
92
100
  conObjFirstLevel: AnyObject[];
101
+ setting: Partial<{
102
+ cascading: {
103
+ 'form.name': string;
104
+ value: string;
105
+ }[];
106
+ }>;
93
107
  }>>;
94
108
  required: true;
95
109
  };
@@ -1 +1 @@
1
- import{defineComponent as e,ref as r,computed as t,inject as o,watch as a,createVNode as n}from"vue";import{useVModel as u}from"@vueuse/core";import{isEqual as l,isArray as i,isString as s,isNumber as c,isEmpty as d,isFunction as v,omit as p,cloneDeep as f}from"lodash-es";import"../../../index.js";import{InjectionAsyncQueue as m}from"../../constants/index.js";import{useCommonInjection as y}from"../../hooks/useCommonInjection.js";import{formRenderLog as h}from"../../utils/index.js";import{connect as k,mapProps as j}from"@formily/vue";import g from"../../../../search-cascader/index.js";import w from"../../../../../shared/components/no-data/NoData.vue.js";import{assignUpdateValue as _}from"../../utils/schema.js";import{useFormField as b}from"../../hooks/useFormField.js";import{useFormRequest as F}from"../../hooks/useFormRequest.js";const K=k(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:k}){const j=u(e,"value",k),_=r(!1),K=r([]),{field:O,fieldKey:q}=b(),S=t((()=>{var r,t,o;return null!=(o=null==(t=null==(r=e.wordbook)?void 0:r.show_key)?void 0:t[0])?o:e.labelField})),x=t((()=>{var r,t;return null!=(t=null==(r=e.wordbook)?void 0:r.value_key)?t:e.valueField})),C=t((()=>{var r,t;return null==(t=null==(r=e.wordbook)?void 0:r.render_key)?void 0:t[0]})),L=t((()=>{var r;return(null==(r=e.wordbook)?void 0:r.level_num)||1/0})),V=o(m),{getSearchRequestInfo:A}=F(),I=r(150),P=r();async function R(r,t){var o;if(i(e.value)&&e.value.length&&!r&&!t){const[r,t]=function(e){if(!e.length)return[];const r=[(e=f(e))[0]];let t=e[0];for(let r=1;r<e.length;r++){const o=e[r];o&&(t.children=[o],o.parent=t,t=o)}return[e,r]}(e.value);K.value=t;const o=r[Math.max(0,r.length-2)];return await R(o),o}try{if(r&&!r.__keyword&&r.isLeaf)return a(r);if(null==r?void 0:r.__keyword){if(!s(r.id_link))return Promise.reject();const t=r.id_link.split("_").filter((e=>e));c(L.value)&&L.value!==1/0&&t.splice(L.value);const o=await async function(r){if(!A().primaryKeyUrl)return[];try{return await V.addAsync(t(e.wordbook,e.autograph,r,q.value))}catch(e){s(e)&&h(e)}function t(r,t,o,a){const n=A();return{key:a,params:{autograph:t,tableId:r.id,primaryKeyValue:o.join(","),page:1},...n,url:n.primaryKeyUrl,cache:e.requestCache}}}(t);if(!o)return Promise.reject();const{lastOption:a,options:n}=function(e,r){let t=e[0];return{options:r.reduce(((r,a,n)=>{const u=o(e,a);return 0===n?(t=u,[u]):(Object.assign(u,{parent:t,isLeaf:n+1>=L.value}),t.children=[u],t=u,r)}),[]),lastOption:t};function o(e,r){return e.find((e=>e[x.value]===r))}}(o,t);return n.length<L.value&&(await R(a),d(a.children))?(j.value=function(e,r){return r.map((r=>e.find((e=>e[x.value]===r))))}(o,t),_.value=!1,Promise.reject()):(K.value=n,a)}{const u=await V.addAsync(function(r,o,a,n,u){const l={autograph:()=>o,wordbookId:"id",wordbookType:"type",fieldKeys:()=>r.search_key?JSON.stringify(r.search_key):void 0,conObj:()=>JSON.stringify(function(e,r,t){return r?e.conObj||[]:t?[{con:"EQ",is_compare_field:!1,field_key:e.level_key,value:t[x.value]}]:e.conObjFirstLevel||[]}(r,t,n)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>t,page:()=>1},i=Object.entries(l).reduce(((e,[t,o])=>(e[t]=s(o)?r[o]:v(o)?o():void 0,e)),{});return{...A(),params:i,key:u,cache:e.requestCache}}(e.wordbook,e.autograph,O.value,r,q.value));if(r){if(!u.length)return a(r);r.children=u.map((e=>function(e,r,t){return{...e,parent:r,isLeaf:n(r)+1>=t}}(e,r,L.value)))}else K.value=u.map((e=>function(e,r){e.__keyword=!!r,e.isLeaf=!!r,r&&(e[S.value]=e[C.value||S.value]||e[S.value]);return e}(e,t))),I.value=t&&(null==(o=P.value)?void 0:o.getWidth())||150}}catch(e){s(e)&&h(e)}function a(e){return j.value=function(e){const r=[];let t=e;for(;t;)r.unshift(p(t,["parent","isLeaf","__keyword","children"])),t=t.parent;return r}(e),_.value=!1,Promise.reject()}function n(e){let r=1,t=e.parent;for(;t;)r++,t=t.parent;return r}}function U(){I.value=150}a((()=>e.wordbook),((r,t)=>{l(r,t)||(K.value=[],r&&(j.value||!e.lazyRequest)&&R())}),{immediate:!0});const{injectValueValidate:B,injectValueWatchFromEmpty:N,injectValueBindKey:W}=y();N(j,R),B(j);const z=W(j);return()=>n(g,{ref:P,value:j.value,"onUpdate:value":e=>j.value=e,show:_.value,"onUpdate:show":e=>_.value=e,options:K.value,key:z.value,labelKey:S.value,valueKey:x.value,search:R,onFocus:U,menuWidth:I.value},{empty:()=>n(w,null,null)})}}),j({dataSource:"options"},_));export{K as LEVEL_SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as r,computed as t,inject as a,watch as o,createVNode as n}from"vue";import{useVModel as u}from"@vueuse/core";import{isEqual as l,isArray as i,isString as s,isNumber as c,isEmpty as d,isFunction as v,omit as p,cloneDeep as f}from"lodash-es";import"../../../index.js";import{InjectionAsyncQueue as m}from"../../constants/index.js";import{useCommonInjection as y}from"../../hooks/useCommonInjection.js";import{formRenderLog as h}from"../../utils/index.js";import{connect as k,mapProps as j}from"@formily/vue";import g from"../../../../search-cascader/index.js";import w from"../../../../../shared/components/no-data/NoData.vue.js";import{assignUpdateValue as _}from"../../utils/schema.js";import{useFormField as b}from"../../hooks/useFormField.js";import{useFormRequest as F}from"../../hooks/useFormRequest.js";const K=k(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:k}){const j=u(e,"value",k),_=r(!1),K=r([]),{field:O,fieldKey:q}=b(),S=t((()=>{var r,t,a;return null!=(a=null==(t=null==(r=e.wordbook)?void 0:r.show_key)?void 0:t[0])?a:e.labelField})),C=t((()=>{var r,t;return null!=(t=null==(r=e.wordbook)?void 0:r.value_key)?t:e.valueField})),x=t((()=>{var r,t;return null==(t=null==(r=e.wordbook)?void 0:r.render_key)?void 0:t[0]})),L=t((()=>{var r;return(null==(r=e.wordbook)?void 0:r.level_num)||1/0})),V=a(m),{getSearchRequestInfo:A}=F(),I=r(150),P=r();async function R(r,t){var a,o,n;if(I.value=t&&(null==(a=P.value)?void 0:a.getWidth())||150,i(e.value)&&e.value.length&&!r&&!t){const[r,t]=function(e){if(!e.length)return[];const r=[(e=f(e))[0]];let t=e[0];for(let r=1;r<e.length;r++){const a=e[r];a&&(t.children=[a],a.parent=t,t=a)}return[e,r]}(e.value);K.value=t;const a=r[Math.max(0,r.length-2)];return await R(a),a}try{if(r&&!r.__keyword&&r.isLeaf)return u(r);if(null==r?void 0:r.__keyword){if(!s(r.id_link))return Promise.reject();const t=r.id_link.split("_").filter((e=>e));c(L.value)&&L.value!==1/0&&t.splice(L.value);const a=await async function(r){if(!A().primaryKeyUrl)return[];try{return await V.addAsync(t(e.wordbook,e.autograph,r,q.value))}catch(e){s(e)&&h(e)}function t(r,t,a,o){const n=A();return{key:o,params:{autograph:t,tableId:r.id,primaryKeyValue:a.join(","),page:1},...n,url:n.primaryKeyUrl,cache:e.requestCache}}}(t);if(!a)return Promise.reject();const{lastOption:o,options:u}=function(e,r){let t=e[0];return{options:r.reduce(((r,o,n)=>{const u=a(e,o);return 0===n?(t=u,[u]):(Object.assign(u,{parent:t,isLeaf:n+1>=L.value}),t.children=[u],t=u,r)}),[]),lastOption:t};function a(e,r){return e.find((e=>e[C.value]===r))}}(a,t);return u.length<L.value&&(await R(o),d(o.children))?(j.value=function(e,r){return r.map((r=>e.find((e=>e[C.value]===r))))}(a,t),_.value=!1,Promise.reject()):(K.value=u,null==(n=P.value)||n.setCursor(o),o)}{const a=await V.addAsync(function(r,a,o,n,u){const l={autograph:()=>a,wordbookId:"id",wordbookType:"type",fieldKeys:()=>r.search_key?JSON.stringify(r.search_key):void 0,conObj:()=>JSON.stringify(function(e,r,t){return r?e.conObj||[]:t?[{con:"EQ",is_compare_field:!1,field_key:e.level_key,value:t[C.value]}]:e.conObjFirstLevel||[]}(r,t,n)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>t,page:()=>1},i=Object.entries(l).reduce(((e,[t,a])=>(e[t]=s(a)?r[a]:v(a)?a():void 0,e)),{});return{...A(),params:i,key:u,cache:e.requestCache}}(e.wordbook,e.autograph,O.value,r,q.value));if(r){if(!a.length)return u(r);r.children=a.map((e=>function(e,r,t){return{...e,parent:r,isLeaf:l(r)+1>=t}}(e,r,L.value)))}else K.value=a.map((e=>function(e,r){e.__keyword=!!r,e.isLeaf=!!r,r&&(e[S.value]=e[x.value||S.value]||e[S.value]);return e}(e,t))),t&&(null==(o=P.value)||o.setCursor(K.value[0]))}}catch(e){s(e)&&h(e)}function u(e){return j.value=function(e){const r=[];let t=e;for(;t;)r.unshift(p(t,["parent","isLeaf","__keyword","children"])),t=t.parent;return r}(e),_.value=!1,Promise.reject()}function l(e){let r=1,t=e.parent;for(;t;)r++,t=t.parent;return r}}function U(){I.value=150}o((()=>e.wordbook),((r,t)=>{l(r,t)||(K.value=[],r&&(j.value||!e.lazyRequest)&&R())}),{immediate:!0});const{injectValueValidate:B,injectValueWatchFromEmpty:N,injectValueBindKey:W}=y();N(j,R),B(j);const z=W(j);return()=>n(g,{ref:P,value:j.value,"onUpdate:value":e=>j.value=e,show:_.value,"onUpdate:show":e=>_.value=e,options:K.value,key:z.value,labelKey:S.value,valueKey:C.value,search:R,onFocus:U,menuWidth:I.value},{empty:()=>n(w,null,null)})}}),j({dataSource:"options"},_));export{K as LEVEL_SEARCH_CASCADER};
@@ -34,15 +34,22 @@ export declare const RADIO: import("vue").DefineComponent<{
34
34
  name: string;
35
35
  render_key: string[];
36
36
  search_key: string[];
37
+ value_key: string;
38
+ queryParams: string[];
37
39
  primary_key: string;
38
40
  type: string;
39
- value_key: string;
40
41
  level_key: string;
41
42
  link_key: string;
42
43
  link_key_split: string;
43
44
  show_key: string[];
44
45
  conObj: AnyObject[];
45
46
  conObjFirstLevel: AnyObject[];
47
+ setting: Partial<{
48
+ cascading: {
49
+ 'form.name': string;
50
+ value: string;
51
+ }[];
52
+ }>;
46
53
  }>>;
47
54
  };
48
55
  vertical: {
@@ -89,15 +96,22 @@ export declare const RADIO: import("vue").DefineComponent<{
89
96
  name: string;
90
97
  render_key: string[];
91
98
  search_key: string[];
99
+ value_key: string;
100
+ queryParams: string[];
92
101
  primary_key: string;
93
102
  type: string;
94
- value_key: string;
95
103
  level_key: string;
96
104
  link_key: string;
97
105
  link_key_split: string;
98
106
  show_key: string[];
99
107
  conObj: AnyObject[];
100
108
  conObjFirstLevel: AnyObject[];
109
+ setting: Partial<{
110
+ cascading: {
111
+ 'form.name': string;
112
+ value: string;
113
+ }[];
114
+ }>;
101
115
  }>>;
102
116
  };
103
117
  vertical: {
@@ -156,15 +170,22 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
156
170
  name: string;
157
171
  render_key: string[];
158
172
  search_key: string[];
173
+ value_key: string;
174
+ queryParams: string[];
159
175
  primary_key: string;
160
176
  type: string;
161
- value_key: string;
162
177
  level_key: string;
163
178
  link_key: string;
164
179
  link_key_split: string;
165
180
  show_key: string[];
166
181
  conObj: AnyObject[];
167
182
  conObjFirstLevel: AnyObject[];
183
+ setting: Partial<{
184
+ cascading: {
185
+ 'form.name': string;
186
+ value: string;
187
+ }[];
188
+ }>;
168
189
  }>>;
169
190
  };
170
191
  vertical: {
@@ -211,15 +232,22 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
211
232
  name: string;
212
233
  render_key: string[];
213
234
  search_key: string[];
235
+ value_key: string;
236
+ queryParams: string[];
214
237
  primary_key: string;
215
238
  type: string;
216
- value_key: string;
217
239
  level_key: string;
218
240
  link_key: string;
219
241
  link_key_split: string;
220
242
  show_key: string[];
221
243
  conObj: AnyObject[];
222
244
  conObjFirstLevel: AnyObject[];
245
+ setting: Partial<{
246
+ cascading: {
247
+ 'form.name': string;
248
+ value: string;
249
+ }[];
250
+ }>;
223
251
  }>>;
224
252
  };
225
253
  vertical: {
@@ -13,6 +13,7 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
13
13
  type: PropType<AnyObject[]>;
14
14
  default: () => never[];
15
15
  };
16
+ allowCreate: BooleanConstructor;
16
17
  labelField: {
17
18
  type: StringConstructor;
18
19
  default: string;
@@ -37,6 +38,7 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
37
38
  type: PropType<AnyObject[]>;
38
39
  default: () => never[];
39
40
  };
41
+ allowCreate: BooleanConstructor;
40
42
  labelField: {
41
43
  type: StringConstructor;
42
44
  default: string;
@@ -56,4 +58,5 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
56
58
  labelField: string;
57
59
  valueField: string;
58
60
  requestCache: boolean;
61
+ allowCreate: boolean;
59
62
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,computed as u,inject as a,watch as o,createVNode as t}from"vue";import{connect as n,mapProps as r}from"@formily/vue";import{useVModel as i,useDebounceFn as s}from"@vueuse/core";import{isString as v,isArray as m,cloneDeep as p,isEqual as d}from"lodash-es";import{NSelect as f}from"naive-ui";import"../../../index.js";import{InjectionAsyncQueue as c,InjectionChangeContextCollector as y,InjectionFormItemDepsCollector as g}from"../../constants/index.js";import{createUrlConfigParams as h,formRenderLog as C}from"../../utils/index.js";import{useCommonInjection as j,useSelectOptionProps as F}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as x,assignClearBindVisited as b,createVisitedSetter as K}from"../../utils/schema.js";import{useFormField as S}from"../../hooks/useFormField.js";const k=n(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},urlConfig:{type:Object},onChange:{}},emits:["update:value"],setup(e,{slots:n,emit:r}){const x=i(e,"value",r),{field:b,fieldKey:k}=S(),w=l(null),V=u((()=>{var l,u,a;return null!=(a=null!=(u=null==(l=e.urlConfig)?void 0:l.nameKey)?u:e.labelField)?a:"text"})),q=u((()=>{var l,u,a;return null!=(a=null!=(u=null==(l=e.urlConfig)?void 0:l.valueKey)?u:e.valueField)?a:"value"})),A=a(c),B=s((async(l="",u="label")=>{if(!e.urlConfig)return w.value=null;try{w.value=await A.addAsync(await h({config:{...e.urlConfig,params:{...e.urlConfig.params,["value"===u?q.value:"keyword"]:l}},cache:e.requestCache,field:b.value}))}catch(e){v(e)&&C(e)}})),O=u((()=>m(w.value)?w.value:m(e.options)?e.options:[])),{injectValueValidate:P,injectValueBindKey:U}=j();P(x);const D=U(x);o(x,(e=>{if(e&&!O.value.find((l=>l[q.value]===e)))return B(e,"value")}));a(y).setContext(k.value,(e=>{return{currentOption:p((l=e,O.value.find((e=>e[q.value]===l))))};var l}));const I=a(g);o((()=>e.urlConfig),((e,l)=>{d(e,l)||(w.value=null,e&&(I.setDeps(k.value,e.dependKey||[],(async()=>{w.value=null,x.value=null})),x.value&&B(x.value,"value")))}),{immediate:!0});const{menuProps:R,nodeProps:z}=F();return()=>t(f,{remote:!0,filterable:!0,key:D.value,value:x.value,"onUpdate:value":e=>x.value=e,labelField:V.value,valueField:q.value,"menu-props":R,"node-props":z,onSearch:B,"onUpdate:show":e=>e&&B(),options:O.value,onFocus:K(b)},n)}}),r(x,b));export{k as REMOTE_SEARCH};
1
+ import{defineComponent as e,ref as l,computed as a,inject as u,watch as o,createVNode as t}from"vue";import{connect as n,mapProps as r}from"@formily/vue";import{useVModel as i,useDebounceFn as v}from"@vueuse/core";import{isString as s,isArray as m,cloneDeep as p,isEqual as d}from"lodash-es";import{NSelect as f}from"naive-ui";import"../../../index.js";import{InjectionAsyncQueue as c,InjectionChangeContextCollector as y,InjectionFormItemDepsCollector as C}from"../../constants/index.js";import{createUrlConfigParams as g,formRenderLog as h}from"../../utils/index.js";import{useCommonInjection as j,useSelectOptionProps as F}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as x,assignClearBindVisited as b,createVisitedSetter as w}from"../../utils/schema.js";import{useFormField as K}from"../../hooks/useFormField.js";const S=n(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},allowCreate:Boolean,labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},urlConfig:{type:Object},onChange:{}},emits:["update:value"],setup(e,{slots:n,emit:r}){const x=i(e,"value",r),{field:b,fieldKey:S}=K(),k=l(null),B=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.nameKey)?a:e.labelField)?u:"text"})),V=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.valueKey)?a:e.valueField)?u:"value"})),q=u(c),A=l(""),O=v((async(l="",a="label")=>{if(A.value=l,!e.urlConfig)return k.value=null;try{k.value=await q.addAsync(await g({config:{...e.urlConfig,params:{...e.urlConfig.params,["value"===a?V.value:"keyword"]:l}},cache:e.requestCache,field:b.value}))}catch(e){s(e)&&h(e)}})),P=a((()=>m(k.value)?k.value:m(e.options)?e.options:[])),{injectValueValidate:U,injectValueBindKey:D}=j();U(x);const I=D(x);o(x,(e=>{if(e&&!P.value.find((l=>l[V.value]===e)))return O(e,"value")}));u(y).setContext(S.value,(e=>{return{currentOption:p((l=e,P.value.find((e=>e[V.value]===l))))};var l}));const R=u(C);o((()=>e.urlConfig),((e,l)=>{d(e,l)||(k.value=null,e&&(R.setDeps(S.value,e.dependKey||[],(async()=>{k.value=null,x.value=null})),x.value&&O(x.value,"value")))}),{immediate:!0});const{menuProps:z,nodeProps:E}=F(),G=a((()=>P.value.length||!e.allowCreate?P.value:A.value?[{[B.value]:A.value,[V.value]:A.value},...P.value]:P.value));return()=>t(f,{remote:!0,filterable:!0,key:I.value,value:x.value,"onUpdate:value":e=>x.value=e,labelField:B.value,valueField:V.value,"menu-props":z,"node-props":E,onSearch:O,"onUpdate:show":e=>e&&O(),options:G.value,onFocus:w(b)},n)}}),r(x,b));export{S as REMOTE_SEARCH};
@@ -42,15 +42,22 @@ export declare const SELECT: import("vue").DefineComponent<{
42
42
  name: string;
43
43
  render_key: string[];
44
44
  search_key: string[];
45
+ value_key: string;
46
+ queryParams: string[];
45
47
  primary_key: string;
46
48
  type: string;
47
- value_key: string;
48
49
  level_key: string;
49
50
  link_key: string;
50
51
  link_key_split: string;
51
52
  show_key: string[];
52
53
  conObj: AnyObject[];
53
54
  conObjFirstLevel: AnyObject[];
55
+ setting: Partial<{
56
+ cascading: {
57
+ 'form.name': string;
58
+ value: string;
59
+ }[];
60
+ }>;
54
61
  }>>;
55
62
  };
56
63
  recommend: {
@@ -117,15 +124,22 @@ export declare const SELECT: import("vue").DefineComponent<{
117
124
  name: string;
118
125
  render_key: string[];
119
126
  search_key: string[];
127
+ value_key: string;
128
+ queryParams: string[];
120
129
  primary_key: string;
121
130
  type: string;
122
- value_key: string;
123
131
  level_key: string;
124
132
  link_key: string;
125
133
  link_key_split: string;
126
134
  show_key: string[];
127
135
  conObj: AnyObject[];
128
136
  conObjFirstLevel: AnyObject[];
137
+ setting: Partial<{
138
+ cascading: {
139
+ 'form.name': string;
140
+ value: string;
141
+ }[];
142
+ }>;
129
143
  }>>;
130
144
  };
131
145
  recommend: {
@@ -1 +1 @@
1
- import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,pick as n}from"lodash-es";import"../../index.js";import{parseNumberFromMaybeString as r,formRenderLog as i}from"../utils/index.js";import{useFieldNormalize as s}from"./useFieldNormalize.js";import{fieldKeyEscape as a,createLinebarId as p}from"../utils/schema.js";import{useFormValidator as l}from"./useFormValidator.js";import{transformDateFormat as c}from"../utils/business.js";function m(e,o){Object.assign(e["x-component-props"],{...n(o,["wordbook","autograph"])})}function d(d){const{createValidatorSchema:u}=l(),x=e=>{var o;const t={name:e.val_key,type:null!=(o=e.fieldType)?o:"string",title:e.alias||e.name,"x-component":e.html_type,default:e.default_val,"x-component-props":{placeholder:e.placeholder,clearable:"0"===e.is_empty,...e.componentProps||{}},"x-content":e.slots,"x-display":"0"===e.is_show?"hidden":"visible","x-pattern":"0"===e.is_edit?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};e.reactions&&(t["x-reactions"]=e.reactions),e.noDecorator||Object.assign(t,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:e,span:2*(e.elem_width||3),showLabel:"1"!==e.hide_title,remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const n=u(e);return n&&(t["x-validator"]=n),"0"===e.is_null&&(t.required=!0),t},f=e=>{var o;const t=x(e);e.urlConfig?function(e,o){Object.assign(e["x-component-props"],{...n(o,["urlConfig"])})}(t,e):e.autograph&&m(t,e);const i=!!e.__multiple;return Object.assign(t["x-component-props"],{multiple:i,options:e.option||(null==(o=e.componentProps)?void 0:o.options),allowCreate:"1"===e.free_entry||!!t["x-component-props"].allowCreate,maxTagCount:r(e.multi_select_value),...n(e,["lazyRequest","requestCache"])}),i&&(t.type="array"),t},_=e=>{const o=x(e);return Object.assign(o["x-component-props"],{options:e.option,childFieldStrategy:e.childFieldStrategy,vertical:e.__vertical}),m(o,e),o},h=e=>{const t=x(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},g=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{disabled:"1"===e.is_not_fold,id:p(e.val_key),show:"0"!==e.is_show,remark:e.remark}}),b=new Map([["LINEBAR",g],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-display":"0"===e.is_show?"hidden":"visible"})],["INPUT",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["prefix","suffix"])}),o}],["TEXTAREA",e=>{const o=x(e);return Object.assign(o["x-component-props"],{rows:e.initialize_high||3}),o}],["INPUT_NUMBER",e=>{const o=x(e),{decimal_length:t,validate:n}=e;return Object.assign(o["x-component-props"],{precision:null!=t?t:null==n?void 0:n.decimal_length,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",f],["REMOTE_SEARCH",f],["DATE",e=>{const o=x(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:c(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["wordbook","lazyRequest","autograph"])}),o}],["SEARCH_CASCADER",e=>{var o;const t=x(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=x(e);return o.type="array",!1!==e.jsonCombination&&(o["x-component"]="JSON_COMBINATION"),Object.assign(o["x-decorator-props"],{showLabel:!1,showFeedback:!1}),Object.assign(o["x-component-props"],{title:e.alias||e.name,maxGroupNum:e.maxGroupNum,properties:e.children||[],combinationItemDeletable:e.combinationItemDeletable}),o}],["RADIO",_],["CHECKBOX",_],["SWITCH",e=>{const o=x(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close}),o}],["SLIDER",e=>{const o=x(e);return Object.assign(o["x-component-props"],{step:r(e.step_length),max:r(e.max_length),min:r(e.min_length),option:e.option}),o}],["COMPLEX",e=>{const o=x(e);Array.isArray(e.properties)&&i("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?C(e.properties||e.children):{};return o.type=e.fieldType||"void",o.properties=t,Object.assign(o["x-decorator-props"],{showFeedback:!1}),Object.assign(o["x-component-props"],n(e,["wrapperStyle","display"])),o}]]),y=e=>{if(e.suffixConfig)return v(e);return(b.get(e.html_type)||h)(e)},v=o=>{if(!o.suffixConfig)return y(o);const t=e(o.suffixConfig),n=[{...o,is_show:"1",hide_title:"1",suffixConfig:void 0}].concat(t.map((e=>({...e,hide_title:"1",is_show:"1"})))),r=x(o);return Object.assign(r,{type:"void",name:a(n),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:2*(o.elem_width||3)},"x-decorator-props":{...r["x-decorator-props"],showFeedback:!1,suffixFields:n.map((e=>e.val_key))},properties:C(n)}),r},{FieldNormalizeWaterfallHook:O}=s();function C(o){let n=null;return o.reduce(((e,o,s)=>{var a;const p=null==(a=(o=O.call(t(o))).validate)?void 0:a.obj_type;return p&&d&&d.collect(p,t(o)),"LINEBAR"===o.html_type?(e[i(o)]=r(g(o),s),n=e[i(o)].properties={}):n?n[i(o)]=r(y(o),s):(n=null,e[i(o)]=r(y(o),s)),e}),{});function r(e,o){return e["x-index"]=o,e}function i(o){return o.suffixConfig?a([o,...e(o.suffixConfig)]):o.val_key}}return{schemaAdaptor:C}}export{d as useFieldListAdaptor};
1
+ import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,pick as n}from"lodash-es";import"../../index.js";import{parseNumberFromMaybeString as r,formRenderLog as i}from"../utils/index.js";import{useFieldNormalize as s}from"./useFieldNormalize.js";import{fieldKeyEscape as a,createLinebarId as p}from"../utils/schema.js";import{useFormValidator as l}from"./useFormValidator.js";import{transformDateFormat as c}from"../utils/business.js";function m(e,o){Object.assign(e["x-component-props"],{...n(o,["wordbook","autograph"])})}function d(d){const{createValidatorSchema:u}=l(),x=e=>{var o;const t={name:e.val_key,type:null!=(o=e.fieldType)?o:"string",title:e.alias||e.name,"x-component":e.html_type,default:e.default_val,"x-component-props":{placeholder:e.placeholder,clearable:"0"===e.is_empty,...e.componentProps||{}},"x-content":e.slots,"x-display":"0"===e.is_show?"hidden":"visible","x-pattern":"0"===e.is_edit?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};e.reactions&&(t["x-reactions"]=e.reactions),e.noDecorator||Object.assign(t,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:e,span:2*(e.elem_width||3),showLabel:"1"!==e.hide_title,remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const n=u(e);return n&&(t["x-validator"]=n),"0"===e.is_null&&(t.required=!0),t},f=e=>{var o;const t=x(e);e.urlConfig?function(e,o){Object.assign(e["x-component-props"],{...n(o,["urlConfig","wordbook"])})}(t,e):e.autograph&&m(t,e);const i=!!e.__multiple;return Object.assign(t["x-component-props"],{multiple:i,options:e.option||(null==(o=e.componentProps)?void 0:o.options),allowCreate:"1"===e.free_entry||!!t["x-component-props"].allowCreate,maxTagCount:r(e.multi_select_value),...n(e,["lazyRequest","requestCache"])}),i&&(t.type="array"),t},_=e=>{const o=x(e);return Object.assign(o["x-component-props"],{options:e.option,childFieldStrategy:e.childFieldStrategy,vertical:e.__vertical}),m(o,e),o},h=e=>{const t=x(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},g=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{disabled:"1"===e.is_not_fold,id:p(e.val_key),show:"0"!==e.is_show,remark:e.remark}}),b=new Map([["LINEBAR",g],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-display":"0"===e.is_show?"hidden":"visible"})],["INPUT",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["prefix","suffix"])}),o}],["TEXTAREA",e=>{const o=x(e);return Object.assign(o["x-component-props"],{rows:e.initialize_high||3}),o}],["INPUT_NUMBER",e=>{const o=x(e),{decimal_length:t,validate:n}=e;return Object.assign(o["x-component-props"],{precision:null!=t?t:null==n?void 0:n.decimal_length,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",f],["REMOTE_SEARCH",f],["DATE",e=>{const o=x(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:c(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["wordbook","lazyRequest","autograph"])}),o}],["SEARCH_CASCADER",e=>{var o;const t=x(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=x(e);return o.type="array",!1!==e.jsonCombination&&(o["x-component"]="JSON_COMBINATION"),Object.assign(o["x-decorator-props"],{showLabel:!1,showFeedback:!1}),Object.assign(o["x-component-props"],{title:e.alias||e.name,maxGroupNum:e.maxGroupNum,properties:e.children||[],combinationItemDeletable:e.combinationItemDeletable}),o}],["RADIO",_],["CHECKBOX",_],["SWITCH",e=>{const o=x(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close}),o}],["SLIDER",e=>{const o=x(e);return Object.assign(o["x-component-props"],{step:r(e.step_length),max:r(e.max_length),min:r(e.min_length),option:e.option}),o}],["COMPLEX",e=>{const o=x(e);Array.isArray(e.properties)&&i("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?C(e.properties||e.children):{};return o.type=e.fieldType||"void",o.properties=t,Object.assign(o["x-decorator-props"],{showFeedback:!1}),Object.assign(o["x-component-props"],n(e,["wrapperStyle","display"])),o}]]),y=e=>{if(e.suffixConfig)return v(e);return(b.get(e.html_type)||h)(e)},v=o=>{if(!o.suffixConfig)return y(o);const t=e(o.suffixConfig),n=[{...o,is_show:"1",hide_title:"1",suffixConfig:void 0}].concat(t.map((e=>({...e,hide_title:"1",is_show:"1"})))),r=x(o);return Object.assign(r,{type:"void",name:a(n),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:2*(o.elem_width||3)},"x-decorator-props":{...r["x-decorator-props"],showFeedback:!1,suffixFields:n.map((e=>e.val_key))},properties:C(n)}),r},{FieldNormalizeWaterfallHook:O}=s();function C(o){let n=null;return o.reduce(((e,o,s)=>{var a;const p=null==(a=(o=O.call(t(o))).validate)?void 0:a.obj_type;return p&&d&&d.collect(p,t(o)),"LINEBAR"===o.html_type?(e[i(o)]=r(g(o),s),n=e[i(o)].properties={}):n?n[i(o)]=r(y(o),s):(n=null,e[i(o)]=r(y(o),s)),e}),{});function r(e,o){return e["x-index"]=o,e}function i(o){return o.suffixConfig?a([o,...e(o.suffixConfig)]):o.val_key}}return{schemaAdaptor:C}}export{d as useFieldListAdaptor};
@@ -25,5 +25,5 @@ export declare function useFormDomEvent({ props, formRenderRef, formModel }: {
25
25
  formRenderRef: Ref<HTMLElement | undefined>;
26
26
  formModel: Form;
27
27
  }): {
28
- onKeydown: (event: KeyboardEvent) => void;
28
+ onKeydown: (event: KeyboardEvent) => Promise<void>;
29
29
  };
@@ -1 +1 @@
1
- import{arrayed as e,findAncestor as t}from"../../../../shared/utils/index.js";import{isField as r}from"@formily/core";import{Path as o}from"@formily/path";import{isObject as i}from"@vue/shared";import{promiseTimeout as n}from"@vueuse/shared";import{isArray as s,isFunction as a}from"lodash-es";import{nextTick as m}from"vue";import"../../index.js";import{FormItemLineBarDepKeyPrepend as u,NESTED_FORM_ITEM_TYPE as f}from"../constants/index.js";import{queryDecoratorByAddress as l,queryInput as d,queryDecoratorByFieldKey as c,findNextWidget as p}from"../utils/dom.js";import{validateMessageParser as g,combineExtendKey as v,splitExtendKey as y}from"../utils/index.js";import{getParentLinebar as h}from"../utils/schema.js";function I({formModel:t,formRenderRef:n,formUUID:a,getFieldList:f,formItemDepsCollector:p}){return{validate(r="*"){return t.validate(r).catch((e=>Promise.reject(Array.isArray(e)?e.reduce(o,[]):e)));function o(t,r){if(!i(r))return t;let o=!1;return s(r.messages)&&r.messages.forEach((r=>{i(r)&&(t.push(...e(r).map(m)),o=!0)})),!o&&t.push(m(r)),t}function m(e){if(e.decoratorElement)return e;const r=t.query(e.path),o=r.get("title"),s=e.messages.map((e=>function(e,t){var r;return t&&i(t.fieldItem)?g(null!=(r=t.fieldItem.defined_error_msg)?r:e,t.fieldItem):e}(e,r.get("decoratorProps")))),m=l(e.address,n.value,a);return{...e,messages:s,title:o,decoratorElement:m,...d(m)}}},getFormValues(e=!0){let r=t.getFormState().values;return e&&(r=v(f(),r)),r},setFormValues(e,i=!0,n=!0){i&&(e=y(f(),e)),t.setFieldState("*",(t=>{r(t)&&(n||o.existIn(e,t.path))&&(t.value=o.getIn(e,t.path))}))},setFieldState(e,r){t.setFieldState(e,r)},resetFields:(e="*")=>t.reset(e),queryWidget:async e=>n.value?await async function(e,t,r){if(!n.value)return s();const o=c(e,t,a);if(o)return s(o);const i=h(e,r);return i?(p.trigger(u+i,!0),await m(),s(c(e,t,a))):s();function s(e){return{decoratorElement:e,...d(e)}}}(e,n.value,f()):null}}function x({props:e,formRenderRef:r,formModel:o}){return{onKeydown:function i(s){var m;if(!e.enterToNextWidget||!r.value)return;const u=t(s.target,(e=>e.classList.contains("form-render__formItem")));if(!u)return;const l=`.form-render__formItem${f.map((e=>`:not([widget-type=${e}])`)).join("")}`,d=Array.from(r.value.querySelectorAll(l)),c=d.findIndex((e=>e.id===u.id));if(!~c)return;const{widget:g,field:v}=p(d,c,s.target);if(g)if(a(e.enterToNextWidget)){const t=v&&o.query(v).take();!t||e.enterToNextWidget(null==(m=t.decoratorProps)?void 0:m.fieldItem)?y():i({target:g})}else y();async function y(){await n(0),g.focus()}}}}export{x as useFormDomEvent,I as useFormExposeEvent};
1
+ import{arrayed as e,findAncestor as t}from"../../../../shared/utils/index.js";import{isField as r}from"@formily/core";import{Path as o}from"@formily/path";import{isObject as i}from"@vue/shared";import{promiseTimeout as n}from"@vueuse/shared";import{isArray as s,isFunction as a}from"lodash-es";import{nextTick as m}from"vue";import"../../index.js";import{FormItemLineBarDepKeyPrepend as u,NESTED_FORM_ITEM_TYPE as f}from"../constants/index.js";import{queryDecoratorByAddress as l,queryInput as d,queryDecoratorByFieldKey as c,findNextWidget as p}from"../utils/dom.js";import{validateMessageParser as g,combineExtendKey as v,splitExtendKey as y}from"../utils/index.js";import{getParentLinebar as h}from"../utils/schema.js";function I({formModel:t,formRenderRef:n,formUUID:a,getFieldList:f,formItemDepsCollector:p}){return{validate(r="*"){return t.validate(r).catch((e=>Promise.reject(Array.isArray(e)?e.reduce(o,[]):e)));function o(t,r){if(!i(r))return t;let o=!1;return s(r.messages)&&r.messages.forEach((r=>{i(r)&&(t.push(...e(r).map(m)),o=!0)})),!o&&t.push(m(r)),t}function m(e){if(e.decoratorElement)return e;const r=t.query(e.path),o=r.get("title"),s=e.messages.map((e=>function(e,t){var r;return t&&i(t.fieldItem)?g(null!=(r=t.fieldItem.defined_error_msg)?r:e,t.fieldItem):e}(e,r.get("decoratorProps")))),m=l(e.address,n.value,a);return{...e,messages:s,title:o,decoratorElement:m,...d(m)}}},getFormValues(e=!0){let r=t.getFormState().values;return e&&(r=v(f(),r)),r},setFormValues(e,i=!0,n=!0){i&&(e=y(f(),e)),t.setFieldState("*",(t=>{r(t)&&(n||o.existIn(e,t.path))&&(t.value=o.getIn(e,t.path))}))},setFieldState(e,r){t.setFieldState(e,r)},resetFields:(e="*")=>t.reset(e),queryWidget:async e=>n.value?await async function(e,t,r){if(!n.value)return s();const o=c(e,t,a);if(o)return s(o);const i=h(e,r);return i?(p.trigger(u+i,!0),await m(),s(c(e,t,a))):s();function s(e){return{decoratorElement:e,...d(e)}}}(e,n.value,f()):null}}function x({props:e,formRenderRef:r,formModel:o}){return{onKeydown:async function i(s){var m;if(await n(0),Reflect.get(s,"stopCapture")||!e.enterToNextWidget||!r.value)return;const u=t(s.target,(e=>e.classList.contains("form-render__formItem")));if(!u)return;const l=`.form-render__formItem${f.map((e=>`:not([widget-type=${e}])`)).join("")}`,d=Array.from(r.value.querySelectorAll(l)),c=d.findIndex((e=>e.id===u.id));if(!~c)return;const{widget:g,field:v}=p(d,c,s.target);if(g)if(a(e.enterToNextWidget)){const t=v&&o.query(v).take();!t||e.enterToNextWidget(null==(m=t.decoratorProps)?void 0:m.fieldItem)?y():i({target:g})}else y();async function y(){await n(0),g.focus()}}}}export{x as useFormDomEvent,I as useFormExposeEvent};
@@ -1 +1 @@
1
- import{checkInSetupEnv as e,jsonParse as n}from"../../../../shared/utils/index.js";import{useMemoize as t,useDebounceFn as l}from"@vueuse/core";import{identity as u,uniqBy as o,isString as r,isEqual as a,omit as i,isArray as c,isFunction as s}from"lodash-es";import{computed as v,inject as m,ref as d,toRaw as f,watch as y}from"vue";import"../../index.js";import{InjectionAsyncQueue as p,InjectionFormLifeCycleCaller as h,InjectionFormItemDepsCollector as g}from"../constants/index.js";import{createUrlConfigParams as w,formRenderLog as k,keywordMatcher as b}from"../utils/index.js";import{useFormField as R}from"./useFormField.js";import{useFormRequest as C}from"./useFormRequest.js";function K(e,n){const t=d();return v({get:()=>t.value?t.value:e[n],set(e){t.value=e}})}const F=(()=>{const e=t((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:u});return(n,t)=>t.match(e(n))})();function O(){const e=d();return{searchContent:e,optionSearchFilter:function(n,t,l){if(!e.value)return n;const u=c(l)?l.filter((e=>e&&r(e))):[];return n.filter((n=>function(n,t,l){if(!e.value)return!0;const u=n?n[t]:"";return!!r(u)&&(!!F(e.value,u)||!!b(e.value,n.keyword)||!!l.length&&l.some((t=>r(n[t])&&n[t].includes(e.value))))}(n,t,u)))}}}function j(e,t,l,u,r){const a=K(e,"commonList"),c=K(e,"recentList"),{searchContent:d,optionSearchFilter:f}=O();function y(e){return n(e.itemObj)}const h=v((()=>{var e,n;return null!=(n=null==(e=a.value)?void 0:e.map(y))?n:[]})),g=v((()=>{var e,n;return null!=(n=null==(e=c.value)?void 0:e.map(y))?n:[]})),w=v((()=>{if(!e.recommend||!h.value.length&&!g.value.length)return t.value;const n=o(h.value.concat(g.value),(e=>e[r.value])),l=t.value.filter((e=>n.every((function(n){return n[r.value]!==e[r.value]}))));return[...f(n,u.value),...l]})),{getRecommendRequestInfo:k,getHttpInstance:b}=C();function F(n){const{url:t,getRecommendIds:l}=k(),u=s(l)?l():{},o=s(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:t[n],info:Object.assign({},u,o)}}const{fieldKey:j}=R(),I=m(p);return{postRecommend:async function(n){if(!e.recommend)return;const t=b();if(!t)return;const{url:u,info:o}=F("post"),a=w.value.find((e=>e[r.value]===n));a&&l("postRecommend",await t.post(u,{...o,keyword:"",itemId:r.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(d.value=n,a.value&&c.value&&e.recommendCache)return;const t=await I.addAsync(function(n,t){const{url:l,info:u}=F("get");return{url:l,method:"get",key:n,cache:t,params:{...u,recNum:Math.max(e.commonNum,e.recentNum),keyword:""}}}(j.value,e.recommendCache)),{commonly:l,recently:u}=t.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(i(n,["type"])):"recently"===n.type&&e.recently.push(i(n,["type"])),e)),{commonly:[],recently:[]});a.value=l.slice(0,e.commonNum),c.value=u.slice(0,e.recentNum)},sortedOptions:w}}function I(n,t){e();const u=m(p),o=m(h),i=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.nameKey)?t:n.labelField)?l:"text"})),c=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.valueKey)?t:n.valueField)?l:"value"})),{searchContent:s,optionSearchFilter:b}=O(),C=d(null),{field:K,fieldKey:F}=R(),j=l((async function(e){if(s.value=e||"",!n.urlConfig)return C.value=null;try{const e=await u.addAsync(await w({config:n.urlConfig,cache:n.requestCache,field:K.value}));f(C.value)!==e&&(C.value=e,o("afterOptionInit",[F.value,C.value]))}catch(e){r(e)&&k(e)}}),300),I=v((()=>C.value?b(C.value,i.value):Array.isArray(n.options)?b(n.options,i.value):[])),x=v((()=>C.value||n.options||[])),q=m(g);return y((()=>n.urlConfig),((e,l)=>{a(e,l)||(C.value=null,e&&(q.setDeps(F.value,e.dependKey||[],(async()=>{C.value=null,t.value=null,!n.lazyRequest&&await j()})),(t.value||!n.lazyRequest)&&j()))}),{immediate:!0}),{labelKey:i,valueKey:c,filterOptions:I,fullOptions:x,fetchData:j}}function x(n,t){e();const u=m(p),o=m(h),i=v((()=>{var e,t,l,u;return null!=(u=null!=(l=null==(t=null==(e=n.wordbook)?void 0:e.render_key)?void 0:t[0])?l:n.labelField)?u:"text"})),c=v((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.wordbook)?void 0:e.value_key)?t:n.valueField)?l:"value"})),s=v((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),{searchContent:g,optionSearchFilter:w}=O(),b=d(null),{fieldKey:K}=R(),{getSearchRequestInfo:F}=C(),j=l((async function(e){if(g.value=e||"",!n.autograph||!n.wordbook)return b.value=null;try{const e=await u.addAsync(function(e,t,l){const u={autograph:t,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};return{...F(),params:u,key:l,cache:n.requestCache}}(n.wordbook,n.autograph,K.value));f(b.value)!==e&&(b.value=e,o("afterOptionInit",[K.value,b.value]))}catch(e){r(e)&&k(e)}}),300),I=v((()=>b.value?w(b.value,i.value,s.value):Array.isArray(n.options)?w(n.options,i.value):[])),x=v((()=>b.value||n.options||[]));return y((()=>n.wordbook),((e,l)=>{a(e,l)||(b.value=null,e&&(t.value||!n.lazyRequest)&&j())}),{immediate:!0}),{labelKey:i,valueKey:c,filterOptions:I,fullOptions:x,fetchData:j}}export{F as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};
1
+ import{checkInSetupEnv as e,jsonParse as n}from"../../../../shared/utils/index.js";import{useForm as t}from"@formily/vue";import{useMemoize as l,useDebounceFn as u}from"@vueuse/core";import{identity as o,uniqBy as r,isString as a,isEqual as i,omit as c,isArray as s,isFunction as v}from"lodash-es";import{computed as m,inject as f,ref as d,toRaw as y,watch as p}from"vue";import"../../index.js";import{InjectionAsyncQueue as h,InjectionFormLifeCycleCaller as g,InjectionFormItemDepsCollector as w}from"../constants/index.js";import{createUrlConfigParams as k,formRenderLog as b,keywordMatcher as R}from"../utils/index.js";import{useFormField as C}from"./useFormField.js";import{useFormRequest as F}from"./useFormRequest.js";function K(e,n){const t=d();return m({get:()=>t.value?t.value:e[n],set(e){t.value=e}})}const q=(()=>{const e=l((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:o});return(n,t)=>t.match(e(n))})();function O(){const e=d();return{searchContent:e,optionSearchFilter:function(n,t,l){if(!e.value)return n;const u=s(l)?l.filter((e=>e&&a(e))):[];return n.filter((n=>function(n,t,l){if(!e.value)return!0;const u=n?n[t]:"";return!!a(u)&&(!!q(e.value,u)||!!R(e.value,n.keyword)||!!l.length&&l.some((t=>a(n[t])&&n[t].includes(e.value))))}(n,t,u)))}}}function j(e,t,l,u,o){const a=K(e,"commonList"),i=K(e,"recentList"),{searchContent:s,optionSearchFilter:d}=O();function y(e){return n(e.itemObj)}const p=m((()=>{var e,n;return null!=(n=null==(e=a.value)?void 0:e.map(y))?n:[]})),g=m((()=>{var e,n;return null!=(n=null==(e=i.value)?void 0:e.map(y))?n:[]})),w=m((()=>{if(!e.recommend||!p.value.length&&!g.value.length)return t.value;const n=r(p.value.concat(g.value),(e=>e[o.value])),l=t.value.filter((e=>n.every((function(n){return n[o.value]!==e[o.value]}))));return[...d(n,u.value),...l]})),{getRecommendRequestInfo:k,getHttpInstance:b}=F();function R(n){const{url:t,getRecommendIds:l}=k(),u=v(l)?l():{},o=v(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:t[n],info:Object.assign({},u,o)}}const{fieldKey:q}=C(),j=f(h);return{postRecommend:async function(n){if(!e.recommend)return;const t=b();if(!t)return;const{url:u,info:r}=R("post"),a=w.value.find((e=>e[o.value]===n));a&&l("postRecommend",await t.post(u,{...r,keyword:"",itemId:o.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(s.value=n,a.value&&i.value&&e.recommendCache)return;const t=await j.addAsync(function(n,t){const{url:l,info:u}=R("get");return{url:l,method:"get",key:n,cache:t,params:{...u,recNum:Math.max(e.commonNum,e.recentNum),keyword:""}}}(q.value,e.recommendCache)),{commonly:l,recently:u}=t.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(c(n,["type"])):"recently"===n.type&&e.recently.push(c(n,["type"])),e)),{commonly:[],recently:[]});a.value=l.slice(0,e.commonNum),i.value=u.slice(0,e.recentNum)},sortedOptions:w}}function I(n,t){e();const l=f(h),o=f(g),r=m((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.nameKey)?t:n.labelField)?l:"text"})),c=m((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.valueKey)?t:n.valueField)?l:"value"})),{searchContent:s,optionSearchFilter:v}=O(),R=d(null),{field:F,fieldKey:K}=C(),q=u((async function(e){if(s.value=e||"",!n.urlConfig)return R.value=null;try{const e=await l.addAsync(await k({config:n.urlConfig,cache:n.requestCache,field:F.value}));y(R.value)!==e&&(R.value=e,o("afterOptionInit",[K.value,R.value]))}catch(e){a(e)&&b(e)}}),300),j=m((()=>R.value?v(R.value,r.value):Array.isArray(n.options)?v(n.options,r.value):[])),I=m((()=>R.value||n.options||[])),x=f(w);return p((()=>n.urlConfig),((e,l)=>{if(!i(e,l)){if(R.value=null,!e)return R.value=null;x.setDeps(K.value,e.dependKey||[],(async()=>{R.value=null,t.value=null,!n.lazyRequest&&await q()})),(t.value||!n.lazyRequest)&&q()}}),{immediate:!0}),{labelKey:r,valueKey:c,filterOptions:j,fullOptions:I,fetchData:q}}function x(n,l){e();const o=f(h),r=f(g),c=t(),s=m((()=>{var e,t,l,u;return null!=(u=null!=(l=null==(t=null==(e=n.wordbook)?void 0:e.render_key)?void 0:t[0])?l:n.labelField)?u:"text"})),v=m((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.wordbook)?void 0:e.value_key)?t:n.valueField)?l:"value"})),k=m((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),{searchContent:R,optionSearchFilter:K}=O(),q=d(null),{fieldKey:j}=C(),{getSearchRequestInfo:I}=F(),x=u((async function(e){if(R.value=e||"",!n.autograph||!n.wordbook)return q.value=null;try{const e=await o.addAsync(function(e,t,l){var u,o,r;const a={autograph:t,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};if(null==(u=e.queryParams)?void 0:u.length){const n=null!=(r=null==(o=c.value)?void 0:o.getFormState().values)?r:{};e.queryParams.forEach((e=>{a[e]=n[e]}))}return console.log(a),{...I(),params:a,key:l,cache:n.requestCache}}(n.wordbook,n.autograph,j.value));y(q.value)!==e&&(q.value=e,r("afterOptionInit",[j.value,q.value]))}catch(e){a(e)&&b(e)}}),300),A=m((()=>q.value?K(q.value,s.value,k.value):Array.isArray(n.options)?K(n.options,s.value):[])),S=m((()=>q.value||n.options||[])),N=f(w);return p((()=>n.wordbook),((e,t)=>{if(!i(e,t)){if(q.value=null,!e)return q.value=null;N.setDeps(j.value,e.queryParams||[],(async()=>{q.value=null,x()})),(l.value||!n.lazyRequest)&&x()}}),{immediate:!0}),{labelKey:s,valueKey:v,filterOptions:A,fullOptions:S,fetchData:x}}export{q as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};
@@ -1,6 +1,6 @@
1
+ import { FormOperationalConfig } from '../../../../../es/shared/types';
1
2
  import { Form } from '@formily/core';
2
3
  import { ComputedRef } from 'vue';
3
- import { FormOperationalConfig } from '../../../../../es/components/form-render';
4
4
  export declare function useOperationalForm(operationalForm: ComputedRef<FormOperationalConfig[] | undefined>, formModel: Form): {
5
5
  operationalFormHandler: (field: string) => void;
6
6
  triggerAllOperationalFormHandler: () => void;
@@ -1 +1 @@
1
- import{isArray as e,isString as t,isNumber as a}from"lodash-es";function n(n,r){function o(t){return e(t)&&!!t.length}function l(e,n=!0){e.forEach((e=>{const o=r.getFormState().values,l=e.operationFormParam.reduce(((e,t)=>(e[t=t.replace(/^table\./,"")]=+o[t],e)),{}),i=e.operationalRule.replace(/\${(.+?)}/g,"$1");let u=new Function("table",`return ${i}`)(l);t(u)&&(u=+u),u=a(u)?isNaN(u)?"":u.toFixed(+e.operationalPrecision):"",(n||null==r.getValuesIn(e.operationalResult))&&r.setValuesIn(e.operationalResult,u)}))}return{operationalFormHandler:function(e){if(!o(n.value))return;const t=n.value.filter((t=>t.operationFormParam.includes(`table.${e}`)));t.length&&l(t)},triggerAllOperationalFormHandler:function(){o(n.value)&&l(n.value,!1)}}}export{n as useOperationalForm};
1
+ import"../../../../shared/utils/index.js";import{getOperationalFormHandler as s}from"../../../../shared/utils/business.js";function e(e,t){return s(e,(s=>t.getValuesIn(s)),((s,e)=>t.setValuesIn(s,e)))}export{e as useOperationalForm};
@@ -0,0 +1,5 @@
1
+ import { Form } from '@formily/core';
2
+ import { ContextCollector } from '../../../../../es/components/form-render';
3
+ export declare function useWordbookSetting(formModel: Form, changeContextCollector: ContextCollector): {
4
+ wordbookSettingHandler: (fieldKey: string, value: unknown) => void;
5
+ };
@@ -0,0 +1 @@
1
+ import{isField as n}from"@formily/core";function t(t,o){return{wordbookSettingHandler:function(r,e){var i,l;const u=t.query(r).take();if(!n(u))return;const c=function(n){var t,o;return null==(o=null==(t=n.decoratorProps)?void 0:t.fieldItem)?void 0:o.wordbook}(u);(null==(l=null==(i=null==c?void 0:c.setting)?void 0:i.cascading)?void 0:l.length)&&c.setting.cascading.forEach((i=>{var l;const u=function(n,t){return Object.values(n.fields).find((n=>n.title===t))}(t,i["form.name"]);if(!u||!n(u))return;const c=null==(l=o.getContext(r,e))?void 0:l.currentOption;c&&u.setValue(c[i.value])}))}}}export{t as useWordbookSetting};
@@ -78,15 +78,22 @@ export declare type FormWordbook = Partial<{
78
78
  name: string;
79
79
  render_key: string[];
80
80
  search_key: string[];
81
+ value_key: string;
82
+ queryParams: string[];
81
83
  primary_key: string;
82
84
  type: string;
83
- value_key: string;
84
85
  level_key: string;
85
86
  link_key: string;
86
87
  link_key_split: string;
87
88
  show_key: string[];
88
89
  conObj: AnyObject[];
89
90
  conObjFirstLevel: AnyObject[];
91
+ setting: Partial<{
92
+ cascading: {
93
+ 'form.name': string;
94
+ value: string;
95
+ }[];
96
+ }>;
90
97
  }>;
91
98
  export declare type CombinationItemDeletableFn = (itemData: AnyObject, index: number) => boolean;
92
99
  export declare type FieldItem = {
@@ -1,5 +1,5 @@
1
1
  import { AsyncQueue } from '../../../../../es/shared/hooks';
2
- import { AnyObject, LOW_CODE_VALUE_RELATION, UndefinedAble } from '../../../../../es/shared/types';
2
+ import { AnyObject, FormOperationalConfig, LOW_CODE_VALUE_RELATION, UndefinedAble } from '../../../../../es/shared/types';
3
3
  import { DataField, Field, Form } from '@formily/core';
4
4
  import { ISchema } from '@formily/json-schema/esm/types';
5
5
  import { Component, FunctionalComponent } from 'vue';
@@ -91,12 +91,6 @@ export declare type FormBusinessFormatter = (payload: {
91
91
  value: unknown;
92
92
  type: FIELD_BUSINESS_TYPE;
93
93
  }) => unknown;
94
- export declare type FormOperationalConfig = {
95
- operationFormParam: string[];
96
- operationalRule: string;
97
- operationalPrecision: string;
98
- operationalResult: string;
99
- };
100
94
  export declare namespace FormLowCodeReactions {
101
95
  type ConObj = {
102
96
  con: LOW_CODE_VALUE_RELATION;
@@ -2171,6 +2171,12 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
2171
2171
  enable?: boolean | undefined;
2172
2172
  usePreset?: boolean | undefined;
2173
2173
  } | undefined;
2174
+ operationForm?: {
2175
+ operationFormParam: string[];
2176
+ operationalRule: string;
2177
+ operationalPrecision: string;
2178
+ operationalResult: string;
2179
+ }[] | undefined;
2174
2180
  }>;
2175
2181
  updateConfigRefDebounced: () => void;
2176
2182
  updateConfigRef: () => void;
@@ -4591,6 +4597,12 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
4591
4597
  enable?: boolean | undefined;
4592
4598
  usePreset?: boolean | undefined;
4593
4599
  } | undefined;
4600
+ operationForm?: {
4601
+ operationFormParam: string[];
4602
+ operationalRule: string;
4603
+ operationalPrecision: string;
4604
+ operationalResult: string;
4605
+ }[] | undefined;
4594
4606
  }>;
4595
4607
  configChanged: boolean;
4596
4608
  fieldChanged: boolean;
@@ -2170,6 +2170,12 @@ declare const _default: import("vue").DefineComponent<{
2170
2170
  enable?: boolean | undefined;
2171
2171
  usePreset?: boolean | undefined;
2172
2172
  } | undefined;
2173
+ operationForm?: {
2174
+ operationFormParam: string[];
2175
+ operationalRule: string;
2176
+ operationalPrecision: string;
2177
+ operationalResult: string;
2178
+ }[] | undefined;
2173
2179
  }>;
2174
2180
  updateConfigRefDebounced: () => void;
2175
2181
  updateConfigRef: () => void;
@@ -4590,6 +4596,12 @@ declare const _default: import("vue").DefineComponent<{
4590
4596
  enable?: boolean | undefined;
4591
4597
  usePreset?: boolean | undefined;
4592
4598
  } | undefined;
4599
+ operationForm?: {
4600
+ operationFormParam: string[];
4601
+ operationalRule: string;
4602
+ operationalPrecision: string;
4603
+ operationalResult: string;
4604
+ }[] | undefined;
4593
4605
  }>;
4594
4606
  configChanged: boolean;
4595
4607
  fieldChanged: boolean;
@@ -1 +1 @@
1
- import{mergeWith as e,isObject as o}from"lodash-es";import{HIGHEST_PRIORITY as i}from"../../constants/index.js";import{defineTablePlugin as t}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as s}from"../../utils/index.js";function n(){const n="defaultTablePlugin";return t({name:n,vxe(e){e.setup({zIndex:3e3})},apply(t){t.configHooks.config.tap({name:n,stage:i},(o=>{const i=e({border:!0,showSeq:!0,columnConfig:{resizable:!0},rowConfig:{height:36,useKey:!0,isHover:!0,isCurrent:!0,keyField:"theUniqueKey"},showOverflow:"tooltip",editConfig:{trigger:"click",mode:"cell"}},o,{height:o.height?"auto":void 0});return i.selectType=o.selectType||(s.isPositive(o.isBatchSelect)?"checkbox":s.isPositive(o.isSingleSelect)?"radio":void 0),i})),t.configHooks.mouseConfig.tap({name:n,stage:i},((e,i)=>o(i.keyboardConfig)?Object.assign({selected:!!i.keyboardConfig.isEdit},e):e))}})}export{n as defaultConfigPlugin};
1
+ import{mergeWith as e,isObject as o}from"lodash-es";import{HIGHEST_PRIORITY as i}from"../../constants/index.js";import{defineTablePlugin as t}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as s}from"../../utils/index.js";function n(){const n="defaultTablePlugin";return t({name:n,vxe(e){e.setup({zIndex:3e3})},apply(t){t.configHooks.config.tap({name:n,stage:i},(o=>{const i=e({border:!0,showSeq:!0,columnConfig:{resizable:!0},rowConfig:{height:36,useKey:!0,isHover:!0,isCurrent:!0,keyField:"theUniqueKey"},showOverflow:"title",showHeaderOverflow:"title",editConfig:{trigger:"click",mode:"cell"}},o,{height:o.height?"auto":void 0});return i.selectType=o.selectType||(s.isPositive(o.isBatchSelect)?"checkbox":s.isPositive(o.isSingleSelect)?"radio":void 0),i})),t.configHooks.mouseConfig.tap({name:n,stage:i},((e,i)=>o(i.keyboardConfig)?Object.assign({selected:!!i.keyboardConfig.isEdit},e):e))}})}export{n as defaultConfigPlugin};
@@ -12,9 +12,9 @@ declare const _default: import("vue").DefineComponent<{
12
12
  required: true;
13
13
  };
14
14
  }>> & {}>>;
15
+ $table: (VxeTableConstructor & VxeTablePrivateMethods & VxeTableMethods) | undefined;
15
16
  optionsRef: import("vue").ComputedRef<import("vxe-table").VxeTableDefines.FilterOption[] & VxeColumnPropTypes.Filter[]>;
16
17
  checkedRef: import("vue").WritableComputedRef<string[]>;
17
- $table: (VxeTableConstructor & VxeTablePrivateMethods & VxeTableMethods) | undefined;
18
18
  checkedCacheRef: import("vue").Ref<string[]>;
19
19
  searchFilterText: import("vue").Ref<string>;
20
20
  close: () => void;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as l,inject as a,ref as t,onDeactivated as u,openBlock as n,createElementBlock as o,unref as r,createBlock as i,createCommentVNode as v,createElementVNode as s,createVNode as c,isRef as d,withCtx as p,normalizeStyle as f,Fragment as h,renderList as m,toDisplayString as y,createTextVNode as _}from"vue";import{widthAppend as b}from"../../../../../shared/utils/index.js";import{useVirtualList as g}from"@vueuse/core";import{isNumber as k}from"lodash-es";import{NInput as C,NCheckbox as $,NCheckboxGroup as S,NButtonGroup as x,NButton as L}from"naive-ui";const U={class:"iho-table__filterWrapper"},j={class:"iho-table__filterListItem"},w={class:"iho-table__filterFooter"};var E=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const E=e,F=l((()=>{var e,l,a;return null!=(a=null==(l=null==(e=E.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),I=l({get:()=>F.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),set(e){if(E.payload)return F.value.forEach((l=>{E.payload.$panel.changeOption(null,e.includes(l.value),l)})),E.payload.$panel.confirmFilter(new CustomEvent("click"))}}),O=a("$xetable"),P=t([...I.value]),W=t("");function q(){O&&(O.reactData.filterStore.visible=!1)}u(q);const z=l((()=>{var e,l;if(!E.payload||!E.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=E.payload.column.editRender)?void 0:e.props)?l:{};return k(a)&&a>0?a:10})),{list:D,containerProps:H,wrapperProps:R}=g(l((()=>W.value?F.value.filter((e=>`${e.label}`.includes(W.value))):F.value)),{itemHeight:32,overscan:3}),A=l((()=>!!P.value.length&&P.value.length!==F.value.length)),B=l({get:()=>P.value.length===F.value.length&&0!==F.value.length,set:e=>{P.value=e?F.value.map((e=>e.value)):[]}}),G=l((()=>({...H.style,height:b(32*z.value)})));function J(){I.value=P.value,q()}function K(){P.value=[]}return(e,l)=>(n(),o("section",U,[r(F).length>5?(n(),i(r(C),{key:0,value:W.value,"onUpdate:value":l[0]||(l[0]=e=>W.value=e)},null,8,["value"])):v("v-if",!0),s("div",j,[c(r($),{label:"全选",checked:r(B),"onUpdate:checked":l[1]||(l[1]=e=>d(B)?B.value=e:null),indeterminate:r(A)},null,8,["checked","indeterminate"])]),c(r(S),{value:P.value,"onUpdate:value":l[3]||(l[3]=e=>P.value=e)},{default:p((()=>[s("section",{ref:r(H).ref,style:f(r(G)),onScroll:l[2]||(l[2]=(...e)=>r(H).onScroll&&r(H).onScroll(...e)),class:"iho-table__filterListWrapper"},[s("section",{style:f(r(R).style)},[(n(!0),o(h,null,m(r(D),(e=>(n(),o("div",{class:"iho-table__filterListItem",key:e.data.value},[c(r($),{value:e.data.value,label:e.data.label},null,8,["value","label"])])))),128))],4)],36)])),_:1},8,["value"]),s("footer",w,[s("section",null,y(`已选择${P.value.length}项`),1),c(r(x),{size:"small"},{default:p((()=>[c(r(L),{onClick:K},{default:p((()=>[_("清空")])),_:1}),c(r(L),{onClick:q},{default:p((()=>[_("取消")])),_:1}),c(r(L),{type:"primary",onClick:J},{default:p((()=>[_("确定")])),_:1})])),_:1})])]))}});export{E as default};
1
+ import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,openBlock as n,createElementBlock as o,unref as r,createBlock as i,createCommentVNode as c,createElementVNode as s,createVNode as v,isRef as d,withCtx as p,normalizeStyle as f,Fragment as h,renderList as m,toDisplayString as y,createTextVNode as _}from"vue";import{widthAppend as b}from"../../../../../shared/utils/index.js";import{useVirtualList as g}from"@vueuse/core";import{isNumber as k}from"lodash-es";import{NInput as L,NCheckbox as x,NCheckboxGroup as C,NButtonGroup as D,NButton as S}from"naive-ui";const $={class:"iho-table__filterWrapper"},I={class:"iho-table__filterListItem"},Y={class:"iho-table__filterFooter"};var U=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const U=e,j=l("$xetable"),w=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=U.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),E=a({get:()=>w.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),set(e){if(!U.payload)return;if(w.value.forEach((l=>{U.payload.$panel.changeOption(null,e.includes(l.value),l)})),!j)return t();const{startIndex:l,endIndex:a}=j.internalData.scrollYStore;function t(){U.payload.$panel.confirmFilter(new CustomEvent("click"))}0===l&&1===a||j.reactData.scrollYLoad?t():(j.reactData.scrollYLoad=!0,t(),j.reactData.scrollYLoad=!1)}}),F=t([...E.value]),O=t("");function P(){j&&(j.reactData.filterStore.visible=!1)}u(P);const W=a((()=>{var e,l;if(!U.payload||!U.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=U.payload.column.editRender)?void 0:e.props)?l:{};return k(a)&&a>0?a:10})),{list:q,containerProps:z,wrapperProps:H}=g(a((()=>O.value?w.value.filter((e=>`${e.label}`.includes(O.value))):w.value)),{itemHeight:32,overscan:3}),R=a((()=>!!F.value.length&&F.value.length!==w.value.length)),A=a({get:()=>F.value.length===w.value.length&&0!==w.value.length,set:e=>{F.value=e?w.value.map((e=>e.value)):[]}}),B=a((()=>({...z.style,height:b(32*W.value)})));function G(){E.value=F.value,P()}function J(){F.value=[]}return(e,l)=>(n(),o("section",$,[r(w).length>5?(n(),i(r(L),{key:0,value:O.value,"onUpdate:value":l[0]||(l[0]=e=>O.value=e)},null,8,["value"])):c("v-if",!0),s("div",I,[v(r(x),{label:"全选",checked:r(A),"onUpdate:checked":l[1]||(l[1]=e=>d(A)?A.value=e:null),indeterminate:r(R)},null,8,["checked","indeterminate"])]),v(r(C),{value:F.value,"onUpdate:value":l[3]||(l[3]=e=>F.value=e)},{default:p((()=>[s("section",{ref:r(z).ref,style:f(r(B)),onScroll:l[2]||(l[2]=(...e)=>r(z).onScroll&&r(z).onScroll(...e)),class:"iho-table__filterListWrapper"},[s("section",{style:f(r(H).style)},[(n(!0),o(h,null,m(r(q),(e=>(n(),o("div",{class:"iho-table__filterListItem",key:e.data.value},[v(r(x),{value:e.data.value,label:e.data.label},null,8,["value","label"])])))),128))],4)],36)])),_:1},8,["value"]),s("footer",Y,[s("section",null,y(`已选择${F.value.length}项`),1),v(r(D),{size:"small"},{default:p((()=>[v(r(S),{onClick:J},{default:p((()=>[_("清空")])),_:1}),v(r(S),{onClick:P},{default:p((()=>[_("取消")])),_:1}),v(r(S),{type:"primary",onClick:G},{default:p((()=>[_("确定")])),_:1})])),_:1})])]))}});export{U as default};
@@ -1 +1 @@
1
- import*as e from"./anchorPlugin/index.js";import*as r from"./defaultConfigPlugin/index.js";import*as i from"./fieldConnectionPlugin/index.js";import*as n from"./filterDaterangeRenderPlugin/index.js";import*as d from"./filterRenderPlugin/index.js";import*as s from"./highLightSetPlugin.js";import*as t from"./keyboardEventPlugin/index.js";import*as l from"./lowCodeFieldAdaptorPlugin/index.js";import*as g from"./maxCheckSizePlugin.js";import*as u from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as o from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as P from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as a from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as m from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as x from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as f from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as p from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as j from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as R from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as b from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as w from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as c from"./rowClickPlugin/index.js";import*as h from"./rowDragPlugin/index.js";import*as W from"./rowGroupSettingPlugin/index.js";import*as C from"./varialbleHeightPlugin/index.js";import*as k from"./virtualTreePlugin/index.js";import{separateMetaModule as v}from"../../../../shared/utils/index.js";var S=v(Object.assign({"./anchorPlugin/index.tsx":e,"./defaultConfigPlugin/index.ts":r,"./fieldConnectionPlugin/index.ts":i,"./filterDaterangeRenderPlugin/index.tsx":n,"./filterRenderPlugin/index.tsx":d,"./highLightSetPlugin.tsx":s,"./keyboardEventPlugin/index.ts":t,"./lowCodeFieldAdaptorPlugin/index.tsx":l,"./maxCheckSizePlugin.ts":g,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":u,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":o,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":P,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":a,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":m,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":x,"./rendererPlugins/widgets/checkRendererPlugin.tsx":f,"./rendererPlugins/widgets/colorRendererPlugin.tsx":p,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":j,"./rendererPlugins/widgets/labelRendererPlugin.tsx":R,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":b,"./rendererPlugins/widgets/seqRendererPlugin.tsx":w,"./rowClickPlugin/index.ts":c,"./rowDragPlugin/index.ts":h,"./rowGroupSettingPlugin/index.ts":W,"./varialbleHeightPlugin/index.tsx":C,"./virtualTreePlugin/index.ts":k}));export{S as default};
1
+ import*as e from"./anchorPlugin/index.js";import*as r from"./defaultConfigPlugin/index.js";import*as i from"./fieldConnectionPlugin/index.js";import*as n from"./filterDaterangeRenderPlugin/index.js";import*as d from"./filterRenderPlugin/index.js";import*as s from"./highLightSetPlugin.js";import*as t from"./keyboardEventPlugin/index.js";import*as l from"./lowCodeFieldAdaptorPlugin/index.js";import*as g from"./maxCheckSizePlugin.js";import*as u from"./operationalFormPlugin/index.js";import*as o from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as a from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as P from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as m from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as x from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as f from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as p from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as j from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as R from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as b from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as w from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as c from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as h from"./rowClickPlugin/index.js";import*as W from"./rowDragPlugin/index.js";import*as C from"./rowGroupSettingPlugin/index.js";import*as k from"./varialbleHeightPlugin/index.js";import*as v from"./virtualTreePlugin/index.js";import{separateMetaModule as S}from"../../../../shared/utils/index.js";var D=S(Object.assign({"./anchorPlugin/index.tsx":e,"./defaultConfigPlugin/index.ts":r,"./fieldConnectionPlugin/index.ts":i,"./filterDaterangeRenderPlugin/index.tsx":n,"./filterRenderPlugin/index.tsx":d,"./highLightSetPlugin.tsx":s,"./keyboardEventPlugin/index.ts":t,"./lowCodeFieldAdaptorPlugin/index.tsx":l,"./maxCheckSizePlugin.ts":g,"./operationalFormPlugin/index.ts":u,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":o,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":a,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":P,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":m,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":x,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":f,"./rendererPlugins/widgets/checkRendererPlugin.tsx":p,"./rendererPlugins/widgets/colorRendererPlugin.tsx":j,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":R,"./rendererPlugins/widgets/labelRendererPlugin.tsx":b,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":w,"./rendererPlugins/widgets/seqRendererPlugin.tsx":c,"./rowClickPlugin/index.ts":h,"./rowDragPlugin/index.ts":W,"./rowGroupSettingPlugin/index.ts":C,"./varialbleHeightPlugin/index.tsx":k,"./virtualTreePlugin/index.ts":v}));export{D as default};
@@ -1 +1 @@
1
- import{unref as e}from"vue";import{promiseTimeout as n}from"@vueuse/shared";import"../../../index.js";import{useSessionStorage as t}from"@vueuse/core";import{isString as o,trim as i,isEmpty as r,isEqual as l,isFunction as u}from"lodash-es";import{selectOptionsMap as d}from"../rendererPlugins/editableWidgets/hooks/useSelectOption.js";import{IhoTableUtils as a}from"../../utils/index.js";import{EDITABLE_WIDGET_TYPE as s}from"../../constants/index.js";import{parse as c,isValid as p,compareDesc as f}from"date-fns";import{defineTablePlugin as m}from"../../hooks/useTablePlugin.js";function v(){const v="keyboardEventPlugin",g=t("ihoTableClipData","");return m({name:v,apply(t){function m(n,t,m,v,w){var b,y;if(!(null==(b=null==m?void 0:m.keyboardConfig)?void 0:b.isClip))return;const{row:C,column:R}=t.getSelectedCell()||t.getEditRecord()||{};if(!C||!R||!E(R,s.SELECT)&&e(g)===C[R.field])return;const x=m.uuid&&E(R,s.SELECT)&&d.get(m.uuid)[R.field],T=C[R.field];if("copy"===n){const e=(null==(y=(x||[]).filter((e=>T.includes(e.value))))?void 0:y.map((e=>e.label)).join(","))||T;g.value=e}else{if(o(e(g))&&(g.value=i(e(g)||"")),!e(g)||!function(e){var n;const t=null==(n=e.editRender)?void 0:n.props;return t&&Object.keys(s).includes(a.getCellType(t))}(R)||C.$__SEPARATE||!function(e,n,t,o){var i,r;const{beforeEditMethod:l}=n.editConfig||{},d={rowIndex:null!=(i=e.getRowIndex(t))?i:0,columnIndex:null!=(r=e.getColumnIndex(o))?r:0};return!l||u(l)&&l({row:t,column:o,...d,$table:e,$grid:void 0})}(t,m,C,R))return;if(E(R,s.DATE)&&function(n,t){var i;const r=null==(i=n.editRender)?void 0:i.props,l=e(g)||"";return!p(new Date(l))||o(r.connectField)&&t[r.connectField]&&(r.isStartDate&&f(new Date(l),new Date(t[r.connectField]))<0||r.isEndDate&&f(new Date(l),new Date(t[r.connectField]))>0)}(R,C))return;if(E(R,s.NUMBER)&&!/^-?\d*\.?\d+$/.test((e(g)||"").toString()))return;if(E(R,s.TIME)&&function(n){var t,o;const i=e(g)||"",r=null==(t=n.editRender)?void 0:t.props,l=c(i,(null==(o=null==r?void 0:r.componentProps)?void 0:o.valueFormat)||"HH:mm",new Date);return!p(l)}(R))return;let n=e(g)||"";if(x&&!r(x)){const e=x.filter((e=>n.split(",").includes(e.label))).map((e=>e.value));if(r(e))return;if(function(e){var n,t;const o=null==(n=e.editRender)?void 0:n.props;return E(e,s.SELECT)&&(null==(t=o.componentProps)?void 0:t.multiple)}(R)){if(l(T,e))return;n=e}else{if(e.includes(T))return;n=e[0]}}C[R.field]=n,v("formChange",{column:R,row:C,oldValue:T,value:n,index:t.getRowIndex(C)}),E(R,s.SEPARATE)&&(null==w||w())}}function E(e,n){var t;const o=null==(t=e.editRender)?void 0:t.props;return o&&a.getCellType(o)===n}t.eventHooks.onCopy.tap(v,(({$table:e},n,{emits:t})=>m("copy",e,n,t))),t.eventHooks.onPaste.tap(v,(({$table:e},n,{emits:t,updateTableDataRef:o})=>m("paste",e,n,t,o))),t.eventHooks.onKeydown.tap(v,(async({$event:e,$table:t},o,{emits:i})=>{await n(0);const{row:r,column:l}=t.getSelectedCell()||t.getEditRecord()||{};if(!r||!l)return;i("keyboard",{key:e.key,index:t.getRowIndex(r),value:r[l.field],row:r,column:l})}))}})}export{v as keyboardEventPlugin};
1
+ import{unref as e}from"vue";import{promiseTimeout as n}from"@vueuse/shared";import"../../../index.js";import{useSessionStorage as t}from"@vueuse/core";import{isString as o,trim as i,isEmpty as l,isEqual as r,isFunction as u}from"lodash-es";import{selectOptionsMap as d}from"../rendererPlugins/editableWidgets/hooks/useSelectOption.js";import{IhoTableUtils as a}from"../../utils/index.js";import{EDITABLE_WIDGET_TYPE as s}from"../../constants/index.js";import{parse as c,isValid as p,compareDesc as f}from"date-fns";import{defineTablePlugin as m}from"../../hooks/useTablePlugin.js";function v(){const v="keyboardEventPlugin",g=t("ihoTableClipData","");return m({name:v,apply(t){function m(n,t,m,v,w){var b,y;if(!(null==(b=null==m?void 0:m.keyboardConfig)?void 0:b.isClip))return;const{row:C,column:R}=t.getSelectedCell()||t.getEditRecord()||{};if(!C||!R||!E(R,s.SELECT)&&e(g)===C[R.field])return;const x=m.uuid&&E(R,s.SELECT)&&d.get(m.uuid)[R.field],T=C[R.field];if("copy"===n){const e=(null==(y=(x||[]).filter((e=>T.includes(e.value))))?void 0:y.map((e=>e.label)).join(","))||T;g.value=e}else{if(o(e(g))&&(g.value=i(e(g)||"")),!e(g)||!function(e){var n;const t=null==(n=e.editRender)?void 0:n.props;return t&&Object.keys(s).includes(a.getCellType(t))}(R)||C.$__SEPARATE||!function(e,n,t,o){var i,l;const{beforeEditMethod:r}=n.editConfig||{},d={rowIndex:null!=(i=e.getRowIndex(t))?i:0,columnIndex:null!=(l=e.getColumnIndex(o))?l:0};return!r||u(r)&&r({row:t,column:o,...d,$table:e,$grid:void 0})}(t,m,C,R))return;if(E(R,s.DATE)&&function(n,t){var i;const l=null==(i=n.editRender)?void 0:i.props,r=e(g)||"";return!p(new Date(r))||o(l.connectField)&&t[l.connectField]&&(l.isStartDate&&f(new Date(r),new Date(t[l.connectField]))<0||l.isEndDate&&f(new Date(r),new Date(t[l.connectField]))>0)}(R,C))return;if(E(R,s.NUMBER)&&!/^-?\d*\.?\d+$/.test((e(g)||"").toString()))return;if(E(R,s.TIME)&&function(n){var t,o;const i=e(g)||"",l=null==(t=n.editRender)?void 0:t.props,r=c(i,(null==(o=null==l?void 0:l.componentProps)?void 0:o.valueFormat)||"HH:mm",new Date);return!p(r)}(R))return;let n=e(g)||"";if(x&&!l(x)){const e=x.filter((e=>n.split(",").includes(e.label))).map((e=>e.value));if(l(e))return;if(function(e){var n,t;const o=null==(n=e.editRender)?void 0:n.props;return E(e,s.SELECT)&&(null==(t=o.componentProps)?void 0:t.multiple)}(R)){if(r(T,e))return;n=e}else{if(e.includes(T))return;n=e[0]}}C[R.field]=n,v("formChange",{column:R,row:C,oldValue:T,value:n,index:t.getRowIndex(C)}),E(R,s.SEPARATE)&&(null==w||w())}}function E(e,n){var t;const o=null==(t=e.editRender)?void 0:t.props;return o&&a.getCellType(o)===n}t.eventHooks.onCopy.tap(v,(({$table:e},n,{emits:t})=>m("copy",e,n,t))),t.eventHooks.onPaste.tap(v,(({$table:e},n,{emits:t,updateTableDataRef:o})=>m("paste",e,n,t,o))),t.eventHooks.onKeydown.tap(v,(async({$event:e,$table:t},o,{emits:i})=>{await n(0);const{row:l,column:r}=t.getSelectedCell()||t.getEditRecord()||{};if(!l||!r)return;i("keyboard",{$table:t,key:e.key,index:t.getRowIndex(l),value:l[r.field],row:l,column:r})}))}})}export{v as keyboardEventPlugin};
@@ -1 +1 @@
1
- import{toRaw as e,h as t,inject as l,createVNode as i}from"vue";import{arrayed as o,widthAppend as s}from"../../../../../shared/utils/index.js";import{isObject as n,isFunction as d,cloneDeep as a,isString as r}from"lodash-es";import{NEllipsis as u}from"naive-ui";import f from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as m,IHO_TABLE_FIXED_STATUS as c,LOWEST_PRIORITY as p,WIDGET_TYPE as h,InjectionIhoTableAnnotation as v,InjectionIhoTableConfig as b}from"../../constants/index.js";import{defineTablePlugin as g}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as R,IhoTableUtils as j,IhoTableRenderHelper as x}from"../../utils/index.js";import{getDefaultValue as P}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function F(){const F="lowCodeFieldAdaptorPlugin";return g({name:F,apply(g){g.fieldHooks.field.tap({name:F,stage:m},((m,p,g)=>{const F=m,S={className:F.bold?"iho-table__boldCell":"",field:F.columnName,showOverflow:"tooltip",visible:R.notNegative(F.isShow),minWidth:F.colWidth,sortable:R.isPositive(F.isSort),fixed:c[F.isFixed],...F,title:F.alias||F.title};return function(e,a){const m={default:a.slotFn,header:a.headerSlotFn,edit:a.editSlotFn,footer:a.footerSlotFn,...a.slots};if(d(a.checkEditStatus)){const{default:e}=m;d(e)&&(m.default=l=>a.checkEditStatus(l)?e(l):[t("span",null,P(l.row,l.column.editRender.props))])}const c=m.header;m.header=e=>function(e,t,a){var m;const c=l(v),p=l(b),h=e.column||{},g=n(null==c?void 0:c.value)&&!1!==t.annotation,R=x.isEditableColumn(p.value,h),j=x.hasFilter(t)||x.hasDateFiler(t),P=null==(m=t.titlePrefix)?void 0:m.content,F=r(a)?a:d(a)?a(e):null;let S=!1;if(p.value){const e=p.value.editRules&&p.value.editRules[h.field];e&&(S=o(e).some((e=>e.required)))}return i("section",{class:"iho-table__headerWrapper"},[i("section",{style:{width:s(Math.max(0,h.renderWidth-20-(S?14:0)-(g?18:0)-(j?23:0)-(R?22:0)-(P?20:0)-(h.sortable?23:0)))}},[null!=F?F:i(u,{style:{maxWidth:"100%"}},{default:()=>h.title})]),g?i(f,{modelValue:c.value[h.field],"onUpdate:modelValue":e=>c.value[h.field]=e},null):null])}(e,a,c),e.slots=m}(S,F),function(t,l,i){var o,s;const r=a(e(l));r.componentProps={size:"mini"===i.size?"small":i.size,...r.componentProps},t.editRender={autofocus:"input",name:j.getCellType(l),props:r},t.editRender.enabled=!Reflect.get(h,t.editRender.name),d(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&d(null==(s=t.slots)?void 0:s.edit));if(!n(l.settingObj))return;Reflect.has(l.settingObj,"isHide")&&(t.visible=t.visible&&R.notPositive(l.settingObj.isHide))}(S,F,g),S})),g.fieldHooks.field.tap({name:F+"After",stage:p},(e=>(n(e.slots)&&Object.entries(e.slots).forEach((([t,l])=>{null==l&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{F as lowCodeFieldAdaptorPlugin};
1
+ import{toRaw as e,h as t,inject as l,createVNode as i}from"vue";import{arrayed as o,widthAppend as s}from"../../../../../shared/utils/index.js";import{isObject as n,isFunction as a,cloneDeep as d,isString as r}from"lodash-es";import u from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as c,IHO_TABLE_FIXED_STATUS as f,LOWEST_PRIORITY as m,WIDGET_TYPE as p,InjectionIhoTableAnnotation as h,InjectionIhoTableConfig as v}from"../../constants/index.js";import{defineTablePlugin as b}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as g,IhoTableUtils as x,IhoTableRenderHelper as R}from"../../utils/index.js";import{getDefaultValue as j}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function w(){const w="lowCodeFieldAdaptorPlugin";return b({name:w,apply(b){b.fieldHooks.field.tap({name:w,stage:c},((c,m,b)=>{const w=c,P={className:w.bold?"iho-table__boldCell":"",field:w.columnName,showOverflow:"title",visible:g.notNegative(w.isShow),minWidth:w.colWidth,sortable:g.isPositive(w.isSort),fixed:f[w.isFixed],...w,title:w.alias||w.title};return function(e,d){const c={default:d.slotFn,header:d.headerSlotFn,edit:d.editSlotFn,footer:d.footerSlotFn,...d.slots};if(a(d.checkEditStatus)){const{default:e}=c;a(e)&&(c.default=l=>d.checkEditStatus(l)?e(l):[t("span",null,j(l.row,l.column.editRender.props))])}const f=c.header;c.header=e=>function(e,t,d){var c;const f=l(h),m=l(v),p=l("$xetable"),b=e.column||{},g=n(null==f?void 0:f.value)&&!1!==t.annotation,x=R.isEditableColumn(m.value,b),j=R.hasFilter(t)||R.hasDateFiler(t),w=null==(c=t.titlePrefix)?void 0:c.content,P=r(d)?d:a(d)?d(e):null;let F=!1;if(m.value){const e=m.value.editRules&&m.value.editRules[b.field];e&&(F=o(e).some((e=>e.required)))}const S=m.value.border?Math.max(2,Math.ceil(p.reactData.scrollbarWidth/p.reactData.tableColumn.length)):1;return i("section",{class:"iho-table__headerWrapper"},[i("section",{style:{width:s(Math.max(0,b.renderWidth-20-S-(F?14:0)-(g?18:0)-(j?23:0)-(x?22:0)-(w?20:0)-(b.sortable?23:0)))}},[null!=P?P:i("div",{style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[b.title])]),g?i(u,{modelValue:f.value[b.field],"onUpdate:modelValue":e=>f.value[b.field]=e},null):null])}(e,d,f),e.slots=c}(P,w),function(t,l,i){var o,s;const r=d(e(l));r.componentProps={size:"mini"===i.size?"small":i.size,...r.componentProps},t.editRender={autofocus:"input",name:x.getCellType(l),props:r},t.editRender.enabled=!Reflect.get(p,t.editRender.name),a(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&a(null==(s=t.slots)?void 0:s.edit));if(!n(l.settingObj))return;Reflect.has(l.settingObj,"isHide")&&(t.visible=t.visible&&g.notPositive(l.settingObj.isHide))}(P,w,b),P})),b.fieldHooks.field.tap({name:w+"After",stage:m},(e=>(n(e.slots)&&Object.entries(e.slots).forEach((([t,l])=>{null==l&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{w as lowCodeFieldAdaptorPlugin};
@@ -0,0 +1 @@
1
+ export declare function operationalFormPlugin(): import("../../../../../../es/components/iho-table").TablePlugin;
@@ -0,0 +1 @@
1
+ import"../../../../../shared/utils/index.js";import"../../../index.js";import{isFunction as o}from"lodash-es";import{defineTablePlugin as n}from"../../hooks/useTablePlugin.js";import{getOperationalFormHandler as r}from"../../../../../shared/utils/business.js";function e(){const e="operationalFormPlugin";return n({name:e,apply(n){n.configHooks.config.tap(e,(n=>{const e=n.onFormChange;return n.onFormChange=function(t){const{column:i,row:s,$table:m}=t;!function(o,e){return r(n.operationForm,(n=>o[n]),((n,r)=>{e.getColumns().some((o=>o.field===n))&&(o[n]=r)})).operationalFormHandler}(s,m)(i.field),o(e)&&e(t)},n}))}})}export{e as operationalFormPlugin};