فهرست منبع

Prevent default when opening chat via xmpp: URI

JC Brand 4 سال پیش
والد
کامیت
5a3aaeb056
2فایلهای تغییر یافته به همراه8 افزوده شده و 2 حذف شده
  1. 1 1
      spec/muc.js
  2. 7 1
      src/utils/html.js

+ 1 - 1
spec/muc.js

@@ -841,7 +841,7 @@ describe("Groupchats", function () {
             await u.waitUntil(()  => view.el.querySelector('.chat-msg__text a'));
             await u.waitUntil(()  => view.el.querySelector('.chat-msg__text a'));
             view.el.querySelector('.chat-msg__text a').click();
             view.el.querySelector('.chat-msg__text a').click();
             await u.waitUntil(() => _converse.chatboxes.length === 3)
             await u.waitUntil(() => _converse.chatboxes.length === 3)
-            expect(_.includes(_converse.chatboxes.pluck('id'), 'coven@chat.shakespeare.lit')).toBe(true);
+            expect(_converse.chatboxes.pluck('id').includes('coven@chat.shakespeare.lit')).toBe(true);
             done()
             done()
         }));
         }));
 
 

+ 7 - 1
src/utils/html.js

@@ -323,6 +323,12 @@ u.convertToImageTag = function (url, onLoad, onClick) {
     return tpl_image({url, onClick, onLoad});
     return tpl_image({url, onClick, onLoad});
 };
 };
 
 
+
+function onClickXMPPURI (ev) {
+    ev.preventDefault();
+    api.rooms.open(ev.target.href);
+}
+
 u.convertURIoHyperlink = function (uri, urlAsTyped) {
 u.convertURIoHyperlink = function (uri, urlAsTyped) {
     let normalized_url = uri.normalize()._string;
     let normalized_url = uri.normalize()._string;
     const pretty_url = uri._parts.urn ? normalized_url : uri.readable();
     const pretty_url = uri._parts.urn ? normalized_url : uri.readable();
@@ -334,7 +340,7 @@ u.convertURIoHyperlink = function (uri, urlAsTyped) {
         return html`
         return html`
             <a target="_blank"
             <a target="_blank"
                rel="noopener"
                rel="noopener"
-               @click=${ev => api.rooms.open(ev.target.href)}
+               @click=${onClickXMPPURI}
                href="${normalized_url}">${visible_url}</a>`;
                href="${normalized_url}">${visible_url}</a>`;
     }
     }
     return html`<a target="_blank" rel="noopener" href="${normalized_url}">${visible_url}</a>`;
     return html`<a target="_blank" rel="noopener" href="${normalized_url}">${visible_url}</a>`;