cnhis-design-vue 3.3.1-beta.13 → 3.3.1-beta.14

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 (182) hide show
  1. package/README.md +87 -87
  2. package/es/components/ai-chat/index.d.ts +145 -10
  3. package/es/components/ai-chat/src/Index.vue.d.ts +145 -10
  4. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  5. package/es/components/ai-chat/src/api/index.d.ts +6 -0
  6. package/es/components/ai-chat/src/api/index.js +1 -0
  7. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +44 -0
  8. package/es/components/ai-chat/src/components/ChatAudio.vue.js +1 -0
  9. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -0
  10. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  11. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +55 -2
  12. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  13. package/es/components/ai-chat/src/components/ChatMainInner.d.ts +2 -0
  14. package/es/components/ai-chat/src/components/ChatMainInner.js +1 -0
  15. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +55 -0
  16. package/es/components/ai-chat/src/components/ChatRight.vue.js +1 -0
  17. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -0
  18. package/es/components/ai-chat/src/components/card/JsonCard.d.ts +25 -0
  19. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -0
  20. package/es/components/ai-chat/src/components/card/SelectIcon.d.ts +14 -0
  21. package/es/components/ai-chat/src/components/card/SelectIcon.js +1 -0
  22. package/es/components/ai-chat/src/hooks/useProgram.d.ts +6 -0
  23. package/es/components/ai-chat/src/hooks/useProgram.js +1 -0
  24. package/es/components/ai-chat/src/hooks/useWebsocket.d.ts +2 -0
  25. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -0
  26. package/es/components/ai-chat/src/utils/index.d.ts +1 -0
  27. package/es/components/ai-chat/src/utils/index.js +1 -1
  28. package/es/components/ai-chat/style/index.css +1 -1
  29. package/es/components/audio-sdk/index.d.ts +2 -304
  30. package/es/components/audio-sdk/index.js +1 -1
  31. package/es/components/audio-sdk/src/audioSDK.d.ts +8 -5
  32. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  33. package/es/components/audio-sdk/src/components/recording.vue.d.ts +4 -43
  34. package/es/components/audio-sdk/src/components/recording.vue2.js +1 -1
  35. package/es/components/audio-sdk/src/utils/recordingModal.d.ts +4 -7
  36. package/es/components/audio-sdk/src/utils/recordingModal.js +1 -1
  37. package/es/components/audio-sdk/style/index.css +1 -1
  38. package/es/components/callback/src/components/render/popupMaps.d.ts +1 -7
  39. package/es/components/card-render/src/components/index.d.ts +23 -23
  40. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  41. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  42. package/es/components/editor/src/Editor.js +1 -1
  43. package/es/components/editor/style/index.css +1 -0
  44. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  45. package/es/components/field-editor/index.d.ts +1 -7
  46. package/es/components/field-editor/src/FieldEditor.vue.d.ts +1 -7
  47. package/es/components/form-config/index.d.ts +3 -38
  48. package/es/components/form-config/src/FormConfig.vue.d.ts +3 -38
  49. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +1 -7
  50. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +1 -17
  51. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +1 -8
  52. package/es/components/form-render/index.d.ts +1 -7
  53. package/es/components/form-render/index.js +1 -1
  54. package/es/components/form-render/src/FormRender.vue.d.ts +1 -7
  55. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  56. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +1 -7
  57. package/es/components/form-render/src/components/renderer/date.d.ts +0 -2
  58. package/es/components/form-render/src/components/renderer/date.js +1 -1
  59. package/es/components/form-render/src/components/renderer/formItem.d.ts +0 -2
  60. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  61. package/es/components/form-render/src/components/renderer/input.d.ts +0 -5
  62. package/es/components/form-render/src/components/renderer/input.js +1 -1
  63. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +1 -14
  64. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +1 -14
  65. package/es/components/form-render/src/components/renderer/select.d.ts +0 -5
  66. package/es/components/form-render/src/components/renderer/select.js +1 -1
  67. package/es/components/form-render/src/components/tooltipMessage.vue.d.ts +1 -12
  68. package/es/components/form-render/src/components/tooltipMessage.vue2.js +1 -1
  69. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  70. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +0 -4
  71. package/es/components/form-render/src/types/fieldItem.d.ts +0 -1
  72. package/es/components/form-render/src/types/index.d.ts +0 -2
  73. package/es/components/form-render/src/utils/index.d.ts +0 -1
  74. package/es/components/form-render/src/utils/index.js +1 -1
  75. package/es/components/form-render/style/index.css +1 -1
  76. package/es/components/iho-chat/index.d.ts +0 -1
  77. package/es/components/iho-chat/src/Index.vue.d.ts +0 -1
  78. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  79. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +0 -1
  80. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  81. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  82. package/es/components/iho-table/index.d.ts +23 -26
  83. package/es/components/iho-table/index.js +1 -1
  84. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  85. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +1 -1
  86. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  87. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +3 -3
  88. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.js +1 -1
  89. package/es/components/iho-table/src/hooks/useTablePlugin.js +1 -1
  90. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  91. package/es/components/iho-table/src/plugins/headerPlugin/index.d.ts +1 -1
  92. package/es/components/iho-table/src/plugins/headerPlugin/index.js +1 -1
  93. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -1
  94. package/es/components/iho-table/src/plugins/index.d.ts +0 -78
  95. package/es/components/iho-table/src/plugins/index.js +1 -1
  96. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.d.ts +0 -7
  97. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.js +1 -1
  98. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  99. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +2 -1
  100. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -1
  101. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  102. package/es/components/iho-table/src/plugins/stickyFixedPlugin.js +1 -1
  103. package/es/components/iho-table/src/plugins/varialbleHeightPlugin.js +1 -1
  104. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  105. package/es/components/iho-table/src/types/index.d.ts +0 -1
  106. package/es/components/iho-table/src/types/pluginType.d.ts +2 -2
  107. package/es/components/index.css +1 -1
  108. package/es/components/index.d.ts +1 -2
  109. package/es/components/index.js +1 -1
  110. package/es/components/info-header/index.d.ts +2 -24
  111. package/es/components/info-header/src/InfoHeader.vue.d.ts +2 -24
  112. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +0 -2
  113. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +0 -2
  114. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +1 -9
  115. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +1 -7
  116. package/es/components/scale-view/index.d.ts +2 -3
  117. package/es/components/scale-view/src/ScaleView.vue.d.ts +2 -3
  118. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  119. package/es/components/scale-view/src/hooks/scaleview-init.d.ts +1 -3
  120. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  121. package/es/components/scale-view/src/hooks/use-component.d.ts +2189 -1
  122. package/es/components/shortcut-setter/index.d.ts +1 -8
  123. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +1 -8
  124. package/es/env.d.ts +25 -25
  125. package/es/shared/assets/img/ai__avatar.png.js +1 -1
  126. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  127. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  128. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  129. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  130. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  131. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  132. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  133. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  134. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  135. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  136. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  137. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  138. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  139. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  140. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  141. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  142. package/es/shared/assets/img/failure.png.js +1 -1
  143. package/es/shared/assets/img/file-emr.png.js +1 -0
  144. package/es/shared/assets/img/file.png.js +1 -0
  145. package/es/shared/assets/img/logo.png.js +1 -1
  146. package/es/shared/assets/img/no-permission.png.js +1 -1
  147. package/es/shared/assets/img/nodata.png.js +1 -1
  148. package/es/shared/assets/img/notfound.png.js +1 -1
  149. package/es/shared/assets/img/qr.png.js +1 -1
  150. package/es/shared/assets/img/success.png.js +1 -1
  151. package/es/shared/assets/img/table_style_2.png.js +1 -1
  152. package/es/shared/assets/img/use.png.js +1 -0
  153. package/es/shared/assets/img/video.png.js +1 -1
  154. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  155. package/es/shared/assets/img/xb_big.png.js +1 -1
  156. package/es/shared/assets/img/xb_small.png.js +1 -1
  157. package/es/shared/package.json.js +1 -1
  158. package/package.json +2 -2
  159. package/es/components/audio-sdk/src/Index.vue.d.ts +0 -304
  160. package/es/components/audio-sdk/src/Index.vue.js +0 -1
  161. package/es/components/audio-sdk/src/Index.vue2.js +0 -1
  162. package/es/components/audio-sdk/src/components/form.vue.d.ts +0 -51
  163. package/es/components/audio-sdk/src/components/form.vue.js +0 -1
  164. package/es/components/audio-sdk/src/components/form.vue2.js +0 -1
  165. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +0 -91
  166. package/es/components/audio-sdk/src/components/recording-modal.vue.js +0 -1
  167. package/es/components/audio-sdk/src/components/recording-modal.vue2.js +0 -1
  168. package/es/components/audio-sdk/src/utils/index.d.ts +0 -4
  169. package/es/components/audio-sdk/src/utils/index.js +0 -1
  170. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  171. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  172. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  173. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  174. package/es/shared/components/ArrowIcon/ArrowIcon.vue.js +0 -1
  175. package/es/shared/components/ArrowIcon/index.d.ts +0 -2
  176. package/es/shared/components/ArrowIcon/index.js +0 -1
  177. package/es/shared/components/DateIcon/DateIcon.vue.js +0 -1
  178. package/es/shared/components/DateIcon/index.d.ts +0 -2
  179. package/es/shared/components/DateIcon/index.js +0 -1
  180. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  181. package/es/shared/utils/fabricjs/index.d.ts +0 -6823
  182. package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -115,7 +115,6 @@ export type FieldItem = {
115
115
  extendKey: string;
116
116
  is_not_fold: string;
117
117
  remark: string;
118
- remarkTo: string | HTMLElement;
119
118
  free_entry: FormCommonState;
120
119
  save_free_entry: FormCommonState;
121
120
  initialize_high: number;
@@ -173,8 +173,6 @@ export type FormRenderProps = Partial<{
173
173
  linebarTextDirection: 'vertical' | 'horizontal';
174
174
  autoWidth: boolean | number;
175
175
  feedbackType: 'tooltip' | 'default';
176
- fixMemoLeak: boolean;
177
- lazyRender: boolean;
178
176
  }>;
179
177
  export type FormBusinessFormatter = (payload: {
180
178
  fieldKey: string;
@@ -33,4 +33,3 @@ export declare function replace2Any(str: string, replacer: {
33
33
  to: any;
34
34
  }[]): any[];
35
35
  export declare function isEnter(event: KeyboardEvent): boolean;
36
- export declare function isValidWidgetCombination(config: unknown): boolean;
@@ -1 +1 @@
1
- import{inject as e,provide as t,computed as n,createVNode as r,Fragment as o}from"vue";import{widthAppend as i,traverse as u,arrayed as c}from"../../../../shared/utils/index.js";import{isGeneralField as s}from"@formily/core";import{Path as f}from"@formily/path";import{HelpCircleSharp as l}from"@vicons/ionicons5";import{isObject as a}from"@vue/shared";import{useMemoize as p}from"@vueuse/core";import{isString as d,isFunction as m,omit as h,castArray as E,flattenDeep as T,isArray as g}from"lodash-es";import{NTooltip as x,NIcon as y}from"naive-ui";import{NESTED_FORM_ITEM_TYPE as v}from"../constants/index.js";import{TEXT as I}from"../components/renderer/text.js";export{businessDateParser,isForeignerID,isIdCard,isMobile,parseAge2Birthday,parseAgeFromContext,parseBirthday,parseIdCard,transformDateFormat}from"./business.js";function R(e){console.warn(`[FormRender]: ${e}`)}function D(e){return"1"===e||!0===e||1===e}function A(e){return"0"===e||!1===e||0===e}function W(e,t,n=["children","properties","suffixConfig"],r="val_key",o="default_val"){return function e(t,r){r.forEach((r=>{a(r)&&(null!=u(r)&&null==t[i(r)]&&f.setIn(t,i(r),u(r)),n.forEach((n=>{r[n]&&(t[i(r)]||(t[i(r)]={}),e(t[i(r)],c(r[n])))})))}))}(e,t),e;function i(e){return e[r]}function u(e){return e[o]}}function P(n,r){let o=e(n,null);return o||(o=r(),t(n,o)),o}function _(e){return e&&d(e)?+e:e}function G(e,t,n){if(a(e)&&!m(e)){const n={};return Object.entries(e).forEach((([e,r])=>{m(r)&&(n[e]=()=>r(t))})),n}return{default:()=>m(e)?e(t):n?n(e):[e]}}function S(e,t){return n((()=>{const n={};return e.prefix&&(n.prefix=()=>r(o,null,[G(e.prefix,e,t).default()])),e.suffix&&(n.suffix=()=>r(o,null,[G(e.suffix,e,t).default()])),n}))}function j(e,t){return d(e)&&e?e.replace(/\$\{([^}]*)}/g,(function(e,n){const r=n.split("||");for(const e of r){const n=t[e.trim()];if(n)return n}return""})):""}function w(e){return e.reduce(((e,t)=>(d(t.extendKey)&&t.extendKey&&e.push(t),K(t)&&e.push(...w(t.children||[])),e)),[])}function $(e,t){const n=w(e);if(!n.length)return t;const r={},o=new Map;return Object.entries(t).forEach((([e,i])=>{const u=n.find((t=>t.val_key===e));if(!u)return r[e]=i;const{val_key:c,extendKey:s}=u,l=o.get(s)||{};o.set(s,l);const a=f.getIn(t,e);null!=a&&f.setIn(l,c,a)})),[...o.entries()].forEach((([e,t])=>{r[e]=JSON.stringify(t)})),r}function b(e,t){const n=w(e);if(!n.length)return t;const r=p((e=>{try{return a(t[e])?t[e]:JSON.parse(t[e])||{}}catch(e){return{}}})),o=h(t,n.map((e=>e.extendKey)));return n.forEach((({val_key:e,extendKey:t})=>{Reflect.has(o,e)||(o[e]=r(t)[e])})),o}function B(e){return e&&v.includes(e)}function K(e){return B(s(e)?e.componentType:e.html_type)}function X(e,t){var n;const o=null!=(n=e.title)?n:e[t];return r("span",{title:o,style:{display:"inline-flex",flexDirection:"column",alignItems:"center","justify-content":"center"}},[e.imageBase64?r("img",{src:e.imageBase64,style:{width:i(e.imageWidth||80),height:i(e.imageHeight||80),marginBottom:"4px"}},null):null,r(I,{content:e[t],fieldItem:e},null)])}function k(e,t){return r("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[e,t.desc?r(x,null,{trigger:()=>r(y,{component:l},null),default:()=>t.desc}):null])}function C(e,t){return f.parse(e.startsWith(".")?e:`.${e}`,t).toString()}function F(e){return e.replace(/&lt;/g,"<").replace(/&gt;/g,">")}function O(e,t){return e.reduce(((e,n)=>(t(n)||(e.push(n),n.properties&&(n.properties=O(n.properties,t)),n.children&&(n.children=O(n.children,t))),e)),[])}function N(e,t){let n=null;return u(e,((e,r)=>{t(e)&&(n=e,r())}),["children","properties"]),n}var J=function(e){return e[e.PREPARE=0]="PREPARE",e[e.TEXT=1]="TEXT",e[e.WIDGET_START=2]="WIDGET_START",e[e.WIDGET=3]="WIDGET",e}(J||{});function M(e){const t=[...e],n=[];let r=J.PREPARE,o="";function i(e){switch(r=e,r){case J.PREPARE:case J.WIDGET_START:case J.WIDGET:o=""}}function u(e="text",t=o){n.push({type:e,content:t})}function c(){const e=n.pop();e&&("text"===e.type?o=e.content:n.push(e))}return t.forEach(((e,n)=>{const s=n===t.length-1;switch(r){case J.PREPARE:return"#"===e?(i(J.WIDGET_START),void(s&&u())):(i(J.TEXT),o=e,void(s&&u()));case J.TEXT:return"#"===e?void(s?(o+=e,u()):(u(),i(J.WIDGET_START))):(o+=e,void(s&&u()));case J.WIDGET_START:return"{"!==e||s?(c(),i(J.TEXT),o+=`#${e}`,void(s&&u())):void i(J.WIDGET);case J.WIDGET:return"}"===e?(u("widget"),void i(J.PREPARE)):"#"===e?(c(),u(),i(J.WIDGET_START),o+=`#${e}`,void(s&&u())):(o+=e,void(s&&u("text",`#{${o}`)))}})),n}function H(e,t){let n=E(e);return t.forEach((({from:e,to:t})=>{n.forEach(((r,o)=>{d(r)&&(n[o]=r.split(e).map(((e,n,r)=>[e,n<r.length-1?t:null])))})),n=T(n)})),n}function q(e){return"Enter"===e.code||"NumpadEnter"===e.code}function z(e){return g(e)?!!e.length:a(e)}export{O as FieldListFilter,$ as combineExtendKey,S as createInputSlot,G as createSlot,F as editorUnescape,N as findItemByValCondition,R as formRenderLog,C as getAbsoluteKey,P as injectOrProvide,q as isEnter,A as isNegative,K as isNestedFieldType,B as isNestedType,D as isPositive,z as isValidWidgetCombination,W as mergeDeepProperties,M as parseEnhanceText,_ as parseNumberFromMaybeString,k as renderDescOption,X as renderOptionLabel,H as replace2Any,b as splitExtendKey,j as validateMessageParser};
1
+ import{inject as e,provide as t,computed as n,createVNode as r,Fragment as o}from"vue";import{widthAppend as i,traverse as u,arrayed as c}from"../../../../shared/utils/index.js";import{isGeneralField as s}from"@formily/core";import{Path as f}from"@formily/path";import{HelpCircleSharp as l}from"@vicons/ionicons5";import{isObject as a}from"@vue/shared";import{useMemoize as p}from"@vueuse/core";import{isString as d,isFunction as m,omit as h,castArray as E,flattenDeep as T}from"lodash-es";import{NTooltip as g,NIcon as x}from"naive-ui";import{NESTED_FORM_ITEM_TYPE as y}from"../constants/index.js";import{TEXT as v}from"../components/renderer/text.js";export{businessDateParser,isForeignerID,isIdCard,isMobile,parseAge2Birthday,parseAgeFromContext,parseBirthday,parseIdCard,transformDateFormat}from"./business.js";function I(e){console.warn(`[FormRender]: ${e}`)}function R(e){return"1"===e||!0===e||1===e}function D(e){return"0"===e||!1===e||0===e}function A(e,t,n=["children","properties","suffixConfig"],r="val_key",o="default_val"){return function e(t,r){r.forEach((r=>{a(r)&&(null!=u(r)&&null==t[i(r)]&&f.setIn(t,i(r),u(r)),n.forEach((n=>{r[n]&&(t[i(r)]||(t[i(r)]={}),e(t[i(r)],c(r[n])))})))}))}(e,t),e;function i(e){return e[r]}function u(e){return e[o]}}function W(n,r){let o=e(n,null);return o||(o=r(),t(n,o)),o}function P(e){return e&&d(e)?+e:e}function _(e,t,n){if(a(e)&&!m(e)){const n={};return Object.entries(e).forEach((([e,r])=>{m(r)&&(n[e]=()=>r(t))})),n}return{default:()=>m(e)?e(t):n?n(e):[e]}}function G(e,t){return n((()=>{const n={};return e.prefix&&(n.prefix=()=>r(o,null,[_(e.prefix,e,t).default()])),e.suffix&&(n.suffix=()=>r(o,null,[_(e.suffix,e,t).default()])),n}))}function S(e,t){return d(e)&&e?e.replace(/\$\{([^}]*)}/g,(function(e,n){const r=n.split("||");for(const e of r){const n=t[e.trim()];if(n)return n}return""})):""}function j(e){return e.reduce(((e,t)=>(d(t.extendKey)&&t.extendKey&&e.push(t),B(t)&&e.push(...j(t.children||[])),e)),[])}function w(e,t){const n=j(e);if(!n.length)return t;const r={},o=new Map;return Object.entries(t).forEach((([e,i])=>{const u=n.find((t=>t.val_key===e));if(!u)return r[e]=i;const{val_key:c,extendKey:s}=u,l=o.get(s)||{};o.set(s,l);const a=f.getIn(t,e);null!=a&&f.setIn(l,c,a)})),[...o.entries()].forEach((([e,t])=>{r[e]=JSON.stringify(t)})),r}function $(e,t){const n=j(e);if(!n.length)return t;const r=p((e=>{try{return a(t[e])?t[e]:JSON.parse(t[e])||{}}catch(e){return{}}})),o=h(t,n.map((e=>e.extendKey)));return n.forEach((({val_key:e,extendKey:t})=>{Reflect.has(o,e)||(o[e]=r(t)[e])})),o}function b(e){return e&&y.includes(e)}function B(e){return b(s(e)?e.componentType:e.html_type)}function K(e,t){var n;const o=null!=(n=e.title)?n:e[t];return r("span",{title:o,style:{display:"inline-flex",flexDirection:"column",alignItems:"center","justify-content":"center"}},[e.imageBase64?r("img",{src:e.imageBase64,style:{width:i(e.imageWidth||80),height:i(e.imageHeight||80),marginBottom:"4px"}},null):null,r(v,{content:e[t],fieldItem:e},null)])}function X(e,t){return r("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[e,t.desc?r(g,null,{trigger:()=>r(x,{component:l},null),default:()=>t.desc}):null])}function k(e,t){return f.parse(e.startsWith(".")?e:`.${e}`,t).toString()}function C(e){return e.replace(/&lt;/g,"<").replace(/&gt;/g,">")}function F(e,t){return e.reduce(((e,n)=>(t(n)||(e.push(n),n.properties&&(n.properties=F(n.properties,t)),n.children&&(n.children=F(n.children,t))),e)),[])}function O(e,t){let n=null;return u(e,((e,r)=>{t(e)&&(n=e,r())}),["children","properties"]),n}var N=function(e){return e[e.PREPARE=0]="PREPARE",e[e.TEXT=1]="TEXT",e[e.WIDGET_START=2]="WIDGET_START",e[e.WIDGET=3]="WIDGET",e}(N||{});function J(e){const t=[...e],n=[];let r=N.PREPARE,o="";function i(e){switch(r=e,r){case N.PREPARE:case N.WIDGET_START:case N.WIDGET:o=""}}function u(e="text",t=o){n.push({type:e,content:t})}function c(){const e=n.pop();e&&("text"===e.type?o=e.content:n.push(e))}return t.forEach(((e,n)=>{const s=n===t.length-1;switch(r){case N.PREPARE:return"#"===e?(i(N.WIDGET_START),void(s&&u())):(i(N.TEXT),o=e,void(s&&u()));case N.TEXT:return"#"===e?void(s?(o+=e,u()):(u(),i(N.WIDGET_START))):(o+=e,void(s&&u()));case N.WIDGET_START:return"{"!==e||s?(c(),i(N.TEXT),o+=`#${e}`,void(s&&u())):void i(N.WIDGET);case N.WIDGET:return"}"===e?(u("widget"),void i(N.PREPARE)):"#"===e?(c(),u(),i(N.WIDGET_START),o+=`#${e}`,void(s&&u())):(o+=e,void(s&&u("text",`#{${o}`)))}})),n}function M(e,t){let n=E(e);return t.forEach((({from:e,to:t})=>{n.forEach(((r,o)=>{d(r)&&(n[o]=r.split(e).map(((e,n,r)=>[e,n<r.length-1?t:null])))})),n=T(n)})),n}function H(e){return"Enter"===e.code||"NumpadEnter"===e.code}export{F as FieldListFilter,w as combineExtendKey,G as createInputSlot,_ as createSlot,C as editorUnescape,O as findItemByValCondition,I as formRenderLog,k as getAbsoluteKey,W as injectOrProvide,H as isEnter,D as isNegative,B as isNestedFieldType,b as isNestedType,R as isPositive,A as mergeDeepProperties,J as parseEnhanceText,P as parseNumberFromMaybeString,X as renderDescOption,K as renderOptionLabel,M as replace2Any,$ as splitExtendKey,S as validateMessageParser};
@@ -1 +1 @@
1
- .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__textMode--dateIcon{color:#c2c2c2;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.form-render__textMode--input{align-items:center;border:1px solid #d5d5d5;border-radius:3px;display:flex;height:32px;justify-content:space-between;max-height:32px;overflow:hidden;padding:0 7px;position:relative;white-space:nowrap;width:100%;word-break:keep-all}.form-render__textMode--inputPlaceholder{color:#c2c2c2}.form-render__textMode--inputDisabled{background-color:#f5f5f5;cursor:not-allowed}.form-render__textMode--inputDisabled .form-render__textMode--inputPlaceholder{color:#000}.form-render__textMode--input>span{flex:1;overflow:hidden}.form-render__textMode--input .n-input__prefix{margin-right:4px}.form-render__textMode--input .n-input__suffix{margin-left:4px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}
1
+ .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}
@@ -1594,7 +1594,6 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
1594
1594
  renderToolbar: ({ nodes }: import("naive-ui").ImageRenderToolbarProps) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1595
1595
  [key: string]: any;
1596
1596
  }>[];
1597
- formatImage: (obj: string | import("../../shared/types").AnyObject, type: string) => any;
1598
1597
  getHistoryRecord: () => Promise<void>;
1599
1598
  handleSelectLabel: (event: MouseEvent, msgId: string) => void;
1600
1599
  handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
@@ -1595,7 +1595,6 @@ declare const _default: import("vue").DefineComponent<{
1595
1595
  renderToolbar: ({ nodes }: import("naive-ui").ImageRenderToolbarProps) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1596
1596
  [key: string]: any;
1597
1597
  }>[];
1598
- formatImage: (obj: string | AnyObject, type: string) => any;
1599
1598
  getHistoryRecord: () => Promise<void>;
1600
1599
  handleSelectLabel: (event: MouseEvent, msgId: string) => void;
1601
1600
  handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as n,ref as t,computed as o,watch as i,withDirectives as a,openBlock as r,createElementBlock as l,normalizeStyle as s,unref as c,createVNode as u,withCtx as d,Fragment as g,toDisplayString as m,createCommentVNode as f,renderList as w,createBlock as p,createTextVNode as y,mergeProps as h,renderSlot as v,vShow as k}from"vue";import{NButton as C,NIcon as M,NTooltip as _,NPopover as E,NUpload as L,NUploadTrigger as I}from"naive-ui";import b from"./ChatAdd.vue.js";import{useData as T}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as x,AV_STATUS as j}from"../constants/index.js";import{uploadFileApi as z}from"../api/index.js";import{simplifyMessage as B,base64ToFile as O}from"../utils/index.js";import{xor as R,uniq as q,isObject as D,trim as F,cloneDeep as A}from"lodash-es";import"trtc-sdk-v5";import{emojis as $}from"../utils/emoji.js";import{CloseOutline as J,CloseCircleOutline as H,CallOutline as V,VideocamOutline as K}from"@vicons/ionicons5";import{uuidGenerator as U}from"../../../../shared/utils/index.js";import{useStorage as N}from"@vueuse/core";var G,X;const S={key:0,class:"multi-select-box"},W={class:"select-item"},P=e("i",{class:"chat--iconfont chat--icon-forward"},null,-1),Q=e("span",null,"逐条转发",-1),Y={class:"select-item"},Z=e("i",{class:"chat--iconfont chat--icon-forward-more"},null,-1),ee=e("span",null,"合并转发",-1),ne={key:0,class:"reference-content-box"},te={class:"reference-content"},oe=["innerHTML"],ie={class:"tool-box"},ae=e("i",{class:"chat--iconfont chat--icon-face"},null,-1),re=e("span",null,(null==(G=window.getLanguageByCode)?void 0:G.call(window,"10010.1.51"))||"最近使用",-1),le={class:"list-box",style:{"margin-bottom":"8px"}},se=["src"],ce=e("span",null,(null==(X=window.getLanguageByCode)?void 0:X.call(window,"10010.1.52"))||"默认表情",-1),ue={class:"list-box"},de=["src"],ge=e("i",{class:"chat--iconfont chat--icon-good"},null,-1),me=e("i",{class:"chat--iconfont chat--icon-image"},null,-1),fe=e("i",{class:"chat--iconfont chat--icon-folder"},null,-1),we=["contenteditable"],pe={class:"btn-box"},ye=e("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var he=n({__name:"ChatFooter",setup(n){const G=t(),{state:X,sendMessage:he,isGroupChat:ve,isEnded:ke,relayMessage:Ce}=T(),Me=t(!1),_e=t(""),Ee=N("commonEmoticons",[]),Le=o((()=>({options:X.currentGroupUser,defaultValue:[X.userInfo]}))),Ie=o((()=>!_e.value.replace(/(&nbsp;|\s|<br>)+/g,""))),be=o((()=>!X.msgList.some((e=>e.checked))));function Te(e,n=[]){const t=U(),o=[],i=n.length>0;X.showVideo||X.showMultipleVideo||(i?(o.push(...R(n,[X.userInfo.id])),Object.assign(X.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:t,chatMessageType:e}),X.showMultipleVideo=!0):he({content:{chatMessageType:e,msg:"",avStatus:j.IN_CALL}}))}function xe(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(),Re()))}function je(){var e;_e.value=(null==(e=G.value)?void 0:e.innerHTML)||""}function ze(e){var n;Ee.value.unshift(e),Ee.value=q(Ee.value).slice(0,26),null==(n=G.value)||n.focus(),document.execCommand("insertHTML",!1,`<img data-msg=${e} data-type=${x.EMOJI} class="emoji--min" src=${$.findEmoji(e)} />`)}async function Be(e){const n=new FormData;return n.append("sender",X.userInfo.id),n.append("file",e),await z(n)}async function Oe(e,n){const{file:t,name:o}=e.file,i=await Be(t);if(!i)return console.log("上传失败");qe({chatMessageType:n,msg:D(i)?JSON.stringify(i):n===x.FILE?o:i,url:D(i)?(null==i?void 0:i.fileUrl)||"":i})}async function Re(){const{innerHTML:e="",innerText:n="",outerText:t=""}=G.value||{};if(Ie.value)return console.log("请输入内容");let o=x.TEXT,i="";if(e){const t=e.match(/<img[^>]*>/gi),a=(t||[]).length;if(n&&0===a)i=n;else if(n||1!==a){if(o=x.BLEND,i=e,null==t?void 0:t.length)for(let e=0;e<a;e++)if(t[e].includes(`data-type="${x.EMOJI}"`)){const n=t[e].match(/data-msg="(.*?)"/);n&&n.length>1&&(i=i.replace(t[e],`[${n[1]}]`))}else{const n=t[e].match(/src\s*=\s*"([^"]*)"/);if(n&&n.length>1){const e=await O(n[1]);if(e){const t=await Be(e);i=i.replace(n[1],t||"")}}}}else if(e.includes(x.EMOJI)){o=x.EMOJI;const n=e.match(/data-msg\s*=\s*"([^"]*)"/);n&&(i=n[1])}else{o=x.IMAGE;const n=e.match(/src\s*=\s*"([^"]*)"/);if(n){const e=await O(n[1]);if(e){const n=await Be(e);n&&(i=n)}}}}else i=F(n);i&&qe({msg:i,chatMessageType:o,origin:"btn"})}async function qe(e){const{chatMessageType:n=x.TEXT,msg:t,url:o="",origin:i=""}=e,a={msg:t,chatMessageType:n};n===x.FILE&&(a.fileUrl=o),"btn"===i&&De(),X.currentReferenceMsg&&([x.TEXT,x.EMOJI,x.BLEND].includes(n)&&(a.referenceContent=A(X.currentReferenceMsg)),X.currentReferenceMsg=null),he({content:a})}function De(){G.value&&(G.value.innerHTML=""),_e.value=""}function Fe({checkedIds:e,remark:n},t="逐条转发"){const o=[],i=[];X.msgList.forEach((e=>{e.checked&&(o.unshift(e.content),i.unshift(e))})),Ce({checkedIds:e,remark:n,contents:"逐条转发"===t?o:[{forwardMessageList:i,chatMessageType:x.FORWARD}]}),X.msgList.forEach((e=>{e.checked=!1})),X.isForward=!1}function Ae(){X.msgList.forEach((e=>{e.checked=!1})),X.isForward=!1}return i((()=>[X.currentReferenceMsg,X.currentReEditMsg]),(([e,n])=>{var t;if((e||n)&&(null==(t=G.value)||t.focus()),n){const{chatMessageType:e,msg:t}=n.content||{},o=e===x.TEXT?t:`<img data-msg=${t} data-type=${x.EMOJI} class="emoji--min" src=${$.findEmoji(t)} />`;document.execCommand("insertHTML",!1,o),X.currentReEditMsg=null}})),i((()=>X.id),(e=>{e&&(X.isForward=!1,De())})),(n,t)=>{var o,i;return a((r(),l("section",{class:"chat-footer",style:s({cursor:c(X).id?"default":"not-allowed"})},[c(X).isForward?(r(),l("div",S,[e("div",W,[u(b,{title:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:t[0]||(t[0]=e=>Fe(e))},{trigger:d((()=>[u(c(C),{quaternary:"",circle:"",size:"large",disabled:c(be)},{icon:d((()=>[P])),_:1},8,["disabled"])])),_:1}),Q]),e("div",Y,[u(b,{title:(null==(i=window.getLanguageByCode)?void 0:i.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:t[1]||(t[1]=e=>Fe(e,"合并转发"))},{trigger:d((()=>[u(c(C),{quaternary:"",circle:"",size:"large",disabled:c(be)},{icon:d((()=>[Z])),_:1},8,["disabled"])])),_:1}),ee]),u(c(C),{quaternary:"",circle:""},{icon:d((()=>[u(c(M),{component:c(J),onClick:Ae},null,8,["component"])])),_:1})])):(r(),l(g,{key:1},[c(X).currentReferenceMsg?(r(),l("div",ne,[e("div",te,[e("span",null,m(c(X).currentReferenceMsg.senderName)+":",1),e("pre",{innerHTML:c(B)(c(X).currentReferenceMsg.content)},null,8,oe)]),u(c(M),{component:c(H),onClick:t[2]||(t[2]=()=>c(X).currentReferenceMsg=null)},null,8,["component"])])):f("v-if",!0),e("div",ie,[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(E),{"content-class":"emoji-content",class:"emoji-wrapper",show:Me.value,"onUpdate:show":t[3]||(t[3]=e=>Me.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny"},{icon:d((()=>[ae])),_:1})])),default:d((()=>[c(Ee).length>0?(r(),l(g,{key:0},[re,e("div",le,[(r(!0),l(g,null,w(c(Ee),(n=>(r(),p(c(_),{key:n,"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:()=>ze(n)},{icon:d((()=>[e("img",{src:c($).findEmoji(n)},null,8,se)])),_:2},1032,["onClick"])])),default:d((()=>[y(" "+m(n),1)])),_:2},1024)))),128))])],64)):f("v-if",!0),ce,e("div",ue,[(r(!0),l(g,null,w(c($).default,(([n,t])=>(r(),p(c(_),{key:n,"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:()=>ze(n)},{icon:d((()=>[e("img",{src:t},null,8,de)])),_:2},1032,["onClick"])])),default:d((()=>[y(" "+m(n),1)])),_:2},1024)))),128))])])),_:1},8,["show"])])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.53"))||"表情")]})),_:1}),u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:t[4]||(t[4]=()=>qe({chatMessageType:c(x).EMOJI,msg:0}))},{icon:d((()=>[ge])),_:1})])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.54"))||"点赞")]})),_:1}),u(c(L),{abstract:"",multiple:"",accept:"image/*",onChange:t[5]||(t[5]=e=>Oe(e,c(x).IMAGE))},{default:d((()=>[u(c(I),{abstract:""},{default:d((({handleClick:e})=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:d((()=>[me])),_:2},1032,["onClick"])])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.55"))||"上传图片")]})),_:2},1024)])),_:1})])),_:1}),u(c(L),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:t[6]||(t[6]=e=>Oe(e,c(x).FILE))},{default:d((()=>[u(c(I),{abstract:""},{default:d((({handleClick:e})=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:d((()=>[fe])),_:2},1032,["onClick"])])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.56"))||"上传文件")]})),_:2},1024)])),_:1})])),_:1}),c(X).userInfo.sdkAppID?(r(),l(g,{key:0},[c(ve)?(r(),l(g,{key:0},[u(b,h(c(Le),{onComfirm:t[7]||(t[7]=e=>Te(c(x).AUDIO,e.checkedIds))}),{trigger:d((()=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny"},{icon:d((()=>[u(c(M),{size:"18",component:c(V)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.57"))||"语音通话")]})),_:1})])),_:1},16),u(b,h(c(Le),{onComfirm:t[8]||(t[8]=e=>Te(c(x).VIDEO,e.checkedIds))}),{trigger:d((()=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny"},{icon:d((()=>[u(c(M),{size:"20",component:c(K)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.58"))||"视频会议")]})),_:1})])),_:1},16)],64)):(r(),l(g,{key:1},[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:t[9]||(t[9]=()=>Te(c(x).AUDIO))},{icon:d((()=>[u(c(M),{size:"18",component:c(V)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.57"))||"语音通话")]})),_:1}),u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:t[10]||(t[10]=()=>Te(c(x).VIDEO))},{icon:d((()=>[u(c(M),{size:"20",component:c(K)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.59"))||"视频通话")]})),_:1})],64))],64)):f("v-if",!0),v(n.$slots,"footer")]),a(e("div",{ref_key:"inputRef",ref:G,class:"input-box",contenteditable:!c(ke),onKeydown:xe,onInput:je},null,40,we),[[k,c(X).id]]),e("div",pe,[ye,u(c(C),{type:"primary",round:"",disabled:c(Ie),onClick:Re},{default:d((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.60"))||"发送")]})),_:1},8,["disabled"])])],64))],4)),[[k,c(X).id]])}}});export{he as default};
1
+ import{createElementVNode as e,defineComponent as n,ref as t,computed as o,watch as i,withDirectives as a,openBlock as r,createElementBlock as s,normalizeStyle as l,unref as c,createVNode as u,withCtx as d,Fragment as g,toDisplayString as m,createCommentVNode as f,renderList as w,createBlock as p,createTextVNode as h,mergeProps as y,renderSlot as v,vShow as k}from"vue";import{NButton as C,NIcon as M,NTooltip as _,NPopover as E,NUpload as L,NUploadTrigger as I}from"naive-ui";import b from"./ChatAdd.vue.js";import{useData as T}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as x,AV_STATUS as j}from"../constants/index.js";import{uploadFileApi as z}from"../api/index.js";import{simplifyMessage as B,base64ToFile as R}from"../utils/index.js";import{xor as q,uniq as O,trim as D,cloneDeep as F}from"lodash-es";import"trtc-sdk-v5";import{emojis as A}from"../utils/emoji.js";import{CloseOutline as $,CloseCircleOutline as H,CallOutline as J,VideocamOutline as V}from"@vicons/ionicons5";import{uuidGenerator as K}from"../../../../shared/utils/index.js";import{useStorage as U}from"@vueuse/core";var G,N;const X={key:0,class:"multi-select-box"},S={class:"select-item"},W=e("i",{class:"chat--iconfont chat--icon-forward"},null,-1),P=e("span",null,"逐条转发",-1),Q={class:"select-item"},Y=e("i",{class:"chat--iconfont chat--icon-forward-more"},null,-1),Z=e("span",null,"合并转发",-1),ee={key:0,class:"reference-content-box"},ne={class:"reference-content"},te=["innerHTML"],oe={class:"tool-box"},ie=e("i",{class:"chat--iconfont chat--icon-face"},null,-1),ae=e("span",null,(null==(G=window.getLanguageByCode)?void 0:G.call(window,"10010.1.51"))||"最近使用",-1),re={class:"list-box",style:{"margin-bottom":"8px"}},se=["src"],le=e("span",null,(null==(N=window.getLanguageByCode)?void 0:N.call(window,"10010.1.52"))||"默认表情",-1),ce={class:"list-box"},ue=["src"],de=e("i",{class:"chat--iconfont chat--icon-good"},null,-1),ge=e("i",{class:"chat--iconfont chat--icon-image"},null,-1),me=e("i",{class:"chat--iconfont chat--icon-folder"},null,-1),fe=["contenteditable"],we={class:"btn-box"},pe=e("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var he=n({__name:"ChatFooter",setup(n){const G=t(),{state:N,sendMessage:he,isGroupChat:ye,isEnded:ve,relayMessage:ke}=T(),Ce=t(!1),Me=t(""),_e=U("commonEmoticons",[]),Ee=o((()=>({options:N.currentGroupUser,defaultValue:[N.userInfo]}))),Le=o((()=>!Me.value.replace(/(&nbsp;|\s|<br>)+/g,""))),Ie=o((()=>!N.msgList.some((e=>e.checked))));function be(e,n=[]){const t=K(),o=[],i=n.length>0;N.showVideo||N.showMultipleVideo||(i?(o.push(...q(n,[N.userInfo.id])),Object.assign(N.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:t,chatMessageType:e}),N.showMultipleVideo=!0):he({content:{chatMessageType:e,msg:"",avStatus:j.IN_CALL}}))}function Te(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(),Re()))}function xe(){var e;Me.value=(null==(e=G.value)?void 0:e.innerHTML)||""}function je(e){var n;_e.value.unshift(e),_e.value=O(_e.value).slice(0,26),null==(n=G.value)||n.focus(),document.execCommand("insertHTML",!1,`<img data-msg=${e} data-type=${x.EMOJI} class="emoji--min" src=${A.findEmoji(e)} />`)}async function ze(e){const n=new FormData;return n.append("sender",N.userInfo.id),n.append("file",e),await z(n)}async function Be(e,n){const{file:t,name:o}=e.file,i=await ze(t);if(!i)return console.log("上传失败");qe({chatMessageType:n,msg:n===x.FILE?o:i,url:i})}async function Re(){const{innerHTML:e="",innerText:n="",outerText:t=""}=G.value||{};if(Le.value)return console.log("请输入内容");let o=x.TEXT,i="";if(e){const t=e.match(/<img[^>]*>/gi),a=(t||[]).length;if(n&&0===a)i=n;else if(n||1!==a){if(o=x.BLEND,i=e,null==t?void 0:t.length)for(let e=0;e<a;e++)if(t[e].includes(`data-type="${x.EMOJI}"`)){const n=t[e].match(/data-msg="(.*?)"/);n&&n.length>1&&(i=i.replace(t[e],`[${n[1]}]`))}else{const n=t[e].match(/src\s*=\s*"([^"]*)"/);if(n&&n.length>1){const e=await R(n[1]);if(e){const t=await ze(e);i=i.replace(n[1],t||"")}}}}else if(e.includes(x.EMOJI)){o=x.EMOJI;const n=e.match(/data-msg\s*=\s*"([^"]*)"/);n&&(i=n[1])}else{o=x.IMAGE;const n=e.match(/src\s*=\s*"([^"]*)"/);if(n){const e=await R(n[1]);if(e){const n=await ze(e);n&&(i=n)}}}}else i=D(n);i&&qe({msg:i,chatMessageType:o,origin:"btn"})}async function qe(e){const{chatMessageType:n=x.TEXT,msg:t,url:o,origin:i=""}=e,a={msg:t,chatMessageType:n};n===x.FILE&&(a.fileUrl=o),"btn"===i&&Oe(),N.currentReferenceMsg&&([x.TEXT,x.EMOJI,x.BLEND].includes(n)&&(a.referenceContent=F(N.currentReferenceMsg)),N.currentReferenceMsg=null),he({content:a})}function Oe(){G.value&&(G.value.innerHTML=""),Me.value=""}function De({checkedIds:e,remark:n},t="逐条转发"){const o=[],i=[];N.msgList.forEach((e=>{e.checked&&(o.unshift(e.content),i.unshift(e))})),ke({checkedIds:e,remark:n,contents:"逐条转发"===t?o:[{forwardMessageList:i,chatMessageType:x.FORWARD}]}),N.msgList.forEach((e=>{e.checked=!1})),N.isForward=!1}function Fe(){N.msgList.forEach((e=>{e.checked=!1})),N.isForward=!1}return i((()=>[N.currentReferenceMsg,N.currentReEditMsg]),(([e,n])=>{var t;if((e||n)&&(null==(t=G.value)||t.focus()),n){const{chatMessageType:e,msg:t}=n.content||{},o=e===x.TEXT?t:`<img data-msg=${t} data-type=${x.EMOJI} class="emoji--min" src=${A.findEmoji(t)} />`;document.execCommand("insertHTML",!1,o),N.currentReEditMsg=null}})),i((()=>N.id),(e=>{e&&(N.isForward=!1,Oe())})),(n,t)=>{var o,i;return a((r(),s("section",{class:"chat-footer",style:l({cursor:c(N).id?"default":"not-allowed"})},[c(N).isForward?(r(),s("div",X,[e("div",S,[u(b,{title:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:t[0]||(t[0]=e=>De(e))},{trigger:d((()=>[u(c(C),{quaternary:"",circle:"",size:"large",disabled:c(Ie)},{icon:d((()=>[W])),_:1},8,["disabled"])])),_:1}),P]),e("div",Q,[u(b,{title:(null==(i=window.getLanguageByCode)?void 0:i.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:t[1]||(t[1]=e=>De(e,"合并转发"))},{trigger:d((()=>[u(c(C),{quaternary:"",circle:"",size:"large",disabled:c(Ie)},{icon:d((()=>[Y])),_:1},8,["disabled"])])),_:1}),Z]),u(c(C),{quaternary:"",circle:""},{icon:d((()=>[u(c(M),{component:c($),onClick:Fe},null,8,["component"])])),_:1})])):(r(),s(g,{key:1},[c(N).currentReferenceMsg?(r(),s("div",ee,[e("div",ne,[e("span",null,m(c(N).currentReferenceMsg.senderName)+":",1),e("pre",{innerHTML:c(B)(c(N).currentReferenceMsg.content)},null,8,te)]),u(c(M),{component:c(H),onClick:t[2]||(t[2]=()=>c(N).currentReferenceMsg=null)},null,8,["component"])])):f("v-if",!0),e("div",oe,[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(E),{"content-class":"emoji-content",class:"emoji-wrapper",show:Ce.value,"onUpdate:show":t[3]||(t[3]=e=>Ce.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny"},{icon:d((()=>[ie])),_:1})])),default:d((()=>[c(_e).length>0?(r(),s(g,{key:0},[ae,e("div",re,[(r(!0),s(g,null,w(c(_e),(n=>(r(),p(c(_),{key:n,"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:()=>je(n)},{icon:d((()=>[e("img",{src:c(A).findEmoji(n)},null,8,se)])),_:2},1032,["onClick"])])),default:d((()=>[h(" "+m(n),1)])),_:2},1024)))),128))])],64)):f("v-if",!0),le,e("div",ce,[(r(!0),s(g,null,w(c(A).default,(([n,t])=>(r(),p(c(_),{key:n,"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:()=>je(n)},{icon:d((()=>[e("img",{src:t},null,8,ue)])),_:2},1032,["onClick"])])),default:d((()=>[h(" "+m(n),1)])),_:2},1024)))),128))])])),_:1},8,["show"])])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.53"))||"表情")]})),_:1}),u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:t[4]||(t[4]=()=>qe({chatMessageType:c(x).EMOJI,msg:0}))},{icon:d((()=>[de])),_:1})])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.54"))||"点赞")]})),_:1}),u(c(L),{abstract:"",multiple:"",accept:"image/*",onChange:t[5]||(t[5]=e=>Be(e,c(x).IMAGE))},{default:d((()=>[u(c(I),{abstract:""},{default:d((({handleClick:e})=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:d((()=>[ge])),_:2},1032,["onClick"])])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.55"))||"上传图片")]})),_:2},1024)])),_:1})])),_:1}),u(c(L),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:t[6]||(t[6]=e=>Be(e,c(x).FILE))},{default:d((()=>[u(c(I),{abstract:""},{default:d((({handleClick:e})=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:d((()=>[me])),_:2},1032,["onClick"])])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.56"))||"上传文件")]})),_:2},1024)])),_:1})])),_:1}),c(N).userInfo.sdkAppID?(r(),s(g,{key:0},[c(ye)?(r(),s(g,{key:0},[u(b,y(c(Ee),{onComfirm:t[7]||(t[7]=e=>be(c(x).AUDIO,e.checkedIds))}),{trigger:d((()=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny"},{icon:d((()=>[u(c(M),{size:"18",component:c(J)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.57"))||"语音通话")]})),_:1})])),_:1},16),u(b,y(c(Ee),{onComfirm:t[8]||(t[8]=e=>be(c(x).VIDEO,e.checkedIds))}),{trigger:d((()=>[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny"},{icon:d((()=>[u(c(M),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.58"))||"视频会议")]})),_:1})])),_:1},16)],64)):(r(),s(g,{key:1},[u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:t[9]||(t[9]=()=>be(c(x).AUDIO))},{icon:d((()=>[u(c(M),{size:"18",component:c(J)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.57"))||"语音通话")]})),_:1}),u(c(_),{"show-arrow":!1},{trigger:d((()=>[u(c(C),{quaternary:"",size:"tiny",onClick:t[10]||(t[10]=()=>be(c(x).VIDEO))},{icon:d((()=>[u(c(M),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.59"))||"视频通话")]})),_:1})],64))],64)):f("v-if",!0),v(n.$slots,"footer")]),a(e("div",{ref_key:"inputRef",ref:G,class:"input-box",contenteditable:!c(ve),onKeydown:Te,onInput:xe},null,40,fe),[[k,c(N).id]]),e("div",we,[pe,u(c(C),{type:"primary",round:"",disabled:c(Le),onClick:Re},{default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.60"))||"发送")]})),_:1},8,["disabled"])])],64))],4)),[[k,c(N).id]])}}});export{he as default};
@@ -71,7 +71,6 @@ declare const _default: import("vue").DefineComponent<{}, {
71
71
  renderToolbar: ({ nodes }: ImageRenderToolbarProps) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
72
72
  [key: string]: any;
73
73
  }>[];
74
- formatImage: (obj: AnyObject | string, type: string) => any;
75
74
  getHistoryRecord: () => Promise<void>;
76
75
  handleSelectLabel: (event: MouseEvent, msgId: string) => void;
77
76
  handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as n,reactive as t,computed as s,watch as o,openBlock as i,createElementBlock as a,normalizeClass as l,unref as r,normalizeStyle as c,createVNode as u,withCtx as d,Fragment as m,renderList as p,toDisplayString as g,createCommentVNode as y,createBlock as v,createElementVNode as f,createTextVNode as h,withModifiers as k,nextTick as w}from"vue";import{NImageGroup as T,NButton as M,NCheckbox as C,NAvatar as _,NImage as x,NIcon as L,NSpace as I,NButtonGroup as b,NTooltip as j}from"naive-ui";import{format as E}from"date-fns";import{getHistoryRecordApi as S,readMessageApi as z}from"../api/index.js";import{useData as A}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as D}from"../constants/index.js";import{isAudioOrVideoMessage as R,simplifyMessage as N,getForwardTitle as H,getAVTime as O,downloadFile as B}from"../utils/index.js";import{first as U,last as F,isArray as q,toString as W}from"lodash-es";import"trtc-sdk-v5";import J from"./MessageTemplate.vue.js";import P from"./MessageEvent.vue.js";import X from"./MessageMergeForward.vue.js";import G from"./SelectLabel.vue.js";import{emojis as K}from"../utils/emoji.js";import Y from"./ContextMenu.js";import V from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as $,VideocamOutline as Q,DocumentSharp as Z,HappyOutline as ee,ChatbubbleEllipsesOutline as ne,EllipsisHorizontal as te,ArrowDownSharp as se}from"@vicons/ionicons5";import{useScrollLoading as oe}from"../../../../shared/hooks/useScrollLoading.js";const ie={key:0,class:"tip-text"},ae={key:1,class:"tip-text"},le=["onClick"],re={class:"message-box"},ce={key:0,class:"content-box"},ue={class:"name-box"},de=["data-time"],me=["onContextmenu"],pe={key:0,class:"reference-content"},ge=["innerHTML"],ye=["src"],ve=["innerHTML"],fe=["innerHTML"],he=["onClick"],ke={class:"merge-msg-contents"},we={style:{"margin-left":"8px"}},Te={class:"size"},Me=["src"],Ce={key:0};var _e=e({__name:"ChatMain",setup(e){const _e=n(),{state:xe,setMsgList:Le,relayMessage:Ie,setCurrentSessionItem:be,setMessageLabel:je,setUserDetail:Ee,isGroupChat:Se}=A(),ze=n(),Ae=n(!1),De=n({left:0,top:0}),Re=n(),Ne=n(),He=n(!1),Oe=t({x:0,y:0}),Be=n(!1),Ue={page:0,hasMore:!0,lastSendTime:E(new Date,"yyyy-MM-dd HH:mm:ss")},Fe=s((()=>({"--c-tip-top":Se.value?"1px":"-20px","--c-tip-gap":Se.value?"10px":"0px"})));function qe({nodes:e}){var n,t;const{_ctx:s}=null==(n=e.download)?void 0:n.children,o=s?null==(t=null==s?void 0:s.proxy)?void 0:t.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,u(j,null,{trigger:()=>u(L,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:se,onClick:()=>o&&B(o,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.102"))||"下载"}}),e.close]}function We(e,n){try{if("string"==typeof e){return JSON.parse(e)[n]}return e[n]}catch(n){return e}}async function Je(){try{if(!Ue.hasMore)return;Ue.page++;const e=await S({sessionKey:xe.currentSessionItem.sessionKey,page:Ue.page,lastSendTime:Ue.lastSendTime});if(!Array.isArray(e)||0===e.length)return Ue.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const n=U(e).id;Ue.lastSendTime=F(e).sendTime,Le(Ue.page>1?[...xe.msgList,...e]:e),1===Ue.page&&xe.currentSessionItem.unreadNum&&(await z({chatType:xe.currentSessionItem.chatType,messageIdSet:[n],receiver:xe.userInfo.id,sender:xe.currentSessionItem.receiver}),be({unreadNum:0}))}catch(e){console.log(e)}}async function Pe(e,n){Re.value=n,async function(e){var n,t,s,o,i,a;Ae.value=!0,await w();const{clientX:l,clientY:r}=e,{width:c=0,height:u=0,left:d=0,top:m=0}=(null==(n=_e.value)?void 0:n.getBoundingClientRect())||{},p=null!=(o=null==(s=null==(t=ze.value)?void 0:t.$el)?void 0:s.getBoundingClientRect().height)?o:220,g=null!=(a=null==(i=_e.value)?void 0:i.scrollTop)?a:0,y=5,v={};l<=d+c/2?v.left=l-d+y+"px":v.right=d+c-l-y+"px";r-m<p/2?v.top=g+y+"px":m+u-r<=p/2?v.bottom=Math.abs(g)+y+"px":v.top=g+r-m-p/2+"px";De.value=v}(e)}function Xe(e){const{chatMessageType:n,messageTemplate:t}=e.content;return n!==D.TEMPLATE||!!t}function Ge(e){const{chatMessageType:n}=e.content;return e.sender===xe.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[D.TEXT,D.EMOJI].includes(n)}function Ke(e){const{chatMessageType:n,msg:t=""}=e.content;if(n===D.BLEND){const e=W(t).match(/<img[^>]*>/gi);return!e||!e.length}return n&&[D.TEXT,D.EMOJI].includes(n)}function Ye(e){const{chatMessageType:n,msg:t=""}=e.content,s=W(t).match(/<img[^>]*>/gi);return n===D.BLEND&&s&&s.length}function Ve(e,n){var t,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===D.TEMPLATE)return"system"===n?2==(null==(t=null==i?void 0:i.setting)?void 0:t.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function $e(e){var n,t;const{chatMessageType:s,messageTemplate:o}=e;return s===D.TEMPLATE&&3==(null==(t=null==(n=null==o?void 0:o.setting)?void 0:n.style)?void 0:t.id)}function Qe(e,n){var t;const s=new Date(e.sendTime).getTime(),o=null==(t=xe.msgList[n+1])?void 0:t.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}function Ze(e){xe.currentReferenceMsg=e,xe.currentReferenceMsg.content.referenceContent=null,Object.assign(xe.currentReferenceMsg,{chatType:xe.currentSessionItem.chatType,receiver:xe.currentSessionItem.receiver,receiverAvatar:xe.currentSessionItem.avatar,receiverName:xe.currentSessionItem.name})}function en(e,n){var t;"reply"!==e?"relay"===e&&(null==(t=Ne.value)||t.click()):Ze(n)}function nn({checkedIds:e,remark:n}){const t=xe.msgList.find((e=>e.id===Re.value));Ie({checkedIds:e,remark:n,contents:[t.content]})}return oe(_e,(()=>{Je()}),"top",(()=>{He.value=Ae.value=!1})),o((()=>xe.id),(e=>{e&&(xe.currentReferenceMsg=null,Object.assign(Ue,{page:0,hasMore:!0,lastSendTime:E(new Date,"yyyy-MM-dd HH:mm:ss")}),Je())}),{immediate:!0}),o((()=>xe.isAppendMsg),(e=>{e&&(Le([xe.currentMsg,...xe.msgList]),async function(){var e;null==(e=_e.value)||e.scrollTo({top:0,behavior:"auto"})}(),xe.isAppendMsg=!1)}),{immediate:!0}),(e,n)=>{var t;return i(),a("div",{class:l(["chat-main",{"home-bg":!r(xe).id,"chat-main--check":r(xe).isForward}]),ref_key:"chatMainRef",ref:_e,style:c(r(Fe))},[u(r(T),{"show-toolbar-tooltip":"","render-toolbar":qe},{default:d((()=>[(i(!0),a(m,null,p(r(xe).msgList,((e,t)=>{var s,o,c;return i(),a(m,{key:e.id},[Xe(e)?(i(),a("div",{key:0,class:l(["message-item",{"message-item--mine":e.sender==r(xe).userInfo.id}])},[Qe(e,t)?(i(),a("p",ie,g(e.__sendTime),1)):y("v-if",!0),Ve(e,"system")||"WITHDRAWN"===e.status||(null==(s=e.content)?void 0:s.chatMessageType)===r(D).EVENT?(i(),a(m,{key:1},[Ve(e,"system")?(i(),v(J,{key:0,data:e},null,8,["data"])):y("v-if",!0),"WITHDRAWN"===e.status?(i(),a("p",ae,[f("span",null,g(e.sender==r(xe).userInfo.id?(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.67"))||"你":e.senderName)+((null==(c=window.getLanguageByCode)?void 0:c.call(window,"10010.1.68"))||"撤回了一条消息"),1),Ge(e)?(i(),v(r(M),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){xe.currentReEditMsg=e}(e)},{default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.69"))||"重新编辑")]})),_:2},1032,["onClick"])):y("v-if",!0)])):(i(),v(P,{key:2,data:e},null,8,["data"]))],64)):(i(),a("div",{key:2,class:l(["message-wrapper",{checked:e.checked}]),onClick:()=>e.checked=!e.checked},[u(r(C),{checked:e.checked,"onUpdate:checked":n=>e.checked=n,size:"large"},null,8,["checked","onUpdate:checked"]),f("div",re,[u(r(_),{round:"",size:38,src:e.senderAvatar,onClick:k((n=>r(Ee)(n,{show:!0,userId:e.sender})),["stop"])},null,8,["src","onClick"]),e.content?(i(),a("div",ce,[f("div",ue,[f("span",{class:"name","data-time":e.__time},g(r(Se)?e.senderName:""),9,de)]),f("div",{class:l(["content",{emoji:e.content.chatMessageType===r(D).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===r(D).TEMPLATE,"template--3":$e(e.content),"audio-video":r(R)(e.content),file:e.content.chatMessageType===r(D).FILE,"merge-msg":e.content.chatMessageType===r(D).FORWARD&&r(q)(e.content.forwardMessageList)}]),onContextmenu:k((n=>!r(xe).isForward&&Pe(n,e.id)),["prevent"])},[Ke(e)?(i(),a(m,{key:0},[e.content.referenceContent?(i(),a("div",pe,[f("span",null,g(e.content.referenceContent.senderName)+":",1),f("pre",{innerHTML:r(N)(e.content.referenceContent.content)},null,8,ge)])):y("v-if",!0),e.content.chatMessageType===r(D).EMOJI?(i(),a("img",{key:1,class:l([e.content.referenceContent?"emoji--min":"emoji--big"]),src:r(K).findEmoji(e.__content)},null,10,ye)):(i(),a("pre",{key:2,innerHTML:e.__content},null,8,ve))],64)):y("v-if",!0),Ye(e)?(i(),a("pre",{key:1,innerHTML:e.__content},null,8,fe)):y("v-if",!0),Ve(e,"template")?(i(),v(J,{key:2,data:e},null,8,["data"])):y("v-if",!0),e.content.chatMessageType===r(D).FORWARD&&r(q)(e.content.forwardMessageList)?(i(),a("div",{key:3,class:"merge-msg-box",onClick:()=>function(e){xe.isForward||(Re.value=e.id,Be.value=!0)}(e)},[f("h4",null,g(r(H)(e.content)),1),f("div",ke,[(i(!0),a(m,null,p(e.content.forwardMessageList,(e=>(i(),a("div",{key:e.id},g(e.senderName)+":"+g(r(N)(e.content)),1)))),128))])],8,he)):y("v-if",!0),e.content.chatMessageType===r(D).IMAGE?(i(),v(r(x),{key:4,width:"240",src:We(e.__content,"fileUrl"),onClick:n[0]||(n[0]=e=>e.stopPropagation())},null,8,["src"])):y("v-if",!0),r(R)(e.content)?(i(),a(m,{key:5},[u(r(L),{class:l({"is-audio":e.content.chatMessageType===r(D).AUDIO}),component:e.content.chatMessageType===r(D).AUDIO?r($):r(Q)},null,8,["class","component"]),f("span",we,g(r(O)(e.__content)),1)],64)):y("v-if",!0),e.content.chatMessageType===r(D).FILE?(i(),v(r(I),{key:6,"wrap-item":!1},{default:d((()=>[u(r(L),{class:"icon-file",size:"40",component:r(Z)},null,8,["component"]),u(r(I),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:d((()=>[f("span",null,g(We(e.__content,"fileName")),1),f("span",Te,g(e.__size),1)])),_:2},1024)])),_:2},1024)):y("v-if",!0),!r(R)(e.content)&&e.content.labelList?(i(),v(r(I),{key:7,"wrap-item":!1},{default:d((()=>[(i(!0),a(m,null,p(e.content.labelList,((n,t)=>(i(),a("div",{key:t,class:"label-item"},["text"===n.type?(i(),v(r(M),{key:0,type:n.label.type,secondary:"",size:"tiny",onClick:()=>r(je)({type:n.type,labelItem:n.label,msgId:e.id})},{default:d((()=>[h(g(n.label.label),1)])),_:2},1032,["type","onClick"])):(i(),v(r(M),{key:1,quaternary:"",size:"tiny",onClick:()=>r(je)({type:n.type,labelItem:n.label,msgId:e.id})},{icon:d((()=>[f("img",{class:"emoji--min",src:r(K).findEmoji(n.label)},null,8,Me)])),_:2},1032,["onClick"])),(i(!0),a(m,null,p(n.userList,((e,t)=>(i(),a(m,{key:e.id},[u(r(M),{quaternary:"",type:"tertiary",size:"tiny",onClick:n=>r(Ee)(n,{show:!0,info:e})},{default:d((()=>[h(g(e.name),1)])),_:2},1032,["onClick"]),t<n.userList.length-1?(i(),a("span",Ce,",")):y("v-if",!0)],64)))),128))])))),128))])),_:2},1024)):y("v-if",!0),u(r(b),{class:"quick-menu"},{default:d((()=>[r(R)(e.content)?y("v-if",!0):(i(),a(m,{key:0},[u(r(M),{quaternary:"",size:"tiny",onClick:n=>function(e,n){He.value=!0,Oe.x=e.clientX,Oe.y=e.clientY,Re.value=n}(n,e.id)},{icon:d((()=>[u(r(L),{size:"17",component:r(ee)},null,8,["component"])])),_:2},1032,["onClick"]),u(r(M),{quaternary:"",size:"tiny",onClick:()=>Ze(e)},{icon:d((()=>[u(r(L),{size:"17",component:r(ne)},null,8,["component"])])),_:2},1032,["onClick"])],64)),u(r(M),{quaternary:"",size:"tiny",onClick:n=>Pe(n,e.id)},{icon:d((()=>[u(r(L),{size:"14",component:r(te)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,me)])):y("v-if",!0)])],10,le))],2)):y("v-if",!0)],64)})),128))])),_:1}),u(r(Y),{ref_key:"contextmenuRef",ref:ze,show:Ae.value,"onUpdate:show":n[1]||(n[1]=e=>Ae.value=e),position:De.value,id:Re.value,onSelect:en},null,8,["show","position","id"]),u(V,{title:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:nn},{trigger:d((()=>{var e;return[f("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:Ne},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.45"))||"转发",512)]})),_:1}),Re.value?(i(),v(G,{key:0,show:He.value,"onUpdate:show":n[2]||(n[2]=e=>He.value=e),x:Oe.x,y:Oe.y,id:Re.value},null,8,["show","x","y","id"])):y("v-if",!0),u(X,{show:Be.value,"onUpdate:show":n[3]||(n[3]=e=>Be.value=e),id:Re.value},null,8,["show","id"])],6)}}});export{_e as default};
1
+ import{defineComponent as e,ref as n,reactive as t,computed as s,watch as o,openBlock as i,createElementBlock as a,normalizeClass as l,unref as r,normalizeStyle as c,createVNode as u,withCtx as d,Fragment as m,renderList as p,toDisplayString as g,createCommentVNode as y,createBlock as v,createElementVNode as f,createTextVNode as h,withModifiers as k,nextTick as w}from"vue";import{NImageGroup as T,NButton as M,NCheckbox as C,NAvatar as _,NImage as x,NIcon as L,NSpace as I,NButtonGroup as b,NTooltip as j}from"naive-ui";import{format as E}from"date-fns";import{getHistoryRecordApi as S,readMessageApi as z}from"../api/index.js";import{useData as A}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as D}from"../constants/index.js";import{isAudioOrVideoMessage as R,simplifyMessage as H,getForwardTitle as N,getAVTime as O,downloadFile as B}from"../utils/index.js";import{first as F,last as U,isArray as q,toString as W}from"lodash-es";import"trtc-sdk-v5";import P from"./MessageTemplate.vue.js";import J from"./MessageEvent.vue.js";import X from"./MessageMergeForward.vue.js";import G from"./SelectLabel.vue.js";import{emojis as K}from"../utils/emoji.js";import Y from"./ContextMenu.js";import V from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as $,VideocamOutline as Q,DocumentSharp as Z,HappyOutline as ee,ChatbubbleEllipsesOutline as ne,EllipsisHorizontal as te,ArrowDownSharp as se}from"@vicons/ionicons5";import{useScrollLoading as oe}from"../../../../shared/hooks/useScrollLoading.js";const ie={key:0,class:"tip-text"},ae={key:1,class:"tip-text"},le=["onClick"],re={class:"message-box"},ce={key:0,class:"content-box"},ue={class:"name-box"},de=["data-time"],me=["onContextmenu"],pe={key:0,class:"reference-content"},ge=["innerHTML"],ye=["src"],ve=["innerHTML"],fe=["innerHTML"],he=["onClick"],ke={class:"merge-msg-contents"},we={style:{"margin-left":"8px"}},Te={class:"size"},Me=["src"],Ce={key:0};var _e=e({__name:"ChatMain",setup(e){const _e=n(),{state:xe,setMsgList:Le,relayMessage:Ie,setCurrentSessionItem:be,setMessageLabel:je,setUserDetail:Ee,isGroupChat:Se}=A(),ze=n(),Ae=n(!1),De=n({left:0,top:0}),Re=n(),He=n(),Ne=n(!1),Oe=t({x:0,y:0}),Be=n(!1),Fe={page:0,hasMore:!0,lastSendTime:E(new Date,"yyyy-MM-dd HH:mm:ss")},Ue=s((()=>({"--c-tip-top":Se.value?"1px":"-20px","--c-tip-gap":Se.value?"10px":"0px"})));function qe({nodes:e}){var n,t;const{_ctx:s}=null==(n=e.download)?void 0:n.children,o=s?null==(t=null==s?void 0:s.proxy)?void 0:t.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,u(j,null,{trigger:()=>u(L,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:se,onClick:()=>o&&B(o,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.102"))||"下载"}}),e.close]}async function We(){try{if(!Fe.hasMore)return;Fe.page++;const e=await S({sessionKey:xe.currentSessionItem.sessionKey,page:Fe.page,lastSendTime:Fe.lastSendTime});if(!Array.isArray(e)||0===e.length)return Fe.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const n=F(e).id;Fe.lastSendTime=U(e).sendTime,Le(Fe.page>1?[...xe.msgList,...e]:e),1===Fe.page&&xe.currentSessionItem.unreadNum&&(await z({chatType:xe.currentSessionItem.chatType,messageIdSet:[n],receiver:xe.userInfo.id,sender:xe.currentSessionItem.receiver}),be({unreadNum:0}))}catch(e){console.log(e)}}async function Pe(e,n){Re.value=n,async function(e){var n,t,s,o,i,a;Ae.value=!0,await w();const{clientX:l,clientY:r}=e,{width:c=0,height:u=0,left:d=0,top:m=0}=(null==(n=_e.value)?void 0:n.getBoundingClientRect())||{},p=null!=(o=null==(s=null==(t=ze.value)?void 0:t.$el)?void 0:s.getBoundingClientRect().height)?o:220,g=null!=(a=null==(i=_e.value)?void 0:i.scrollTop)?a:0,y=5,v={};l<=d+c/2?v.left=l-d+y+"px":v.right=d+c-l-y+"px";r-m<p/2?v.top=g+y+"px":m+u-r<=p/2?v.bottom=Math.abs(g)+y+"px":v.top=g+r-m-p/2+"px";De.value=v}(e)}function Je(e){const{chatMessageType:n,messageTemplate:t}=e.content;return n!==D.TEMPLATE||!!t}function Xe(e){const{chatMessageType:n}=e.content;return e.sender===xe.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[D.TEXT,D.EMOJI].includes(n)}function Ge(e){const{chatMessageType:n,msg:t=""}=e.content;if(n===D.BLEND){const e=W(t).match(/<img[^>]*>/gi);return!e||!e.length}return n&&[D.TEXT,D.EMOJI].includes(n)}function Ke(e){const{chatMessageType:n,msg:t=""}=e.content,s=W(t).match(/<img[^>]*>/gi);return n===D.BLEND&&s&&s.length}function Ye(e,n){var t,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===D.TEMPLATE)return"system"===n?2==(null==(t=null==i?void 0:i.setting)?void 0:t.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function Ve(e){var n,t;const{chatMessageType:s,messageTemplate:o}=e;return s===D.TEMPLATE&&3==(null==(t=null==(n=null==o?void 0:o.setting)?void 0:n.style)?void 0:t.id)}function $e(e,n){var t;const s=new Date(e.sendTime).getTime(),o=null==(t=xe.msgList[n+1])?void 0:t.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}function Qe(e){xe.currentReferenceMsg=e,xe.currentReferenceMsg.content.referenceContent=null,Object.assign(xe.currentReferenceMsg,{chatType:xe.currentSessionItem.chatType,receiver:xe.currentSessionItem.receiver,receiverAvatar:xe.currentSessionItem.avatar,receiverName:xe.currentSessionItem.name})}function Ze(e,n){var t;"reply"!==e?"relay"===e&&(null==(t=He.value)||t.click()):Qe(n)}function en({checkedIds:e,remark:n}){const t=xe.msgList.find((e=>e.id===Re.value));Ie({checkedIds:e,remark:n,contents:[t.content]})}return oe(_e,(()=>{We()}),"top",(()=>{Ne.value=Ae.value=!1})),o((()=>xe.id),(e=>{e&&(xe.currentReferenceMsg=null,Object.assign(Fe,{page:0,hasMore:!0,lastSendTime:E(new Date,"yyyy-MM-dd HH:mm:ss")}),We())}),{immediate:!0}),o((()=>xe.isAppendMsg),(e=>{e&&(Le([xe.currentMsg,...xe.msgList]),async function(){var e;null==(e=_e.value)||e.scrollTo({top:0,behavior:"auto"})}(),xe.isAppendMsg=!1)}),{immediate:!0}),(e,n)=>{var t;return i(),a("div",{class:l(["chat-main",{"home-bg":!r(xe).id,"chat-main--check":r(xe).isForward}]),ref_key:"chatMainRef",ref:_e,style:c(r(Ue))},[u(r(T),{"show-toolbar-tooltip":"","render-toolbar":qe},{default:d((()=>[(i(!0),a(m,null,p(r(xe).msgList,((e,t)=>{var s,o,c;return i(),a(m,{key:e.id},[Je(e)?(i(),a("div",{key:0,class:l(["message-item",{"message-item--mine":e.sender==r(xe).userInfo.id}])},[$e(e,t)?(i(),a("p",ie,g(e.__sendTime),1)):y("v-if",!0),Ye(e,"system")||"WITHDRAWN"===e.status||(null==(s=e.content)?void 0:s.chatMessageType)===r(D).EVENT?(i(),a(m,{key:1},[Ye(e,"system")?(i(),v(P,{key:0,data:e},null,8,["data"])):y("v-if",!0),"WITHDRAWN"===e.status?(i(),a("p",ae,[f("span",null,g(e.sender==r(xe).userInfo.id?(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.67"))||"你":e.senderName)+((null==(c=window.getLanguageByCode)?void 0:c.call(window,"10010.1.68"))||"撤回了一条消息"),1),Xe(e)?(i(),v(r(M),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){xe.currentReEditMsg=e}(e)},{default:d((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.69"))||"重新编辑")]})),_:2},1032,["onClick"])):y("v-if",!0)])):(i(),v(J,{key:2,data:e},null,8,["data"]))],64)):(i(),a("div",{key:2,class:l(["message-wrapper",{checked:e.checked}]),onClick:()=>e.checked=!e.checked},[u(r(C),{checked:e.checked,"onUpdate:checked":n=>e.checked=n,size:"large"},null,8,["checked","onUpdate:checked"]),f("div",re,[u(r(_),{round:"",size:38,src:e.senderAvatar,onClick:k((n=>r(Ee)(n,{show:!0,userId:e.sender})),["stop"])},null,8,["src","onClick"]),e.content?(i(),a("div",ce,[f("div",ue,[f("span",{class:"name","data-time":e.__time},g(r(Se)?e.senderName:""),9,de)]),f("div",{class:l(["content",{emoji:e.content.chatMessageType===r(D).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===r(D).TEMPLATE,"template--3":Ve(e.content),"audio-video":r(R)(e.content),file:e.content.chatMessageType===r(D).FILE,"merge-msg":e.content.chatMessageType===r(D).FORWARD&&r(q)(e.content.forwardMessageList)}]),onContextmenu:k((n=>!r(xe).isForward&&Pe(n,e.id)),["prevent"])},[Ge(e)?(i(),a(m,{key:0},[e.content.referenceContent?(i(),a("div",pe,[f("span",null,g(e.content.referenceContent.senderName)+":",1),f("pre",{innerHTML:r(H)(e.content.referenceContent.content)},null,8,ge)])):y("v-if",!0),e.content.chatMessageType===r(D).EMOJI?(i(),a("img",{key:1,class:l([e.content.referenceContent?"emoji--min":"emoji--big"]),src:r(K).findEmoji(e.__content)},null,10,ye)):(i(),a("pre",{key:2,innerHTML:e.__content},null,8,ve))],64)):y("v-if",!0),Ke(e)?(i(),a("pre",{key:1,innerHTML:e.__content},null,8,fe)):y("v-if",!0),Ye(e,"template")?(i(),v(P,{key:2,data:e},null,8,["data"])):y("v-if",!0),e.content.chatMessageType===r(D).FORWARD&&r(q)(e.content.forwardMessageList)?(i(),a("div",{key:3,class:"merge-msg-box",onClick:()=>function(e){xe.isForward||(Re.value=e.id,Be.value=!0)}(e)},[f("h4",null,g(r(N)(e.content)),1),f("div",ke,[(i(!0),a(m,null,p(e.content.forwardMessageList,(e=>(i(),a("div",{key:e.id},g(e.senderName)+":"+g(r(H)(e.content)),1)))),128))])],8,he)):y("v-if",!0),e.content.chatMessageType===r(D).IMAGE?(i(),v(r(x),{key:4,width:"240",src:e.__content,onClick:n[0]||(n[0]=e=>e.stopPropagation())},null,8,["src"])):y("v-if",!0),r(R)(e.content)?(i(),a(m,{key:5},[u(r(L),{class:l({"is-audio":e.content.chatMessageType===r(D).AUDIO}),component:e.content.chatMessageType===r(D).AUDIO?r($):r(Q)},null,8,["class","component"]),f("span",we,g(r(O)(e.__content)),1)],64)):y("v-if",!0),e.content.chatMessageType===r(D).FILE?(i(),v(r(I),{key:6,"wrap-item":!1},{default:d((()=>[u(r(L),{class:"icon-file",size:"40",component:r(Z)},null,8,["component"]),u(r(I),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:d((()=>[f("span",null,g(e.__content),1),f("span",Te,g(e.__size),1)])),_:2},1024)])),_:2},1024)):y("v-if",!0),!r(R)(e.content)&&e.content.labelList?(i(),v(r(I),{key:7,"wrap-item":!1},{default:d((()=>[(i(!0),a(m,null,p(e.content.labelList,((n,t)=>(i(),a("div",{key:t,class:"label-item"},["text"===n.type?(i(),v(r(M),{key:0,type:n.label.type,secondary:"",size:"tiny",onClick:()=>r(je)({type:n.type,labelItem:n.label,msgId:e.id})},{default:d((()=>[h(g(n.label.label),1)])),_:2},1032,["type","onClick"])):(i(),v(r(M),{key:1,quaternary:"",size:"tiny",onClick:()=>r(je)({type:n.type,labelItem:n.label,msgId:e.id})},{icon:d((()=>[f("img",{class:"emoji--min",src:r(K).findEmoji(n.label)},null,8,Me)])),_:2},1032,["onClick"])),(i(!0),a(m,null,p(n.userList,((e,t)=>(i(),a(m,{key:e.id},[u(r(M),{quaternary:"",type:"tertiary",size:"tiny",onClick:n=>r(Ee)(n,{show:!0,info:e})},{default:d((()=>[h(g(e.name),1)])),_:2},1032,["onClick"]),t<n.userList.length-1?(i(),a("span",Ce,",")):y("v-if",!0)],64)))),128))])))),128))])),_:2},1024)):y("v-if",!0),u(r(b),{class:"quick-menu"},{default:d((()=>[r(R)(e.content)?y("v-if",!0):(i(),a(m,{key:0},[u(r(M),{quaternary:"",size:"tiny",onClick:n=>function(e,n){Ne.value=!0,Oe.x=e.clientX,Oe.y=e.clientY,Re.value=n}(n,e.id)},{icon:d((()=>[u(r(L),{size:"17",component:r(ee)},null,8,["component"])])),_:2},1032,["onClick"]),u(r(M),{quaternary:"",size:"tiny",onClick:()=>Qe(e)},{icon:d((()=>[u(r(L),{size:"17",component:r(ne)},null,8,["component"])])),_:2},1032,["onClick"])],64)),u(r(M),{quaternary:"",size:"tiny",onClick:n=>Pe(n,e.id)},{icon:d((()=>[u(r(L),{size:"14",component:r(te)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,me)])):y("v-if",!0)])],10,le))],2)):y("v-if",!0)],64)})),128))])),_:1}),u(r(Y),{ref_key:"contextmenuRef",ref:ze,show:Ae.value,"onUpdate:show":n[1]||(n[1]=e=>Ae.value=e),position:De.value,id:Re.value,onSelect:Ze},null,8,["show","position","id"]),u(V,{title:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:en},{trigger:d((()=>{var e;return[f("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:He},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.45"))||"转发",512)]})),_:1}),Re.value?(i(),v(G,{key:0,show:Ne.value,"onUpdate:show":n[2]||(n[2]=e=>Ne.value=e),x:Oe.x,y:Oe.y,id:Re.value},null,8,["show","x","y","id"])):y("v-if",!0),u(X,{show:Be.value,"onUpdate:show":n[3]||(n[3]=e=>Be.value=e),id:Re.value},null,8,["show","id"])],6)}}});export{_e as default};
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,reactive as l,computed as o,watch as n,openBlock as a,createBlock as i,unref as s,withCtx as r,createElementBlock as u,Fragment as d,withDirectives as c,createElementVNode as p,createVNode as v,createCommentVNode as w,toDisplayString as g,createTextVNode as m,renderList as f,vShow as y}from"vue";import{NPopover as h,NAvatar as k,NButton as b,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as D,EyeOffOutline as j,EyeOutline as x,Close as L}from"@vicons/ionicons5";import{useData as _}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as B}from"../constants/index.js";import{openSessionApi as I,getUserDetailApi as z}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const N={class:"person-profile-main"},E={class:"left"},P={class:"profile"},S={class:"profile__text"},$={class:"right"},G={class:"right__content"},O={class:"label"},T={class:"content"};var q=t({__name:"PersonProfile",setup(t){var q,A,F,H,J,K,M,Q;const{state:R,openSession:U}=_(),V=e(!1),W=e(!1),X=l({}),Y=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.115"))||"机构",value:"",key:"orgName"},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.116"))||"姓名",value:"",key:"name"},{label:(null==(F=window.getLanguageByCode)?void 0:F.call(window,"10010.1.117"))||"归属科室",value:"",key:"deptName"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.118"))||"业务科室",value:"",key:"businessDeptNames"},{label:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.119"))||"手机号",value:"",key:"phone"},{label:(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.120"))||"岗位",value:"",key:"post"},{label:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.121"))||"工号",value:"",key:"jobId"},{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.122"))||"性别",value:"",key:"orgName"}],Z=o((()=>(X.id&&Y.forEach((t=>{const{key:e}=t;t.value=X[e]})),Y)));async function tt(){var t;R.userDetail.show=!1;const e=R.userDetail.userId||(null==(t=R.userDetail.info)?void 0:t.id);let l=R.sessionList.find((t=>t.receiver===e));if(!l)try{l=await I({chatType:B.SINGLE,receiver:e,sender:R.userInfo.id})}catch(t){console.log("error :>> ",t)}l&&U(l)}function et(t){const{key:e,value:l}=t;return"phone"!==e||W.value?l:(l||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return n((()=>R.userDetail.show),(t=>{if(!t)return R.userDetail.userId="",void(R.userDetail.info=null);!async function(){const{userId:t,info:e}=R.userDetail;if(!t&&!e)return;let l={};t?l=await z({userId:t}):e&&(l=e),(null==l?void 0:l.id)?Object.assign(X,l):X.id=""}()})),(t,e)=>(a(),i(s(h),{raw:"",class:"person-profile-wrapper",show:s(R).userDetail.show,x:s(R).userDetail.position.x,y:s(R).userDetail.position.y,trigger:"manual","show-arrow":!1,"display-directive":"show",to:"body",shift:"",onClickoutside:e[3]||(e[3]=()=>s(R).userDetail.show=!1)},{default:r((()=>[X.id?(a(),u(d,{key:0},[c(p("div",N,[p("div",E,[p("div",P,[v(s(k),{src:X.avatar,bordered:"",round:"",size:100,onClickCapture:e[0]||(e[0]=t=>V.value=!0)},null,8,["src"]),w(' <n-upload abstract accept="image/*" @change="onChange">\n\t\t\t\t\t\t\t<n-upload-trigger #="{ handleClick }" abstract>\n\t\t\t\t\t\t\t\t<n-button\n\t\t\t\t\t\t\t\t\tcircle\n\t\t\t\t\t\t\t\t\tsecondary\n\t\t\t\t\t\t\t\t\tclass="edit-avatar"\n\t\t\t\t\t\t\t\t\tv-show="userDetail.id === state.userInfo.id"\n\t\t\t\t\t\t\t\t\t@click="handleClick"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t<n-icon size="16" color="#666666" :component="Camera" />\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t</n-upload-trigger>\n\t\t\t\t\t\t</n-upload> '),p("div",S,[p("h4",null,g(X.name),1),p("p",null,g(X.orgName),1)]),v(s(b),{strong:"",secondary:"",onClick:tt},{default:r((()=>[v(s(C),{size:"13",color:"#666666",component:s(D),style:{"margin-right":"6px"}},null,8,["component"]),m(" 发消息 ")])),_:1})])]),p("div",$,[p("div",G,[(a(!0),u(d,null,f(s(Z),((t,l)=>(a(),u("div",{class:"info-item",key:l},[p("span",O,g(t.label),1),p("div",T,[p("span",null,g(et(t)),1),"phone"===t.key&&et(t)?(a(),i(s(C),{key:0,size:"16",color:"#666666",component:W.value?s(j):s(x),style:{"margin-left":"10px"},onClick:e[1]||(e[1]=t=>W.value=!W.value)},null,8,["component"])):w("v-if",!0)])])))),128))])])],512),[[y,!V.value]]),c(p("div",{class:"large-avatar",onClick:e[2]||(e[2]=t=>V.value=!1)},[v(s(b),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(s(C),{size:24,component:s(L),color:"#fff"},null,8,["component"])])),_:1}),v(s(k),{size:310,round:"",src:X.avatar},null,8,["src"])],512),[[y,V.value]])],64)):w("v-if",!0)])),_:1},8,["show","x","y"]))}});export{q as default};
1
+ import{defineComponent as t,ref as e,reactive as l,computed as o,watch as n,openBlock as a,createBlock as i,unref as s,withCtx as r,createElementBlock as u,Fragment as d,withDirectives as c,createElementVNode as p,createVNode as v,createCommentVNode as w,toDisplayString as g,createTextVNode as m,renderList as f,vShow as y}from"vue";import{NPopover as h,NAvatar as k,NButton as b,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as D,EyeOffOutline as j,EyeOutline as x,Close as L}from"@vicons/ionicons5";import{useData as _}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as B}from"../constants/index.js";import{openSessionApi as I,getUserDetailApi as z}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const N={class:"person-profile-main"},E={class:"left"},P={class:"profile"},S={class:"profile__text"},$={class:"right"},G={class:"right__content"},O={class:"label"},T={class:"content"};var q=t({__name:"PersonProfile",setup(t){var q,A,F,H,J,K,M,Q;const{state:R,openSession:U}=_(),V=e(!1),W=e(!1),X=l({}),Y=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.115"))||"机构",value:"",key:"orgName"},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.116"))||"姓名",value:"",key:"name"},{label:(null==(F=window.getLanguageByCode)?void 0:F.call(window,"10010.1.117"))||"归属科室",value:"",key:"deptName"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.118"))||"业务科室",value:"",key:"businessDeptNames"},{label:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.119"))||"手机号",value:"",key:"phone"},{label:(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.120"))||"岗位",value:"",key:"post"},{label:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.121"))||"工号",value:"",key:"jobId"},{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.122"))||"性别",value:"",key:"orgName"}],Z=o((()=>(X.id&&Y.forEach((t=>{const{key:e}=t;t.value=X[e]})),Y)));async function tt(){var t;R.userDetail.show=!1;const e=R.userDetail.userId||(null==(t=R.userDetail.info)?void 0:t.id);let l=R.sessionList.find((t=>t.receiver===e));if(!l)try{l=await I({chatType:B.SINGLE,receiver:e,sender:R.userInfo.id})}catch(t){console.log("error :>> ",t)}l&&U(l)}function et(t){const{key:e,value:l}=t;return"phone"!==e||W.value?l:(l||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return n((()=>R.userDetail.show),(t=>{if(!t)return R.userDetail.userId="",void(R.userDetail.info=null);!async function(){const{userId:t,info:e}=R.userDetail;if(!t&&!e)return;let l={};t?l=await z({userId:t}):e&&(l=e),(null==l?void 0:l.id)?Object.assign(X,l):X.id=""}()})),(t,e)=>(a(),i(s(h),{raw:"",class:"person-profile-wrapper",show:s(R).userDetail.show,x:s(R).userDetail.position.x,y:s(R).userDetail.position.y,trigger:"manual","show-arrow":!1,"display-directive":"show",to:"body",shift:"",onClickoutside:e[3]||(e[3]=()=>s(R).userDetail.show=!1)},{default:r((()=>[X.id?(a(),u(d,{key:0},[c(p("div",N,[p("div",E,[p("div",P,[v(s(k),{src:X.avatar,bordered:"",round:"",size:100,onClickCapture:e[0]||(e[0]=t=>V.value=!0)},null,8,["src"]),w(' <n-upload abstract accept="image/*" @change="onChange">\r\n\t\t\t\t\t\t\t<n-upload-trigger #="{ handleClick }" abstract>\r\n\t\t\t\t\t\t\t\t<n-button\r\n\t\t\t\t\t\t\t\t\tcircle\r\n\t\t\t\t\t\t\t\t\tsecondary\r\n\t\t\t\t\t\t\t\t\tclass="edit-avatar"\r\n\t\t\t\t\t\t\t\t\tv-show="userDetail.id === state.userInfo.id"\r\n\t\t\t\t\t\t\t\t\t@click="handleClick"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t<n-icon size="16" color="#666666" :component="Camera" />\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t\t\t</n-upload-trigger>\r\n\t\t\t\t\t\t</n-upload> '),p("div",S,[p("h4",null,g(X.name),1),p("p",null,g(X.orgName),1)]),v(s(b),{strong:"",secondary:"",onClick:tt},{default:r((()=>[v(s(C),{size:"13",color:"#666666",component:s(D),style:{"margin-right":"6px"}},null,8,["component"]),m(" 发消息 ")])),_:1})])]),p("div",$,[p("div",G,[(a(!0),u(d,null,f(s(Z),((t,l)=>(a(),u("div",{class:"info-item",key:l},[p("span",O,g(t.label),1),p("div",T,[p("span",null,g(et(t)),1),"phone"===t.key&&et(t)?(a(),i(s(C),{key:0,size:"16",color:"#666666",component:W.value?s(j):s(x),style:{"margin-left":"10px"},onClick:e[1]||(e[1]=t=>W.value=!W.value)},null,8,["component"])):w("v-if",!0)])])))),128))])])],512),[[y,!V.value]]),c(p("div",{class:"large-avatar",onClick:e[2]||(e[2]=t=>V.value=!1)},[v(s(b),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(s(C),{size:24,component:s(L),color:"#fff"},null,8,["component"])])),_:1}),v(s(k),{size:310,round:"",src:X.avatar},null,8,["src"])],512),[[y,V.value]])],64)):w("v-if",!0)])),_:1},8,["show","x","y"]))}});export{q as default};
@@ -1,18 +1,15 @@
1
1
  import { SFCWithInstall } from '../../shared/types';
2
- import { TablePlugin } from './src/types';
3
2
  import { IhoTableInstance } from '../../components/iho-table/src/types';
4
3
  export * from './src/hooks/export';
5
4
  export * from './src/types';
6
- export * from './src/plugins';
7
5
  export declare const useIhoTablePresetPlugins: (instance: IhoTableInstance) => void;
8
- export declare const useIhoTablePlugins: (instance: IhoTableInstance, plugins: (() => TablePlugin)[]) => void;
9
6
  declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
10
7
  tableConfig: {
11
- type: import("vue").PropType<import("./src/types").IhoTableConfig>;
8
+ type: import("vue").PropType<import("../../components/iho-table/src/types").IhoTableConfig>;
12
9
  default: () => {};
13
10
  };
14
11
  fieldList: {
15
- type: import("vue").PropType<import("./src/types").LowCodeTableFieldItem[]>;
12
+ type: import("vue").PropType<import("../../components/iho-table/src/types").LowCodeTableFieldItem[]>;
16
13
  default: () => never[];
17
14
  };
18
15
  tableData: {
@@ -40,11 +37,11 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
40
37
  }, {
41
38
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
42
39
  tableConfig: {
43
- type: import("vue").PropType<import("./src/types").IhoTableConfig>;
40
+ type: import("vue").PropType<import("../../components/iho-table/src/types").IhoTableConfig>;
44
41
  default: () => {};
45
42
  };
46
43
  fieldList: {
47
- type: import("vue").PropType<import("./src/types").LowCodeTableFieldItem[]>;
44
+ type: import("vue").PropType<import("../../components/iho-table/src/types").LowCodeTableFieldItem[]>;
48
45
  default: () => never[];
49
46
  };
50
47
  tableData: {
@@ -137,7 +134,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
137
134
  onRowDrag?: ((...args: any[]) => any) | undefined;
138
135
  }>>;
139
136
  __emits: (event: "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "rowDrag" | "keydown" | "keydownStart" | "keydownEnd" | "paste" | "cut" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd" | "pageChange", ...args: any[]) => void;
140
- $xeTable: import("vue").Ref<import("./src/types").$VxeTable | undefined>;
137
+ $xeTable: import("vue").Ref<import("../../components/iho-table/src/types").$VxeTable | undefined>;
141
138
  loading: import("vue").Ref<boolean>;
142
139
  finalLoading: import("vue").ComputedRef<boolean>;
143
140
  themCSSVars: import("vue").ComputedRef<import("../../shared/types").AnyObject>;
@@ -154,13 +151,13 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
154
151
  value: unknown;
155
152
  }[]>;
156
153
  hooks: Readonly<{
157
- configHooks: import("./src/types").AbstractConfigHooks;
158
- fieldHooks: import("./src/types").AbstractFieldHooks;
159
- eventHooks: import("./src/types").AbstractEventHooks;
160
- dataHooks: import("./src/types").AbstractDataHooks;
161
- setupHooks: import("./src/types").AbstractSetupHooks;
162
- domInsertHooks: import("./src/types").AbstractDomInsertHooks;
163
- exposeHooks: import("./src/types").AbstractExposeHooks;
154
+ configHooks: import("../../components/iho-table/src/types").AbstractConfigHooks;
155
+ fieldHooks: import("../../components/iho-table/src/types").AbstractFieldHooks;
156
+ eventHooks: import("../../components/iho-table/src/types").AbstractEventHooks;
157
+ dataHooks: import("../../components/iho-table/src/types").AbstractDataHooks;
158
+ setupHooks: import("../../components/iho-table/src/types").AbstractSetupHooks;
159
+ domInsertHooks: import("../../components/iho-table/src/types").AbstractDomInsertHooks;
160
+ exposeHooks: import("../../components/iho-table/src/types").AbstractExposeHooks;
164
161
  }>;
165
162
  uuid: string;
166
163
  $table: import("vue").Ref<import("vxe-table").VxeTableInstance | undefined>;
@@ -3256,7 +3253,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
3256
3253
  columnWidth?: number | undefined;
3257
3254
  }[] | undefined;
3258
3255
  } | undefined;
3259
- onFormChange?: ((payload_0: import("./src/types").IhoTableFormChangePayload) => void) | undefined;
3256
+ onFormChange?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
3260
3257
  onScroll?: ((params: import("vxe-table").VxeTableDefines.ScrollEventParams) => void) | undefined;
3261
3258
  onKeydown?: ((params: import("vxe-table").VxeTableDefines.KeydownEventParams) => void) | undefined;
3262
3259
  onKeydownStart?: ((params: import("vxe-table").VxeTableDefines.KeydownStartEventParams) => void) | undefined;
@@ -3318,8 +3315,8 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
3318
3315
  onActiveCellChangeEnd?: ((params: import("vxe-table").VxeTableProDefines.ActiveCellChangeEndEventParams) => void) | undefined;
3319
3316
  onPageChange?: (() => void) | undefined;
3320
3317
  onSettingClick?: (() => void) | undefined;
3321
- onFormClick?: ((payload_0: import("./src/types").IhoTableFormChangePayload) => void) | undefined;
3322
- onKeyboard?: ((payload_0: import("./src/types").IHoTableKeyboardPayload) => void) | undefined;
3318
+ onFormClick?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
3319
+ onKeyboard?: ((payload_0: import("../../components/iho-table/src/types").IHoTableKeyboardPayload) => void) | undefined;
3323
3320
  onRowDrag?: ((payload_0: import("sortablejs").SortableEvent) => void) | undefined;
3324
3321
  }>;
3325
3322
  updateConfigRefDebounced: () => void;
@@ -3636,7 +3633,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
3636
3633
  tableDataRef: import("vue").Ref<import("../../shared/types").AnyObject[]>;
3637
3634
  updateTableDataRefDebounced: () => Promise<void>;
3638
3635
  updateTableDataRef: () => Promise<void>;
3639
- tableHandler: import("./src/types").IhoTableHandler;
3636
+ tableHandler: import("../../components/iho-table/src/types").IhoTableHandler;
3640
3637
  eventHookHandler: {
3641
3638
  onScroll: import("vxe-table").VxeTableEvents.Scroll | undefined;
3642
3639
  onKeydown: import("vxe-table").VxeTableEvents.Keydown | undefined;
@@ -6850,10 +6847,10 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
6850
6847
  columnWidth?: number | undefined;
6851
6848
  }[] | undefined;
6852
6849
  } | undefined;
6853
- onFormChange?: ((payload_0: import("./src/types").IhoTableFormChangePayload) => void) | undefined;
6850
+ onFormChange?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
6854
6851
  onSettingClick?: (() => void) | undefined;
6855
- onFormClick?: ((payload_0: import("./src/types").IhoTableFormChangePayload) => void) | undefined;
6856
- onKeyboard?: ((payload_0: import("./src/types").IHoTableKeyboardPayload) => void) | undefined;
6852
+ onFormClick?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
6853
+ onKeyboard?: ((payload_0: import("../../components/iho-table/src/types").IHoTableKeyboardPayload) => void) | undefined;
6857
6854
  onRowDrag?: ((payload_0: import("sortablejs").SortableEvent) => void) | undefined;
6858
6855
  }>;
6859
6856
  configChanged: boolean;
@@ -6867,11 +6864,11 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
6867
6864
  NConfigProvider: any;
6868
6865
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "rowDrag" | "keydown" | "keydownStart" | "keydownEnd" | "paste" | "cut" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd" | "pageChange")[], "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "rowDrag" | "keydown" | "keydownStart" | "keydownEnd" | "paste" | "cut" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd" | "pageChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
6869
6866
  tableConfig: {
6870
- type: import("vue").PropType<import("./src/types").IhoTableConfig>;
6867
+ type: import("vue").PropType<import("../../components/iho-table/src/types").IhoTableConfig>;
6871
6868
  default: () => {};
6872
6869
  };
6873
6870
  fieldList: {
6874
- type: import("vue").PropType<import("./src/types").LowCodeTableFieldItem[]>;
6871
+ type: import("vue").PropType<import("../../components/iho-table/src/types").LowCodeTableFieldItem[]>;
6875
6872
  default: () => never[];
6876
6873
  };
6877
6874
  tableData: {
@@ -6963,10 +6960,10 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
6963
6960
  onKeyboard?: ((...args: any[]) => any) | undefined;
6964
6961
  onRowDrag?: ((...args: any[]) => any) | undefined;
6965
6962
  }, {
6966
- fieldList: import("./src/types").LowCodeTableFieldItem[];
6963
+ fieldList: import("../../components/iho-table/src/types").LowCodeTableFieldItem[];
6967
6964
  parallelism: number;
6968
6965
  uniqueCacheData: boolean;
6969
- tableConfig: import("./src/types").IhoTableConfig;
6966
+ tableConfig: import("../../components/iho-table/src/types").IhoTableConfig;
6970
6967
  tableData: import("../../shared/types").AnyObject[];
6971
6968
  developMode: boolean;
6972
6969
  }>>;
@@ -1 +1 @@
1
- import{COMPONENT_NAMESPACE as e}from"../../shared/global/variable.js";import{safeComponentRegister as r}from"../../shared/utils/index.js";import{once as s}from"lodash-es";import i from"./src/IhoTable.vue.js";import n,{commonPlugins as l}from"./src/plugins/index.js";export{commonPlugins}from"./src/plugins/index.js";import"vue";import"./src/constants/index.js";import"@vueuse/shared";import"date-fns";import"./src/utils/separateMap.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";export{AbstractConfigHooks,AbstractDataHooks,AbstractDomInsertHooks,AbstractEventHooks,AbstractExposeHooks,AbstractFieldHooks,AbstractSetupHooks}from"./src/types/pluginType.js";import{useTablePlugin as t}from"./src/hooks/useTablePlugin.js";export{defineTablePlugin,useTablePlugin}from"./src/hooks/useTablePlugin.js";export{useColumnConfigAdaptor}from"./src/hooks/useColumnConfigAdaptor.js";export{dateRendererPlugin}from"./src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js";export{inputRendererPlugin}from"./src/plugins/rendererPlugins/editableWidgets/inputRendererPlugin.js";export{levelSearchCascadePlugin}from"./src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.js";export{numberRendererPlugin}from"./src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js";export{radioRendererPlugin}from"./src/plugins/rendererPlugins/editableWidgets/radioRendererPlugin.js";export{selectRendererPlugin}from"./src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js";export{separateRendererPlugins}from"./src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js";export{switchRendererPlugin}from"./src/plugins/rendererPlugins/editableWidgets/switchRendererPlugin.js";export{timeRendererPlugin}from"./src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/index.js";export{checkRendererPlugin}from"./src/plugins/rendererPlugins/widgets/checkRendererPlugin.js";export{colorRendererPlugin}from"./src/plugins/rendererPlugins/widgets/colorRendererPlugin.js";export{defaultRendererPlugin}from"./src/plugins/rendererPlugins/widgets/defaultRendererPlugin.js";export{htmlRendererPlugin}from"./src/plugins/rendererPlugins/widgets/htmlRendererPlugin.js";export{labelRendererPlugin}from"./src/plugins/rendererPlugins/widgets/labelRendererPlugin.js";export{pictureRendererPlugin}from"./src/plugins/rendererPlugins/widgets/pictureRendererPlugin.js";export{seqRendererPlugin}from"./src/plugins/rendererPlugins/widgets/seqRendererPlugin.js";const{use:o}=t(),u=s((e=>{o(Object.values(n).map((e=>e())),e)})),d=s(((e,r)=>{o([...Object.values(l),...r].map((e=>e())),e)})),a=i;a.install=function(s){r(s,a,e+"IhoTable")};export{a as default,d as useIhoTablePlugins,u as useIhoTablePresetPlugins};
1
+ import{COMPONENT_NAMESPACE as s}from"../../shared/global/variable.js";import{safeComponentRegister as o}from"../../shared/utils/index.js";import{once as t}from"lodash-es";import a from"./src/IhoTable.vue.js";import e from"./src/plugins/index.js";import"vue";import"./src/constants/index.js";import"@vueuse/shared";import"date-fns";import"./src/utils/separateMap.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";export{AbstractConfigHooks,AbstractDataHooks,AbstractDomInsertHooks,AbstractEventHooks,AbstractExposeHooks,AbstractFieldHooks,AbstractSetupHooks}from"./src/types/pluginType.js";import{useTablePlugin as r}from"./src/hooks/useTablePlugin.js";export{defineTablePlugin,useTablePlugin}from"./src/hooks/useTablePlugin.js";export{useColumnConfigAdaptor}from"./src/hooks/useColumnConfigAdaptor.js";const{use:l}=r(),i=t((s=>{l(Object.values(e).map((s=>s())),s)})),p=a;p.install=function(t){o(t,p,s+"IhoTable")};export{p as default,i as useIhoTablePresetPlugins};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,provide as o,computed as a,toRaw as l,nextTick as n,watch as i,resolveComponent as r,openBlock as s,createElementBlock as u,mergeProps as d,unref as c,createBlock as f,resolveDynamicComponent as m,createElementVNode as v,normalizeStyle as p,createVNode as h,withCtx as g,createSlots as b,renderList as x,createCommentVNode as y,renderSlot as k,normalizeProps as $,guardReactiveProps as C}from"vue";import{useTheme as D,createOpacityColor as T}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as j}from"@vueuse/core";import"date-fns";import{isString as w,isEqualWith as I,isFunction as R,pick as S}from"lodash-es";import{useFormAsyncQueue as q,presetRequestHandler as H}from"../../../shared/hooks/useFormRequest/index.js";import{hex2rgba as L,widthAppend as P,uuidGenerator as _}from"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NConfigProvider as A}from"naive-ui";import{useVersion as B}from"../../../shared/hooks/useVersion.js";import"../../../shared/hooks/useScrollLoading.js";import{VxeTableEventNameList as F,InjectionIhoTableXeInstance as M,InjectionIhoTableLoading as O,InjectionIhoTableEmits as E,InjectionTableAsyncQueue as W,InjectionIhoTableAnnotation as N,InjectionIhoTableUUID as V,InjectionIhoTableInstance as z,InjectionIhoTableConfig as G,InjectionIhoTableFieldList as J,InjectionIhoTableHandler as K,InjectionIhoTableGlobProps as Q}from"./constants/index.js";import{createTableHooks as U,applyTableConfigHooks as X,applyTableFieldHooks as Y,createTableEventHandlers as Z,createDomInsertComponent as ee,createDataTransfer as te}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as oe}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as ae}from"./utils/index.js";const le=["id"];var ne=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object},requestInstance:{type:Object},uniqueCacheData:{type:Boolean,default:!1},parallelism:{type:Number,default:3},developMode:{type:Boolean,default:!1}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...F],setup(e,{expose:F,emit:ne}){var ie,re;const se=e,ue=t();o(M,ue);const de=t(!1),ce=a((()=>{var e;return(null==(e=se.tableConfig)?void 0:e.loading)||de.value}));o(O,de);const fe=D({"--c-border-color":"#d0d0d0","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#e6e6e6","--c-stripe-color":"#f6f6f6"}),me=a((()=>{var e,t,o;const a={...fe.value};return a["--c-primary-color-opacity3"]=T(...L(a["--c-primary-color"]+""),.3),a["--c-scrollbar-width"]=P(null!=(o=null==(t=null==(e=ue.value)?void 0:e.reactData)?void 0:t.scrollbarWidth)?o:0),a})),ve=a((()=>{var e,t;const o=null!=(t=null==(e=se.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":w(o)&&(o.includes("calc")||o.endsWith("%"))?o:P(o)}})),pe=oe(),he=function(e,...t){ne(e,...t);const o=c(ke)[ae(e)];R(o)&&o(...t),pe.trigger(e,...t)};o(E,he);const ge=q(a((()=>se.requestInstance)),a((()=>!!se.uniqueCacheData))).create(se.parallelism,{beforeRequest:(e,t)=>t,afterRequest:(e,t)=>H(t)});o(W,ge);const be=U();o(N,a((()=>se.annotation)));const xe=_();o(V,xe);const ye=t();o(z,ye);const ke=t({uuid:null!=(re=null==(ie=se.tableConfig)?void 0:ie.uuid)?re:xe});o(G,ke);const $e=j(Ce,10);function Ce(){var e,t;ke.value=X(be,{...se.tableConfig,uuid:null!=(t=null==(e=se.tableConfig)?void 0:e.uuid)?t:xe},{$table:ye,emits:he,globProps:se,loading:de,$xeTable:ue})}const De=a((()=>{if(!ke.value.tableRowHeight)return{};const e=P(ke.value.rowConfig.height);return{Input:{heightLarge:e,heightMedium:e,heightSmall:e,heightTiny:e},InternalSelection:{heightLarge:e,heightMedium:e,heightSmall:e,heightTiny:e}}})),Te=t([]);o(J,Te);const je=j(we,10);function we(){const e=Y(be,se.fieldList,ke.value,{$table:ye,emits:he,loading:de,globProps:se,$xeTable:ue});I(e,l(Te.value),((e,t)=>{if(R(e)&&R(t))return e.toString()===t.toString()}))||(Te.value=e)}const Ie=te(be,ke,{$table:ye,emits:he,loading:de,globProps:se,$xeTable:ue});let Re=null;function Se(e){Re=e}async function qe(){await n(),null==Re||Re(),Re=null}const He=t([]);async function Le(){var e,t,o,a;const l=await Ie(se.tableData),i=null==(e=ye.value)?void 0:e.getTableData().fullData;if(i){let e=0;if(!(i.some((t=>{var o;if(!(null==(o=ye.value)?void 0:o.isInsertByRow(t))){if(t!==l[e])return!0;e++}}))||e!==l.length))return void qe()}He.value=l,(null==(t=ke.value.treeConfig)?void 0:t.expandAll)?(await n(),null==(o=ye.value)||o.setAllTreeExpand(!0)):null==(a=ye.value)||a.recalculate(!0),qe()}const Pe={updateTableDataRef:j(Le,10),updateConfigRef:$e,updateFieldListRef:je};o(K,Pe),o(Q,se);const _e=Z({hooks:be,config:ke,$table:ye,context:Pe,emits:he,globProps:se,loading:de,$xeTable:ue}),Ae=a((()=>({...ke.value,..._e})));let Be=!1,Fe=!1,Me=!1;const Oe=j((()=>{Be&&Ce(),Fe&&we(),Me&&Le(),Be=!1,Fe=!1,Me=!1}),10);i((()=>se.tableConfig),(()=>{Be=!0,Fe=!0,Me=!0,Oe()}),{deep:!0}),i((()=>se.fieldList),(()=>{Fe=!0,Me=!0,Oe()}),{deep:!0}),i([()=>[...se.tableData],()=>{var e;return null==(e=se.tableData)?void 0:e.length}],(()=>{Me=!0,Oe()})),Ce(),we(),Le();const{header:Ee,footer:We}=ee(be);function Ne(e){return S(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return F({$table:ye,async loadData(e){var t;null==(t=ye.value)||t.loadData(await Ie(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),tableDataResolved:()=>new Promise(Se),reload(){var e,t;null==(e=ye.value)||e.loadColumn([]),null==(t=ye.value)||t.loadData([]),Ce(),we(),Le()},verticalTable:{update:()=>{}},...be.exposeHooks.expose.call({},ke,{$table:ye,emits:he,globProps:se,loading:de,$xeTable:ue,...Pe})}),be.setupHooks.setup.call(ke,Te,{$table:ye,emits:he,globProps:se,loading:de,$xeTable:ue}),(e,t)=>{const o=r("vxe-grid");return s(),u("section",d({class:"iho-table",id:c(xe),style:c(me)},c(B)()),[(s(),f(m(c(Ee)))),v("section",{style:p(c(ve))},[h(c(A),{abstract:"",namespace:"vxe-table--ignore-clear","theme-overrides":c(De)},{default:g((()=>[h(o,d({ref_key:"$table",ref:ye},c(Ae),{columns:Te.value,data:He.value,loading:c(ce)}),b({_:2},[x(e.$slots,((t,o)=>({name:o,fn:g((t=>[y(" 实际上所有的vxe-grid插槽都支持 "),k(e.$slots,o,$(C(Ne(t))))]))})))]),1040,["columns","data","loading"])])),_:3},8,["theme-overrides"])],4),(s(),f(m(c(We))))],16,le)}}});export{ne as default};
1
+ import{defineComponent as e,ref as t,provide as o,computed as a,toRaw as l,nextTick as n,watch as i,resolveComponent as r,openBlock as s,createElementBlock as u,mergeProps as d,unref as c,createBlock as f,resolveDynamicComponent as m,createElementVNode as v,normalizeStyle as p,createVNode as h,withCtx as g,createSlots as b,renderList as x,createCommentVNode as y,renderSlot as k,normalizeProps as C,guardReactiveProps as $}from"vue";import{useTheme as D,createOpacityColor as j}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as w}from"@vueuse/core";import"date-fns";import{isString as T,isEqualWith as I,isFunction as R,pick as S}from"lodash-es";import{useFormAsyncQueue as q,presetRequestHandler as H}from"../../../shared/hooks/useFormRequest/index.js";import{hex2rgba as L,widthAppend as P,uuidGenerator as _}from"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NConfigProvider as A}from"naive-ui";import{useVersion as B}from"../../../shared/hooks/useVersion.js";import"../../../shared/hooks/useScrollLoading.js";import{VxeTableEventNameList as F,InjectionIhoTableXeInstance as M,InjectionIhoTableLoading as O,InjectionIhoTableEmits as E,InjectionTableAsyncQueue as W,InjectionIhoTableAnnotation as N,InjectionIhoTableUUID as V,InjectionIhoTableInstance as z,InjectionIhoTableConfig as G,InjectionIhoTableFieldList as J,InjectionIhoTableHandler as K,InjectionIhoTableGlobProps as Q}from"./constants/index.js";import{createTableHooks as U,applyTableConfigHooks as X,applyTableFieldHooks as Y,createTableEventHandlers as Z,createDomInsertComponent as ee,createDataTransfer as te}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as oe}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as ae}from"./utils/index.js";const le=["id"];var ne=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object},requestInstance:{type:Object},uniqueCacheData:{type:Boolean,default:!1},parallelism:{type:Number,default:3},developMode:{type:Boolean,default:!1}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...F],setup(e,{expose:F,emit:ne}){var ie,re;const se=e,ue=t();o(M,ue);const de=t(!1),ce=a((()=>{var e;return(null==(e=se.tableConfig)?void 0:e.loading)||de.value}));o(O,de);const fe=D({"--c-border-color":"#d0d0d0","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#e6e6e6","--c-stripe-color":"#f6f6f6"}),me=a((()=>{var e,t,o;const a={...fe.value};return a["--c-primary-color-opacity3"]=j(...L(a["--c-primary-color"]+""),.3),a["--c-scrollbar-width"]=P(null!=(o=null==(t=null==(e=ue.value)?void 0:e.reactData)?void 0:t.scrollbarWidth)?o:0),a})),ve=a((()=>{var e,t;const o=null!=(t=null==(e=se.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":T(o)&&(o.includes("calc")||o.endsWith("%"))?o:P(o)}})),pe=oe(),he=function(e,...t){ne(e,...t);const o=c(ke)[ae(e)];R(o)&&o(...t),pe.trigger(e,...t)};o(E,he);const ge=q(a((()=>se.requestInstance)),a((()=>!!se.uniqueCacheData))).create(se.parallelism,{beforeRequest:(e,t)=>t,afterRequest:(e,t)=>H(t)});o(W,ge);const be=U();o(N,a((()=>se.annotation)));const xe=_();o(V,xe);const ye=t();o(z,ye);const ke=t({uuid:null!=(re=null==(ie=se.tableConfig)?void 0:ie.uuid)?re:xe});o(G,ke);const Ce=w($e,10);function $e(){var e,t;ke.value=X(be,{...se.tableConfig,uuid:null!=(t=null==(e=se.tableConfig)?void 0:e.uuid)?t:xe},{$table:ye,emits:he,globProps:se,loading:de,$xeTable:ue})}const De=a((()=>{if(!ke.value.tableRowHeight)return{};const e=P(ke.value.rowConfig.height);return{Input:{heightLarge:e,heightMedium:e,heightSmall:e,heightTiny:e},InternalSelection:{heightLarge:e,heightMedium:e,heightSmall:e,heightTiny:e}}})),je=t([]);o(J,je);const we=w(Te,10);function Te(){const e=Y(be,se.fieldList,ke.value,{$table:ye,emits:he,loading:de,globProps:se,$xeTable:ue});I(e,l(je.value),((e,t)=>{if(R(e)&&R(t))return e.toString()===t.toString()}))||(je.value=e)}const Ie=te(be,ke,ye);let Re=null;function Se(e){Re=e}async function qe(){await n(),null==Re||Re(),Re=null}const He=t([]);async function Le(){var e,t,o,a;const l=await Ie(se.tableData),i=null==(e=ye.value)?void 0:e.getTableData().fullData;if(i){let e=0;if(!(i.some((t=>{var o;if(!(null==(o=ye.value)?void 0:o.isInsertByRow(t))){if(t!==l[e])return!0;e++}}))||e!==l.length))return void qe()}He.value=l,(null==(t=ke.value.treeConfig)?void 0:t.expandAll)?(await n(),null==(o=ye.value)||o.setAllTreeExpand(!0)):null==(a=ye.value)||a.recalculate(!0),qe()}const Pe={updateTableDataRef:w(Le,10),updateConfigRef:Ce,updateFieldListRef:we};o(K,Pe),o(Q,se);const _e=Z({hooks:be,config:ke,$table:ye,context:Pe,emits:he,globProps:se,loading:de,$xeTable:ue}),Ae=a((()=>({...ke.value,..._e})));let Be=!1,Fe=!1,Me=!1;const Oe=w((()=>{Be&&$e(),Fe&&Te(),Me&&Le(),Be=!1,Fe=!1,Me=!1}),10);i((()=>se.tableConfig),(()=>{Be=!0,Fe=!0,Me=!0,Oe()}),{deep:!0}),i((()=>se.fieldList),(()=>{Fe=!0,Me=!0,Oe()}),{deep:!0}),i([()=>[...se.tableData],()=>{var e;return null==(e=se.tableData)?void 0:e.length}],(()=>{Me=!0,Oe()})),$e(),Te(),Le();const{header:Ee,footer:We}=ee(be);function Ne(e){return S(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return F({$table:ye,async loadData(e){var t;null==(t=ye.value)||t.loadData(await Ie(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),tableDataResolved:()=>new Promise(Se),reload(){var e,t;null==(e=ye.value)||e.loadColumn([]),null==(t=ye.value)||t.loadData([]),$e(),Te(),Le()},verticalTable:{update:()=>{}},...be.exposeHooks.expose.call({},ke,{$table:ye,emits:he,globProps:se,loading:de,$xeTable:ue,...Pe})}),be.setupHooks.setup.call(ke,je,{$table:ye,emits:he,globProps:se,loading:de,$xeTable:ue}),(e,t)=>{const o=r("vxe-grid");return s(),u("section",d({class:"iho-table",id:c(xe),style:c(me)},c(B)()),[(s(),f(m(c(Ee)))),v("section",{style:p(c(ve))},[h(c(A),{abstract:"",namespace:"vxe-table--ignore-clear","theme-overrides":c(De)},{default:g((()=>[h(o,d({ref_key:"$table",ref:ye},c(Ae),{columns:je.value,data:He.value,loading:c(ce)}),b({_:2},[x(e.$slots,((t,o)=>({name:o,fn:g((t=>[y(" 实际上所有的vxe-grid插槽都支持 "),k(e.$slots,o,C($(Ne(t))))]))})))]),1040,["columns","data","loading"])])),_:3},8,["theme-overrides"])],4),(s(),f(m(c(We))))],16,le)}}});export{ne as default};
@@ -85,7 +85,7 @@ export declare function createTableEventHandlers({ hooks, config, $table, emits,
85
85
  onActiveCellChangeEnd: import("vxe-table").VxeTableEvents.ActiveCellChangeEnd | undefined;
86
86
  onPageChange: unknown;
87
87
  };
88
- export declare function createDataTransfer(hooks: TableHooks, config: MaybeRef<IhoTableConfig>, handler: MaybeRef<IhoTableHandlerContext>): (data: AnyObject[]) => Promise<AnyObject[]>;
88
+ export declare function createDataTransfer(hooks: TableHooks, config: MaybeRef<IhoTableConfig>, $table: MaybeRef<Nullable<VxeTableInstance>>): (data: AnyObject[]) => Promise<AnyObject[]>;
89
89
  export declare function createDomInsertComponent(hooks: TableHooks): {
90
90
  header: any;
91
91
  footer: any;
@@ -1 +1 @@
1
- import{arrayed as e}from"../../../../../shared/utils/index.js";import{cloneDeep as o,isArray as t}from"lodash-es";import{unref as r,defineComponent as s}from"vue";import{VxeEventListenerNameList as n}from"../../constants/index.js";import{eventListener2EventName as i,eventName2EventListener as a}from"../../utils/index.js";import{useConfigHooks as l}from"./useConfigHooks.js";import{useDataHooks as f}from"./useDataHooks.js";import{useDomInsertHooks as c}from"./useDomInsertHooks.js";import{useEventHooks as d}from"./useEventHooks.js";import{useExposeHooks as u}from"./useExposeHooks.js";import{useFieldHooks as m}from"./useFieldHooks.js";import{useSetupHooks as p}from"./useSetupHooks.js";const k=(()=>{let e=null;return()=>e||(e=Object.freeze({configHooks:l().create(),fieldHooks:m().create(),eventHooks:d().create(),dataHooks:f().create(),setupHooks:p().create(),domInsertHooks:c().create(),exposeHooks:u().create()}))})();function H(e,t,r){const s=e.configHooks.config.call(o(t),r);return["rowConfig","editConfig","columnConfig","resizableConfig","seqConfig","sortConfig","filterConfig","radioConfig","checkboxConfig","expandConfig","treeConfig","mouseConfig","menuConfig","keyboardConfig","scrollY","scrollX","editRules"].forEach((o=>{s[o]=e.configHooks[o].call(s[o],s,r)})),s}function g(r,s,n,i){r.fieldHooks.fieldStart.promise(n,i);let a=function o(s){return s.reduce(((s,a,l)=>{const f=[],c=[];let d=!1;return a=r.fieldHooks.field.call(a,{index:l,remove(){d=!0},insertAfter(o){c.push(...e(o))},insertBefore(o){f.push(...e(o))}},n,i),s.push(...f),d||(s.push(a),t(a.children)&&(a.children=o(a.children))),s.push(...c),s}),[])}(o(s));return a=r.fieldHooks.fieldList.call(a,n,i),r.fieldHooks.fieldEnd.promise(n,i),a}function h({hooks:e,config:o,$table:t,emits:s,context:l,globProps:f,loading:c,$xeTable:d}){return n.reduce(((n,u)=>(n[u]=n=>function(n,u){var m;const p=i(n);if(!(u=e.eventHooks.beforeEvent.call(u,r(o),{$table:r(t),emits:s,globProps:f,loading:c,$xeTable:d,...l},p)))return;Reflect.get(u,"eventName")?(s(u.eventName,u),n=a(u.eventName)):s(p,u);null==(m=e.eventHooks[n])||m.promise(u,r(o),{$table:r(t),globProps:f,emits:s,loading:c,$xeTable:d,...l})}(u,n),n)),{})}function b(o,t,s){return async n=>{o.dataHooks.dataStart.promise(r(s),r(t));let i=await n.reduce((async(n,i,a)=>{const l=[],f=[];let c=!1;await o.dataHooks.data.promise(i,r(t),{index:a,$table:r(s).$table,insertBefore(o){l.push(...e(o))},insertAfter(o){f.push(...e(o))},remove(){c=!0}});const d=await n;return d.push(...l),!c&&d.push(i),d.push(...f),d}),Promise.resolve([]));return i=o.dataHooks.dataList.call(i,r(t)),o.dataHooks.dataEnd.promise(r(s),r(t)),i}}function C(e){return{header:s({name:"IhoTableHeader",render:()=>e.domInsertHooks.header.call([])}),footer:s({name:"IhoTableFooter",render:()=>e.domInsertHooks.footer.call([])})}}export{H as applyTableConfigHooks,g as applyTableFieldHooks,b as createDataTransfer,C as createDomInsertComponent,h as createTableEventHandlers,k as createTableHooks};
1
+ import{arrayed as e}from"../../../../../shared/utils/index.js";import{cloneDeep as o,isArray as t}from"lodash-es";import{unref as r,defineComponent as s}from"vue";import{VxeEventListenerNameList as n}from"../../constants/index.js";import{eventListener2EventName as i,eventName2EventListener as a}from"../../utils/index.js";import{useConfigHooks as l}from"./useConfigHooks.js";import{useDataHooks as f}from"./useDataHooks.js";import{useDomInsertHooks as c}from"./useDomInsertHooks.js";import{useEventHooks as d}from"./useEventHooks.js";import{useExposeHooks as u}from"./useExposeHooks.js";import{useFieldHooks as m}from"./useFieldHooks.js";import{useSetupHooks as p}from"./useSetupHooks.js";const k=(()=>{let e=null;return()=>e||(e=Object.freeze({configHooks:l().create(),fieldHooks:m().create(),eventHooks:d().create(),dataHooks:f().create(),setupHooks:p().create(),domInsertHooks:c().create(),exposeHooks:u().create()}))})();function H(e,t,r){const s=e.configHooks.config.call(o(t),r);return["rowConfig","editConfig","columnConfig","resizableConfig","seqConfig","sortConfig","filterConfig","radioConfig","checkboxConfig","expandConfig","treeConfig","mouseConfig","menuConfig","keyboardConfig","scrollY","scrollX","editRules"].forEach((o=>{s[o]=e.configHooks[o].call(s[o],s,r)})),s}function g(r,s,n,i){r.fieldHooks.fieldStart.promise(n,i);let a=function o(s){return s.reduce(((s,a,l)=>{const f=[],c=[];let d=!1;return a=r.fieldHooks.field.call(a,{index:l,remove(){d=!0},insertAfter(o){c.push(...e(o))},insertBefore(o){f.push(...e(o))}},n,i),s.push(...f),d||(s.push(a),t(a.children)&&(a.children=o(a.children))),s.push(...c),s}),[])}(o(s));return a=r.fieldHooks.fieldList.call(a,n,i),r.fieldHooks.fieldEnd.promise(n,i),a}function h({hooks:e,config:o,$table:t,emits:s,context:l,globProps:f,loading:c,$xeTable:d}){return n.reduce(((n,u)=>(n[u]=n=>function(n,u){var m;const p=i(n);if(!(u=e.eventHooks.beforeEvent.call(u,r(o),{$table:r(t),emits:s,globProps:f,loading:c,$xeTable:d,...l},p)))return;Reflect.get(u,"eventName")?(s(u.eventName,u),n=a(u.eventName)):s(p,u);null==(m=e.eventHooks[n])||m.promise(u,r(o),{$table:r(t),globProps:f,emits:s,loading:c,$xeTable:d,...l})}(u,n),n)),{})}function b(o,t,s){return async n=>{o.dataHooks.dataStart.promise(r(t));let i=await n.reduce((async(n,i,a)=>{const l=[],f=[];let c=!1;await o.dataHooks.data.promise(i,r(t),{index:a,$table:s,insertBefore(o){l.push(...e(o))},insertAfter(o){f.push(...e(o))},remove(){c=!0}});const d=await n;return d.push(...l),!c&&d.push(i),d.push(...f),d}),Promise.resolve([]));return i=o.dataHooks.dataList.call(i,r(t)),o.dataHooks.dataEnd.promise(r(t)),i}}function C(e){return{header:s({name:"IhoTableHeader",render:()=>e.domInsertHooks.header.call([])}),footer:s({name:"IhoTableFooter",render:()=>e.domInsertHooks.footer.call([])})}}export{H as applyTableConfigHooks,g as applyTableFieldHooks,b as createDataTransfer,C as createDomInsertComponent,h as createTableEventHandlers,k as createTableHooks};
@@ -1,8 +1,8 @@
1
1
  import { AnyObject } from '../../../../../shared/types';
2
2
  import { AsyncParallelHook, AsyncSeriesHook, SyncWaterfallHook } from '../../../../../shared/utils/tapable';
3
- import { AbstractDataHooks, IhoTableHandlerContext } from '../../../../../components/iho-table/src/types';
3
+ import { AbstractDataHooks } from '../../../../../components/iho-table/src/types';
4
4
  declare class TableDataHooks extends AbstractDataHooks {
5
- readonly dataStart: AsyncParallelHook<[IhoTableHandlerContext, import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
5
+ readonly dataStart: AsyncParallelHook<[import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
6
6
  readonly data: AsyncSeriesHook<[AnyObject, import("../../../../../components/iho-table/src/types").IhoTableConfig, {
7
7
  remove(): void;
8
8
  $table: import("@vueuse/shared").MaybeRef<import("../../../../../shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
@@ -10,7 +10,7 @@ declare class TableDataHooks extends AbstractDataHooks {
10
10
  insertBefore(data: import("../../../../../shared/types").ArrayAble<AnyObject>): void;
11
11
  insertAfter(data: import("../../../../../shared/types").ArrayAble<AnyObject>): void;
12
12
  }], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
13
- readonly dataEnd: AsyncParallelHook<[IhoTableHandlerContext, import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
13
+ readonly dataEnd: AsyncParallelHook<[import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
14
14
  readonly dataList: SyncWaterfallHook<[AnyObject[], import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
15
15
  }
16
16
  export declare function useDataHooks(): {