cnhis-design-vue 3.2.4-release.4 → 3.2.4-release.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  2. package/es/components/biunique-chat/index.d.ts +75 -17
  3. package/es/components/biunique-chat/src/Index.vue.d.ts +75 -17
  4. package/es/components/biunique-chat/src/api/index.d.ts +1 -0
  5. package/es/components/biunique-chat/src/api/index.js +1 -1
  6. package/es/components/biunique-chat/src/components/ChatFile.vue.d.ts +26 -8
  7. package/es/components/biunique-chat/src/components/ChatFile.vue2.js +1 -1
  8. package/es/components/biunique-chat/src/components/ChatHeader.vue.d.ts +74 -16
  9. package/es/components/biunique-chat/src/components/ChatHeader.vue2.js +1 -1
  10. package/es/components/biunique-chat/src/components/ChatMain.vue.d.ts +2 -1
  11. package/es/components/biunique-chat/src/components/ChatMain.vue2.js +1 -1
  12. package/es/components/biunique-chat/src/components/ChatRecord.vue.d.ts +50 -8
  13. package/es/components/biunique-chat/src/components/ChatRecord.vue2.js +1 -1
  14. package/es/components/biunique-chat/src/hooks/useScrollLoading.d.ts +1 -1
  15. package/es/components/biunique-chat/src/hooks/useScrollLoading.js +1 -1
  16. package/es/components/biunique-chat/src/utils/index.d.ts +1 -0
  17. package/es/components/biunique-chat/src/utils/index.js +1 -1
  18. package/es/components/biunique-chat/style/index.css +1 -1
  19. package/es/components/callback/src/components/render/popupMaps.d.ts +5 -3
  20. package/es/components/default-page/index.d.ts +0 -1
  21. package/es/components/default-page/src/constants/index.d.ts +4 -0
  22. package/es/components/default-page/src/constants/index.js +1 -1
  23. package/es/components/default-page/src/index.vue.d.ts +0 -1
  24. package/es/components/default-page/src/index.vue2.js +1 -1
  25. package/es/components/default-page/style/index.css +1 -1
  26. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  27. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  28. package/es/components/field-set/src/components/Row.vue.d.ts +1 -1
  29. package/es/components/form-config/index.d.ts +10 -6
  30. package/es/components/form-config/src/FormConfig.vue.d.ts +10 -6
  31. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +5 -3
  32. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +5 -3
  33. package/es/components/form-render/index.d.ts +5 -3
  34. package/es/components/form-render/src/FormRender.vue.d.ts +4 -2
  35. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  36. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +5 -3
  37. package/es/components/form-render/src/FormRenderWrapper.vue2.js +1 -1
  38. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -1
  39. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +2 -0
  40. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue2.js +1 -1
  41. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +2 -0
  42. package/es/components/form-render/src/components/renderer/radio_checkbox.js +1 -1
  43. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  44. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  45. package/es/components/form-render/src/components/renderer/select.js +1 -1
  46. package/es/components/form-render/src/hooks/useChangeContext.d.ts +3 -0
  47. package/es/components/form-render/src/hooks/useFormEvent.d.ts +3 -2
  48. package/es/components/form-render/src/hooks/useFormEvent.js +1 -1
  49. package/es/components/form-render/src/types/index.d.ts +4 -0
  50. package/es/components/form-render/src/utils/valueFormatter.d.ts +4 -0
  51. package/es/components/form-render/src/utils/valueFormatter.js +1 -0
  52. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  53. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/separateUtils.js +1 -1
  54. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue.d.ts +1 -0
  55. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue2.js +1 -1
  56. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/seqRendererPlugin.js +1 -1
  57. package/es/components/iho-table/src/plugins/rowDragPlugin.js +1 -1
  58. package/es/components/iho-table/src/types/index.d.ts +1 -0
  59. package/es/components/index.css +1 -1
  60. package/es/components/info-header/index.d.ts +10 -6
  61. package/es/components/info-header/src/InfoHeader.vue.d.ts +10 -6
  62. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +5 -3
  63. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +5 -3
  64. package/es/components/shortcut-setter/index.d.ts +5 -3
  65. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +5 -3
  66. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -0
  67. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -0
  68. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -0
  69. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -0
  70. package/es/shared/package.json.js +1 -1
  71. package/package.json +2 -2
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as l,watch as o,createVNode as r,nextTick as n}from"vue";import{connect as u,mapProps as i}from"@formily/vue";import{isEqual as s,isArray as c,isString as p}from"lodash-es";import{NCascader as d}from"naive-ui";import"../../../index.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as v,InjectionFormUUID as f}from"../../constants/index.js";import"@formily/path";import"@vueuse/core";import"../../../../../shared/utils/index.js";import"@formily/core";import"@vicons/ionicons5";import"@vue/shared";import"date-fns";import{assignUpdateValue as y,createVisitedSetter as h,traverseDependKey as k}from"../../utils/schema.js";import"@formily/reactive";import"../../hooks/useComplexOptions.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"@vueuse/shared";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import"./index.js";import{useFormField as j}from"../../hooks/useFormField.js";import"../../hooks/useFormValidator.js";const g=u(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:u,emit:i}){const y=t(),{field:g,title:b}=j(),C=t(1),S=t(!0);const w=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[F.value])).slice(-1).join(""),l=t.map((e=>e[w.value])).join(" / ");return a||l}catch(e){return null}}));function H(e,t,a){i("update:value",c(a)?a.map((function(e){return{...e,label:e[w.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const x=l(v);async function q(t){e.filterable?await async function(){if(!e.urlConfig||y.value&&e.requestCache)return;const t=await x.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:b.value,cache:e.requestCache,payload:{field:g.value,labelKey:w.value,valueKey:F.value}});function a(e,t,o){const r=[...o,...l(e)],n={[w.value]:e[w.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:r};return c(e.children)&&(n.children=e.children.map((e=>a(e,t+1,r))),n.isLeaf=!e.children.length),C.value=Math.max(C.value,t+1),n}function l(e){let t=[];if(p(e[w.value])&&(t=[...t,e[w.value]]),p(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}y.value=t.map((e=>a(e,0,[])))}():await async function(t){if(o(e,t))return;const a=await x.addAsync(r(s(t),i(e),b.value,t));if(!a.length&&t)return t.isLeaf=!0,H(0,0,n(t)),void(O.value=!1);const l=a.map((e=>u(e,s(t))));function o(e,t){return!i(e)||!t&&y.value&&e.requestCache||s(t)>=s(e)-1}function r(t,a,l,o){const r={lvlnr:t+1+""};return o&&a.dependKey&&k(a.dependKey,((e,t)=>{r[t]=o[e]})),{params:r,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[w.value]:a[w.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:y.value=l}(t),await B()}const V=`form-render__cascade--menu-${l(f)}`;async function B(){await n();const e=document.querySelector(`.${V} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function K(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;return!(e.checkStrategy.includes("child")&&a.depth<C.value)&&(l.length>0&&l.some((e=>e.includes(t.trim()))))}const{injectValueValidate:L,injectValueWatchFromEmpty:I,injectValueBindKey:E}=m();I((()=>e.value),q),L((()=>e.value)),o((()=>e.urlConfig),(async(t,a)=>{s(t,a)||(y.value=null,S.value?e.lazyRequest||(q(),S.value=!S.value):await q())}),{immediate:!0});const O=t(!1);function W(e){O.value=!!e,e&&q()}const z=a((()=>y.value||e.options||[])),N=a((()=>!e.filterable)),P=E(A);return()=>r(d,{key:P.value,remote:N.value,filterable:e.filterable,"menu-props":{class:V,onClick:B},"check-strategy":e.checkStrategy,show:!!O.value,"onUpdate:show":W,value:A.value,filter:K,"onUpdate:value":H,labelField:w.value,valueField:F.value,options:z.value,onLoad:q,onFocus:h(g)},u)}}),i({dataSource:"options"},y));export{g as SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as t,computed as a,inject as l,watch as o,createVNode as r,nextTick as n}from"vue";import{connect as u,mapProps as i}from"@formily/vue";import{isEqual as s,isArray as c,isString as p}from"lodash-es";import{NCascader as d}from"naive-ui";import"../../../index.js";import{useCommonInjection as v}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m,InjectionAsyncQueue as f,InjectionFormUUID as y}from"../../constants/index.js";import"@formily/path";import"@vueuse/core";import"../../../../../shared/utils/index.js";import"@formily/core";import"@vicons/ionicons5";import"@vue/shared";import"date-fns";import{assignUpdateValue as h,createVisitedSetter as k,traverseDependKey as j}from"../../utils/schema.js";import"@formily/reactive";import"../../hooks/useComplexOptions.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"@vueuse/shared";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import"./index.js";import{useFormField as g}from"../../hooks/useFormField.js";import"../../hooks/useFormValidator.js";const b=u(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:u,emit:i}){const h=t(),{field:b,title:C,fieldKey:S}=g(),F=t(1),w=t(!0);const A=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),H=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"}));l(m).setContext(S.value,(()=>({labelField:A.value,valueField:H.value})));const x=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[H.value])).slice(-1).join(""),l=t.map((e=>e[A.value])).join(" / ");return a||l}catch(e){return null}}));function q(e,t,a){i("update:value",c(a)?a.map((function(e){return{...e,label:e[A.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const K=l(f);async function V(t){e.filterable?await async function(){if(!e.urlConfig||h.value&&e.requestCache)return;const t=await K.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:C.value,cache:e.requestCache,payload:{field:b.value,labelKey:A.value,valueKey:H.value}});function a(e,t,o){const r=[...o,...l(e)],n={[A.value]:e[A.value],[H.value]:e[H.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:r};return c(e.children)&&(n.children=e.children.map((e=>a(e,t+1,r))),n.isLeaf=!e.children.length),F.value=Math.max(F.value,t+1),n}function l(e){let t=[];if(p(e[A.value])&&(t=[...t,e[A.value]]),p(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}h.value=t.map((e=>a(e,0,[])))}():await async function(t){if(o(e,t))return;const a=await K.addAsync(r(s(t),i(e),C.value,t));if(!a.length&&t)return t.isLeaf=!0,q(0,0,n(t)),void(z.value=!1);const l=a.map((e=>u(e,s(t))));function o(e,t){return!i(e)||!t&&h.value&&e.requestCache||s(t)>=s(e)-1}function r(t,a,l,o){const r={lvlnr:t+1+""};return o&&a.dependKey&&j(a.dependKey,((e,t)=>{r[t]=o[e]})),{params:r,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[A.value]:a[A.value],[H.value]:a[H.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:h.value=l}(t),await L()}const B=`form-render__cascade--menu-${l(y)}`;async function L(){await n();const e=document.querySelector(`.${B} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function I(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;return!(e.checkStrategy.includes("child")&&a.depth<F.value)&&(l.length>0&&l.some((e=>e.includes(t.trim()))))}const{injectValueValidate:E,injectValueWatchFromEmpty:O,injectValueBindKey:W}=v();O((()=>e.value),V),E((()=>e.value)),o((()=>e.urlConfig),(async(t,a)=>{s(t,a)||(h.value=null,w.value?e.lazyRequest||(V(),w.value=!w.value):await V())}),{immediate:!0});const z=t(!1);function N(e){z.value=!!e,e&&V()}const P=a((()=>h.value||e.options||[])),R=a((()=>!e.filterable)),U=W(x);return()=>r(d,{key:U.value,remote:R.value,filterable:e.filterable,"menu-props":{class:B,onClick:L},"check-strategy":e.checkStrategy,show:!!z.value,"onUpdate:show":N,value:x.value,filter:I,"onUpdate:value":q,labelField:A.value,valueField:H.value,options:P.value,onLoad:V,onFocus:k(b)},u)}}),i({dataSource:"options"},h));export{b as SEARCH_CASCADER};
@@ -1 +1 @@
1
- import{defineComponent as e,computed as o,inject as t,useAttrs as l,ref as a,createVNode as r,mergeProps as s,toRaw as n}from"vue";import{arrayed as u}from"../../../../../shared/utils/index.js";import{cloneDeep as i,isArray as p,isObject as m,omit as d,xor as c}from"lodash-es";import{NSelect as y}from"naive-ui";import"@vueuse/core";import"date-fns";import"@vue/shared";import{useSelectAllowModify as f}from"../../../../../shared/hooks/selectHooks/useSelectAllowModify.js";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import{useSelectRenders as v}from"../../../../../shared/hooks/selectHooks/useSelectRenders.js";import{connect as h,mapProps as b}from"@formily/vue";import{useCommonInjection as j,useSelectOptionProps as S}from"../../hooks/useCommonInjection.js";import{useComplexOptions as k,useComplexOptionsSpan as g}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as C,InjectionFormUUID as B}from"../../constants/index.js";import"@formily/path";import"@formily/core";import"@vicons/ionicons5";import{assignUpdateValue as F,assignClearBindVisited as w,createVisitedSetter as A}from"../../utils/schema.js";import"@formily/reactive";import"../../../index.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"./index.js";import"@vueuse/shared";import{useFormField as H}from"../../hooks/useFormField.js";import{useUrlConfigOptions as O,useAutographOptions as K,useRecommendOptions as R}from"../../hooks/useFormRenderOptions.js";import"../../hooks/useFormValidator.js";const x=h(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},showField:{type:String},allowCreate:Boolean,shouldSave:Boolean,allowModify:Boolean,showCustomValue:Boolean,cursorPlacement:{type:String,default:"end"},urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1},useLoading:{type:Boolean,default:!0},multiple:{type:Boolean},deletable:{type:Boolean,default:!0},selectAll:{type:Boolean},searchByValue:{type:Boolean},wordSplitFilter:{}},emits:["update:value","postRecommend"],setup(e,{slots:h,emit:b}){const F=o({get:()=>e.value,async set(e){b("update:value",e),D(e)}}),{labelKey:w,valueKey:x,showKey:V,fetchData:L,searchContent:P,fullOptions:_,filterOptions:N,remoteOptions:I,loading:W}=e.urlConfig?O(e,F):K(e,F),{modifyEvent:q,modifyAbleRef:E,getOptionsWithCreated:z}=f(e,{searchContent:P,labelKey:w,valueKey:x,valueRef:F,fullOptions:_}),{renderComplexOption:M,hasComplexOption:T}=k(e,F),{getRecommend:U,postRecommend:D,sortedOptions:G}=R(e,N,b,w,x),{field:J,fieldKey:Q}=H();t(C).setContext(Q.value,(e=>({currentOption:i(function(e){const o=z(_.value);return p(e)?function(e){const t=o.reduce(((e,o)=>(e[o[x.value]]=o,e)),{});return e.map((e=>t[e]))}(e):(t=e,o.find((e=>e[x.value]===t)));var t}(e))})));const X=async e=>(P.value=e,Promise.allSettled([L(e),U(e)])),{injectValueValidate:Y,injectValueWatchFromEmpty:Z,injectValueBindKey:$}=j();Z(F,(()=>e.lazyRequest&&X())),Y(F);const ee=$(F),{menuProps:oe,nodeProps:te}=S(),{renderTag:le,renderLabel:ae,renderSelectAll:re,titleRef:se}=v(e,{labelKey:w,valueKey:x,valueRef:F,showKey:V,searchContent:P}),ne=o((()=>z(E.value?_.value:G.value))),ue=l(),ie=o((()=>{if(e.allowCreate||e.showCustomValue)return F.value;const o=e.multiple&&p(F.value);return _.value.find((e=>o?F.value.includes(e[x.value]):e[x.value]===F.value))?F.value:null})),pe=a(!1);async function me(e){e&&await X(),pe.value=e}async function de(e,o){await q.updateValue(e,o),I.value&&o&&u(o).forEach((e=>{if(!m(e))return;const o=e;o.created&&o.shouldSave&&I.value.push(d(n(o),["created","shouldSave"]))}))}const ce=t(B),{getSpan:ye}=g(),fe=A(J,q.focus);function ve(o){if(!e.multiple)return;const t=o?ne.value.map((e=>e[x.value])):[];c(t,e.value).length&&(F.value=t)}function he(o){let t=h;return e.multiple&&e.selectAll&&(t={action:()=>re(ve),...h}),r(y,s({title:se.value,key:ee.value,multiple:e.multiple,remote:!0,filterable:!0,loading:W.value,value:ie.value,onUpdateValue:de,"menu-props":oe,"node-props":te,labelField:w.value,valueField:x.value,options:ne.value,onSearch:X,show:pe.value,"onUpdate:show":me,onFocus:fe,onBlur:q.blur,renderLabel:ae,renderTag:le},o,ue),t)}return()=>{var e,o;if(!T.value)return he();const t=null!=(o=null==(e=J.value.decoratorProps)?void 0:e.span)?o:6,l=ye(ce,J.value.address);return r("section",{class:"form-render__selectChildField",style:{"--column":l+t}},[he({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),_.value.map((e=>M({option:e,value:F.value,valueKey:x.value,labelKey:w.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":l}}})))])}}}),b({dataSource:"options"},F,w));export{x as SELECT};
1
+ import{defineComponent as e,computed as o,inject as t,useAttrs as l,ref as a,createVNode as r,mergeProps as s,toRaw as n}from"vue";import{arrayed as u}from"../../../../../shared/utils/index.js";import{cloneDeep as i,isArray as p,isObject as m,omit as d,xor as c}from"lodash-es";import{NSelect as v}from"naive-ui";import"@vueuse/core";import"date-fns";import"@vue/shared";import{useSelectAllowModify as y}from"../../../../../shared/hooks/selectHooks/useSelectAllowModify.js";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import{useSelectRenders as f}from"../../../../../shared/hooks/selectHooks/useSelectRenders.js";import{connect as h,mapProps as b}from"@formily/vue";import{useCommonInjection as j,useSelectOptionProps as S}from"../../hooks/useCommonInjection.js";import{useComplexOptions as k,useComplexOptionsSpan as g}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as C,InjectionFormUUID as F}from"../../constants/index.js";import"@formily/path";import"@formily/core";import"@vicons/ionicons5";import{assignUpdateValue as B,assignClearBindVisited as w,createVisitedSetter as A}from"../../utils/schema.js";import"@formily/reactive";import"../../../index.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"./index.js";import"@vueuse/shared";import{useFormField as H}from"../../hooks/useFormField.js";import{useUrlConfigOptions as O,useAutographOptions as K,useRecommendOptions as R}from"../../hooks/useFormRenderOptions.js";import"../../hooks/useFormValidator.js";const x=h(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},showField:{type:String},allowCreate:Boolean,shouldSave:Boolean,allowModify:Boolean,showCustomValue:Boolean,cursorPlacement:{type:String,default:"end"},urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1},useLoading:{type:Boolean,default:!0},multiple:{type:Boolean},deletable:{type:Boolean,default:!0},selectAll:{type:Boolean},searchByValue:{type:Boolean},wordSplitFilter:{}},emits:["update:value","postRecommend"],setup(e,{slots:h,emit:b}){const B=o({get:()=>e.value,async set(e){b("update:value",e),D(e)}}),{labelKey:w,valueKey:x,showKey:V,fetchData:L,searchContent:P,fullOptions:_,filterOptions:N,remoteOptions:I,loading:W}=e.urlConfig?O(e,B):K(e,B),{modifyEvent:q,modifyAbleRef:E,getOptionsWithCreated:z}=y(e,{searchContent:P,labelKey:w,valueKey:x,valueRef:B,fullOptions:_}),{renderComplexOption:M,hasComplexOption:T}=k(e,B),{getRecommend:U,postRecommend:D,sortedOptions:G}=R(e,N,b,w,x),{field:J,fieldKey:Q}=H();t(C).setContext(Q.value,(e=>({currentOption:i(function(e){const o=z(_.value);return p(e)?function(e){const t=o.reduce(((e,o)=>(e[o[x.value]]=o,e)),{});return e.map((e=>t[e]))}(e):(t=e,o.find((e=>e[x.value]===t)));var t}(e)),labelField:w.value,valueField:x.value})));const X=async e=>(P.value=e,Promise.allSettled([L(e),U(e)])),{injectValueValidate:Y,injectValueWatchFromEmpty:Z,injectValueBindKey:$}=j();Z(B,(()=>e.lazyRequest&&X())),Y(B);const ee=$(B),{menuProps:oe,nodeProps:te}=S(),{renderTag:le,renderLabel:ae,renderSelectAll:re,titleRef:se}=f(e,{labelKey:w,valueKey:x,valueRef:B,showKey:V,searchContent:P}),ne=o((()=>z(E.value?_.value:G.value))),ue=l(),ie=o((()=>{if(e.allowCreate||e.showCustomValue)return B.value;const o=e.multiple&&p(B.value);return _.value.find((e=>o?B.value.includes(e[x.value]):e[x.value]===B.value))?B.value:null})),pe=a(!1);async function me(e){e&&await X(),pe.value=e}async function de(e,o){await q.updateValue(e,o),I.value&&o&&u(o).forEach((e=>{if(!m(e))return;const o=e;o.created&&o.shouldSave&&I.value.push(d(n(o),["created","shouldSave"]))}))}const ce=t(F),{getSpan:ve}=g(),ye=A(J,q.focus);function fe(o){if(!e.multiple)return;const t=o?ne.value.map((e=>e[x.value])):[];c(t,e.value).length&&(B.value=t)}function he(o){let t=h;return e.multiple&&e.selectAll&&(t={action:()=>re(fe),...h}),r(v,s({title:se.value,key:ee.value,multiple:e.multiple,remote:!0,filterable:!0,loading:W.value,value:ie.value,onUpdateValue:de,"menu-props":oe,"node-props":te,labelField:w.value,valueField:x.value,options:ne.value,onSearch:X,show:pe.value,"onUpdate:show":me,onFocus:ye,onBlur:q.blur,renderLabel:ae,renderTag:le},o,ue),t)}return()=>{var e,o;if(!T.value)return he();const t=null!=(o=null==(e=J.value.decoratorProps)?void 0:e.span)?o:6,l=ve(ce,J.value.address);return r("section",{class:"form-render__selectChildField",style:{"--column":l+t}},[he({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),_.value.map((e=>M({option:e,value:B.value,valueKey:x.value,labelKey:w.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":l}}})))])}}}),b({dataSource:"options"},B,w));export{x as SELECT};
@@ -4,6 +4,9 @@ export declare class ContextCollector {
4
4
  setContext(key: string, value: (value: unknown) => FormChangeContext): void;
5
5
  getContext(key: string, value: unknown): Partial<{
6
6
  currentOption: import("../../..").AnyObject;
7
+ labelField: string;
8
+ valueField: string;
9
+ aliasField: string;
7
10
  }> | undefined;
8
11
  }
