2 lines
5.8 KiB
JavaScript
2 lines
5.8 KiB
JavaScript
"use strict";(self.webpackChunkelement_web=self.webpackChunkelement_web||[]).push([[7014],{"./src/components/views/rooms/wysiwyg_composer/utils/editing.ts":(e,t,n)=>{n.d(t,{r:()=>a,w:()=>i});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/dispatcher/dispatcher.ts"),r=n("./src/dispatcher/actions.ts");function i(e){o.A.dispatch({action:r.r.EditEvent,event:null,timelineRenderingType:e.timelineRenderingType}),o.A.dispatch({action:r.r.FocusSendMessageComposer,context:e.timelineRenderingType})}function a(e,t){const n=t.getEvent().replacingEvent();!n||n.status!==s.EventStatus.QUEUED&&n.status!==s.EventStatus.NOT_SENT||e.cancelPendingEvent(n)}},"./src/components/views/rooms/wysiwyg_composer/utils/message.ts":(e,t,n)=>{n.d(t,{u:()=>j,sendMessage:()=>M});var s=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/PosthogAnalytics.ts"),i=n("./src/settings/SettingsStore.ts"),a=n("./src/sendTimePerformanceMetrics.ts"),c=n("./src/utils/local-room.ts"),l=n("./src/effects/index.ts"),m=n("./src/effects/utils.ts"),d=n("./src/dispatcher/dispatcher.ts"),p=n("./src/components/views/dialogs/ConfirmRedactDialog.tsx"),u=n("./src/components/views/rooms/wysiwyg_composer/utils/editing.ts"),g=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),y=n("./node_modules/@vector-im/matrix-wysiwyg/dist/matrix-wysiwyg.js"),f=n("./src/utils/permalinks/Permalinks.ts"),h=n("./src/utils/Reply.ts"),v=n("./src/Typeguards.ts");function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_(Object(n),!0).forEach(function(t){(0,g.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const E="/me ";const b=e=>e instanceof o.MatrixEvent;async function w(e,t,{relation:n,replyToEvent:s,editedEvent:r}){const a=b(r),c=e.startsWith(E);c&&(e=e.slice(E.length)),e.startsWith("//")&&(e=e.slice(1));const l=t?await(0,y.richToPlain)(e,!1):function(e){const t=(new DOMParser).parseFromString(e,"text/html");return Array.from(t.querySelectorAll("a[data-mention-type]")).forEach(e=>{switch(e.getAttribute("data-mention-type")){case"at-room":e.replaceWith("@room");break;case"user":{const t=e.innerHTML;e.replaceWith(t);break}case"room":{const t=e.getAttribute("href");if(null===t)break;const n=(0,f.$N)(t);(0,v.P)(n)&&(0,v.P)(n.roomIdOrAlias)&&e.replaceWith(n.roomIdOrAlias);break}}}),t.body.innerHTML}(e),m={msgtype:c?o.MsgType.Emote:o.MsgType.Text,body:a?`* ${l}`:l},d=i.A.getValue("MessageComposerInput.useMarkdown"),p=t?e:d?await(0,y.plainToRich)(e,!0):null;p&&(m.format="org.matrix.custom.html",m.formatted_body=a?`* ${p}`:p),a&&(m["m.new_content"]={msgtype:m.msgtype,body:l},p&&(m["m.new_content"].format="org.matrix.custom.html",m["m.new_content"].formatted_body=p));return function(e,t){t&&(e["m.relates_to"]=T(T({},e["m.relates_to"]||{}),t))}(m,a?T(T({},n),{},{rel_type:"m.replace",event_id:r.getId()}):n),!a&&s&&(0,h.fh)(m,s),m}var A=n("./src/SlashCommands.tsx"),x=n("./src/editor/commands.tsx"),O=n("./src/dispatcher/actions.ts"),P=n("./src/components/views/rooms/SendMessageComposer.tsx");const R=["roomContext","mxClient"];async function M(e,t,n){let{roomContext:p,mxClient:u}=n,g=(0,s.A)(n,R);const{relation:y,replyToEvent:f}=g,{room:v}=p,_=null==v?void 0:v.roomId;if(!_)return;const T={eventName:"Composer",isEditing:!1,messageType:"Text",isReply:Boolean(f),inThread:(null==y?void 0:y.rel_type)===o.THREAD_RELATION_TYPE.name};r.Vo.instance.trackEvent(T);let b=null;if(e.startsWith("/")&&!e.startsWith("//")&&!e.startsWith(E)){const{cmd:t,args:n}=(0,A.OE)(e);if(t){const e=(null==y?void 0:y.rel_type)===o.THREAD_RELATION_TYPE.name?null==y?void 0:y.event_id:null;let s;if([b,s]=await(0,x.m8)(u,t,n,_,null!=e?e:null),!s)return;if(!b||t.category!==A.ge.messages&&t.category!==A.ge.effects)return;(0,P.gV)(b,y),f&&(0,h.fh)(b,f)}else{const t=await(0,x.d8)(e);if(d.A.dispatch({action:O.r.FocusAComposer,context:p.timelineRenderingType}),!t)return}}if(null!=b||(b=await w(e,t,g)),!b.body.trim())return;i.A.getValue("Performance.addSendMessageTimingMetadata")&&(0,a.H)(b);const M=null!=y&&y.event_id&&(null==y?void 0:y.rel_type)===o.THREAD_RELATION_TYPE.name?y.event_id:null,j=(0,c.Y)(_,e=>u.sendMessage(e,M,b),u);return f&&d.A.dispatch({action:"reply_to_event",event:null,context:p.timelineRenderingType}),d.A.dispatch({action:"message_sent"}),l.y.forEach(e=>{if(b&&(0,m._)(b,e.emojis)){(null==y?void 0:y.rel_type)!==o.THREAD_RELATION_TYPE.name&&d.A.dispatch({action:`effects.${e.command}`})}}),i.A.getValue("Performance.addSendMessageTimingMetadata")&&j.then(e=>{(0,a._)(u,_,e.event_id)}),i.A.getValue("scrollToBottomOnMessageSent")&&d.A.dispatch({action:"scroll_to_bottom",timelineRenderingType:p.timelineRenderingType}),j}async function j(e,{roomContext:t,mxClient:n,editorStateTransfer:s}){const o=s.getEvent();r.Vo.instance.trackEvent({eventName:"Composer",isEditing:!0,messageType:"Text",inThread:Boolean(null==o?void 0:o.getThread()),isReply:Boolean(o.replyEventId)});const i=await w(e,!0,{editedEvent:o}),a=i["m.new_content"];if(""===(null==a?void 0:a.body))return(0,u.r)(n,s),void(0,p.Q)({mxEvent:o,onCloseDialog:()=>{(0,u.w)(t)}});let c;const l=o.getRoomId();if(function(e,t){const n=t.getEvent().getContent();return n.msgtype!==e.msgtype||n.body!==e.body||n.format!==e.format||n.formatted_body!==e.formatted_body}(a,s)&&l){(0,u.r)(n,s);const e=s.getEvent().threadRootId||null;c=n.sendMessage(l,e,i),d.A.dispatch({action:"message_sent"})}return(0,u.w)(t),c}}}]);
|
|
//# sourceMappingURL=7014.js.map
|