cnhis-design-vue 3.2.8-beta.1 → 3.2.8-beta.5

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 (89) 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/index.d.ts +1 -0
  7. package/es/components/button-print/src/ButtonPrint.vue.d.ts +1 -0
  8. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +1 -0
  9. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  10. package/es/components/callback/src/components/render/popupMaps.d.ts +3 -2
  11. package/es/components/field-set/src/FieldColor.vue.d.ts +12 -3
  12. package/es/components/field-set/src/FieldFilter.vue.d.ts +12 -3
  13. package/es/components/field-set/src/FieldSet.vue.d.ts +23 -4
  14. package/es/components/field-set/src/FieldSet.vue2.js +1 -1
  15. package/es/components/field-set/src/components/table-row.vue.d.ts +12 -3
  16. package/es/components/field-set/src/components/table-row.vue2.js +1 -1
  17. package/es/components/field-set/src/utils/index.d.ts +1 -1
  18. package/es/components/field-set/src/utils/index.js +1 -1
  19. package/es/components/form-config/index.d.ts +6 -4
  20. package/es/components/form-config/src/FormConfig.vue.d.ts +6 -4
  21. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +3 -2
  22. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +3 -2
  23. package/es/components/form-render/index.d.ts +3 -2
  24. package/es/components/form-render/src/FormRender.vue.d.ts +2 -1
  25. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  26. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +3 -2
  27. package/es/components/form-render/src/FormRenderWrapper.vue2.js +1 -1
  28. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  29. package/es/components/form-render/src/hooks/useFormEvent.d.ts +1 -1
  30. package/es/components/form-render/src/types/index.d.ts +1 -0
  31. package/es/components/iho-chat/index.d.ts +5 -1
  32. package/es/components/iho-chat/src/Index.vue.d.ts +5 -1
  33. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  34. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +2 -1
  35. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  36. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
  37. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +4 -0
  38. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  39. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  40. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  41. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  42. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +1 -1
  43. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  44. package/es/components/iho-chat/src/components/Video.vue2.js +1 -1
  45. package/es/components/iho-chat/src/hooks/useSearchUserList.js +1 -1
  46. package/es/components/iho-chat/src/hooks/useState.js +1 -1
  47. package/es/components/iho-chat/src/utils/index.d.ts +2 -1
  48. package/es/components/iho-chat/src/utils/index.js +1 -1
  49. package/es/components/iho-chat/style/index.css +1 -1
  50. package/es/components/index.css +1 -1
  51. package/es/components/info-header/index.d.ts +6 -4
  52. package/es/components/info-header/src/InfoHeader.vue.d.ts +6 -4
  53. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +3 -2
  54. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +3 -2
  55. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  56. package/es/components/shortcut-setter/index.d.ts +3 -2
  57. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +3 -2
  58. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  59. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  60. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  61. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  62. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  63. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  64. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  65. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  66. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  67. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  68. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  69. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  70. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  71. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  72. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  73. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  74. package/es/shared/assets/img/failure.png.js +1 -1
  75. package/es/shared/assets/img/no-permission.png.js +1 -1
  76. package/es/shared/assets/img/nodata.png.js +1 -1
  77. package/es/shared/assets/img/notfound.png.js +1 -1
  78. package/es/shared/assets/img/qr.png.js +1 -1
  79. package/es/shared/assets/img/success.png.js +1 -1
  80. package/es/shared/assets/img/table_style_2.png.js +1 -1
  81. package/es/shared/assets/img/video.png.js +1 -1
  82. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  83. package/es/shared/assets/img/xb_big.png.js +1 -1
  84. package/es/shared/assets/img/xb_small.png.js +1 -1
  85. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  86. package/es/shared/package.json.js +1 -1
  87. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  88. package/es/shared/utils/tapable/index.d.ts +139 -0
  89. package/package.json +2 -2
@@ -1 +1 @@
1
- import{defineComponent as e,openBlock as t,createElementBlock as l,Fragment as i,renderList as n,normalizeStyle as o,unref as a,createBlock as r,withCtx as d,createVNode as u,createCommentVNode as s,createElementVNode as c,toDisplayString as f,normalizeClass as p,withDirectives as m,vShow as v,resolveDynamicComponent as y,createTextVNode as g}from"vue";import{NTooltip as b,NIcon as h,NCheckbox as k,NSelect as x,NColorPicker as E,NInput as S,NInputNumber as D,NPopconfirm as T}from"naive-ui";import{setStyle as w,setColorInfo as C,isShowExplicitRequired as M,isDisable as N}from"../utils/index.js";import{ReorderTwoOutline as O,HelpCircleOutline as U,CreateOutline as j,TrashOutline as _}from"@vicons/ionicons5";import{isFunction as A,isArray as H,range as L}from"lodash-es";import{COLOR_MAP as P}from"../constants/index.js";import{WIDGET_TYPE as R,SELECT_MAP as F,WIDGET_MAP as V,SELECT_TYPE as B,SELECT_DEFAULT_MAP as I,DATE_MAP as q,DATETIME_MAP as W}from"../constants/filter.js";const G={class:"row"},z=["title"],J=c("span",null,"拖拽调整顺序",-1);var K=e({__name:"table-row",props:{element:{type:Object,default:()=>({})},columns:{type:Array,default:()=>[]},idx:{type:Number,default:1},data:{type:Array,default:()=>[]},isHighlight:{type:Boolean},index:{type:Number,default:0},isHighlightRow:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},isFieldSet:{type:Boolean,default:!1},fieldDescribeMode:{type:String,default:"tooltip"},developMode:{type:Boolean}},emits:["updateChecked","edit"],setup(e,{emit:K}){const Q=e,X=[{label:"不固定",value:"NONE"},{label:"左固定",value:"LEFT"},{label:"右固定",value:"RIGHT"}],Y=[{label:"不排序",value:"NONE"},{label:"升序",value:"ASC"},{label:"降序",value:"DESC"}],Z=[{label:"字体",value:"font"},{label:"背景",value:"background"}],$=Object.entries(P).map((([e])=>e));function ee(){Q.data.splice(Q.index,1)}function te(){K("edit",Q.element)}function le(){var e;return Q.element.feildDescribe||(null==(e=Q.element.settingObj)?void 0:e.fieldDescDev)}function ie(e){return"seq"===e?Q.idx:"optionType"===e?Q.element[e]&&Q.element.type===R.SELECT?F[Q.element[e]]:"":"type"===e?V[Q.element[e]]:Q.element[e]}function ne(e){if("defaultValue"===e){const{optionType:e}=Q.element;return e===B.SELECT_MULTIPLE}return!1}function oe(e){if("0001"==Q.element.id&&"fixedWay"!=e)return!1;const{isConfiguredHeaderFilter:t}=Q.element;return"isShowHeaderFilter"===e?!!t:!(["explicitRequired","defaultValue"].includes(e)&&![R.DATE,R.DATETIME,R.SELECT].includes(Q.element.type))}function ae(e){return!["explicitRequired","defaultValue"].includes(e)||M(Q.element)}function re(e){switch(e.field){case"fixedWay":return X;case"sortDirection":return Y;case"sortPriority":return function(){const e=L(1,Q.data.length+1).map((e=>({label:e.toString(),value:e}))),t=Q.data.filter((e=>!!e.sortPriority&&e.uuid!==Q.element.uuid)).map((e=>e.sortPriority));return e.filter((e=>!t.includes(e.value)))}();case"colorScope":return Z;case"defaultValue":{const{type:e,optionInfo:t}=Q.element;return e===R.SELECT?H(null==t?void 0:t.list)&&t.list.length>0?t.list.map((e=>({...e,label:e.name}))):Object.entries(I).map((([e,t])=>({value:e,label:t}))):e===R.DATE?Object.entries(q).map((([e,t])=>({value:e,label:t}))):e===R.DATETIME?Object.entries(W).map((([e,t])=>({value:e,label:t}))):[]}default:return[]}}function de(e){var t;if(1==Q.element.defaultMark||"color"===e.type&&Q.isHighlightRow)return!0;if("checkbox"===e.type)return"show"===e.field&&e.fieldShowMaxValue?!Q.element[e.field]&&(null==(t=Q.data.filter((t=>t[e.field])))?void 0:t.length)===e.fieldShowMaxValue:N(Q.element,e.field);if("sortPriority"!==e.field)return!1;const{sortDirection:l}=Q.element;return!l||"NONE"===l}function ue(e){return["title","result"].includes(e.field)&&Q.element.style||{}}return(M,N)=>(t(),l("div",G,[(t(!0),l(i,null,n(e.columns,((n,M)=>{return t(),l(i,{key:M},[n.isShow?(t(),l("span",{key:0,class:"table-cell",title:e.element[n.field],style:o(a(w)(n,M))},["text"===n.type?(t(),l(i,{key:0},[0===M?(t(),l(i,{key:0},[!e.isFieldSet||e.draggable&&e.isFieldSet?(t(),r(a(b),{key:0,trigger:"hover"},{trigger:d((()=>[u(a(h),{style:{"margin-right":"5px",top:"2px"},component:a(O)},null,8,["component"])])),default:d((()=>[J])),_:1})):s("v-if",!0),(H=n.field,"title"===H&&("tooltip"===Q.fieldDescribeMode&&Q.element.feildDescribe||Q.developMode&&(null==(L=Q.element.settingObj)?void 0:L.fieldDescDev))?(t(),r(a(b),{key:1,trigger:"hover"},{trigger:d((()=>[u(a(h),{style:{"margin-right":"5px",top:"2px"},component:a(U)},null,8,["component"])])),default:d((()=>[c("span",null,f(le()),1)])),_:1})):s("v-if",!0))],64)):s("v-if",!0),c("span",{class:p([e.isHighlight&&"title"===n.field?"highlight":""]),style:o(ue(n))},f(ie(n.field)),7)],64)):s("v-if",!0),"checkbox"===n.type&&oe(n.field)?m((t(),r(a(k),{key:1,disabled:de(n),checked:e.element[n.field],"onUpdate:checked":[t=>e.element[n.field]=t,e=>function(e,t){K("updateChecked",{checked:e,column:t})}(e,n)]},null,8,["disabled","checked","onUpdate:checked"])),[[v,ae(n.field)]]):s("v-if",!0),"select"===n.type&&oe(n.field)?m((t(),r(a(x),{key:2,clearable:"",multiple:ne(n.field),disabled:de(n),value:e.element[n.field],"onUpdate:value":[t=>e.element[n.field]=t,e=>function(e,t){"sortDirection"===t.field&&"NONE"===e&&(Q.element.sortPriority=null),"colorScope"===t.field&&C(Q.element)}(e,n)],options:re(n)},null,8,["multiple","disabled","value","onUpdate:value","options"])),[[v,ae(n.field)]]):s("v-if",!0),"color"===n.type?(t(),r(a(E),{key:3,class:"c-field-set__color-picker",clearable:"",disabled:de(n),value:e.element[n.field],"onUpdate:value":[t=>e.element[n.field]=t,N[0]||(N[0]=t=>a(C)(e.element))],"show-preview":"",modes:["hex"],swatches:a($)},null,8,["disabled","value","onUpdate:value","swatches"])):s("v-if",!0),"input"===n.type?m((t(),r(a(S),{key:4,value:e.element[n.field],"onUpdate:value":t=>e.element[n.field]=t,clearable:""},null,8,["value","onUpdate:value"])),[[v,"0001"!=e.element.id]]):s("v-if",!0),"inputNumber"===n.type?(t(),r(a(D),{key:5,value:e.element[n.field],"onUpdate:value":t=>e.element[n.field]=t},null,8,["value","onUpdate:value"])):s("v-if",!0),"custom"===n.type&&a(A)(n.contentRender)?(t(),r(y((()=>n.contentRender(n,e.element))),{key:6})):s("v-if",!0),"custom"===n.type&&"opt"===n.field&&1!=e.element.defaultMark?(t(),l(i,{key:7},[u(a(b),{trigger:"hover"},{trigger:d((()=>[u(a(h),{component:a(j),onClick:te},null,8,["component"])])),default:d((()=>[g(" 编辑 ")])),_:1}),u(a(T),{onPositiveClick:ee},{trigger:d((()=>[u(a(b),{trigger:"hover"},{trigger:d((()=>[u(a(h),{component:a(_)},null,8,["component"])])),default:d((()=>[g(" 删除 ")])),_:1})])),default:d((()=>[g(" 是否确认删除? ")])),_:1})],64)):s("v-if",!0)],12,z)):s("v-if",!0)],64);var H,L})),128))]))}});export{K as default};
1
+ import{defineComponent as e,openBlock as t,createElementBlock as l,Fragment as i,renderList as n,normalizeStyle as o,unref as a,createBlock as r,withCtx as d,createVNode as u,createCommentVNode as s,createElementVNode as c,toDisplayString as f,normalizeClass as p,withDirectives as m,vShow as v,resolveDynamicComponent as y,createTextVNode as g}from"vue";import{NTooltip as b,NIcon as h,NCheckbox as k,NSelect as x,NColorPicker as E,NInput as S,NInputNumber as D,NPopconfirm as T}from"naive-ui";import{setStyle as w,setColorInfo as O,isShowExplicitRequired as j,isDisable as C}from"../utils/index.js";import{ReorderTwoOutline as M,HelpCircleOutline as N,CreateOutline as U,TrashOutline as _}from"@vicons/ionicons5";import{isFunction as P,isArray as A,range as H}from"lodash-es";import{COLOR_MAP as L}from"../constants/index.js";import{WIDGET_TYPE as R,SELECT_MAP as F,WIDGET_MAP as V,SELECT_TYPE as B,SELECT_DEFAULT_MAP as I,DATE_MAP as W,DATETIME_MAP as q}from"../constants/filter.js";const G={class:"row"},z=["title"],J=c("span",null,"拖拽调整顺序",-1);var K=e({__name:"table-row",props:{element:{type:Object,default:()=>({})},columns:{type:Array,default:()=>[]},idx:{type:Number,default:1},data:{type:Array,default:()=>[]},isHighlight:{type:Boolean},index:{type:Number,default:0},isHighlightRow:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},isFieldSet:{type:Boolean,default:!1},fieldDescribeMode:{type:String,default:"tooltip"},developMode:{type:Boolean},columnWidthProps:{type:Object}},emits:["updateChecked","edit"],setup(e,{emit:K}){const Q=e,X=[{label:"不固定",value:"NONE"},{label:"左固定",value:"LEFT"},{label:"右固定",value:"RIGHT"}],Y=[{label:"不排序",value:"NONE"},{label:"升序",value:"ASC"},{label:"降序",value:"DESC"}],Z=[{label:"字体",value:"font"},{label:"背景",value:"background"}],$=Object.entries(L).map((([e])=>e));function ee(){Q.data.splice(Q.index,1)}function te(){K("edit",Q.element)}function le(){var e;return Q.element.feildDescribe||(null==(e=Q.element.settingObj)?void 0:e.fieldDescDev)}function ie(e){return"seq"===e?Q.idx:"optionType"===e?Q.element[e]&&Q.element.type===R.SELECT?F[Q.element[e]]:"":"type"===e?V[Q.element[e]]:Q.element[e]}function ne(e){if("defaultValue"===e){const{optionType:e}=Q.element;return e===B.SELECT_MULTIPLE}return!1}function oe(e){if("0001"==Q.element.id&&"fixedWay"!=e)return!1;const{isConfiguredHeaderFilter:t}=Q.element;return"isShowHeaderFilter"===e?!!t:!(["explicitRequired","defaultValue"].includes(e)&&![R.DATE,R.DATETIME,R.SELECT].includes(Q.element.type))}function ae(e){return!["explicitRequired","defaultValue"].includes(e)||j(Q.element)}function re(e){switch(e.field){case"fixedWay":return X;case"sortDirection":return Y;case"sortPriority":return function(){const e=H(1,Q.data.length+1).map((e=>({label:e.toString(),value:e}))),t=Q.data.filter((e=>!!e.sortPriority&&e.uuid!==Q.element.uuid)).map((e=>e.sortPriority));return e.filter((e=>!t.includes(e.value)))}();case"colorScope":return Z;case"defaultValue":{const{type:e,optionInfo:t}=Q.element;return e===R.SELECT?A(null==t?void 0:t.list)&&t.list.length>0?t.list.map((e=>({...e,label:e.name}))):Object.entries(I).map((([e,t])=>({value:e,label:t}))):e===R.DATE?Object.entries(W).map((([e,t])=>({value:e,label:t}))):e===R.DATETIME?Object.entries(q).map((([e,t])=>({value:e,label:t}))):[]}default:return[]}}function de(e){var t;if(1==Q.element.defaultMark||"color"===e.type&&Q.isHighlightRow)return!0;if("checkbox"===e.type)return"show"===e.field&&e.fieldShowMaxValue?!Q.element[e.field]&&(null==(t=Q.data.filter((t=>t[e.field])))?void 0:t.length)===e.fieldShowMaxValue:C(Q.element,e.field);if("sortPriority"!==e.field)return!1;const{sortDirection:l}=Q.element;return!l||"NONE"===l}function ue(e){return["title","result"].includes(e.field)&&Q.element.style||{}}return(j,C)=>(t(),l("div",G,[(t(!0),l(i,null,n(e.columns,((n,j)=>{return t(),l(i,{key:j},[n.isShow?(t(),l("span",{key:0,class:"table-cell",title:e.element[n.field],style:o(a(w)(n,j,e.columnWidthProps))},["text"===n.type?(t(),l(i,{key:0},[0===j?(t(),l(i,{key:0},[!e.isFieldSet||e.draggable&&e.isFieldSet?(t(),r(a(b),{key:0,trigger:"hover"},{trigger:d((()=>[u(a(h),{style:{"margin-right":"5px",top:"2px"},component:a(M)},null,8,["component"])])),default:d((()=>[J])),_:1})):s("v-if",!0),(A=n.field,"title"===A&&("tooltip"===Q.fieldDescribeMode&&Q.element.feildDescribe||Q.developMode&&(null==(H=Q.element.settingObj)?void 0:H.fieldDescDev))?(t(),r(a(b),{key:1,trigger:"hover"},{trigger:d((()=>[u(a(h),{style:{"margin-right":"5px",top:"2px"},component:a(N)},null,8,["component"])])),default:d((()=>[c("span",null,f(le()),1)])),_:1})):s("v-if",!0))],64)):s("v-if",!0),c("span",{class:p([e.isHighlight&&"title"===n.field?"highlight":""]),style:o(ue(n))},f(ie(n.field)),7)],64)):s("v-if",!0),"checkbox"===n.type&&oe(n.field)?m((t(),r(a(k),{key:1,disabled:de(n),checked:e.element[n.field],"onUpdate:checked":[t=>e.element[n.field]=t,e=>function(e,t){K("updateChecked",{checked:e,column:t})}(e,n)]},null,8,["disabled","checked","onUpdate:checked"])),[[v,ae(n.field)]]):s("v-if",!0),"select"===n.type&&oe(n.field)?m((t(),r(a(x),{key:2,clearable:"",multiple:ne(n.field),disabled:de(n),value:e.element[n.field],"onUpdate:value":[t=>e.element[n.field]=t,e=>function(e,t){"sortDirection"===t.field&&"NONE"===e&&(Q.element.sortPriority=null),"colorScope"===t.field&&O(Q.element)}(e,n)],options:re(n)},null,8,["multiple","disabled","value","onUpdate:value","options"])),[[v,ae(n.field)]]):s("v-if",!0),"color"===n.type?(t(),r(a(E),{key:3,class:"c-field-set__color-picker",clearable:"",disabled:de(n),value:e.element[n.field],"onUpdate:value":[t=>e.element[n.field]=t,C[0]||(C[0]=t=>a(O)(e.element))],"show-preview":"",modes:["hex"],swatches:a($)},null,8,["disabled","value","onUpdate:value","swatches"])):s("v-if",!0),"input"===n.type?m((t(),r(a(S),{key:4,value:e.element[n.field],"onUpdate:value":t=>e.element[n.field]=t,clearable:""},null,8,["value","onUpdate:value"])),[[v,"0001"!=e.element.id]]):s("v-if",!0),"inputNumber"===n.type?(t(),r(a(D),{key:5,value:e.element[n.field],"onUpdate:value":t=>e.element[n.field]=t},null,8,["value","onUpdate:value"])):s("v-if",!0),"custom"===n.type&&a(P)(n.contentRender)?(t(),r(y((()=>n.contentRender(n,e.element))),{key:6})):s("v-if",!0),"custom"===n.type&&"opt"===n.field&&1!=e.element.defaultMark?(t(),l(i,{key:7},[u(a(b),{trigger:"hover"},{trigger:d((()=>[u(a(h),{component:a(U),onClick:te},null,8,["component"])])),default:d((()=>[g(" 编辑 ")])),_:1}),u(a(T),{onPositiveClick:ee},{trigger:d((()=>[u(a(b),{trigger:"hover"},{trigger:d((()=>[u(a(h),{component:a(_)},null,8,["component"])])),default:d((()=>[g(" 删除 ")])),_:1})])),default:d((()=>[g(" 是否确认删除? ")])),_:1})],64)):s("v-if",!0)],12,z)):s("v-if",!0)],64);var A,H})),128))]))}});export{K as default};
@@ -2,7 +2,7 @@ import { CSSProperties } from 'vue';
2
2
  import { AnyObject } from '../../../../shared/types';