9
12
  export declare function useChangeContext(): {
@@ -1,8 +1,8 @@
1
1
  import { Form } from '@formily/core';
2
2
  import { Ref } from 'vue';
3
- import { BusinessCollector, FieldItem, FormItemDepsCollector, FormRenderExpose, FormRenderProps, useOperationalForm } from '../../../../components/form-render';
3
+ import { BusinessCollector, ContextCollector, FieldItem, FormItemDepsCollector, FormRenderExpose, FormRenderProps, useOperationalForm } from '../../../../components/form-render';
4
4
  import { wordbookSettingHandler } from '../../../../components/form-render/src/hooks';
5
- export declare function useFormExposeEvent({ formModel, formRenderRef, formUUID, getFieldList, formItemDepsCollector, businessCollector, wordbookSettingHandler, operationalFormHandler }: {
5
+ export declare function useFormExposeEvent({ formModel, formRenderRef, formUUID, getFieldList, formItemDepsCollector, businessCollector, wordbookSettingHandler, operationalFormHandler, changeContextCollector }: {
6
6
  formModel: Form;
7
7
  formRenderRef: Ref<HTMLElement | undefined>;
8
8
  formUUID: string;
@@ -11,6 +11,7 @@ export declare function useFormExposeEvent({ formModel, formRenderRef, formUUID,
11
11
  businessCollector: BusinessCollector;
12
12
  wordbookSettingHandler: wordbookSettingHandler;
13
13
  operationalFormHandler: ReturnType<typeof useOperationalForm>;
14
+ changeContextCollector: ContextCollector;
14
15
  }): Omit<FormRenderExpose, 'formModel' | 'reload' | 'getFieldList'>;
15
16
  export declare function useFormDomEvent({ props, formRenderRef, formModel, formUUID }: {
16
17
  props: FormRenderProps;
@@ -1 +1 @@
1
- import{arrayed as e,findAncestor as t,targetStringIncludes as r}from"../../../../shared/utils/index.js";import{isField as o}from"@formily/core";import{Path as n}from"@formily/path";import{isObject as i}from"@vue/shared";import{promiseTimeout as a}from"@vueuse/shared";import{isFunction as s,isArray as d,isString as l}from"lodash-es";import{nextTick as u}from"vue";import"../../index.js";import{NESTED_FORM_ITEM_TYPE as c}from"../constants/index.js";import{queryDecoratorByAddress as f,queryInput as m,queryDecoratorByFieldKey as p,findNextWidget as g}from"../utils/dom.js";import{validateMessageParser as v,combineExtendKey as y,splitExtendKey as S}from"../utils/index.js";import{getParentLinebar as b}from"../utils/schema.js";import{useSelectedSetting as h}from"./useSelectedSetting.js";function x({formModel:t,formRenderRef:r,formUUID:a,getFieldList:c,formItemDepsCollector:g,businessCollector:x,wordbookSettingHandler:D,operationalFormHandler:E}){const{applySelectedSetting:F}=h();return{validate(n,{force:u}={}){if(null==n&&(n="*"),s(n)){const e=Object.entries(t.fields).reduce(((e,[t,r])=>(n(r)&&e.push(t),e)),[]);if(!e.length)return Promise.resolve();n=e.length?`*(${e.join(",")})`:"*"}const c=[];u&&t.setFieldState(n,(e=>{"visible"===e.display&&"editable"!==e.pattern&&o(e)&&(c.push({pattern:e.pattern,state:e}),e.pattern="editable")}));const p=t.validate(n).catch((e=>Promise.reject(Array.isArray(e)?e.reduce(g,[]):e)));return u&&c.forEach((({pattern:e,state:t})=>t.pattern=e)),p;function g(t,r){if(!i(r))return t;let o=!1;return d(r.messages)&&r.messages.forEach((r=>{i(r)&&(t.push(...e(r).map(y)),o=!0)})),!o&&t.push(y(r)),t}function y(e){if(e.decoratorElement)return e;const o=t.query(e.path),n=o.get("title"),s=e.messages.map((e=>function(e,t){if(!t||!i(t.fieldItem))return e;const r=t.fieldItem.defined_error_msg;return v(r&&l(r)?r:e,t.fieldItem)}(e,o.get("decoratorProps")))),d=f(e.address,r.value,a);return{...e,messages:s,title:n,decoratorElement:d,...m(d)}}},getFormValues(e=!0){let r=t.getFormState().values;return e&&(r=y(c(),r)),r},async setFormValues(e,r){r=Object.assign({avoidDependKeyConnection:!0,needSplitExtendKey:!0,avoidWordbookSettingConnection:!0,avoidOperationalFormConnection:!0,dependKeyKeepValue:!1,avoidBusinessConnection:!1,overwrite:!0},r),x.triggerDisabled=r.avoidBusinessConnection,g.triggerDisabled=r.avoidDependKeyConnection,g.keepValue=r.dependKeyKeepValue,D.triggerDisabled=r.avoidWordbookSettingConnection,E.triggerDisabled=r.avoidOperationalFormConnection,r.needSplitExtendKey&&(e=S(c(),e)),t.setFieldState("*",(t=>{o(t)&&(r.overwrite||n.existIn(e,t.path))&&(t.value=n.getIn(e,t.path))})),await u(),x.triggerDisabled=!1,g.triggerDisabled=!1,D.triggerDisabled=!1,E.triggerDisabled=!1,g.keepValue=!1},setFieldState(e,r){t.setFieldState(e,r)},resetFields:(e="*")=>t.reset(e),queryWidget:e=>async function(e,t,o){if(!r.value)return d();const i=p(e,t,a);if(i)return d(i);const s=b(e,o);return s?(g.trigger(n.parse(s),!0),await u(),d(p(e,t,a))):d();function d(e){return{decoratorElement:e,...m(e)}}}(e,r.value,c()),applySelectedSetting(e){const r=t.getFormState().values;F(r,e,((e,r)=>{t.setFieldState(e,(e=>{o(e)&&e.setValue(r)}))}))}}}function D({props:e,formRenderRef:o,formModel:n,formUUID:i}){return{onKeydown:async function d(l){var u;if("Enter"===l.code){if(e.enterToNextWidget&&l.target){if("TEXTAREA"===l.target.tagName&&!l.ctrlKey)return;l.preventDefault()}if(await a(0),Reflect.get(l,"stopCapture")||!e.enterToNextWidget||!o.value)return;const r=t(l.target,(e=>e.classList.contains("form-render__formItem")));if(!r)return;const i=`.form-render__formItem${c.map((e=>`:not([widget-type=${e}])`)).join("")}`,m=Array.from(o.value.querySelectorAll(i)),p=m.findIndex((e=>e.id===r.id));if(!~p)return;const{widget:v,field:y}=g(m,p,l.target);if(!v)return;if(s(e.enterToNextWidget)){const t=y&&n.query(y).take();!t||e.enterToNextWidget(null==(u=t.decoratorProps)?void 0:u.fieldItem)?f(v,e.autoExpand):d({target:v,code:"Enter"})}else f(v,e.autoExpand)}else if("Tab"===l.code){if(!e.autoExpand)return;await a(0);const t=document.querySelector(":focus");if(!t)return;f(t,!0)}async function f(e,o){if(await a(0),e.focus(),!o)return;if(!t(e,(e=>e.getAttribute("uuid")===i)))return;if(!r(["radio","checkbox"],e.className))if(e.click(),"INPUT"!==e.tagName){const t=e.querySelector("input");if(!t)return;t.focus(),n(t)}else n(e);function n(e){if("INPUT"!==e.tagName)return;const t=e.value;t&&t.match(/^\d{4}-\d{2}/)&&e.setSelectionRange(0,4)}}}}}export{D as useFormDomEvent,x as useFormExposeEvent};
1
+ import{arrayed as e,findAncestor as t,targetStringIncludes as r}from"../../../../shared/utils/index.js";import{isField as o}from"@formily/core";import{Path as n}from"@formily/path";import{isObject as i}from"@vue/shared";import{promiseTimeout as a}from"@vueuse/shared";import{isFunction as s,isArray as d,isString as l}from"lodash-es";import{nextTick as u}from"vue";import"../../index.js";import{NESTED_FORM_ITEM_TYPE as c}from"../constants/index.js";import{formValueFormatter as f}from"../utils/valueFormatter.js";import{queryDecoratorByAddress as m,queryInput as p,queryDecoratorByFieldKey as g,findNextWidget as v}from"../utils/dom.js";import{validateMessageParser as y,combineExtendKey as S,splitExtendKey as h}from"../utils/index.js";import{getParentLinebar as b}from"../utils/schema.js";import{useSelectedSetting as x}from"./useSelectedSetting.js";function F({formModel:t,formRenderRef:r,formUUID:a,getFieldList:c,formItemDepsCollector:v,businessCollector:F,wordbookSettingHandler:D,operationalFormHandler:E,changeContextCollector:I}){const{applySelectedSetting:j}=x();return{validate(n,{force:u}={}){if(null==n&&(n="*"),s(n)){const e=Object.entries(t.fields).reduce(((e,[t,r])=>(n(r)&&e.push(t),e)),[]);if(!e.length)return Promise.resolve();n=e.length?`*(${e.join(",")})`:"*"}const c=[];u&&t.setFieldState(n,(e=>{"visible"===e.display&&"editable"!==e.pattern&&o(e)&&(c.push({pattern:e.pattern,state:e}),e.pattern="editable")}));const f=t.validate(n).catch((e=>Promise.reject(Array.isArray(e)?e.reduce(g,[]):e)));return u&&c.forEach((({pattern:e,state:t})=>t.pattern=e)),f;function g(t,r){if(!i(r))return t;let o=!1;return d(r.messages)&&r.messages.forEach((r=>{i(r)&&(t.push(...e(r).map(v)),o=!0)})),!o&&t.push(v(r)),t}function v(e){if(e.decoratorElement)return e;const o=t.query(e.path),n=o.get("title"),s=e.messages.map((e=>function(e,t){if(!t||!i(t.fieldItem))return e;const r=t.fieldItem.defined_error_msg;return y(r&&l(r)?r:e,t.fieldItem)}(e,o.get("decoratorProps")))),d=m(e.address,r.value,a);return{...e,messages:s,title:n,decoratorElement:d,...p(d)}}},getFormValues(e=!0){let r=t.getFormState().values;return e&&(r=S(c(),r)),r},async setFormValues(e,r){r=Object.assign({avoidDependKeyConnection:!0,needSplitExtendKey:!0,avoidWordbookSettingConnection:!0,avoidOperationalFormConnection:!0,dependKeyKeepValue:!1,avoidBusinessConnection:!1,overwrite:!0},r),F.triggerDisabled=r.avoidBusinessConnection,v.triggerDisabled=r.avoidDependKeyConnection,v.keepValue=r.dependKeyKeepValue,D.triggerDisabled=r.avoidWordbookSettingConnection,E.triggerDisabled=r.avoidOperationalFormConnection,r.needSplitExtendKey&&(e=h(c(),e)),t.setFieldState("*",(t=>{o(t)&&(r.overwrite||n.existIn(e,t.path))&&(t.value=n.getIn(e,t.path))})),await u(),F.triggerDisabled=!1,v.triggerDisabled=!1,D.triggerDisabled=!1,E.triggerDisabled=!1,v.keepValue=!1},setFieldState(e,r){t.setFieldState(e,r)},resetFields:(e="*")=>t.reset(e),queryWidget:e=>async function(e,t,o){if(!r.value)return d();const i=g(e,t,a);if(i)return d(i);const s=b(e,o);return s?(v.trigger(n.parse(s),!0),await u(),d(g(e,t,a))):d();function d(e){return{decoratorElement:e,...p(e)}}}(e,r.value,c()),applySelectedSetting(e){const r=t.getFormState().values;j(r,e,((e,r)=>{t.setFieldState(e,(e=>{o(e)&&e.setValue(r)}))}))},getTextFormValues:()=>f(t,I)}}function D({props:e,formRenderRef:o,formModel:n,formUUID:i}){return{onKeydown:async function d(l){var u;if("Enter"===l.code){if(e.enterToNextWidget&&l.target){if("TEXTAREA"===l.target.tagName&&!l.ctrlKey)return;l.preventDefault()}if(await a(0),Reflect.get(l,"stopCapture")||!e.enterToNextWidget||!o.value)return;const r=t(l.target,(e=>e.classList.contains("form-render__formItem")));if(!r)return;const i=`.form-render__formItem${c.map((e=>`:not([widget-type=${e}])`)).join("")}`,m=Array.from(o.value.querySelectorAll(i)),p=m.findIndex((e=>e.id===r.id));if(!~p)return;const{widget:g,field:y}=v(m,p,l.target);if(!g)return;if(s(e.enterToNextWidget)){const t=y&&n.query(y).take();!t||e.enterToNextWidget(null==(u=t.decoratorProps)?void 0:u.fieldItem)?f(g,e.autoExpand):d({target:g,code:"Enter"})}else f(g,e.autoExpand)}else if("Tab"===l.code){if(!e.autoExpand)return;await a(0);const t=document.querySelector(":focus");if(!t)return;f(t,!0)}async function f(e,o){if(await a(0),e.focus(),!o)return;if(!t(e,(e=>e.getAttribute("uuid")===i)))return;if(!r(["radio","checkbox"],e.className))if(e.click(),"INPUT"!==e.tagName){const t=e.querySelector("input");if(!t)return;t.focus(),n(t)}else n(e);function n(e){if("INPUT"!==e.tagName)return;const t=e.value;t&&t.match(/^\d{4}-\d{2}/)&&e.setSelectionRange(0,4)}}}}}export{D as useFormDomEvent,F as useFormExposeEvent};
@@ -96,9 +96,13 @@ export declare type FormRenderExpose = {
96
96
  */
97
97
  reload(): Promise<any>;
98
98
  applySelectedSetting(settings: LowCodeTypes.selectedSettingConfig[]): void;
99
+ getTextFormValues(): AnyObject;
99
100
  };
100
101
  export declare type FormChangeContext = Partial<{
101
102
  currentOption: AnyObject;
103
+ labelField: string;
104
+ valueField: string;
105
+ aliasField: string;
102
106
  }>;
103
107
  export declare type FormChangePayload = {
104
108
  value: any;
@@ -0,0 +1,4 @@
1
+ import { AnyObject } from '../../../../shared/types';
2
+ import { Form } from '@formily/core';
3
+ import { ContextCollector } from '../../../../components/form-render';
4
+ export declare function formValueFormatter(formModel: Form, contextCollector: ContextCollector): AnyObject;
@@ -0,0 +1 @@
1
+ import{arrayed as e,jsonParse as t}from"../../../../shared/utils/index.js";import{isField as o}from"@formily/core";import{Path as n}from"@formily/path";import{cloneDeep as r,isArray as i,isObject as l,isString as a}from"lodash-es";function s(s,u){const m=r(s.values);return Object.entries(s.fields).forEach((([,r])=>{if(!o(r)||null==r.value||""==r.value||!i(r.component))return;const{currentOption:s,labelField:p="label"}=u.getContext(r.props.name.toString(),r.value)||{},f=r.component[0];if(["SELECT","RADIO","CHECKBOX"].includes(f)){if(!s)return;n.setIn(m,r.path,e(s).map((e=>l(e)?e[p]:e)).join())}else if(["SEARCH_CASCADER","LEVEL_SEARCH_CASCADER"].includes(f)){const e=a(r.value)?t(r.value):r.value;if(!i(e))return;n.setIn(m,r.path,e.map((e=>l(e)?e[p]:e)).join())}})),m}export{s as formValueFormatter};
@@ -1 +1 @@
1
- import{reactive as e,inject as o,createVNode as l,mergeProps as t,onBeforeUnmount as n}from"vue";import{arrayed as i}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r,InjectionIhoTableUUID as u}from"../../../../constants/index.js";import{useAutoFocus as s}from"../hooks/useAutoFocus.js";import{getTitle as d,IhoTableRenderHelper as c,IhoTableUtils as a}from"../../../../utils/index.js";import p from"./editSelect.js";import{getDefaultValue as f,isConnectField as m,getArray as v}from"./selectUtils.js";import{getSelectOptions as w,selectOptionsMap as C}from"../hooks/useSelectOption.js";import{cloneDeep as g,isFunction as h,isEqual as y}from"lodash-es";import{defineTablePlugin as b}from"../../../../hooks/useTablePlugin.js";function x(){const x="selectRendererPlugin",E=e(new Map);function k(e){return!0===e||"1"===e}return b({name:x,vxe(e){e.renderer.add(r.SELECT,{renderCell({props:e},{row:t,column:n,$table:r}){var s,c;const a=o(u),p=w(a,n.field,t,r),m=f(t,e,p),v=i(m).join(","),C=e&&(null==(s=e.componentProps)?void 0:s.multiple)&&(k(e.variableHeight)||(null==(c=e.componentProps)?void 0:c.indexedText));return[l("span",{title:d(n,v),class:"iho-table__colorAndIcon"},[C?i(m).reduce(((e,o)=>(null!=o&&e.push([o,";",l("br",null,null)]),e)),[]):v])]},renderEdit:c.createRenderEdit((({fieldItem:e,emitFormClick:n,row:i,column:r,$rowIndex:s,$table:d})=>{var c,a,f,m;const v=o(u),C=w(v,r.field,i,d),g=k(null!=(a=null==(c=e.componentProps)?void 0:c.allowModify)?a:e.allowModify),h=k(null!=(m=null==(f=e.componentProps)?void 0:f.allowCreate)?m:e.allowCreate)||g;return[l(p,t({queryOptions:e.queryOptions},e.componentProps,{options:C,column:r,row:i,"row-index":s,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,allowModify:g,allowCreate:h,onClick:n}),null)]}))})},apply(e){async function o(e,o={}){var l,t,n;const i=null==(l=e.editRender)?void 0:l.props;if(!i)return[];let r=v(i.options)||v(null==(t=i.componentProps)?void 0:t.options)||[];if(i.queryOptions)try{const l={column:e,isFullData:!0,...o};r=await(null==(n=i.queryOptions)?void 0:n.call(i,l))}catch(e){console.log(`获取${i.field}_options错误`)}return r}function l(e){return e&&a.getCellType(e)===r.SELECT}s(e).bindAutoFocusConfig(x,r.SELECT,".n-base-selection-input,.n-base-selection-tags"),e.fieldHooks.fieldList.tap(x,((e,{uuid:t})=>{if(t){C.get(t)||C.set(t,{}),E.set(t,g(e));const n=C.get(t);e.forEach((async t=>{var i;const r=null==(i=t.editRender)?void 0:i.props;if(t.field&&r&&l(r)&&!m(e,t.field)){if(h(r.queryOptions)&&n[t.field])return;n[t.field]=[],n[t.field]=await o(t)}}))}return e})),e.dataHooks.data.tap(x,((e,{uuid:t},n)=>{if(!t)return;const i=E.get(t);if(!i||!i.length)return;const r=C.get(t);i.forEach((async t=>{var n;const u=null==(n=t.editRender)?void 0:n.props;if(t.field&&u&&l(u)&&(null==u?void 0:u.connectField)){const l=u.connectField.split(","),n=e[u.columnName];l.forEach((async l=>{const s=null==i?void 0:i.find((e=>e.field===l));if(!s)return;const d=n?`${l}__${u.columnName}-${n}`:l;r[d]||(r[d]=[],r[d]=await o(s,{row:e,connectColumn:t}))}))}}))})),e.setupHooks.setup.tap(x,(e=>{n((()=>{var o;const l=null==(o=e.value)?void 0:o.uuid;l&&(C.delete(l),E.delete(l))}))})),e.eventHooks.onCellDblclick.tap(x,((e,o,{emits:t})=>{var n,i,r;const{$table:u,row:s,column:d}=e,c=Reflect.get(e,"verticalState");let{column:a,row:p}=u.reactData.editStore.actived;if(!(a&&p||(c&&(a=null==(n=c.editCell)?void 0:n.column,p=null==(i=c.editCell)?void 0:i.row),a&&p)))return;c&&(a=d,p=s);const f=null==(r=a.editRender)?void 0:r.props,{cellDblclickSelectable:m=!1,multiple:v=!1,valueField:C="value"}=f.componentProps||{};if(!m||!l(f))return;const g=o.uuid&&w(o.uuid,a.field,p,u);if(1!==(null==g?void 0:g.length))return;const h=v?[g[0][C]]:g[0][C],b=p[a.field];u.clearEdit(),y(h,b)||(p[a.field]=h,t("formChange",{column:a,row:p,oldValue:b,value:h,index:u.getRowIndex(p),$table:u,option:g[0]}),c&&(c.editCell=null))}))}})}export{x as selectRendererPlugin};
1
+ import{reactive as e,inject as l,createVNode as o,mergeProps as n,onBeforeUnmount as t}from"vue";import{arrayed as i}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r,InjectionIhoTableUUID as d}from"../../../../constants/index.js";import{useAutoFocus as u}from"../hooks/useAutoFocus.js";import{getTitle as s,IhoTableRenderHelper as a,IhoTableUtils as c}from"../../../../utils/index.js";import p from"./editSelect.js";import{getDefaultValue as f,isConnectField as m,getArray as v}from"./selectUtils.js";import{getSelectOptions as w,selectOptionsMap as C}from"../hooks/useSelectOption.js";import{cloneDeep as y,isFunction as b,isEqual as g}from"lodash-es";import{defineTablePlugin as h}from"../../../../hooks/useTablePlugin.js";function P(){const P="selectRendererPlugin",x=e(new Map);function E(e){return!0===e||"1"===e}return h({name:P,vxe(e){e.renderer.add(r.SELECT,{renderCell({props:e},{row:n,column:t,$table:r}){var u,a,c,p,m,v;const C=l(d),y=w(C,t.field,n,r);if(e&&e.labelToValue&&y.length){const l=E(null!=(a=null==(u=e.componentProps)?void 0:u.allowModify)?a:e.allowModify),o=E(null!=(p=null==(c=e.componentProps)?void 0:c.allowCreate)?p:e.allowCreate)||l,i=n[t.field];if(!l&&!o&&null!=i&&""!==i){const{aliasField:l="",labelField:o="label",valueField:r="value"}=e.componentProps||{};if(!y.find((e=>e[r]===i))){const e=y.find((e=>e[o]===i||e[l]===i));e?n[t.field]=e[r]:Reflect.deleteProperty(n,t.field)}}}const b=f(n,e,y),g=i(b).join(","),h=e&&(null==(m=e.componentProps)?void 0:m.multiple)&&(E(e.variableHeight)||(null==(v=e.componentProps)?void 0:v.indexedText));return[o("span",{title:s(t,g),class:"iho-table__colorAndIcon"},[h?i(b).reduce(((e,l)=>(null!=l&&e.push([l,";",o("br",null,null)]),e)),[]):g])]},renderEdit:a.createRenderEdit((({fieldItem:e,emitFormClick:t,row:i,column:r,$rowIndex:u,$table:s})=>{var a,c,f,m;const v=l(d),C=w(v,r.field,i,s),y=E(null!=(c=null==(a=e.componentProps)?void 0:a.allowModify)?c:e.allowModify),b=E(null!=(m=null==(f=e.componentProps)?void 0:f.allowCreate)?m:e.allowCreate)||y;return[o(p,n({queryOptions:e.queryOptions},e.componentProps,{options:C,column:r,row:i,"row-index":u,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,allowModify:y,allowCreate:b,onClick:t}),null)]}))})},apply(e){async function l(e,l={}){var o,n,t;const i=null==(o=e.editRender)?void 0:o.props;if(!i)return[];let r=v(i.options)||v(null==(n=i.componentProps)?void 0:n.options)||[];if(i.queryOptions)try{const o={column:e,isFullData:!0,...l};r=await(null==(t=i.queryOptions)?void 0:t.call(i,o))}catch(e){console.log(`获取${i.field}_options错误`)}return r}function o(e){return e&&c.getCellType(e)===r.SELECT}u(e).bindAutoFocusConfig(P,r.SELECT,".n-base-selection-input,.n-base-selection-tags"),e.fieldHooks.fieldList.tap(P,((e,{uuid:n})=>{if(n){C.get(n)||C.set(n,{}),x.set(n,y(e));const t=C.get(n);e.forEach((async n=>{var i;const r=null==(i=n.editRender)?void 0:i.props;if(n.field&&r&&o(r)&&!m(e,n.field)){if(b(r.queryOptions)&&t[n.field])return;t[n.field]=[],t[n.field]=await l(n)}}))}return e})),e.dataHooks.data.tap(P,((e,{uuid:n},t)=>{if(!n)return;const i=x.get(n);if(!i||!i.length)return;const r=C.get(n);i.forEach((async n=>{var t;const d=null==(t=n.editRender)?void 0:t.props;if(n.field&&d&&o(d)&&(null==d?void 0:d.connectField)){const o=d.connectField.split(","),t=e[d.columnName];o.forEach((async o=>{const u=null==i?void 0:i.find((e=>e.field===o));if(!u)return;const s=t?`${o}__${d.columnName}-${t}`:o;r[s]||(r[s]=[],r[s]=await l(u,{row:e,connectColumn:n}))}))}}))})),e.setupHooks.setup.tap(P,(e=>{t((()=>{var l;const o=null==(l=e.value)?void 0:l.uuid;o&&(C.delete(o),x.delete(o))}))})),e.eventHooks.onCellDblclick.tap(P,((e,l,{emits:n})=>{var t,i,r;const{$table:d,row:u,column:s}=e,a=Reflect.get(e,"verticalState");let{column:c,row:p}=d.reactData.editStore.actived;if(!(c&&p||(a&&(c=null==(t=a.editCell)?void 0:t.column,p=null==(i=a.editCell)?void 0:i.row),c&&p)))return;a&&(c=s,p=u);const f=null==(r=c.editRender)?void 0:r.props,{cellDblclickSelectable:m=!1,multiple:v=!1,valueField:C="value"}=f.componentProps||{};if(!m||!o(f))return;const y=l.uuid&&w(l.uuid,c.field,p,d);if(1!==(null==y?void 0:y.length))return;const b=v?[y[0][C]]:y[0][C],h=p[c.field];d.clearEdit(),g(b,h)||(p[c.field]=b,n("formChange",{column:c,row:p,oldValue:h,value:b,index:d.getRowIndex(p),$table:d,option:y[0]}),a&&(a.editCell=null))}))}})}export{P as selectRendererPlugin};
@@ -1 +1 @@
1
- import{getCharWidth as t,getStringWidth as n}from"../../../../../../../shared/utils/index.js";import{isArray as r,isString as e,isNumber as o}from"lodash-es";import{EDITABLE_WIDGET_TYPE as a}from"../../../../constants/index.js";import{getLowCodeFieldFromField as i}from"../../../../utils/index.js";function u(t){return Math.max(...t.map((t=>t.data.length)),1)}function s(t,n){return t.reduce(((t,r)=>(t[r.field]=r.data[n],t)),{})}function d(a,u,s,l=!1){var f,m;const c=(null==(f=i(u))?void 0:f.separateIndent)||0;if(r(a)){if(l){const t=null==(m=i(u))?void 0:m.separateFormatter;return a.map((n=>d(t?t(n):n,u,s,l)))}return a}if(!e(a)||!o(s))return[a];s-=24;const p=[...a].reduce(((r,e)=>{const o=r[r.length-1],a=1===r.length?s-c*t("一"):s;return n(o+e)>a?r.push(e):r[r.length-1]=o+e,r}),[""]);return l?[p]:p}function l(t){var n;return t.field&&(null==(n=t.editRender)?void 0:n.name)===a.SEPARATE}function f(t,n,r=""){const e=Math.abs(t-n);return Array.from({length:e}).map((()=>r))}export{d as contentSeparate,s as generateSeparateRowData,u as getColumnInfoMaxLength,f as getLengthDiffArray,l as isSeparateColumn};
1
+ import{getCharWidth as t,getStringWidth as n}from"../../../../../../../shared/utils/index.js";import{isArray as r,isString as e,isNumber as o}from"lodash-es";import{EDITABLE_WIDGET_TYPE as a}from"../../../../constants/index.js";import{getLowCodeFieldFromField as i}from"../../../../utils/index.js";function u(t){return Math.max(...t.map((t=>t.data.length)),1)}function s(t,n){return t.reduce(((t,r)=>(t[r.field]=r.data[n],t)),{})}function d(a,u,s,l=!1){var f,m;const c=(null==(f=i(u))?void 0:f.separateIndent)||0;if(r(a)){if(l){const t=null==(m=i(u))?void 0:m.separateFormatter;return a.map((n=>d(t?t(n):n,u,s)))}return a}if(!e(a)||!o(s))return[a];s-=24;const p=[...a].reduce(((r,e)=>{const o=r[r.length-1],a=1===r.length?s-c*t("一"):s;return n(o+e)>a?r.push(e):r[r.length-1]=o+e,r}),[""]);return l?[p]:p}function l(t){var n;return t.field&&(null==(n=t.editRender)?void 0:n.name)===a.SEPARATE}function f(t,n,r=""){const e=Math.abs(t-n);return Array.from({length:e}).map((()=>r))}export{d as contentSeparate,s as generateSeparateRowData,u as getColumnInfoMaxLength,f as getLengthDiffArray,l as isSeparateColumn};
@@ -69,6 +69,7 @@ declare const _default: import("vue").DefineComponent<{
69
69
  isDisabled: (value: string) => boolean;
70
70
  onChange: () => void;
71
71
  onKeydown: (event: KeyboardEvent) => void;
72
+ formatTime: (time: string) => string;
72
73
  NInput: any;
73
74
  NPopover: any;
74
75
  NSpace: any;
@@ -1 +1 @@
1
- import{defineComponent as e,useAttrs as l,inject as t,ref as a,computed as o,reactive as r,watch as u,nextTick as i,openBlock as n,createBlock as m,unref as d,withCtx as c,createVNode as v,mergeProps as s,isRef as f,createElementBlock as p,Fragment as h,renderList as y,createTextVNode as b,toDisplayString as k,createCommentVNode as w}from"vue";import{noop as _}from"lodash-es";import{NPopover as g,NInput as F,NSpace as V,NScrollbar as C,NButton as x}from"naive-ui";import{useIhoTableFormEvent as D}from"../../../../utils/index.js";import O from"../../../../../../time-picker/index.js";import{parse as j,isValid as E,format as S,getHours as $,getMinutes as A,getSeconds as H}from"date-fns";var I=e({__name:"editTime",props:{formattedValue:{type:String},column:{type:Object},row:{type:Object},rowIndex:{type:Number},shortcutOptions:{type:Array,default:()=>[]},ignoreGlobEmit:{type:Boolean,default:!1}},emits:["update:formattedValue","click"],setup(e,{emit:I}){const P=e,R=l(),{emitFormChangeWithParams:q=_}=P.ignoreGlobEmit?{}:D({...P,$table:t("$xetable")}),G=a(null),M=a(!1),U=a(),z=a(),B=o((()=>z.value&&L(z.value)?{style:"text-decoration: line-through"}:{})),K=o({get(){if(!z.value)return null;const e=j(z.value,W.valueFormat,new Date);return E(e)?S(e,W.valueFormat):P.formattedValue||null},set(e){J(e)}}),{placeholder:N="请选择",valueFormat:T="HH:mm"}=R,W=r({...R,placeholder:N,valueFormat:T,format:T});function J(e){if(z.value=e||"",e&&L(e))return;const l=P.formattedValue;l!==e&&(I("update:formattedValue",e),q({oldValue:l}))}function L(e){var l,t,a;const o=j(e,W.format,new Date),r=$(o),u=A(o),i=H(o),n=null==(l=W.isHourDisabled)?void 0:l.call(W,r),m=null==(t=W.isMinuteDisabled)?void 0:t.call(W,u,r),d=null==(a=W.isSecondDisabled)?void 0:a.call(W,i,u,r);return n||m||d}function Q(){[W.valueFormat.replace(/[^\w]/g,""),W.valueFormat].some((e=>{const l=j(z.value,e,new Date);if(!z.value||E(l)){return J(z.value?S(l,W.valueFormat):null),!0}return!1}))}function X(e){var l;const{key:t}=e;"Enter"===t&&(null==(l=G.value)||l.blur(),M.value=!1)}return u((()=>P.formattedValue),(e=>{if(!e)return"";z.value=e}),{immediate:!0}),u((()=>M.value),(async e=>{var l,t,a,o,r;e&&(await i(),null==(r=null==(o=null==(a=null==(t=null==(l=U.value)?void 0:l.$timePicker)?void 0:t.panelInstRef)?void 0:a.$el)?void 0:o.querySelectorAll(".n-time-picker-col"))||r.forEach((e=>{var l,t;return null==(t=null==(l=null==e?void 0:e.querySelector)?void 0:l.call(e,".n-time-picker-col__item--active"))?void 0:t.scrollIntoView()})))})),(l,t)=>(n(),m(d(g),{show:M.value,trigger:"click",showArrow:!1,placement:"bottom-start",style:{padding:"0"},onClickoutside:t[4]||(t[4]=()=>M.value=!1)},{trigger:c((()=>[v(d(F),{ref_key:"formRef",ref:G,clearable:"",placeholder:d(N),value:z.value,"onUpdate:value":t[0]||(t[0]=e=>z.value=e),valueModifiers:{trim:!0},"input-props":d(B),onClick:t[1]||(t[1]=()=>M.value=!0),onChange:Q,onKeydown:X},null,8,["placeholder","value","input-props"])])),default:c((()=>[v(d(V),null,{default:c((()=>[v(d(O),s({ref_key:"timePickerRef",ref:U,show:""},d(W),{class:"iho-table__time-picker",to:!1,"formatted-value":d(K),"onUpdate:formatted-value":t[2]||(t[2]=e=>f(K)?K.value=e:null),onConfirm:t[3]||(t[3]=()=>M.value=!1)}),null,16,["formatted-value"]),v(d(C),{class:"iho-table__scrollbar"},{default:c((()=>[e.shortcutOptions.length?(n(),m(d(V),{key:0,vertical:"",wrap:!1},{default:c((()=>[(n(!0),p(h,null,y(e.shortcutOptions,(e=>(n(),m(d(x),{size:"tiny",key:e,disabled:L(e),onClick:l=>function(e){J(e),M.value=!1}(e)},{default:c((()=>[b(k(e),1)])),_:2},1032,["disabled","onClick"])))),128))])),_:1})):w("v-if",!0)])),_:1})])),_:1})])),_:1},8,["show"]))}});export{I as default};
1
+ import{defineComponent as e,useAttrs as t,inject as l,ref as a,computed as r,reactive as o,watch as u,nextTick as n,openBlock as i,createBlock as m,unref as d,withCtx as c,createVNode as v,mergeProps as s,isRef as f,createElementBlock as p,Fragment as h,renderList as b,createTextVNode as y,toDisplayString as g,createCommentVNode as k}from"vue";import{noop as w}from"lodash-es";import{NPopover as _,NInput as F,NSpace as S,NScrollbar as $,NButton as V}from"naive-ui";import{useIhoTableFormEvent as C}from"../../../../utils/index.js";import H from"../../../../../../time-picker/index.js";import{parse as x,isValid as D,format as O,getHours as j,getMinutes as E,getSeconds as A}from"date-fns";var I=e({__name:"editTime",props:{formattedValue:{type:String},column:{type:Object},row:{type:Object},rowIndex:{type:Number},shortcutOptions:{type:Array,default:()=>[]},ignoreGlobEmit:{type:Boolean,default:!1}},emits:["update:formattedValue","click"],setup(e,{emit:I}){const P=e,R=t(),{emitFormChangeWithParams:q=w}=P.ignoreGlobEmit?{}:C({...P,$table:l("$xetable")}),G=a(null),M=a(!1),N=a(),U=a(),W=r((()=>U.value&&L(U.value)?{style:"text-decoration: line-through"}:{})),z=r({get(){if(!U.value)return null;const e=x(U.value,T.valueFormat,new Date);return D(e)?O(e,T.valueFormat):P.formattedValue?Y(P.formattedValue):null},set(e){J(e)}}),{placeholder:B="请选择",valueFormat:K="HH:mm"}=R,T=o({...R,placeholder:B,valueFormat:K,format:K});function J(e){if(U.value=e||"",e&&L(e))return;const t=P.formattedValue;t!==e&&(I("update:formattedValue",e),q({oldValue:t}))}function L(e){var t,l,a;const r=x(e,T.format,new Date),o=j(r),u=E(r),n=A(r),i=null==(t=T.isHourDisabled)?void 0:t.call(T,o),m=null==(l=T.isMinuteDisabled)?void 0:l.call(T,u,o),d=null==(a=T.isSecondDisabled)?void 0:a.call(T,n,u,o);return i||m||d}function Q(){[T.valueFormat.replace(/[^\w]/g,""),T.valueFormat].some((e=>{const t=x(U.value,e,new Date);if(!U.value||D(t)){return J(U.value?O(t,T.valueFormat):null),!0}return!1}))}function X(e){var t;const{key:l}=e;"Enter"===l&&(null==(t=G.value)||t.blur(),M.value=!1)}function Y(e){var t;const l=T.valueFormat.match(/\W/)[0]||":",a=e.split(l).map(Number),r=`${a[0].toString().padStart(2,"0")}${l}${a[1].toString().padStart(2,"0")}`;return"HH:mm"===T.valueFormat?r:"HH:mm:ss"===T.valueFormat?`${r}${l}${(null!=(t=a[2])?t:0).toString().padStart(2,"0")}`:e}return u((()=>P.formattedValue),(e=>{if(!e)return"";U.value=Y(e)}),{immediate:!0}),u((()=>M.value),(async e=>{var t,l,a,r,o;e&&(await n(),null==(o=null==(r=null==(a=null==(l=null==(t=N.value)?void 0:t.$timePicker)?void 0:l.panelInstRef)?void 0:a.$el)?void 0:r.querySelectorAll(".n-time-picker-col"))||o.forEach((e=>{var t,l;return null==(l=null==(t=null==e?void 0:e.querySelector)?void 0:t.call(e,".n-time-picker-col__item--active"))?void 0:l.scrollIntoView()})))})),(t,l)=>(i(),m(d(_),{show:M.value,trigger:"click",showArrow:!1,placement:"bottom-start",style:{padding:"0"},onClickoutside:l[4]||(l[4]=()=>M.value=!1)},{trigger:c((()=>[v(d(F),{ref_key:"formRef",ref:G,clearable:"",placeholder:d(B),value:U.value,"onUpdate:value":l[0]||(l[0]=e=>U.value=e),valueModifiers:{trim:!0},"input-props":d(W),onClick:l[1]||(l[1]=()=>M.value=!0),onChange:Q,onKeydown:X},null,8,["placeholder","value","input-props"])])),default:c((()=>[v(d(S),null,{default:c((()=>[v(d(H),s({ref_key:"timePickerRef",ref:N,show:""},d(T),{class:"iho-table__time-picker",to:!1,"formatted-value":d(z),"onUpdate:formatted-value":l[2]||(l[2]=e=>f(z)?z.value=e:null),onConfirm:l[3]||(l[3]=()=>M.value=!1)}),null,16,["formatted-value"]),v(d($),{class:"iho-table__scrollbar"},{default:c((()=>[e.shortcutOptions.length?(i(),m(d(S),{key:0,vertical:"",wrap:!1},{default:c((()=>[(i(!0),p(h,null,b(e.shortcutOptions,(e=>(i(),m(d(V),{size:"tiny",key:e,disabled:L(e),onClick:t=>function(e){J(Y(e)),M.value=!1}(e)},{default:c((()=>[y(g(e),1)])),_:2},1032,["disabled","onClick"])))),128))])),_:1})):k("v-if",!0)])),_:1})])),_:1})])),_:1},8,["show"]))}});export{I as default};
@@ -1 +1 @@
1
- import{inject as o,createVNode as n}from"vue";import{SettingsSharp as e}from"@vicons/ionicons5";import{isFunction as i}from"lodash-es";import{NIcon as t}from"naive-ui";import"../../../../index.js";import{InjectionIhoTableEmits as l}from"../../../constants/index.js";import{IhoTableStatusHelper as s}from"../../../utils/index.js";import{defineTablePlugin as r}from"../../../hooks/useTablePlugin.js";function f(){const f="seqRendererPlugin";return r({name:f,apply(r){r.fieldHooks.field.tap({name:f,before:"checkRendererPlugin"},((r,{index:u,insertBefore:m},c)=>{var d,a,p,g,v;if(0===u&&c.showSeq){const r={align:"center",fixed:"left",width:50,type:"seq",field:f,annotation:!1,...null==(d=c.columnConfig)?void 0:d.seqConfig,slots:{header(){if(s.isPositive(c.hideSettingBtn))return[];const i=o(l);return[n(t,{style:{cursor:"pointer"},size:"14",color:"#777",component:e,onClick:function(){i&&i("settingClick")}},null)]},...null==(p=null==(a=c.columnConfig)?void 0:a.seqConfig)?void 0:p.slots}};i(null==(g=c.columnConfig)?void 0:g.seqSlotFn)&&(r.slots||(r.slots={}),r.slots.default=c.columnConfig.seqSlotFn),(null==(v=c.sortableConfig)?void 0:v.enable)&&(r.className="col--drag"),m(r)}return r}))}})}export{f as seqRendererPlugin};
1
+ import{inject as o,createVNode as n}from"vue";import{SettingsSharp as e}from"@vicons/ionicons5";import{isFunction as i}from"lodash-es";import{NIcon as t}from"naive-ui";import"../../../../index.js";import{InjectionIhoTableEmits as l}from"../../../constants/index.js";import{IhoTableStatusHelper as s}from"../../../utils/index.js";import{defineTablePlugin as r}from"../../../hooks/useTablePlugin.js";function f(){const f="seqRendererPlugin";return r({name:f,apply(r){r.fieldHooks.field.tap({name:f,before:"checkRendererPlugin"},((r,{index:u,insertBefore:d},m)=>{var c,a,p,g,v;if(0===u&&m.showSeq){const r={align:"center",fixed:"left",width:50,type:"seq",field:f,annotation:!1,...null==(c=m.columnConfig)?void 0:c.seqConfig,slots:{header(){if(s.isPositive(m.hideSettingBtn))return[];const i=o(l);return[n(t,{style:{cursor:"pointer"},size:"14",color:"#777",component:e,onClick:function(){i&&i("settingClick")}},null)]},...null==(p=null==(a=m.columnConfig)?void 0:a.seqConfig)?void 0:p.slots}};i(null==(g=m.columnConfig)?void 0:g.seqSlotFn)&&(r.slots||(r.slots={}),r.slots.default=m.columnConfig.seqSlotFn),(null==(v=m.sortableConfig)?void 0:v.enable)&&(r.className="col--drag",r.fixed=void 0),d(r)}return r}))}})}export{f as seqRendererPlugin};
@@ -1 +1 @@
1
- import{promiseTimeout as e}from"@vueuse/shared";import{isFunction as l,cloneDeep as n}from"lodash-es";import{nextTick as o,onBeforeUnmount as t}from"vue";import"../../index.js";import i from"sortablejs";import d from"xe-utils";import{defineTablePlugin as r}from"../hooks/useTablePlugin.js";function a(){const n="rowDragPlugin",d=new Map;return r({name:n,apply(r){r.fieldHooks.fieldEnd.tapPromise(n,(async(n,{$table:t,emits:r})=>{const{uuid:a}=n,s=n.sortableConfig||{};a&&s.enable&&!d.get(a)&&(await o(),async function n(o=0){if(o>2)return;const c=function(){var e,l,n,o,i,d,r,a,u,s;const c=null==(o=null==(n=null==(l=null==(e=t.value)?void 0:e.$el)?void 0:l.querySelector)?void 0:n.call(l,".vxe-table--body"))?void 0:o.scrollWidth,v=(null==(r=null==(d=null==(i=t.value)?void 0:i.$el)?void 0:d.querySelector)?void 0:r.call(d,".vxe-table.is--scroll-x"))?".fixed-left--wrapper>.vxe-table--body tbody":".body--wrapper>.vxe-table--body tbody";return c?null==(s=null==(u=null==(a=t.value)?void 0:a.$el)?void 0:u.querySelector)?void 0:s.call(u,v):null}();if(c){const e=i.create(c,{handle:".col--seq",...s,onEnd:e=>{var n,o,i,d,a,c,v;const{oldIndex:f=0,newIndex:x=0}=e,p={oldIndex:f,newIndex:x},{virtualY:b}=(null==(n=t.value)?void 0:n.getScroll())||{};if(b){const e=(null==(d=null==(i=null==(o=t.value)?void 0:o.getTableData())?void 0:i.tableData)?void 0:d[f])||{},l=null!=(v=null!=(c=e.__currentIndex)?c:null==(a=t.value)?void 0:a.getVTRowIndex(e))?v:0,n=l+(x-f);e.__currentIndex=n,p.oldIndex=l,p.newIndex=n}const y={...e,...p,...u(e,p,t.value)};r("rowDrag",y),l(s.onEnd)&&s.onEnd(y)}});return d.set(a,e)}await e(100),n(++o)}())})),r.setupHooks.setup.tap(n,(e=>{t((()=>{var l,n;const o=null==(l=e.value)?void 0:l.uuid;o&&d.has(o)&&(null==(n=d.get(o))||n.destroy(),d.delete(o))}))}))}})}function u(e,l,o){var t;const i=null==(t=null==o?void 0:o.getTableData())?void 0:t.fullData,r=o.treeConfig&&o.treeConfig.transform?function(e,l){var o,t,i,r,a;const{oldIndex:u=0,newIndex:s=0}=e,c={children:"childrenList"},{fullData:v,tableData:f}=l.getTableData(),x=null==f?void 0:f[u],p=null==f?void 0:f[s-1],b=n(v),y=d.findTree(b,(e=>e.__id===x.__id),c);if(p){const e=null==(t=null==(o=l.$el)?void 0:o.querySelector)?void 0:t.call(o,".body--wrapper>.vxe-table--body tbody"),n=null==(r=null==(i=l.$el)?void 0:i.querySelector)?void 0:r.call(i,".fixed-left--wrapper>.vxe-table--body tbody"),v=d.findTree(b,(e=>e.__id===p.__id),c);if(d.findTree(x[c.children],(e=>e.__id===p.__id),c)){const l=e.children[u],o=e.children[s];return e.insertBefore(o,l),null==(a=null==n?void 0:n.insertBefore)||a.call(n,n.children[s],n.children[u]),console.log("不允许自己给自己拖动"),b}const f=y.items.splice(y.index,1)[0];l.isTreeExpandByRow(p)?p[c.children].splice(0,0,f):v.items.splice(v.index+(y.index<v.index?0:1),0,f)}else{const e=y.items.splice(y.index,1)[0];b.unshift(e)}return b}(e,o):function(e,l){var o;const{oldIndex:t=0,newIndex:i=0}=e,d=n((null==(o=null==l?void 0:l.getTableData())?void 0:o.fullData)||[]),r=d.splice(t,1)[0];return d.splice(i,0,r),d}(l,o);return{oldData:i,newData:r}}export{a as rowDragPlugin};
1
+ import{promiseTimeout as e}from"@vueuse/shared";import{isFunction as l,cloneDeep as n}from"lodash-es";import{nextTick as o,onBeforeUnmount as t}from"vue";import"../../index.js";import i from"sortablejs";import d from"xe-utils";import{defineTablePlugin as r}from"../hooks/useTablePlugin.js";function a(){const n="rowDragPlugin",d=new Map;return r({name:n,apply(r){r.fieldHooks.fieldEnd.tapPromise(n,(async(n,{$table:t,emits:r})=>{const{uuid:a}=n,s=n.sortableConfig||{};a&&s.enable&&!d.get(a)&&(await o(),async function n(o=0){if(o>2)return;const c=function(){var e,l,n,o,i,d,r;const a=null==(o=null==(n=null==(l=null==(e=t.value)?void 0:e.$el)?void 0:l.querySelector)?void 0:n.call(l,".vxe-table--body"))?void 0:o.scrollWidth,u=".body--wrapper>.vxe-table--body tbody";return a?null==(r=null==(d=null==(i=t.value)?void 0:i.$el)?void 0:d.querySelector)?void 0:r.call(d,u):null}();if(c){const e=i.create(c,{handle:".col--seq",...s,onEnd:e=>{var n,o,i,d,a,c,v;const{oldIndex:f=0,newIndex:p=0}=e,x={oldIndex:f,newIndex:p},{virtualY:b}=(null==(n=t.value)?void 0:n.getScroll())||{};if(b){const e=(null==(d=null==(i=null==(o=t.value)?void 0:o.getTableData())?void 0:i.tableData)?void 0:d[f])||{},l=null!=(v=null!=(c=e.__currentIndex)?c:null==(a=t.value)?void 0:a.getVTRowIndex(e))?v:0,n=l+(p-f);e.__currentIndex=n,x.oldIndex=l,x.newIndex=n}const m={...e,...x,...u(e,x,t.value)};r("rowDrag",m),l(s.onEnd)&&s.onEnd(m)}});return d.set(a,e)}await e(100),n(++o)}())})),r.setupHooks.setup.tap(n,(e=>{t((()=>{var l,n;const o=null==(l=e.value)?void 0:l.uuid;o&&d.has(o)&&(null==(n=d.get(o))||n.destroy(),d.delete(o))}))}))}})}function u(e,l,o){var t;const i=null==(t=null==o?void 0:o.getTableData())?void 0:t.fullData,r=o.treeConfig&&o.treeConfig.transform?function(e,l){var o,t,i,r,a;const{oldIndex:u=0,newIndex:s=0}=e,c={children:"childrenList"},{fullData:v,tableData:f}=l.getTableData(),p=null==f?void 0:f[u],x=null==f?void 0:f[s-1],b=n(v),m=d.findTree(b,(e=>e.__id===p.__id),c);if(x){const e=null==(t=null==(o=l.$el)?void 0:o.querySelector)?void 0:t.call(o,".body--wrapper>.vxe-table--body tbody"),n=null==(r=null==(i=l.$el)?void 0:i.querySelector)?void 0:r.call(i,".fixed-left--wrapper>.vxe-table--body tbody"),v=d.findTree(b,(e=>e.__id===x.__id),c);if(d.findTree(p[c.children],(e=>e.__id===x.__id),c)){const l=e.children[u],o=e.children[s];return e.insertBefore(o,l),null==(a=null==n?void 0:n.insertBefore)||a.call(n,n.children[s],n.children[u]),console.log("不允许自己给自己拖动"),b}const f=m.items.splice(m.index,1)[0];l.isTreeExpandByRow(x)?x[c.children].splice(0,0,f):v.items.splice(v.index+(m.index<v.index?0:1),0,f)}else{const e=m.items.splice(m.index,1)[0];b.unshift(e)}return b}(e,o):function(e,l){var o;const{oldIndex:t=0,newIndex:i=0}=e,d=n((null==(o=null==l?void 0:l.getTableData())?void 0:o.fullData)||[]),r=d.splice(t,1)[0];return d.splice(i,0,r),d}(l,o);return{oldData:i,newData:r}}export{a as rowDragPlugin};
@@ -211,6 +211,7 @@ export declare type LowCodeTableFieldItem = {
211
211
  close: LowCodeTypes.switchProperty;
212
212
  show_mode: LowCodeTypes.showModeType;
213
213
  lazyRequest: boolean;
214
+ labelToValue: boolean;
214
215
  }> & Partial<VxeTableDefines.ColumnInfo>;
215
216
  export declare type IhoTableFormChangePayload = {
216
217
  column: IhoTableFieldItem;