3
3
  import { FieldSetItem } from '../../../../components/field-set';
4
4
  import { IhoTableConfig } from '../../../../components/iho-table';
5
- export declare function setStyle(column: AnyObject, index: number): CSSProperties;
5
+ export declare function setStyle(column: AnyObject, index: number, widthProps?: AnyObject): CSSProperties;
6
6
  export declare function isDisable(item: FieldSetItem, key: string): any;
7
7
  export declare function getGroupTree(rowGroupSetting: NonNullable<IhoTableConfig['rowGroupSetting']>, fieldList: FieldSetItem[], getKey?: (field: FieldSetItem) => string): Array<AnyObject | string>;
8
8
  export declare function isDraggable(fieldItem: AnyObject): any;
@@ -1 +1 @@
1
- import{isArray as e,isObject as t}from"lodash-es";import{IhoTableRowGroupSequence as o}from"../../../iho-table/src/constants/index.js";import{COLOR_MAP as n}from"../constants/index.js";import{WIDGET_TYPE as r}from"../constants/filter.js";function i(e,t){const o={flex:"1 1 90px"};switch(e.type){case"text":0===t&&["title","name"].includes(e.field)&&Object.assign(o,{flex:"1 1 120px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}),"seq"===e.field&&(o.flex="1 1 40px");break;case"checkbox":o.flex="1 1 60px";break;case"select":o.flex="1 1 80px";break;case"input":o.flex="1 1 100px"}return o}function l(e,t){return["editable","required","show"].includes(t)&&(e[`${t}Disable`]||e[`${t}Disabled`])||["sort"].includes(t)&&(1==e.notParticipatingSort||e.sortDisabled)}function s(n,r,i=(e=>e.name)){const l=r.map((e=>i(e)));return o.some((o=>{const r=n[o];if(!e(r))return!0;r.forEach((o=>{if(!e(o.list)||!o.list.length)return;const n=[];let r=null;o.list.forEach(((e,i)=>{const s=function(e,o,n){return o.findIndex((o=>o!==n&&(t(o)?o.fieldName:o)===e))}(e,l,r);~s&&(n.push(l[s]),0===i?l.splice(s,1,r={fieldName:o.title,children:n}):l.splice(s,1))}))}))})),l}function c(e){return void 0===e.draggable||e.draggable}function a(t){return e(t)?!t.some((e=>!e.draggable)):t.draggable}function f(e){e.style="font"===e.colorScope?{color:e.color}:{background:e.color,color:"#fff"},e.result=n[e.color]}function u(e){const{isShowSearch:t,filterExplicit:o,type:n}=e;return t&&o&&[r.DATE,r.DATETIME,r.SELECT].includes(n)}export{s as getGroupTree,l as isDisable,c as isDraggable,a as isDraggableItem,u as isShowExplicitRequired,f as setColorInfo,i as setStyle};
1
+ import{isArray as e,isObject as t}from"lodash-es";import{IhoTableRowGroupSequence as n}from"../../../iho-table/src/constants/index.js";import{COLOR_MAP as o}from"../constants/index.js";import{WIDGET_TYPE as i}from"../constants/filter.js";function l(e,t,n){const o={flex:"1 1 90px"};switch(e.type){case"text":0===t&&["title","name"].includes(e.field)&&Object.assign(o,{flex:"1 1 120px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}),"seq"===e.field&&(o.flex="1 1 40px");break;case"checkbox":o.flex="1 1 60px";break;case"select":o.flex="1 1 80px";break;case"input":o.flex="1 1 100px"}if(n){const t=Object.keys(n);t.length>0&&t.includes(e.field)&&n[e.field]&&(o.flex=`1 1 ${n[e.field]}px`)}return o}function r(e,t){return["editable","required","show"].includes(t)&&(e[`${t}Disable`]||e[`${t}Disabled`])||["sort"].includes(t)&&(1==e.notParticipatingSort||e.sortDisabled)}function s(o,i,l=(e=>e.name)){const r=i.map((e=>l(e)));return n.some((n=>{const i=o[n];if(!e(i))return!0;i.forEach((n=>{if(!e(n.list)||!n.list.length)return;const o=[];let i=null;n.list.forEach(((e,l)=>{const s=function(e,n,o){return n.findIndex((n=>n!==o&&(t(n)?n.fieldName:n)===e))}(e,r,i);~s&&(o.push(r[s]),0===l?r.splice(s,1,i={fieldName:n.title,children:o}):r.splice(s,1))}))}))})),r}function c(e){return void 0===e.draggable||e.draggable}function f(t){return e(t)?!t.some((e=>!e.draggable)):t.draggable}function a(e){e.style="font"===e.colorScope?{color:e.color}:{background:e.color,color:"#fff"},e.result=o[e.color]}function d(e){const{isShowSearch:t,filterExplicit:n,type:o}=e;return t&&n&&[i.DATE,i.DATETIME,i.SELECT].includes(o)}export{s as getGroupTree,r as isDisable,c as isDraggable,f as isDraggableItem,d as isShowExplicitRequired,a as setColorInfo,l as setStyle};
@@ -408,7 +408,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
408
408
  formRenderRef: import("vue").Ref<import("..").FormRenderExpose | undefined>;
409
409
  key: import("vue").Ref<number>;
410
410
  reload: () => Promise<void>;
411
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
411
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
412
412
  exposed: Partial<import("..").FormRenderExpose>;
413
413
  FormRender: import("vue").DefineComponent<{
414
414
  fieldList: {
@@ -841,6 +841,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
841
841
  index: number;
842
842
  }[]>;
843
843
  onScroll: (scrollEvent: Event) => void;
844
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
844
845
  callLifeCycle: <T_2 extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T_2, payload?: Parameters<Required<Partial<{
845
846
  onSetup(): void;
846
847
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -1155,7 +1156,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
1155
1156
  startIncrementalRender: () => void;
1156
1157
  onKeydown: (event: KeyboardEvent) => Promise<void>;
1157
1158
  clearSpan: (uuid: string) => void;
1158
- exposeEvent: Omit<import("..").FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
1159
+ exposeEvent: Omit<import("..").FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
1159
1160
  useVersion: typeof import("../../shared/hooks").useVersion;
1160
1161
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1161
1162
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -2442,7 +2443,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
2442
2443
  formRenderRef: import("vue").Ref<import("..").FormRenderExpose | undefined>;
2443
2444
  key: import("vue").Ref<number>;
2444
2445
  reload: () => Promise<void>;
2445
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
2446
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
2446
2447
  exposed: Partial<import("..").FormRenderExpose>;
2447
2448
  FormRender: import("vue").DefineComponent<{
2448
2449
  fieldList: {
@@ -2875,6 +2876,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
2875
2876
  index: number;
2876
2877
  }[]>;
2877
2878
  onScroll: (scrollEvent: Event) => void;
2879
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
2878
2880
  callLifeCycle: <T_2 extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T_2, payload?: Parameters<Required<Partial<{
2879
2881
  onSetup(): void;
2880
2882
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -3189,7 +3191,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
3189
3191
  startIncrementalRender: () => void;
3190
3192
  onKeydown: (event: KeyboardEvent) => Promise<void>;
3191
3193
  clearSpan: (uuid: string) => void;
3192
- exposeEvent: Omit<import("..").FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
3194
+ exposeEvent: Omit<import("..").FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
3193
3195
  useVersion: typeof import("../../shared/hooks").useVersion;
3194
3196
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
3195
3197
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -411,7 +411,7 @@ declare const _default: import("vue").DefineComponent<{
411
411
  formRenderRef: Ref<FormRenderExpose | undefined>;
412
412
  key: Ref<number>;
413
413
  reload: () => Promise<void>;
414
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
414
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
415
415
  exposed: Partial<FormRenderExpose>;
416
416
  FormRender: import("vue").DefineComponent<{
417
417
  fieldList: {
@@ -844,6 +844,7 @@ declare const _default: import("vue").DefineComponent<{
844
844
  index: number;
845
845
  }[]>;
846
846
  onScroll: (scrollEvent: Event) => void;
847
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
847
848
  callLifeCycle: <T_2 extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T_2, payload?: Parameters<Required<Partial<{
848
849
  onSetup(): void;
849
850
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -1158,7 +1159,7 @@ declare const _default: import("vue").DefineComponent<{
1158
1159
  startIncrementalRender: () => void;
1159
1160
  onKeydown: (event: KeyboardEvent) => Promise<void>;
1160
1161
  clearSpan: (uuid: string) => void;
1161
- exposeEvent: Omit<FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
1162
+ exposeEvent: Omit<FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
1162
1163
  useVersion: typeof useVersion;
1163
1164
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1164
1165
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -2445,7 +2446,7 @@ declare const _default: import("vue").DefineComponent<{
2445
2446
  formRenderRef: Ref<FormRenderExpose | undefined>;
2446
2447
  key: Ref<number>;
2447
2448
  reload: () => Promise<void>;
2448
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
2449
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
2449
2450
  exposed: Partial<FormRenderExpose>;
2450
2451
  FormRender: import("vue").DefineComponent<{
2451
2452
  fieldList: {
@@ -2878,6 +2879,7 @@ declare const _default: import("vue").DefineComponent<{
2878
2879
  index: number;
2879
2880
  }[]>;
2880
2881
  onScroll: (scrollEvent: Event) => void;
2882
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
2881
2883
  callLifeCycle: <T_2 extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T_2, payload?: Parameters<Required<Partial<{
2882
2884
  onSetup(): void;
2883
2885
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -3192,7 +3194,7 @@ declare const _default: import("vue").DefineComponent<{
3192
3194
  startIncrementalRender: () => void;
3193
3195
  onKeydown: (event: KeyboardEvent) => Promise<void>;
3194
3196
  clearSpan: (uuid: string) => void;
3195
- exposeEvent: Omit<FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
3197
+ exposeEvent: Omit<FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
3196
3198
  useVersion: typeof useVersion;
3197
3199
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
3198
3200
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -18,7 +18,7 @@ declare const _default: import("vue").DefineComponent<{}, {
18
18
  formRenderRef: import("vue").Ref<FormRenderExpose | undefined>;
19
19
  key: import("vue").Ref<number>;
20
20
  reload: () => Promise<void>;
21
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
21
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
22
22
  exposed: Partial<FormRenderExpose>;
23
23
  FormRender: import("vue").DefineComponent<{
24
24
  fieldList: {
@@ -451,6 +451,7 @@ declare const _default: import("vue").DefineComponent<{}, {
451
451
  index: number;
452
452
  }[]>;
453
453
  onScroll: (scrollEvent: Event) => void;
454
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
454
455
  callLifeCycle: <T_2 extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T_2, payload?: Parameters<Required<Partial<{
455
456
  onSetup(): void;
456
457
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -765,7 +766,7 @@ declare const _default: import("vue").DefineComponent<{}, {
765
766
  startIncrementalRender: () => void;
766
767
  onKeydown: (event: KeyboardEvent) => Promise<void>;
767
768
  clearSpan: (uuid: string) => void;
768
- exposeEvent: Omit<FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
769
+ exposeEvent: Omit<FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
769
770
  useVersion: typeof import("../../../../shared/hooks/useVersion").useVersion;
770
771
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
771
772
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -932,7 +932,7 @@ declare const _default: import("vue").DefineComponent<{
932
932
  formRenderRef: import("vue").Ref<FormRenderExpose | undefined>;
933
933
  key: import("vue").Ref<number>;
934
934
  reload: () => Promise<void>;
935
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
935
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
936
936
  exposed: Partial<FormRenderExpose>;
937
937
  FormRender: import("vue").DefineComponent<{
938
938
  fieldList: {
@@ -1365,6 +1365,7 @@ declare const _default: import("vue").DefineComponent<{
1365
1365
  index: number;
1366
1366
  }[]>;
1367
1367
  onScroll: (scrollEvent: Event) => void;
1368
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
1368
1369
  callLifeCycle: <T extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
1369
1370
  onSetup(): void;
1370
1371
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -1679,7 +1680,7 @@ declare const _default: import("vue").DefineComponent<{
1679
1680
  startIncrementalRender: () => void;
1680
1681
  onKeydown: (event: KeyboardEvent) => Promise<void>;
1681
1682
  clearSpan: (uuid: string) => void;
1682
- exposeEvent: Omit<FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
1683
+ exposeEvent: Omit<FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
1683
1684
  useVersion: typeof import("../../../../components/index").useVersion;
1684
1685
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1685
1686
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -6,7 +6,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
6
6
  formRenderRef: import("vue").Ref<import("./src/types").FormRenderExpose | undefined>;
7
7
  key: import("vue").Ref<number>;
8
8
  reload: () => Promise<void>;
9
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
9
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
10
10
  exposed: Partial<import("./src/types").FormRenderExpose>;
11
11
  FormRender: import("vue").DefineComponent<{
12
12
  fieldList: {
@@ -439,6 +439,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
439
439
  index: number;
440
440
  }[]>;
441
441
  onScroll: (scrollEvent: Event) => void;
442
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
442
443
  callLifeCycle: <T extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
443
444
  onSetup(): void;
444
445
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -753,7 +754,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
753
754
  startIncrementalRender: () => void;
754
755
  onKeydown: (event: KeyboardEvent) => Promise<void>;
755
756
  clearSpan: (uuid: string) => void;
756
- exposeEvent: Omit<import("./src/types").FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
757
+ exposeEvent: Omit<import("./src/types").FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
757
758
  useVersion: typeof import("../../shared/hooks").useVersion;
758
759
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
759
760
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -434,6 +434,7 @@ declare const _default: import("vue").DefineComponent<{
434
434
  index: number;
435
435
  }[]>;
436
436
  onScroll: (scrollEvent: Event) => void;
437
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
437
438
  callLifeCycle: <T extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
438
439
  onSetup(): void;
439
440
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -748,7 +749,7 @@ declare const _default: import("vue").DefineComponent<{
748
749
  startIncrementalRender: () => void;
749
750
  onKeydown: (event: KeyboardEvent) => Promise<void>;
750
751
  clearSpan: (uuid: string) => void;
751
- exposeEvent: Omit<FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
752
+ exposeEvent: Omit<FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
752
753
  useVersion: typeof useVersion;
753
754
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
754
755
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,provide as t,computed as r,nextTick as a,onUnmounted as s,openBlock as i,createBlock as l,unref as n,mergeProps as m,withCtx as p,createElementBlock as d,createVNode as u,isRef as c,Fragment as f,renderList as h,createCommentVNode as y,createElementVNode as g,normalizeStyle as v,toDisplayString as b,renderSlot as j}from"vue";import{useTheme as k}from"../../../shared/hooks/useTheme.js";import{useElementSize as C}from"@vueuse/core";import"date-fns";import{isNumber as F,cloneDeep as S}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NForm as w,NTabs as x,NTabPane as B,NConfigProvider as A}from"naive-ui";import{useVersion as L}from"../../../shared/hooks/useVersion.js";import{createForm as R,onFormMount as H,onFieldValueChange as O,onFieldMount as T,onFieldUnmount as I,onFieldReact as V}from"@formily/core";import{Path as N}from"@formily/path";import{FormProvider as _,FormConsumer as D}from"@formily/vue";import{InjectionFormColumnWidth as W,InjectionFormLifeCycleCaller as U,InjectionFormGraph as E}from"./constants/index.js";import{createObjSchema as q}from"./utils/schema.js";import{useAnchor as P}from"./hooks/useAnchor.js";import"../index.js";import{useComplexOptionsSpan as G}from"./hooks/useComplexOptions.js";import{useFieldListAdaptor as M}from"./hooks/useFieldListAdaptor.js";import"../../../shared/utils/tapable/SyncHook.js";import"../../../shared/utils/tapable/SyncBailHook.js";import"../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../shared/utils/tapable/SyncLoopHook.js";import"../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{useFieldVisitor as K}from"./hooks/useFieldVisitor.js";import{useFormContext as z}from"./hooks/useFormContext.js";import{useFormDomEvent as J,useFormExposeEvent as Q}from"./hooks/useFormEvent.js";import{useFormGraph as $}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as X}from"./hooks/useFormRenderLifeCycle.js";import{validateMessageLocale as Y}from"./hooks/useFormValidator.js";import{useLowCodeEvent as Z}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as ee}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as oe}from"./hooks/useNuiThemeOverrides.js";import{useOperationalForm as te}from"./hooks/useOperationalForm.js";import{useWordbookSetting as re}from"./hooks/useWordbookSetting.js";import{useNewLowCodeReactions as ae}from"./hooks/useNewLowCodeReactions.js";const se={key:0,style:{height:"54px"}},ie={style:{"white-space":"pre"}};var le=e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default:5},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},annotationShortcuts:{type:Array},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},autoExpand:Boolean,lowCodeReactions:{type:Array},newLowCodeReactions:{type:Array},operationalForm:{type:Array},dateOperationalForm:{type:Object},operationalFormInit:{type:Boolean,default:!0},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},labelPlacementOverwrite:Boolean,outBordered:{type:Boolean,default:!1},uniqueCacheData:{type:Boolean,default:!1},forceClearable:Boolean,wordSplitFilter:{type:Boolean,default:!0},selectMode:Boolean,selectedFields:{type:Array},linebarDirection:{type:String,default:"vertical"},linebarTextDirection:{type:String,default:"horizontal"},linebarWidth:{type:[Number,String],default:120},autoWidth:{type:[Boolean,Number],default:!1},incrementalRender:{type:Boolean,default:!1},feedbackType:{type:String,default:"default"}},emits:["formChange","annotationChange","scroll","update:selectedFields","linebarChange","ready"],setup(e,{expose:le,emit:ne}){const me=e,pe=k(),{nuiThemeOverrides:de}=oe();Y();const ue=o(),{width:ce}=C(ue);t(W,r((()=>ce.value?(ce.value-16*(me.column-1))/24:0)));const fe=r((()=>F(me.maxHeight)?me.maxHeight+"px":me.maxHeight)),{SchemaField:he,businessCollector:ye,formItemDepsCollector:ge,changeContextCollector:ve,asyncQueue:be,formUUID:je}=z(me,ne),{anchorBarRef:ke,currentAnchor:Ce,updateAnchorList:Fe,anchorIdList:Se,onScroll:we}=P(me,ne,ue,ge),{callLifeCycle:xe}=X(me);t(U,xe),xe("onSetup");const{observeFormGraph:Be,setGraph:Ae,removeGraph:Le}=$();t(E,Be);const{lowCodeEventTrigger:Re}=Z(),He=o(!0),Oe=R({initialValues:me.initialData,effects(e){const o={};H((()=>{Object.assign(o,S(e.values))})),O("*",(t=>{const r=N.getIn(o,t.path);N.setIn(o,t.path,t.value);const a=t.props.name.toString();ye.trigger(e,a),ge.trigger(t.path),He.value&&ne("formChange",{fieldInstance:t,fieldKey:a,oldValue:r,fieldName:t.title,value:t.value,context:ve.getContext(a,t.value)}),Re(t),Te(a),Ie(a),Ve.trigger(a),Ne.trigger(a,t.value)})),T("*",Ae),T("*",(e=>{const o=e.props.name.toString();Te(o),Ie(o),me.operationalFormInit&&Ve.trigger(o)})),I("*",Le),me.anchor&&V("*",Fe)}}),{lowCodeReactionsHandler:Te}=ee(r((()=>me.lowCodeReactions)),Oe),{newLowCodeReactionsHandler:Ie}=ae(r((()=>me.newLowCodeReactions)),Oe),Ve=te(me,Oe),Ne=re().create(Oe,ve),{schemaAdaptor:_e}=M(ye,me.lifeCycle);let De=me.fieldList||[],We=[];const Ue=r((()=>{let e=!1;const o=me.schema?me.schema:me.fieldList?(De!==me.fieldList&&0!==De.length||(e=!0),De=K().traverse(S(me.fieldList),me.fieldVisitor),q(_e(De,me))):q({});return me.incrementalRender&&e&&(We=[],Object.values(o.properties).forEach((e=>{var o;"visible"===e["x-display"]&&"LINEBAR"===e["x-component"]&&!1!==(null==(o=e["x-component-props"])?void 0:o.show)&&(We.push(e),e["x-component-props"].show=!1)})),Ee()),o}));function Ee(){We.length&&setTimeout((()=>{const e=We.shift();e&&(ge.trigger(N.parse(e.name),!0),Oe.setFieldState(e.name,(e=>{e.componentProps.show=!0})),We.length?Ee():a().then((()=>{ne("ready")})))}),300)}const{onKeydown:qe}=J({formModel:Oe,formRenderRef:ue,props:me,formUUID:je}),{clearSpan:Pe}=G();s((()=>Pe(je)));const Ge=Q({formModel:Oe,formRenderRef:ue,formItemDepsCollector:ge,businessCollector:ye,wordbookSettingHandler:Ne,operationalFormHandler:Ve,getFieldList:()=>De,formUUID:je,changeContextCollector:ve,emitFormChange:He});return le({formModel:Oe,validate:(e="*",o={})=>Ge.validate(e,o),getFormValues:(e=!0)=>Ge.getFormValues(e),setFormValues:async(e,o={})=>Ge.setFormValues(e,o),setFieldState(e,o){Ge.setFieldState(e,o)},resetFields(e="*"){Ge.resetFields(e)},queryWidget:async e=>Ge.queryWidget(e),getFieldList:()=>De,applySelectedSetting:e=>Ge.applySelectedSetting(e),async reload(){console.error("reload function is abstract,it should be overwrite!")},async optionInited(e={}){if(await a(),be.activeTasks)return new Promise((o=>{var t;const r=()=>{o(),be.onActiveTaskChange=null};be.onActiveTaskChange=()=>{be.activeTasks||r()},setTimeout(r,null!=(t=e.timeout)?t:5e3)}))},getTextFormValues:()=>Ge.getTextFormValues()}),(o,t)=>(i(),l(n(w),m({class:["form-render",{"form-render--out-border":e.outBordered}],"require-mark-placement":"left",style:n(pe)},n(L)(),{uuid:n(je)}),{default:p((()=>[e.anchor?(i(),d("section",se,[u(n(x),{value:n(Ce),"onUpdate:value":t[0]||(t[0]=e=>c(Ce)?Ce.value=e:null),type:"line",ref_key:"anchorBarRef",ref:ke},{default:p((()=>[(i(!0),d(f,null,h(n(Se),(e=>(i(),l(n(B),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):y("v-if",!0),u(n(A),{"theme-overrides":n(de)},{default:p((()=>[g("section",{class:"form-render__wrapper",style:v({"--column":e.column,"--form-height":n(fe)}),ref_key:"formRenderRef",ref:ue,onScroll:t[1]||(t[1]=(...e)=>n(we)&&n(we)(...e)),onKeydownCapture:t[2]||(t[2]=(...e)=>n(qe)&&n(qe)(...e))},[u(n(_),{form:n(Oe)},{default:p((()=>[u(n(he),{schema:n(Ue)},null,8,["schema"]),e.consumer?(i(),l(n(D),{key:0},{default:p((({form:e})=>[g("div",ie,b(JSON.stringify(e.values,null,2)),1)])),_:1})):y("v-if",!0),j(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},16,["class","style","uuid"]))}});export{le as default};
1
+ import{defineComponent as e,ref as o,provide as t,computed as r,nextTick as a,onUnmounted as s,openBlock as i,createBlock as l,unref as n,mergeProps as m,withCtx as p,createElementBlock as d,createVNode as u,isRef as c,Fragment as f,renderList as h,createCommentVNode as y,createElementVNode as g,normalizeStyle as v,toDisplayString as b,renderSlot as j}from"vue";import{useTheme as k}from"../../../shared/hooks/useTheme.js";import{useElementSize as C}from"@vueuse/core";import"date-fns";import{isNumber as F,cloneDeep as S}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NForm as w,NTabs as x,NTabPane as A,NConfigProvider as B}from"naive-ui";import{useVersion as L}from"../../../shared/hooks/useVersion.js";import{createForm as R,onFormMount as H,onFieldValueChange as O,onFieldMount as T,onFieldUnmount as I,onFieldReact as V}from"@formily/core";import{Path as N}from"@formily/path";import{FormProvider as _,FormConsumer as D}from"@formily/vue";import{InjectionFormColumnWidth as W,InjectionFormLifeCycleCaller as U,InjectionFormGraph as E}from"./constants/index.js";import{createObjSchema as q}from"./utils/schema.js";import{useAnchor as P}from"./hooks/useAnchor.js";import"../index.js";import{useComplexOptionsSpan as G}from"./hooks/useComplexOptions.js";import{useFieldListAdaptor as M}from"./hooks/useFieldListAdaptor.js";import"../../../shared/utils/tapable/SyncHook.js";import"../../../shared/utils/tapable/SyncBailHook.js";import"../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../shared/utils/tapable/SyncLoopHook.js";import"../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{useFieldVisitor as K}from"./hooks/useFieldVisitor.js";import{useFormContext as z}from"./hooks/useFormContext.js";import{useFormDomEvent as J,useFormExposeEvent as Q}from"./hooks/useFormEvent.js";import{useFormGraph as $}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as X}from"./hooks/useFormRenderLifeCycle.js";import{validateMessageLocale as Y}from"./hooks/useFormValidator.js";import{useLowCodeEvent as Z}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as ee}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as oe}from"./hooks/useNuiThemeOverrides.js";import{useOperationalForm as te}from"./hooks/useOperationalForm.js";import{useWordbookSetting as re}from"./hooks/useWordbookSetting.js";import{useNewLowCodeReactions as ae}from"./hooks/useNewLowCodeReactions.js";const se={key:0,style:{height:"54px"}},ie={style:{"white-space":"pre"}};var le=e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default:5},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},annotationShortcuts:{type:Array},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},autoExpand:Boolean,lowCodeReactions:{type:Array},newLowCodeReactions:{type:Array},operationalForm:{type:Array},dateOperationalForm:{type:Object},operationalFormInit:{type:Boolean,default:!0},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},labelPlacementOverwrite:Boolean,outBordered:{type:Boolean,default:!1},uniqueCacheData:{type:Boolean,default:!1},forceClearable:Boolean,wordSplitFilter:{type:Boolean,default:!0},selectMode:Boolean,selectedFields:{type:Array},linebarDirection:{type:String,default:"vertical"},linebarTextDirection:{type:String,default:"horizontal"},linebarWidth:{type:[Number,String],default:120},autoWidth:{type:[Boolean,Number],default:!1},incrementalRender:{type:Boolean,default:!1},feedbackType:{type:String,default:"default"}},emits:["formChange","annotationChange","scroll","update:selectedFields","linebarChange","ready"],setup(e,{expose:le,emit:ne}){const me=e,pe=k(),{nuiThemeOverrides:de}=oe();Y();const ue=o(),{width:ce}=C(ue);t(W,r((()=>ce.value?(ce.value-16*(me.column-1))/24:0)));const fe=r((()=>F(me.maxHeight)?me.maxHeight+"px":me.maxHeight)),{SchemaField:he,businessCollector:ye,formItemDepsCollector:ge,changeContextCollector:ve,asyncQueue:be,formUUID:je}=z(me,ne),{anchorBarRef:ke,currentAnchor:Ce,updateAnchorList:Fe,anchorIdList:Se,onScroll:we,generateAnchorList:xe}=P(me,ne,ue,ge),{callLifeCycle:Ae}=X(me);t(U,Ae),Ae("onSetup");const{observeFormGraph:Be,setGraph:Le,removeGraph:Re}=$();t(E,Be);const{lowCodeEventTrigger:He}=Z(),Oe=o(!0),Te=R({initialValues:me.initialData,effects(e){const o={};H((()=>{Object.assign(o,S(e.values))})),O("*",(t=>{const r=N.getIn(o,t.path);N.setIn(o,t.path,t.value);const a=t.props.name.toString();ye.trigger(e,a),ge.trigger(t.path),Oe.value&&ne("formChange",{fieldInstance:t,fieldKey:a,oldValue:r,fieldName:t.title,value:t.value,context:ve.getContext(a,t.value)}),He(t),Ie(a),Ve(a),Ne.trigger(a),_e.trigger(a,t.value)})),T("*",Le),T("*",(e=>{const o=e.props.name.toString();Ie(o),Ve(o),me.operationalFormInit&&Ne.trigger(o)})),I("*",Re),me.anchor&&V("*",Fe)}}),{lowCodeReactionsHandler:Ie}=ee(r((()=>me.lowCodeReactions)),Te),{newLowCodeReactionsHandler:Ve}=ae(r((()=>me.newLowCodeReactions)),Te),Ne=te(me,Te),_e=re().create(Te,ve),{schemaAdaptor:De}=M(ye,me.lifeCycle);let We=me.fieldList||[],Ue=[];const Ee=r((()=>{let e=!1;const o=me.schema?me.schema:me.fieldList?(We!==me.fieldList&&0!==We.length||(e=!0),We=K().traverse(S(me.fieldList),me.fieldVisitor),q(De(We,me))):q({});return me.incrementalRender&&e&&(Ue=[],Object.values(o.properties).forEach((e=>{var o;"visible"===e["x-display"]&&"LINEBAR"===e["x-component"]&&!1!==(null==(o=e["x-component-props"])?void 0:o.show)&&(Ue.push(e),e["x-component-props"].show=!1)})),qe()),o}));function qe(){Ue.length&&setTimeout((()=>{const e=Ue.shift();e&&(ge.trigger(N.parse(e.name),!0),Te.setFieldState(e.name,(e=>{e.componentProps.show=!0})),Ue.length?qe():a().then((()=>{ne("ready")})))}),300)}const{onKeydown:Pe}=J({formModel:Te,formRenderRef:ue,props:me,formUUID:je}),{clearSpan:Ge}=G();s((()=>Ge(je)));const Me=Q({formModel:Te,formRenderRef:ue,formItemDepsCollector:ge,businessCollector:ye,wordbookSettingHandler:_e,operationalFormHandler:Ne,getFieldList:()=>We,formUUID:je,changeContextCollector:ve,emitFormChange:Oe});return le({formModel:Te,validate:(e="*",o={})=>Me.validate(e,o),getFormValues:(e=!0)=>Me.getFormValues(e),setFormValues:async(e,o={})=>Me.setFormValues(e,o),setFieldState(e,o){Me.setFieldState(e,o)},resetFields(e="*"){Me.resetFields(e)},queryWidget:async e=>Me.queryWidget(e),getFieldList:()=>We,applySelectedSetting:e=>Me.applySelectedSetting(e),async reload(){console.error("reload function is abstract,it should be overwrite!")},async optionInited(e={}){if(await a(),be.activeTasks)return new Promise((o=>{var t;const r=()=>{o(),be.onActiveTaskChange=null};be.onActiveTaskChange=()=>{be.activeTasks||r()},setTimeout(r,null!=(t=e.timeout)?t:5e3)}))},updateAnchor(){xe(Te)},getTextFormValues:()=>Me.getTextFormValues()}),(o,t)=>(i(),l(n(w),m({class:["form-render",{"form-render--out-border":e.outBordered}],"require-mark-placement":"left",style:n(pe)},n(L)(),{uuid:n(je)}),{default:p((()=>[e.anchor?(i(),d("section",se,[u(n(x),{value:n(Ce),"onUpdate:value":t[0]||(t[0]=e=>c(Ce)?Ce.value=e:null),type:"line",ref_key:"anchorBarRef",ref:ke},{default:p((()=>[(i(!0),d(f,null,h(n(Se),(e=>(i(),l(n(A),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):y("v-if",!0),u(n(B),{"theme-overrides":n(de)},{default:p((()=>[g("section",{class:"form-render__wrapper",style:v({"--column":e.column,"--form-height":n(fe)}),ref_key:"formRenderRef",ref:ue,onScroll:t[1]||(t[1]=(...e)=>n(we)&&n(we)(...e)),onKeydownCapture:t[2]||(t[2]=(...e)=>n(Pe)&&n(Pe)(...e))},[u(n(_),{form:n(Te)},{default:p((()=>[u(n(he),{schema:n(Ee)},null,8,["schema"]),e.consumer?(i(),l(n(D),{key:0},{default:p((({form:e})=>[g("div",ie,b(JSON.stringify(e.values,null,2)),1)])),_:1})):y("v-if",!0),j(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},16,["class","style","uuid"]))}});export{le as default};
@@ -4,7 +4,7 @@ declare const _default: import("vue").DefineComponent<{}, {
4
4
  formRenderRef: import("vue").Ref<FormRenderExpose | undefined>;
5
5
  key: import("vue").Ref<number>;
6
6
  reload: () => Promise<void>;
7
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited"];
7
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues", "optionInited", "updateAnchor"];
8
8
  exposed: Partial<FormRenderExpose>;
9
9
  FormRender: import("vue").DefineComponent<{
10
10
  fieldList: {
@@ -437,6 +437,7 @@ declare const _default: import("vue").DefineComponent<{}, {
437
437
  index: number;
438
438
  }[]>;
439
439
  onScroll: (scrollEvent: Event) => void;
440
+ generateAnchorList: (formModel: import("@formily/core").Form<any>) => Promise<void>;
440
441
  callLifeCycle: <T extends "onSetup" | "beforeSetValue" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
441
442
  onSetup(): void;
442
443
  beforeSetValue(fieldKey: string, value: unknown, payload: {
@@ -751,7 +752,7 @@ declare const _default: import("vue").DefineComponent<{}, {
751
752
  startIncrementalRender: () => void;
752
753
  onKeydown: (event: KeyboardEvent) => Promise<void>;
753
754
  clearSpan: (uuid: string) => void;
754
- exposeEvent: Omit<FormRenderExpose, "getFieldList" | "optionInited" | "formModel" | "reload">;
755
+ exposeEvent: Omit<FormRenderExpose, "updateAnchor" | "getFieldList" | "optionInited" | "formModel" | "reload">;
755
756
  useVersion: typeof import("../../../shared/hooks").useVersion;
756
757
  FormConsumer: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
757
758
  FormProvider: import("vue").DefineComponent<Record<"form", any>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Record<"form", any>>>, {
@@ -1 +1 @@
1
- import{defineComponent as e,ref as r,computed as t,openBlock as l,createBlock as a,withCtx as o,renderSlot as u,nextTick as d}from"vue";import n from"./FormRender.vue.js";var s=e({__name:"FormRenderWrapper",setup(e,{expose:s}){const i=r(),m=r(0);return s({...["validate","getFormValues","setFormValues","setFieldState","resetFields","queryWidget","getFieldList","applySelectedSetting","getTextFormValues","optionInited"].reduce(((e,r)=>(e[r]=(...e)=>{var t;return(null==(t=i.value)?void 0:t[r]).call(t,...e)},e)),{}),formModel:t((()=>{var e;return null==(e=i.value)?void 0:e.formModel})),reload:async function(){m.value++,await d()}}),(e,r)=>(l(),a(n,{key:m.value,ref_key:"formRenderRef",ref:i},{default:o((()=>[u(e.$slots,"default")])),_:3}))}});export{s as default};
1
+ import{defineComponent as e,ref as r,computed as t,openBlock as a,createBlock as l,withCtx as o,renderSlot as u,nextTick as d}from"vue";import n from"./FormRender.vue.js";var s=e({__name:"FormRenderWrapper",setup(e,{expose:s}){const i=r(),m=r(0);return s({...["validate","getFormValues","setFormValues","setFieldState","resetFields","queryWidget","getFieldList","applySelectedSetting","getTextFormValues","optionInited","updateAnchor"].reduce(((e,r)=>(e[r]=(...e)=>{var t;return(null==(t=i.value)?void 0:t[r]).call(t,...e)},e)),{}),formModel:t((()=>{var e;return null==(e=i.value)?void 0:e.formModel})),reload:async function(){m.value++,await d()}}),(e,r)=>(a(),l(n,{key:m.value,ref_key:"formRenderRef",ref:i},{default:o((()=>[u(e.$slots,"default")])),_:3}))}});export{s as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{connect as u,mapProps as i}from"@formily/vue";import{isEqual as s,toString as c,isArray as p,isString as d}from"lodash-es";import{NCascader as v}from"naive-ui";import"../../../index.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as f,InjectionAsyncQueue as h,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 k,createVisitedSetter as j,traverseDependKey as g}from"../../utils/schema.js";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 b}from"../../hooks/useFormField.js";import"@formily/reactive";import"../../hooks/useFormValidator.js";const C=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 k=t(),{field:C,title:S,fieldKey:F}=b(),w=t(1),A=t(!0);const H=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),x=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"}));l(f).setContext(F.value,(()=>({labelField:H.value,valueField:x.value})));const q=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[x.value])).slice(-1).join(""),l=t.map((e=>e[H.value])).join(" / ");return a||l}catch(e){return null}}));function K(e,t,a){i("update:value",p(a)?a.map((function(e){return{...e,label:e[H.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const V=l(h);async function B(t){e.filterable?await async function(){if(!e.urlConfig||k.value&&e.requestCache)return;const t=await V.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:S.value,cache:e.requestCache,payload:{field:C.value,labelKey:H.value,valueKey:x.value}});function a(e,t,r){const o=[...r,...l(e)],n={[H.value]:e[H.value],[x.value]:e[x.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:o};return p(e.children)&&(n.children=e.children.map((e=>a(e,t+1,o))),n.isLeaf=!e.children.length),w.value=Math.max(w.value,t+1),n}function l(e){let t=[];if(d(e[H.value])&&(t=[...t,e[H.value]]),d(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}k.value=t.map((e=>a(e,0,[])))}():await async function(t){if(r(e,t))return;const a=await V.addAsync(o(s(t),i(e),S.value,t));if(!a.length&&t)return t.isLeaf=!0,K(0,0,n(t)),void(N.value=!1);const l=a.map((e=>u(e,s(t))));function r(e,t){return!i(e)||!t&&k.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&g(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[H.value]:a[H.value],[x.value]:a[x.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:k.value=l}(t),await I()}const L=`form-render__cascade--menu-${l(y)}`;async function I(){await n();const e=document.querySelector(`.${L} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function E(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;return!(e.checkStrategy.includes("child")&&a.depth<w.value)&&(l.length>0&&l.some((e=>e.includes(t.trim()))))}const{injectValueValidate:O,injectValueWatchFromEmpty:W,injectValueBindKey:z}=m();W((()=>e.value),B),O((()=>e.value)),r((()=>e.urlConfig),(async(t,a)=>{s(t,a)||(k.value=null,A.value?e.lazyRequest||(B(),A.value=!A.value):await B())}),{immediate:!0});const N=t(!1);function P(e){N.value=!!e,e&&B()}const R=a((()=>U(k.value||e.options||[])));function U(e){return e.map((e=>{const t={...e};return t[x.value]=c(t[x.value]),p(e.children)&&(t.children=U(e.children)),t}))}const $=a((()=>!e.filterable)),_=z(q);return()=>o(v,{key:_.value,remote:$.value,filterable:e.filterable,"menu-props":{class:L,onClick:I},"check-strategy":e.checkStrategy,show:!!N.value,"onUpdate:show":P,value:q.value,filter:E,"onUpdate:value":K,labelField:H.value,valueField:x.value,options:R.value,onLoad:B,onFocus:j(C)},u)}}),i({dataSource:"options"},k));export{C 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{last as s,isEqual as c,isArray as p,isString as d}from"lodash-es";import{NCascader as v}from"naive-ui";import"../../../index.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as f,InjectionAsyncQueue as y,InjectionFormUUID as h}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 k,createVisitedSetter as j,traverseDependKey as g}from"../../utils/schema.js";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 b}from"../../hooks/useFormField.js";import"@formily/reactive";import"../../hooks/useFormValidator.js";const C=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 k=t(),{field:C,title:S,fieldKey:F}=b(),w=t(1),A=t(!0);const H=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),x=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"}));l(f).setContext(F.value,(()=>({labelField:H.value,valueField:x.value})));const q=a((()=>{var t;try{const a=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(a)||!a.length)return null;const l=null==(t=s(a))?void 0:t[x.value];return null!=l?l:a.map((e=>e[H.value])).join(" / ")}catch(e){return null}}));function K(e,t,a){i("update:value",p(a)?a.map((function(e){return{...e,label:e[H.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const V=l(y);async function B(t){e.filterable?await async function(){if(!e.urlConfig||k.value&&e.requestCache)return;const t=await V.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:F.value,cache:e.requestCache,payload:{field:C.value,labelKey:H.value,valueKey:x.value}});function a(e,t,o){const r=[...o,...l(e)],n={[H.value]:e[H.value],[x.value]:e[x.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:r};return p(e.children)&&(n.children=e.children.map((e=>a(e,t+1,r))),n.isLeaf=!e.children.length),w.value=Math.max(w.value,t+1),n}function l(e){let t=[];if(d(e[H.value])&&(t=[...t,e[H.value]]),d(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}k.value=t.map((e=>a(e,0,[])))}():await async function(t){if(o(e,t))return;const a=await V.addAsync(r(s(t),i(e),S.value,t));if(!a.length&&t)return t.isLeaf=!0,K(0,0,n(t)),void(N.value=!1);const l=a.map((e=>u(e,s(t))));function o(e,t){return!i(e)||!t&&k.value&&e.requestCache||s(t)>=s(e)-1}function r(t,a,l,o){const r={lvlnr:t+1+""};return o&&a.dependKey&&g(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{[H.value]:a[H.value],[x.value]:a[x.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:k.value=l}(t),await I()}const L=`form-render__cascade--menu-${l(h)}`;async function I(){await n();const e=document.querySelector(`.${L} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function E(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;return!(e.checkStrategy.includes("child")&&a.depth<w.value)&&(l.length>0&&l.some((e=>e.includes(t.trim()))))}const{injectValueValidate:O,injectValueWatchFromEmpty:W,injectValueBindKey:z}=m();W((()=>e.value),B),O((()=>e.value)),o((()=>e.urlConfig),(async(t,a)=>{c(t,a)||(k.value=null,A.value?e.lazyRequest||(B(),A.value=!A.value):await B())}),{immediate:!0});const N=t(!1);function P(e){N.value=!!e,e&&B()}const R=a((()=>k.value||e.options||[])),U=a((()=>!e.filterable)),$=z(q);return()=>r(v,{key:$.value,remote:U.value,filterable:e.filterable,"menu-props":{class:L,onClick:I},"check-strategy":e.checkStrategy,show:!!N.value,"onUpdate:show":P,value:q.value,filter:E,"onUpdate:value":K,labelField:H.value,valueField:x.value,options:R.value,onLoad:B,onFocus:j(C)},u)}}),i({dataSource:"options"},k));export{C as SEARCH_CASCADER};
@@ -13,7 +13,7 @@ export declare function useFormExposeEvent({ formModel, formRenderRef, formUUID,
13
13
  operationalFormHandler: ReturnType<typeof useOperationalForm>;
14
14
  changeContextCollector: ContextCollector;
15
15
  emitFormChange: Ref<boolean>;
16
- }): Omit<FormRenderExpose, 'formModel' | 'reload' | 'getFieldList' | 'optionInited'>;
16
+ }): Omit<FormRenderExpose, 'formModel' | 'reload' | 'getFieldList' | 'optionInited' | 'updateAnchor'>;
17
17
  export declare function useFormDomEvent({ props, formRenderRef, formModel, formUUID }: {
18
18
  props: FormRenderProps;
19
19
  formRenderRef: Ref<HTMLElement | undefined>;
@@ -103,6 +103,7 @@ export type FormRenderExpose = {
103
103
  optionInited(options?: Partial<{
104
104
  timeout: number;
105
105
  }>): Promise<void>;
106
+ updateAnchor: () => void;
106
107
  };
107
108
  export type FormChangeContext = Partial<{
108
109
  currentOption: AnyObject;
@@ -762,6 +762,9 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
762
762
  '--c-tip-top': string;
763
763
  '--c-tip-gap': string;
764
764
  }>;
765
+ renderToolbar: ({ nodes }: import("naive-ui").ImageRenderToolbarProps) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
766
+ [key: string]: any;
767
+ }>[];
765
768
  getHistoryRecord: () => Promise<void>;
766
769
  handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
767
770
  setMenuPosition: (event: MouseEvent) => Promise<void>;
@@ -988,8 +991,9 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
988
991
  isWrap: (event: KeyboardEvent) => boolean;
989
992
  handleInput: () => void;
990
993
  selectEmoji: (name: string) => void;
994
+ doUpdateFile: (file: File) => Promise<string>;
991
995
  fileChange: (options: import("./src/types").FileOptions, chatMessageType: import("./src/constants").MESSAGE_TYPE) => Promise<void>;
992
- handleMsgSend: () => void;
996
+ handleMsgSend: () => Promise<void>;
993
997
  doSendMessage: (contentInfo: import("../../shared/types").AnyObject) => Promise<void>;
994
998
  NButton: any;
995
999
  NPopover: any;
@@ -767,6 +767,9 @@ declare const _default: import("vue").DefineComponent<{
767
767
  '--c-tip-top': string;
768
768
  '--c-tip-gap': string;
769
769
  }>;
770
+ renderToolbar: ({ nodes }: import("naive-ui").ImageRenderToolbarProps) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
771
+ [key: string]: any;
772
+ }>[];
770
773
  getHistoryRecord: () => Promise<void>;
771
774
  handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
772
775
  setMenuPosition: (event: MouseEvent) => Promise<void>;
@@ -993,8 +996,9 @@ declare const _default: import("vue").DefineComponent<{
993
996
  isWrap: (event: KeyboardEvent) => boolean;
994
997
  handleInput: () => void;
995
998
  selectEmoji: (name: string) => void;
999
+ doUpdateFile: (file: File) => Promise<string>;
996
1000
  fileChange: (options: import("./types").FileOptions, chatMessageType: import("./constants").MESSAGE_TYPE) => Promise<void>;
997
- handleMsgSend: () => void;
1001
+ handleMsgSend: () => Promise<void>;
998
1002
  doSendMessage: (contentInfo: AnyObject) => Promise<void>;
999
1003
  NButton: any;
1000
1004
  NPopover: any;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as a,computed as l,watch as t,openBlock as i,createElementBlock as r,Fragment as o,createVNode as u,unref as s,withCtx as n,createElementVNode as d,createCommentVNode as v,isRef as c,renderList as p,createBlock as m,toDisplayString as f,createTextVNode as h,renderSlot as b}from"vue";import{NModal as g,NInput as I,NIcon as k,NCheckbox as y,NCheckboxGroup as w,NSpace as _,NAvatar as S,NTag as x,NTooltip as U,NButton as j}from"naive-ui";import{SearchOutline as C,AddOutline as L}from"@vicons/ionicons5";import{useState as A}from"../hooks/useState.js";import{useSession as G}from"../hooks/useSession.js";import{CHAT_TYPE as R}from"../constants/index.js";import"trtc-sdk-v5";import{listSort as V}from"../utils/index.js";import{groupLeaveApi as E,groupJoinApi as N,groupCreateApi as $}from"../api/index.js";import{cloneDeep as M,union as T,unionBy as z,remove as D,isArray as P,uniqBy as q,trim as B}from"lodash-es";import{useSearchUserList as F}from"../hooks/useSearchUserList.js";const H={class:"iho-chat-dialog__content iho-chat-add-wrapper"},J={key:0,class:"input-box"},K=d("span",null,"群名称:",-1),O={class:"transfer-box"},Q={class:"transfer-box__left"},W={class:"user-list-box"},X={key:1,class:"no-data"},Y={class:"transfer-box__right"},Z={class:"checked-tag-box"};var ee=e({__name:"ChatAdd",props:{title:{type:String,default:"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array}},emits:["comfirm"],setup(e,{emit:ee}){const ae=e,{state:le}=A(),{setCurrentSessionItem:te}=G(le),ie=a(),re=a(""),oe=a(!1),ue=a([]),se=a([]),ne=a(""),de=a([]),{userList:ve,handleInput:ce}=F({wrapperRef:ie,keywordRef:re,before:()=>{ve.value=M(se.value),Ie()},after:()=>{ve.value.forEach((e=>{var a;e.disabled=null==(a=pe.value)?void 0:a.includes(e.id)})),Ie()}}),pe=l((()=>T(ae.disabledIds,[le.userInfo.id]))),me=l((()=>{var e,a;return(null==(e=le.sessionList)?void 0:e.length)?null==(a=V(le.sessionList).filter((e=>e.chatType===R.SINGLE)))?void 0:a.map((e=>({id:e.receiver,name:e.name,avatar:e.avatar}))):[]})),fe=l((()=>ue.value.length?ue.value.map((e=>e.id)):[])),he=l((()=>"create"===ae.mode?fe.value.length<3:fe.value.length<1)),be=l({get:()=>de.value.length===ve.value.filter((e=>!e.disabled)).length,set(e){const a=ve.value.filter((e=>!e.disabled));de.value=e?a.map((e=>e.id)):[],e?ue.value=z(ue.value,a,"id"):D(ue.value,(e=>a.map((e=>e.id)).includes(e.id)))}});async function ge(){switch(ae.mode){case"create":await $({creator:le.userInfo.id,memberIdSet:fe.value,name:B(ne.value),orgId:le.orgId});break;case"join":if(await N({groupId:le.currentSessionItem.receiver,operator:le.userInfo.id,memberIdSet:fe.value}),!le.currentSessionItem.defaultName){const e=ue.value.map((e=>e.name)).join(",");te({name:`${le.currentSessionItem.name},${e}`})}le.currentGroupUser.push(ve.value.filter((e=>fe.value.includes(e.value))));break;case"remove":{const e=le.currentGroupUser.length-fe.value.length<3;if(await E({dissolution:e,groupId:le.currentSessionItem.receiver,operator:le.userInfo.id,memberIdSet:fe.value}),!e){if(!le.currentSessionItem.defaultName){const e=ue.value.map((e=>e.name)).join(","),a=new RegExp(e,"g");te({name:le.currentSessionItem.name.replace(a,"")})}D(le.currentGroupUser,(e=>fe.value.includes(e.id)))}break}default:ee("comfirm",fe.value)}oe.value=!1}function Ie(){var e,a;de.value=null!=(a=null==(e=ve.value.filter((e=>fe.value.includes(e.id))))?void 0:e.map((e=>e.id)))?a:[]}function ke(e,a){if("check"===a.actionType){const e=ve.value.find((e=>e.id===a.value));ue.value.push(e)}else D(ue.value,(e=>e.id===a.value))}return t((()=>oe.value),(e=>{if(!e)return;re.value="",ne.value="";const a=P(ae.options)&&ae.options.length?ae.options:me.value;se.value=q(a,"id").map((e=>{var a;return{...e,disabled:null==(a=pe.value)?void 0:a.includes(e.id)}})),ve.value=M(se.value),P(ae.defaultValue)&&ae.defaultValue.length?(ue.value=M(ae.defaultValue),Ie()):(ue.value=[],de.value=[])})),(a,l)=>(i(),r(o,null,[u(s(g),{preset:"dialog",title:e.title,"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog",show:oe.value,"onUpdate:show":l[4]||(l[4]=e=>oe.value=e),"negative-text":"取消","positive-text":"确定","display-directive":"show","positive-button-props":{disabled:s(he)},onPositiveClick:ge},{default:n((()=>[d("div",H,["create"===e.mode?(i(),r("div",J,[K,u(s(I),{clearable:"",placeholder:"取个群名称方便后续搜索",value:ne.value,"onUpdate:value":l[0]||(l[0]=e=>ne.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):v("v-if",!0),d("div",O,[d("div",Q,[u(s(I),{placeholder:"搜索",clearable:"",value:re.value,"onUpdate:value":[l[1]||(l[1]=e=>re.value=e),s(ce)],valueModifiers:{trim:!0}},{prefix:n((()=>[u(s(k),{component:s(C)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),d("div",W,[s(ve).length>0?(i(),r(o,{key:0},[u(s(y),{label:"全选",checked:s(be),"onUpdate:checked":l[2]||(l[2]=e=>c(be)?be.value=e:null)},null,8,["checked"]),u(s(w),{ref_key:"listRef",ref:ie,value:de.value,"onUpdate:value":[l[3]||(l[3]=e=>de.value=e),ke]},{default:n((()=>[(i(!0),r(o,null,p(s(ve),(e=>(i(),m(s(y),{key:e.id,value:e.id,disabled:e.disabled},{default:n((()=>[u(s(_),{align:"center","wrap-item":!1},{default:n((()=>[u(s(S),{src:e.avatar,round:"",size:32},null,8,["src"]),d("span",null,f(e.name),1)])),_:2},1024)])),_:2},1032,["value","disabled"])))),128))])),_:1},8,["value"])],64)):(i(),r("div",X,"找不到相关结果"))])]),d("div",Y,[d("span",null,"已选择 "+f(s(fe).length)+" 人",1),d("div",Z,[(i(!0),r(o,null,p(ue.value,(e=>(i(),m(s(x),{key:e.id,bordered:!1,closable:e.id!==s(le).userInfo.id,disabled:s(pe).includes(e.id),onClose:()=>{return a=e.id,D(ue.value,(e=>e.id===a)),void D(de.value,(e=>e===a));var a}},{avatar:n((()=>[u(s(S),{round:"",src:e.avatar},null,8,["src"])])),default:n((()=>[h(" "+f(e.name),1)])),_:2},1032,["closable","disabled","onClose"])))),128))])])])])])),_:1},8,["title","show","positive-button-props"]),d("span",{class:"btn-wrapper",onClick:l[5]||(l[5]=e=>oe.value=!0)},[b(a.$slots,"trigger",{},(()=>[u(s(U),{"show-arrow":!1,trigger:"hover",placement:"bottom"},{trigger:n((()=>[u(s(j),{color:"#ffffff4D",class:"add-btn"},{icon:n((()=>[u(s(k),{component:s(L),color:"#fff"},null,8,["component"])])),_:1})])),default:n((()=>[h(" "+f(e.title),1)])),_:1})]))])],64))}});export{ee as default};
1
+ import{defineComponent as e,ref as a,computed as l,watch as t,openBlock as i,createElementBlock as r,Fragment as o,createVNode as u,unref as s,withCtx as n,createElementVNode as d,createCommentVNode as v,isRef as c,renderList as p,createBlock as m,toDisplayString as f,createTextVNode as h,renderSlot as b}from"vue";import{NModal as g,NInput as I,NIcon as k,NCheckbox as y,NCheckboxGroup as w,NSpace as _,NAvatar as S,NTag as x,NTooltip as U,NButton as j}from"naive-ui";import{SearchOutline as C,AddOutline as L}from"@vicons/ionicons5";import{useState as A}from"../hooks/useState.js";import{useSession as G}from"../hooks/useSession.js";import{CHAT_TYPE as R}from"../constants/index.js";import"trtc-sdk-v5";import{listSort as V}from"../utils/index.js";import{groupLeaveApi as E,groupJoinApi as N,groupCreateApi as $}from"../api/index.js";import{cloneDeep as M,union as T,unionBy as z,remove as D,isArray as P,uniqBy as q,trim as B}from"lodash-es";import{useSearchUserList as F}from"../hooks/useSearchUserList.js";const H={class:"iho-chat-dialog__content iho-chat-add-wrapper"},J={key:0,class:"input-box"},K=d("span",null,"群名称:",-1),O={class:"transfer-box"},Q={class:"transfer-box__left"},W={class:"user-list-box"},X={key:1,class:"no-data"},Y={class:"transfer-box__right"},Z={class:"checked-tag-box"};var ee=e({__name:"ChatAdd",props:{title:{type:String,default:"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array}},emits:["comfirm"],setup(e,{emit:ee}){const ae=e,{state:le}=A(),{setCurrentSessionItem:te}=G(le),ie=a(),re=a(""),oe=a(!1),ue=a([]),se=a([]),ne=a(""),de=a([]),{userList:ve,handleInput:ce}=F({wrapperRef:ie,keywordRef:re,before:()=>{ve.value=M(se.value),Ie()},after:()=>{ve.value.forEach((e=>{var a;e.disabled=null==(a=pe.value)?void 0:a.includes(e.id)})),Ie()}}),pe=l((()=>T(ae.disabledIds,[le.userInfo.id]))),me=l((()=>{var e,a;return(null==(e=le.sessionList)?void 0:e.length)?null==(a=V(le.sessionList).filter((e=>e.chatType===R.SINGLE)))?void 0:a.map((e=>({id:e.receiver,name:e.name,avatar:e.avatar}))):[]})),fe=l((()=>ue.value.length?ue.value.map((e=>e.id)):[])),he=l((()=>"create"===ae.mode?fe.value.length<3:fe.value.length<1)),be=l({get:()=>de.value.length===ve.value.filter((e=>!e.disabled)).length,set(e){const a=ve.value.filter((e=>!e.disabled));de.value=e?a.map((e=>e.id)):[],e?ue.value=z(ue.value,a,"id"):D(ue.value,(e=>a.map((e=>e.id)).includes(e.id)))}});async function ge(){switch(ae.mode){case"create":await $({creator:le.userInfo.id,memberIdSet:fe.value,name:B(ne.value),orgId:le.orgId});break;case"join":if(await N({groupId:le.currentSessionItem.receiver,operator:le.userInfo.id,memberIdSet:fe.value}),!le.currentSessionItem.defaultName){const e=ue.value.map((e=>e.name)).join(",");te({name:`${le.currentSessionItem.name},${e}`})}le.currentGroupUser.push(ve.value.filter((e=>fe.value.includes(e.value))));break;case"remove":{const e=le.currentGroupUser.length-fe.value.length<2;if(await E({dissolution:e,groupId:le.currentSessionItem.receiver,operator:le.userInfo.id,memberIdSet:fe.value}),!e){if(!le.currentSessionItem.defaultName){const e=ue.value.map((e=>e.name)).join(","),a=new RegExp(e,"g");te({name:le.currentSessionItem.name.replace(a,"")})}D(le.currentGroupUser,(e=>fe.value.includes(e.id)))}break}default:ee("comfirm",fe.value)}oe.value=!1}function Ie(){var e,a;de.value=null!=(a=null==(e=ve.value.filter((e=>fe.value.includes(e.id))))?void 0:e.map((e=>e.id)))?a:[]}function ke(e,a){if("check"===a.actionType){const e=ve.value.find((e=>e.id===a.value));ue.value.push(e)}else D(ue.value,(e=>e.id===a.value))}return t((()=>oe.value),(e=>{if(!e)return;re.value="",ne.value="";const a=P(ae.options)&&ae.options.length?ae.options:me.value;se.value=q(a,"id").map((e=>{var a;return{...e,disabled:null==(a=pe.value)?void 0:a.includes(e.id)}})),ve.value=M(se.value),P(ae.defaultValue)&&ae.defaultValue.length?(ue.value=M(ae.defaultValue),Ie()):(ue.value=[],de.value=[])})),(a,l)=>(i(),r(o,null,[u(s(g),{preset:"dialog",title:e.title,"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog",show:oe.value,"onUpdate:show":l[4]||(l[4]=e=>oe.value=e),"negative-text":"取消","positive-text":"确定","display-directive":"show","positive-button-props":{disabled:s(he)},onPositiveClick:ge},{default:n((()=>[d("div",H,["create"===e.mode?(i(),r("div",J,[K,u(s(I),{clearable:"",placeholder:"取个群名称方便后续搜索",value:ne.value,"onUpdate:value":l[0]||(l[0]=e=>ne.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):v("v-if",!0),d("div",O,[d("div",Q,[u(s(I),{placeholder:"搜索",clearable:"",value:re.value,"onUpdate:value":[l[1]||(l[1]=e=>re.value=e),s(ce)],valueModifiers:{trim:!0}},{prefix:n((()=>[u(s(k),{component:s(C)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),d("div",W,[s(ve).length>0?(i(),r(o,{key:0},[u(s(y),{label:"全选",checked:s(be),"onUpdate:checked":l[2]||(l[2]=e=>c(be)?be.value=e:null)},null,8,["checked"]),u(s(w),{ref_key:"listRef",ref:ie,value:de.value,"onUpdate:value":[l[3]||(l[3]=e=>de.value=e),ke]},{default:n((()=>[(i(!0),r(o,null,p(s(ve),(e=>(i(),m(s(y),{key:e.id,value:e.id,disabled:e.disabled},{default:n((()=>[u(s(_),{align:"center","wrap-item":!1},{default:n((()=>[u(s(S),{src:e.avatar,round:"",size:32},null,8,["src"]),d("span",null,f(e.name),1)])),_:2},1024)])),_:2},1032,["value","disabled"])))),128))])),_:1},8,["value"])],64)):(i(),r("div",X,"找不到相关结果"))])]),d("div",Y,[d("span",null,"已选择 "+f(s(fe).length)+" 人",1),d("div",Z,[(i(!0),r(o,null,p(ue.value,(e=>(i(),m(s(x),{key:e.id,bordered:!1,closable:e.id!==s(le).userInfo.id,disabled:s(pe).includes(e.id),onClose:()=>{return a=e.id,D(ue.value,(e=>e.id===a)),void D(de.value,(e=>e===a));var a}},{avatar:n((()=>[u(s(S),{round:"",src:e.avatar},null,8,["src"])])),default:n((()=>[h(" "+f(e.name),1)])),_:2},1032,["closable","disabled","onClose"])))),128))])])])])])),_:1},8,["title","show","positive-button-props"]),d("span",{class:"btn-wrapper",onClick:l[5]||(l[5]=e=>oe.value=!0)},[b(a.$slots,"trigger",{},(()=>[u(s(U),{"show-arrow":!1,trigger:"hover",placement:"bottom"},{trigger:n((()=>[u(s(j),{color:"#ffffff4D",class:"add-btn"},{icon:n((()=>[u(s(k),{component:s(L),color:"#fff"},null,8,["component"])])),_:1})])),default:n((()=>[h(" "+f(e.title),1)])),_:1})]))])],64))}});export{ee as default};
@@ -23,8 +23,9 @@ declare const _default: import("vue").DefineComponent<{}, {
23
23
  isWrap: (event: KeyboardEvent) => boolean;
24
24
  handleInput: () => void;
25
25
  selectEmoji: (name: string) => void;
26
+ doUpdateFile: (file: File) => Promise<string>;
26
27
  fileChange: (options: FileOptions, chatMessageType: MESSAGE_TYPE) => Promise<void>;
27
- handleMsgSend: () => void;
28
+ handleMsgSend: () => Promise<void>;
28
29
  doSendMessage: (contentInfo: AnyObject) => Promise<void>;
29
30
  NButton: any;
30
31
  NPopover: any;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as n,watch as r,withDirectives as o,openBlock as i,createElementBlock as s,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as p,createCommentVNode as g,withCtx as f,Fragment as m,renderList as d,createBlock as h,createTextVNode as y,mergeProps as v,vShow as w}from"vue";import{NIcon as M,NTooltip as _,NPopover as k,NButton as C,NUpload as I,NUploadTrigger as T}from"naive-ui";import b from"./ChatAdd.vue.js";import{useState as E}from"../hooks/useState.js";import{useSession as x}from"../hooks/useSession.js";import{MESSAGE_TYPE as z,AV_STATUS as j}from"../constants/index.js";import"trtc-sdk-v5";import{simplifyMessage as L}from"../utils/index.js";import{emojis as R}from"../utils/emoji.js";import{uploadFileApi as q}from"../api/index.js";import{CloseCircleOutline as O,CallOutline as D,VideocamOutline as A}from"@vicons/ionicons5";import{xor as V,cloneDeep as K}from"lodash-es";import{uuidGenerator as F}from"../../../../shared/utils/index.js";const H={key:0,class:"reference-content-box"},U={class:"reference-content"},G=["innerHTML"],J={class:"tool-box"},N=l("i",{class:"chat--iconfont chat--icon-face"},null,-1),S=l("span",null,"默认表情",-1),X={class:"list-box"},B=["src"],$=l("i",{class:"chat--iconfont chat--icon-good"},null,-1),P=l("i",{class:"chat--iconfont chat--icon-image"},null,-1),Q=l("i",{class:"chat--iconfont chat--icon-folder"},null,-1),W={class:"btn-box"},Y=l("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var Z=e({__name:"ChatFooter",setup(e){const Z=t(),{state:ee,sendMessage:te}=E(),{isGroupChat:ne}=x(ee),re=t(!1),oe=t(""),ie=n((()=>({options:ee.currentGroupUser,defaultValue:[ee.userInfo]}))),se=n((()=>!oe.value.replace(/(&nbsp;|\s|<br>)+/g,"")));function ae(e,t=[]){const n=F(),r=[],o=t.length>0;ee.showVideo||ee.showMultipleVideo||(o?(r.push(...V(t,[ee.userInfo.id])),Object.assign(ee.currentAVMsg,{callMode:"call",checkedIds:r,strRoomId:n,chatMessageType:e}),ee.showMultipleVideo=!0):te({content:{chatMessageType:e,msg:"",avStatus:j.IN_CALL}}))}function ce(e){["Enter"].includes(e.key)&&(e.ctrlKey&&(e.preventDefault(),document.execCommand("InsertLineBreak")),function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),pe()))}function le(){var e;oe.value=(null==(e=Z.value)?void 0:e.innerHTML)||""}async function ue(e,t){const{file:n,name:r}=e.file,o=new FormData;o.append("sender",ee.userInfo.id),o.append("file",n);const i=await q(o);if(!i)return console.log("上传失败");ge({chatMessageType:t,msg:t===z.FILE?r:i,url:i})}function pe(){const{innerHTML:e="",innerText:t=""}=Z.value||{};if(se.value)return console.log("请输入内容");const n=e.split(t).find((e=>!!e));let r=z.TEXT,o="";if(n){if(t.replace(/\n$/,"")||(e.match(/<img[^>]*>/gi)||[]).length>1)r=z.BLEND,o=e;else if(e.includes(z.EMOJI)){r=z.EMOJI;const t=e.match(/data-msg\s*=\s*"([^"]*)"/);t&&(o=t[1])}else{r=z.IMAGE;const t=e.match(/src\s*=\s*"([^"]*)"/);t&&(o=t[1])}}else o=t.trim();o&&ge({msg:o,chatMessageType:r,origin:"btn"})}async function ge(e){const{chatMessageType:t=z.TEXT,msg:n,url:r,origin:o=""}=e,i={msg:n,chatMessageType:t};t===z.FILE&&(i.fileUrl=r),"btn"===o&&(Z.value.innerHTML="",oe.value=""),ee.currentReferenceMsg&&(t===z.TEXT&&(i.referenceContent=K(ee.currentReferenceMsg)),ee.currentReferenceMsg=null),te({content:i})}return r((()=>ee.currentReferenceMsg),(e=>{var t;e&&(null==(t=Z.value)||t.focus())})),(e,t)=>o((i(),s("section",{class:"chat-footer",style:a({cursor:c(ee).id?"default":"not-allowed"})},[c(ee).currentReferenceMsg?(i(),s("div",H,[l("div",U,[l("span",null,u(c(ee).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:c(L)(c(ee).currentReferenceMsg.content)},null,8,G)]),p(c(M),{component:c(O),onClick:t[0]||(t[0]=()=>c(ee).currentReferenceMsg=null)},null,8,["component"])])):g("v-if",!0),l("div",J,[p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(k),{"content-class":"emoji-content",class:"emoji-wrapper",show:re.value,"onUpdate:show":t[1]||(t[1]=e=>re.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny"},{icon:f((()=>[N])),_:1})])),default:f((()=>[S,l("div",X,[(i(!0),s(m,null,d(c(R).default,(([e,t])=>(i(),h(c(_),{key:e,"show-arrow":!1,trigger:"hover"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny",onClick:()=>function(e){re.value=!1,ge({chatMessageType:z.EMOJI,msg:e})}(e)},{icon:f((()=>[l("img",{src:t},null,8,B)])),_:2},1032,["onClick"])])),default:f((()=>[y(" "+u(e),1)])),_:2},1024)))),128))])])),_:1},8,["show"])])),default:f((()=>[y(" 表情 ")])),_:1}),p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>ge({chatMessageType:c(z).EMOJI,msg:0}))},{icon:f((()=>[$])),_:1})])),default:f((()=>[y(" 点赞 ")])),_:1}),p(c(I),{abstract:"",multiple:"",accept:"image/*",onChange:t[3]||(t[3]=e=>ue(e,c(z).IMAGE))},{default:f((()=>[p(c(T),{abstract:""},{default:f((({handleClick:e})=>[p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:f((()=>[P])),_:2},1032,["onClick"])])),default:f((()=>[y(" 上传图片 ")])),_:2},1024)])),_:1})])),_:1}),p(c(I),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:t[4]||(t[4]=e=>ue(e,c(z).FILE))},{default:f((()=>[p(c(T),{abstract:""},{default:f((({handleClick:e})=>[p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:f((()=>[Q])),_:2},1032,["onClick"])])),default:f((()=>[y(" 上传文件 ")])),_:2},1024)])),_:1})])),_:1}),c(ne)?(i(),s(m,{key:0},[p(b,v(c(ie),{onComfirm:t[5]||(t[5]=e=>ae(c(z).AUDIO,e))}),{trigger:f((()=>[p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny"},{icon:f((()=>[p(c(M),{size:"18",component:c(D)},null,8,["component"])])),_:1})])),default:f((()=>[y(" 语音通话 ")])),_:1})])),_:1},16),p(b,v(c(ie),{onComfirm:t[6]||(t[6]=e=>ae(c(z).VIDEO,e))}),{trigger:f((()=>[p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny"},{icon:f((()=>[p(c(M),{size:"20",component:c(A)},null,8,["component"])])),_:1})])),default:f((()=>[y(" 视频会议 ")])),_:1})])),_:1},16)],64)):(i(),s(m,{key:1},[p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny",onClick:t[7]||(t[7]=()=>ae(c(z).AUDIO))},{icon:f((()=>[p(c(M),{size:"18",component:c(D)},null,8,["component"])])),_:1})])),default:f((()=>[y(" 语音通话 ")])),_:1}),p(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:f((()=>[p(c(C),{quaternary:"",size:"tiny",onClick:t[8]||(t[8]=()=>ae(c(z).VIDEO))},{icon:f((()=>[p(c(M),{size:"20",component:c(A)},null,8,["component"])])),_:1})])),default:f((()=>[y(" 视频通话 ")])),_:1})],64))]),o(l("div",{ref_key:"inputRef",ref:Z,class:"input-box",contenteditable:"",onKeydown:ce,onInput:le},null,544),[[w,c(ee).id]]),l("div",W,[Y,p(c(C),{type:"primary",round:"",disabled:c(se),onClick:pe},{default:f((()=>[y("发送")])),_:1},8,["disabled"])])],4)),[[w,c(ee).id]])}});export{Z as default};
1
+ import{defineComponent as e,ref as t,computed as n,watch as o,withDirectives as r,openBlock as i,createElementBlock as s,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as g,createCommentVNode as f,withCtx as p,Fragment as d,renderList as m,createBlock as h,createTextVNode as y,mergeProps as v,vShow as w}from"vue";import{NIcon as M,NTooltip as _,NPopover as k,NButton as C,NUpload as I,NUploadTrigger as T}from"naive-ui";import E from"./ChatAdd.vue.js";import{useState as b}from"../hooks/useState.js";import{useSession as x}from"../hooks/useSession.js";import{MESSAGE_TYPE as z,AV_STATUS as j}from"../constants/index.js";import"trtc-sdk-v5";import{simplifyMessage as L,base64ToFile as O}from"../utils/index.js";import{emojis as R}from"../utils/emoji.js";import{uploadFileApi as q}from"../api/index.js";import{CloseCircleOutline as D,CallOutline as A,VideocamOutline as V}from"@vicons/ionicons5";import{xor as K,trim as F,cloneDeep as H}from"lodash-es";import{uuidGenerator as J}from"../../../../shared/utils/index.js";const U={key:0,class:"reference-content-box"},G={class:"reference-content"},N=["innerHTML"],S={class:"tool-box"},X=l("i",{class:"chat--iconfont chat--icon-face"},null,-1),B=l("span",null,"默认表情",-1),$={class:"list-box"},P=["src"],Q=l("i",{class:"chat--iconfont chat--icon-good"},null,-1),W=l("i",{class:"chat--iconfont chat--icon-image"},null,-1),Y=l("i",{class:"chat--iconfont chat--icon-folder"},null,-1),Z={class:"btn-box"},ee=l("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var te=e({__name:"ChatFooter",setup(e){const te=t(),{state:ne,sendMessage:oe}=b(),{isGroupChat:re}=x(ne),ie=t(!1),se=t(""),ae=n((()=>({options:ne.currentGroupUser,defaultValue:[ne.userInfo]}))),ce=n((()=>!se.value.replace(/(&nbsp;|\s|<br>)+/g,"")));function le(e,t=[]){const n=J(),o=[],r=t.length>0;ne.showVideo||ne.showMultipleVideo||(r?(o.push(...K(t,[ne.userInfo.id])),Object.assign(ne.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:n,chatMessageType:e}),ne.showMultipleVideo=!0):oe({content:{chatMessageType:e,msg:"",avStatus:j.IN_CALL}}))}function ue(e){["Enter"].includes(e.key)&&(e.ctrlKey&&(e.preventDefault(),document.execCommand("InsertLineBreak")),function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),de()))}function ge(){var e;se.value=(null==(e=te.value)?void 0:e.innerHTML)||""}async function fe(e){const t=new FormData;return t.append("sender",ne.userInfo.id),t.append("file",e),await q(t)}async function pe(e,t){const{file:n,name:o}=e.file,r=await fe(n);if(!r)return console.log("上传失败");me({chatMessageType:t,msg:t===z.FILE?o:r,url:r})}async function de(){const{innerHTML:e="",innerText:t="",outerText:n=""}=te.value||{};if(ce.value)return console.log("请输入内容");let o=z.TEXT,r="";if(e){const n=e.match(/<img[^>]*>/gi),i=(n||[]).length;if(t&&0===i)r=t;else if(t||1!==i){if(o=z.BLEND,r=e,null==n?void 0:n.length)for(let e=0;e<i;e++)if(n[e].includes(`data-type="${z.EMOJI}"`)){const t=n[e].match(/data-msg="(.*?)"/);t&&t.length>1&&(r=r.replace(n[e],`[${t[1]}]`))}else{const t=n[e].match(/src\s*=\s*"([^"]*)"/);if(t&&t.length>1){const e=O(t[1]);if(e){const n=await fe(e);r=r.replace(t[1],n||"")}}}}else if(e.includes(z.EMOJI)){o=z.EMOJI;const t=e.match(/data-msg\s*=\s*"([^"]*)"/);t&&(r=t[1])}else{o=z.IMAGE;const t=e.match(/src\s*=\s*"([^"]*)"/);if(t){const e=O(t[1]);if(e){const t=await fe(e);t&&(r=t)}}}}else r=F(t);r&&me({msg:r,chatMessageType:o,origin:"btn"})}async function me(e){const{chatMessageType:t=z.TEXT,msg:n,url:o,origin:r=""}=e,i={msg:n,chatMessageType:t};t===z.FILE&&(i.fileUrl=o),"btn"===r&&(te.value.innerHTML="",se.value=""),ne.currentReferenceMsg&&(t===z.TEXT&&(i.referenceContent=H(ne.currentReferenceMsg)),ne.currentReferenceMsg=null),oe({content:i})}return o((()=>ne.currentReferenceMsg),(e=>{var t;e&&(null==(t=te.value)||t.focus())})),(e,t)=>r((i(),s("section",{class:"chat-footer",style:a({cursor:c(ne).id?"default":"not-allowed"})},[c(ne).currentReferenceMsg?(i(),s("div",U,[l("div",G,[l("span",null,u(c(ne).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:c(L)(c(ne).currentReferenceMsg.content)},null,8,N)]),g(c(M),{component:c(D),onClick:t[0]||(t[0]=()=>c(ne).currentReferenceMsg=null)},null,8,["component"])])):f("v-if",!0),l("div",S,[g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(k),{"content-class":"emoji-content",class:"emoji-wrapper",show:ie.value,"onUpdate:show":t[1]||(t[1]=e=>ie.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny"},{icon:p((()=>[X])),_:1})])),default:p((()=>[B,l("div",$,[(i(!0),s(d,null,m(c(R).default,(([e,t])=>(i(),h(c(_),{key:e,"show-arrow":!1,trigger:"hover"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny",onClick:()=>function(e){ie.value=!1,me({chatMessageType:z.EMOJI,msg:e})}(e)},{icon:p((()=>[l("img",{src:t},null,8,P)])),_:2},1032,["onClick"])])),default:p((()=>[y(" "+u(e),1)])),_:2},1024)))),128))])])),_:1},8,["show"])])),default:p((()=>[y(" 表情 ")])),_:1}),g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>me({chatMessageType:c(z).EMOJI,msg:0}))},{icon:p((()=>[Q])),_:1})])),default:p((()=>[y(" 点赞 ")])),_:1}),g(c(I),{abstract:"",multiple:"",accept:"image/*",onChange:t[3]||(t[3]=e=>pe(e,c(z).IMAGE))},{default:p((()=>[g(c(T),{abstract:""},{default:p((({handleClick:e})=>[g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:p((()=>[W])),_:2},1032,["onClick"])])),default:p((()=>[y(" 上传图片 ")])),_:2},1024)])),_:1})])),_:1}),g(c(I),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:t[4]||(t[4]=e=>pe(e,c(z).FILE))},{default:p((()=>[g(c(T),{abstract:""},{default:p((({handleClick:e})=>[g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:p((()=>[Y])),_:2},1032,["onClick"])])),default:p((()=>[y(" 上传文件 ")])),_:2},1024)])),_:1})])),_:1}),c(re)?(i(),s(d,{key:0},[g(E,v(c(ae),{onComfirm:t[5]||(t[5]=e=>le(c(z).AUDIO,e))}),{trigger:p((()=>[g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny"},{icon:p((()=>[g(c(M),{size:"18",component:c(A)},null,8,["component"])])),_:1})])),default:p((()=>[y(" 语音通话 ")])),_:1})])),_:1},16),g(E,v(c(ae),{onComfirm:t[6]||(t[6]=e=>le(c(z).VIDEO,e))}),{trigger:p((()=>[g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny"},{icon:p((()=>[g(c(M),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),default:p((()=>[y(" 视频会议 ")])),_:1})])),_:1},16)],64)):(i(),s(d,{key:1},[g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny",onClick:t[7]||(t[7]=()=>le(c(z).AUDIO))},{icon:p((()=>[g(c(M),{size:"18",component:c(A)},null,8,["component"])])),_:1})])),default:p((()=>[y(" 语音通话 ")])),_:1}),g(c(_),{"show-arrow":!1,trigger:"hover",placement:"top"},{trigger:p((()=>[g(c(C),{quaternary:"",size:"tiny",onClick:t[8]||(t[8]=()=>le(c(z).VIDEO))},{icon:p((()=>[g(c(M),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),default:p((()=>[y(" 视频通话 ")])),_:1})],64))]),r(l("div",{ref_key:"inputRef",ref:te,class:"input-box",contenteditable:"",onKeydown:ue,onInput:ge},null,544),[[w,c(ne).id]]),l("div",Z,[ee,g(c(C),{type:"primary",round:"",disabled:c(ce),onClick:de},{default:p((()=>[y("发送")])),_:1},8,["disabled"])])],4)),[[w,c(ne).id]])}});export{te as default};