slack.min.js 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. function n(a){this.id=a;this.version=0}n.prototype.update=function(a,b){void 0!==a.name&&(this.name=a.name);this.version=Math.max(this.version,b)};function aa(a){this.a=a.desc;this.name=a.name;this.type=a.type;this.usage=a.usage;this.B=a.category}function ba(){this.b={};this.a=[]}
  2. ba.prototype.update=function(a,b){this.b=JSON.parse(a.emoji_use);a.highlight_words?this.a=(a.highlight_words||"").split(",").filter(function(a){return""!==a.trim()}):a.highlights&&(this.a=a.highlights);this.version=Math.max(this.version,b)};function ca(){this.l=null;this.f={};this.a={};this.b=null;this.h={version:0,data:{}};this.g={version:0,data:{}};this.c={};this.s=0}"undefined"!==typeof module&&(module.w.S=ca,module.w.T=n,module.w.V=aa);function r(a){this.id=a;this.o=!1;this.a=this.b=0;this.g={};this.version=0}
  3. r.prototype.update=function(a,b,c){void 0!==a.name&&(this.name=a.name);void 0!==a.is_archived&&(this.h=a.is_archived);void 0!==a.is_member&&(this.s=a.is_member);void 0!==a.last_read&&(this.b=Math.max(parseFloat(a.last_read),this.b));void 0!==a.last_msg&&(this.a=parseFloat(a.last_msg));void 0!==a.is_private&&(this.l=a.is_private);a.latest&&(this.a=parseFloat(a.latest.ts));void 0!==a.is_starred&&(this.o=a.is_starred);if(a.members&&(this.g={},a.members))for(var d=0,g=a.members.length;d<g;d++){var e=
  4. b.a[a.members[d]];this.g[e.id]=e;e.f[this.id]=this}this.version=Math.max(this.version,c)};function x(a,b){r.call(this,a);this.c=b;this.name=this.c.name;this.l=!0;b.h=this}x.prototype=Object.create(r.prototype);x.prototype.constructor=x;"undefined"!==typeof module&&(module.w.$=r,module.w.Z=x);function y(a,b){this.m=a.user;this.h=a.username;this.id=a.id||a.ts;this.j=parseFloat(a.ts);this.c="";this.a=[];this.g=this.u=this.o=!1;this.b={};this.version=b;this.update(a,b)}function C(a,b){y.call(this,a,b)}function D(a,b){y.call(this,a,b)}
  5. y.prototype.update=function(a,b){if(a){if(this.c=a.text||"",a.attachments&&(this.a=a.attachments),this.o=!!a.is_starred,this.u=!!a.edited,this.g=!!a.removed,a.reactions){var c={};a.reactions.forEach(function(a){c[a.name]=[];a.users.forEach(function(b){c[a.name].push(b)})});this.b=c}}else this.g=!0;this.version=b};function E(a,b,c,d){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&da(this,c,d)}function da(a,b,c){var d=0;b.forEach(function(a){d=Math.max(this.push(a,c),d)}.bind(a));ea(a)}
  6. E.prototype.push=function(a,b){for(var c=!1,d,g=0,e=this.a.length;g<e;g++){var f=this.a[g];if(f.id===a.id){d=f.update(a,b);c=!0;break}}c||(f=!0===a.isMeMessage?new C(a,b):!0===a.isNotice?new D(a,b):new y(a,b),this.a.push(f),d=f.j);for(;this.a.length>this.b;)this.a.shift();return d||0};function fa(a){for(var b=F.b[G.id],c=0,d=b.a.length;c<d&&a>=b.a[c].j;c++)if(b.a[c].j===a)return b.a[c];return null}function ea(a){a.a.sort(function(a,c){return a.j-c.j})}C.prototype=Object.create(y.prototype);
  7. C.prototype.constructor=C;D.prototype=Object.create(y.prototype);D.prototype.constructor=D;"undefined"!==typeof module&&(module.w={X:y,W:C,Y:D,aa:E});function H(a){this.id=a;this.b={small:"",R:""};this.f={};this.h=this.a=null;this.version=0}H.prototype.update=function(a,b){void 0!==a.name&&(this.name=a.name);void 0!==a.deleted&&(this.g=a.deleted);void 0!==a.status&&(this.status=a.status);void 0!==a.presence&&(this.c="away"!==a.presence);void 0!==a.isPresent&&(this.c=a.isPresent);a.isBot&&(this.s=a.isBot);a.profile&&(this.b.small=a.profile.icon_small,this.b.R=a.profile.icon_large);this.version=Math.max(this.version,b)};
  8. "undefined"!==typeof module&&(module.w.U=H);var I={},K;function ga(){var a;if(!a){for(var b=0,c=navigator.languages.length;b<c;b++)if(I.hasOwnProperty(navigator.languages[b])){a=navigator.languages[b];break}a||(a="en")}K=I[a];console.log("Loading language pack: "+a);if(K.i)for(b in K.i)document.getElementById(b).textContent=K.i[b]};I.fr={N:"Utilisateur inconnu",M:"Channel inconnu",I:"Nouveau message",H:"Reseau",u:"(edit&eacute;)",J:"(visible seulement par vous)",o:"Favoris",f:"Discutions",L:"Discutions priv\u00e9es",ok:"Ok",G:"Annuler",F:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"hier, "+
  9. a.toLocaleTimeString():a.toLocaleString()},i:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};I.en={N:"Unknown member",M:"Unknown channel",I:"New message",H:"Network",u:"(edited)",J:"(only visible to you)",o:"Starred",f:"Channels",L:"Direct messages",ok:"Ok",G:"Cancel",F:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"yesterday, "+a.toLocaleTimeString():
  10. a.toLocaleString()},i:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};function L(a,b){this.c=a;this.content=b;this.i=ha(this);this.b=ia(this);this.a=[];this.g=[]}
  11. function ha(a){var b=document.createElement("div"),c=document.createElement("header"),d=document.createElement("span"),g=document.createElement("span"),e=document.createElement("div"),f=document.createElement("footer");b.a=document.createElement("span");b.b=document.createElement("span");d.textContent=a.c;"string"==typeof a.content?e.innerHTML=a.content:e.appendChild(a.content);c.className=ja;d.className=ka;g.className=la;g.textContent="x";c.appendChild(d);c.appendChild(g);b.appendChild(c);e.className=
  12. ma;b.appendChild(e);b.b.className=M;b.b.textContent=K.G;b.b.addEventListener("click",function(){N(a,!1)});g.addEventListener("click",function(){N(a,!1)});b.a.addEventListener("click",function(){N(a,!0)});f.appendChild(b.b);b.a.className=M;b.a.textContent=K.ok;f.appendChild(b.a);f.className=na+" "+oa;b.appendChild(f);b.className=pa;return b}function N(a,b){(b?a.a:a.g).forEach(function(a){a()});a.close()}
  13. function ia(a){var b=document.createElement("div");b.className=qa;b.addEventListener("click",function(){N(this,!1)}.bind(a));return b}function ra(a,b,c){a.i.a.textContent=b;a.i.b.textContent=c;return a}L.prototype.D=function(a){a=a||document.body;a.appendChild(this.b);a.appendChild(this.i);return this};L.prototype.close=function(){this.i.remove();this.b.remove();return this};function sa(a,b){a.a.push(b);return a};var M="button",na="button-container",pa="dialog",qa="dialog-overlay",ja="dialog-title",ka="dialog-title-label",la="dialog-title-close",ma="dialog-body",oa="dialog-footer";function ta(a){return a.replace(/:([^ \t:]+):/g,function(b,c){var d=ua(c);if(d){var g=document.createElement("span");g.className=b===a?"emoji-medium":"emoji-small";g.appendChild(d);return g.outerHTML}return b})}
  14. function O(a){if(!a||""==a)return"";a=a.split(/\r?\n/g);for(var b=0,c=a.length;b<c;b++){for(var d=a[b].trim(),g="",e={},f=!1,h=0,d=d.replace(RegExp("<([@#]?)([^>]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=F.a.a[c[0]],c[1]=a?"@"+a.name:K.N),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===b)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(a=F.a.f[c[0]],c[1]=a?"#"+a.name:K.M),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]||
  15. (c[1]=c[0]),c[2]="slackmsg-link";else return a;return'<a href="'+c[0]+'" class="'+c[2]+'"'+(b?"":' target="_blank"')+">"+c[1]+"</a>"}),d=ta(d),l=d.length,k=function(a,b,c){for(;a[b];){var d=a[b];if(("A"<=d&&"Z">=d||"a"<=d&&"z">=d||"0"<=d&&"9">=d||-1!=="\u00e0\u00e8\u00ec\u00f2\u00f9\u00c0\u00c8\u00cc\u00d2\u00d9\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00c1\u00c9\u00cd\u00d3\u00da\u00dd\u00e2\u00ea\u00ee\u00f4\u00fb\u00c2\u00ca\u00ce\u00d4\u00db\u00e3\u00f1\u00f5\u00c3\u00d1\u00d5\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u00e7\u00c7\u00df\u00d8\u00f8\u00c5\u00e5\u00c6\u00e6\u0153".indexOf(d))&&
  16. a[b]!=c&&a[b+1]==c)return!0;b++}return!1},p=function(a){return Object.keys(e).length?'<span class="'+Object.keys(a).join(" ")+'">':""};h<l&&(" "===d[h]||"\t"===d[h]);)h++;"&gt;"===d.substr(h,4)&&(f=!0,h+=4);for(;h<l;h++){var m=d[h];if("<"===m){do g+=d[h++];while(">"!==d[h-1]&&d[h]);h--}else if(!e["slackmsg-style-bold"]&&"*"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-bold"]=!0,g+=p(e);else if(!e["slackmsg-style-strike"]&&"~"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&
  17. (g+="</span>"),e["slackmsg-style-strike"]=!0,g+=p(e);else if(!e["slackmsg-style-code"]&&"`"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-code"]=!0,g+=p(e);else if(!e["slackmsg-style-italic"]&&"_"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-italic"]=!0,g+=p(e);else{var q=!1,g=g+m;do{if(e["slackmsg-style-bold"]&&"*"!==m&&"*"===d[h+1])delete e["slackmsg-style-bold"],q=!0;else if(e["slackmsg-style-strike"]&&"~"!==m&&"~"===d[h+1])delete e["slackmsg-style-strike"],
  18. q=!0;else if(e["slackmsg-style-code"]&&"`"!==m&&"`"===d[h+1])delete e["slackmsg-style-code"],q=!0;else if(e["slackmsg-style-italic"]&&"_"!==m&&"_"===d[h+1])delete e["slackmsg-style-italic"],q=!0;else break;m=d[++h]}while(h<l);q&&(g+="</span>"+p(e))}}va(e)||(console.warn("formatter warning"),g+="</span>");a[b]=f?'<span class="slackmsg-style-quote">'+g+"</span>":g}return a.length?a.join("<br/>"):""};var P=[],Q=0;
  19. function wa(){var a=document.createDocumentFragment(),b=Object.keys(F.a.f||{}),c=[],d=[],g=[],e=[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:F.a.f[a].name.localeCompare(F.a.f[b].name)});b.forEach(function(a){a=F.a.f[a];if(!a.h&&!1!==a.s)if(a instanceof x){if(!a.c.g){var b;b=document.createElement("li");var f=document.createElement("a");b.id="room_"+a.id;f.href="#"+a.id;b.className="slack-context-room slack-ims";f.textContent=a.c.name;b.appendChild(R());b.appendChild(f);a.c.c||b.classList.add("away");
  20. G===a&&b.classList.add("selected");a.a>a.b&&(b.classList.add("unread"),0<=S.indexOf(a)&&b.classList.add("unreadHi"));b&&(a.o?c.push(b):e.push(b))}}else b=document.createElement("li"),f=document.createElement("a"),b.id="room_"+a.id,f.href="#"+a.id,a.l?(b.className="slack-context-room slack-group",b.dataset.count=Object.keys(a.g||{}).length):b.className="slack-context-room slack-channel",G===a&&b.classList.add("selected"),f.textContent=a.name,b.appendChild(R()),b.appendChild(f),a.a>a.b&&(b.classList.add("unread"),
  21. 0<=S.indexOf(a)&&b.classList.add("unreadHi")),b&&(a.o?c.push(b):a.l?g.push(b):d.push(b))});c.length&&a.appendChild(xa(K.o));c.forEach(function(b){a.appendChild(b)});d.length&&a.appendChild(xa(K.f));d.forEach(function(b){a.appendChild(b)});g.forEach(function(b){a.appendChild(b)});e.length&&a.appendChild(xa(K.L));e.forEach(function(b){a.appendChild(b)});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);ya();T();za(function(a){document.getElementById("slackCtx").style.backgroundImage=
  22. "url("+a+")"})}function Aa(){var a=F.a.c,b;for(b in F.a.b.f)if(!F.a.b.f[b].h){var c=document.getElementById("room_"+b);a[b]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing")}for(var d in F.a.a)(b=F.a.a[d].h)&&!b.h&&(c=document.getElementById("room_"+b.id))&&(a[b.id]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing"));Ba()}
  23. function Ba(){var a=F.a.c;document.getElementById("whoistyping").textContent="";if(G&&a[G.id]){var b=document.createDocumentFragment(),c=!1,d;for(d in a[G.id])(a=F.a.a[d])?b.appendChild(Ca(a)):c=!0;c&&(F.c=0);document.getElementById("whoistyping").appendChild(b)}}function Da(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");T()}
  24. function Ea(){var a=G.name||(G.c?G.c.name:void 0);if(!a){var b=[];G.g.forEach(function(a){b.push(a.name)});a=b.join(", ")}document.getElementById("currentRoomTitle").textContent=a;Fa();U();document.getElementById("fileUploadContainer").classList.add("hidden");Ga();V&&(V=null,W());X&&(X=null,W());Ba()}
  25. function W(){if(V){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){V=null;W()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(Ha("reply_"+G.id,V,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";U()}
  26. function Y(){if(X){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){X=null;Y()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(Ha("edit_"+G.id,X,!0));document.getElementById("msgInput").value=X.c}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";U()}
  27. window.toggleReaction=function(a,b,c){var d=F.b[a];if(d){a:{for(var g=0,e=d.a.length;g<e;g++)if(d.a[g].id==b){d=d.a[g];break a}d=null}d&&(g=F.a.b.id,d.b[c]&&-1!==d.b[c].indexOf(g)?(d=new XMLHttpRequest,d.open("DELETE","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0),d.send(null)):Ia(a,b,c))}};
  28. function ua(a){a:{for(var b=a,c={};!c[b];){if(a=F.a.h.data[b])if("alias:"==a.substr(0,6))c[b]=!0,b=a.substr(6);else{b=document.createElement("span");b.className="emoji-custom emoji";b.style.backgroundImage="url('"+a+"')";a=b;break a}break}a=b}"string"===typeof a&&"makeEmoji"in window&&(a=window.makeEmoji(a));return"string"===typeof a?null:a}
  29. function Ha(a,b,c){b instanceof C?(a=Ja(a,b,c),a.classList.add("slackmsg-me_message")):a=Ja(a,b,c);b.u&&a.classList.add("slackmsg-edited");b instanceof D&&a.classList.add("slackmsg-notice");return a}function Ka(a,b){document.getElementById("linkFavicon").href=a||b?"favicon.png?h="+a+"&m="+b:"favicon_ok.png"}
  30. function T(){var a=S.length,b="";if(Z)b="!"+K.H+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else if(a)b="(!"+a+") - ",Ka(a,a);else{var a=0,c;for(c in F.a.f){var d=F.a.f[c];d.a>d.b&&a++}a&&(b="("+a+") - ");Ka(0,a)}F.a.l&&(b+=F.a.l.name);document.title=b}
  31. function La(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(Q+3E4<a){var b=new Notification(K.I);Q=a;setTimeout(function(){b.close()},5E3)}}else"denied"!==Notification.permission&&Notification.requestPermission()}
  32. function Fa(){var a=document.createDocumentFragment(),b=G.id,c=null,d=0,g=null,e;P=[];F.b[b]&&F.b[b].a.forEach(function(h){if(!h.g){var f=Ha(b,h),k=!1;c&&c.m===h.m&&h.m?30>Math.abs(d-h.j)&&!(h instanceof C)?g.classList.add("slackmsg-same-ts"):d=h.j:(d=h.j,k=!0);(!c||c.j<=G.b)&&h.j>G.b&&f.classList.add("slackmsg-first-unread");if(h instanceof C)g=c=null,d=0,a.appendChild(f),e=null;else{if(k||!e){var k=F.a.a[h.m],p=h.h,m=document.createElement("div"),q=document.createElement("div"),t=document.createElement("span");
  33. m.A=document.createElement("img");m.A.className="slackmsg-author-img";t.className="slackmsg-author-name";k?(t.textContent=k.name,m.A.src=k.b.small):(t.textContent=p||"?",m.A.src="");q.appendChild(m.A);q.appendChild(t);q.className="slackmsg-author";m.className="slackmsg-authorGroup";m.appendChild(q);m.content=document.createElement("div");m.content.className="slackmsg-author-messages";m.appendChild(m.content);e=m;P.push(e);a.appendChild(e)}c=h;g=f;e.content.appendChild(f)}}});var f=document.getElementById("chatWindow");
  34. f.textContent="";f.appendChild(a);f.scrollTop=f.scrollHeight-f.clientHeight;window.hasFocus&&Ga()}
  35. function Ma(a){function b(a,b){for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item"))return b.id;b=b.parentElement}}for(var c=a.target;c!==a.currentTarget&&c&&!c.classList.contains("slackmsg-hover");){if(c.parentElement&&c.classList.contains("slackmsg-attachment-actions-item")){var d=b(a,c),g=c.dataset.P,e=c.dataset.O;if(d&&void 0!==g&&void 0!==e){var d=parseFloat(d.split("_")[1]),f=fa(d);f&&f.a[g]&&f.a[g].actions&&f.a[g].actions[e]&&Na(f,f.a[g],f.a[g].actions[e])}}else if(c.parentElement&&
  36. c.parentElement.classList.contains("slackmsg-hover")){if(d=b(a,c))d=parseFloat(d.split("_")[1]),(f=fa(d))&&c.classList.contains("slackmsg-hover-reply")?(X&&(X=null,Y()),V!==f&&(V=f,W())):f&&c.classList.contains("slackmsg-hover-reaction")?Oa.D(document.body,function(a){a&&Ia(G.id,f.id,a)}):f&&c.classList.contains("slackmsg-hover-edit")?(V&&(V=null,W()),X!==f&&(X=f,Y())):f&&c.classList.contains("slackmsg-hover-remove")&&(V&&(V=null,W()),X&&(X=null,Y()),Pa(f));break}c=c.parentElement}}
  37. function Na(a,b,c){function d(){var d=JSON.stringify({actions:[c],attachment_id:b.id,callback_id:b.callback_id,channel_id:g,is_ephemeral:a instanceof D,message_ts:a.id}),f=a.m,h=new FormData,l=new XMLHttpRequest;h.append("payload",d);h.append("service_id",f);l.open("POST","api/attachmentAction");l.send(h)}var g=G.id;c.confirm?sa(ra(new L(c.confirm.title,c.confirm.text),c.confirm.ok_text,c.confirm.dismiss_text),d).D():d()}function U(){document.getElementById("msgInput").focus()}
  38. function ya(){var a=document.location.hash.substr(1),b=F.a.f[a];b&&b!==G?Qa(b):(a=F.a.a[a])&&a.l&&Qa(a.l)}function Ra(){var a=document.getElementById("chatWindow").getBoundingClientRect().top;P.forEach(function(b){var c=b.A,d=c.clientHeight;b=b.getBoundingClientRect();c.style.top=Math.max(0,Math.min(a-b.top,b.height-d-d/2))+"px"})}
  39. document.addEventListener("DOMContentLoaded",function(){ga();document.getElementById("chatWindow").addEventListener("click",Ma);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&ya()});document.getElementById("fileUploadCancel").addEventListener("click",function(a){a.preventDefault();document.getElementById("fileUploadError").classList.add("hidden");document.getElementById("fileUploadContainer").classList.add("hidden");document.getElementById("fileUploadInput").value=
  40. "";return!1});document.getElementById("fileUploadForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("fileUploadInput");var b=a.value;b&&(b=b.substr(b.lastIndexOf("\\")+1),Sa(b,a.files[0],function(a){var b=document.getElementById("fileUploadError");a?(b.textContent=a,b.classList.remove("hidden")):(b.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1});
  41. document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();G&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");G&&a.value&&Ta(a.value)&&(a.value="",V&&(V=null,W()),X&&(X=null,W()),document.getElementById("slashList").textContent="");U();return!1});window.addEventListener("blur",function(){window.hasFocus=
  42. !1});window.addEventListener("focus",function(){window.hasFocus=!0;Q=0;G&&Ga();U()});document.getElementById("chatWindow").addEventListener("scroll",Ra);var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(G){var b=Date.now();a+3E3<b&&(F.a.b.c||G instanceof x)&&(Ua(),a=b);var b=[],c=this.value;if("/"===this.value[0]){var d=c.indexOf(" "),g=-1!==d,d=-1===d?c.length:d,c=c.substr(0,d),e;for(e in F.a.g.data){var f=F.a.g.data[e];(!g&&f.name.substr(0,d)===c||g&&f.name===c)&&
  43. b.push(f)}}b.sort(function(a,b){return a.B.localeCompare(b.B)||a.name.localeCompare(b.name)});var d=document.getElementById("slashList"),g=document.createDocumentFragment(),h;d.textContent="";e=0;for(c=b.length;e<c;e++)f=b[e],h!==f.B&&(h=f.B,g.appendChild(Va(f.B))),g.appendChild(Wa(f));d.appendChild(g)}});window.hasFocus=!0;(function(){var a=document.getElementById("emojiButton");if("makeEmoji"in window){var c=window.makeEmoji("smile");c?a.innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":
  44. a.style.backgroundImage='url("smile.svg")';(c=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":document.getElementById("attachFile").style.backgroundImage='url("public/paperclip.svg")';a.addEventListener("click",function(){Oa.D(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");U()})})}else a.classList.add("hidden")})();Xa()});function R(){var a=document.createElement("span"),b=document.createElement("span"),c=document.createElement("span"),d=document.createElement("span");a.className="typing-container";b.className="typing-dot1";c.className="typing-dot2";d.className="typing-dot3";b.textContent=c.textContent=d.textContent=".";a.appendChild(b);a.appendChild(c);a.appendChild(d);return a}var xa=function(){var a={};return function(b){var c=a[b];c||(c=a[b]=document.createElement("header"),c.textContent=b);return c}}();
  45. function Ja(a,b,c){var d=document.createElement("div"),g=document.createElement("div"),e=document.createElement("div"),f=document.createElement("div"),h=document.createElement("span"),l=document.createElement("ul"),k=document.createElement("li"),p=document.createElement("ul"),m=document.createElement("ul"),q=F.a.a[b.m];d.id=a+"_"+b.j;d.className="slackmsg-item";e.className="slackmsg-ts";f.className="slackmsg-msg";h.className="slackmsg-author-name";l.className="slackmsg-hover";k.className="slackmsg-hover-reply";
  46. e.innerHTML=K.F(b.j);f.innerHTML=O(b.c);h.textContent=q?q.name:b.h||"?";l.appendChild(k);if("makeEmoji"in window){var t=document.createElement("li"),u=window.makeEmoji("arrow_heading_down"),v=window.makeEmoji("smile"),z=window.makeEmoji("pencil2"),q=window.makeEmoji("x");t.className="slackmsg-hover-reaction";v?(t.classList.add("emoji-small"),t.appendChild(v)):t.style.backgroundImage='url("smile.svg")';u?(k.classList.add("emoji-small"),k.appendChild(u)):k.style.backgroundImage='url("repl.svg")';l.appendChild(t);
  47. b.m===F.a.b.id&&(k=document.createElement("li"),k.className="slackmsg-hover-edit",z?k.classList.add("emoji-small"):k.style.backgroundImage='url("edit.svg")',k.appendChild(z),l.appendChild(k),k=document.createElement("li"),k.className="slackmsg-hover-remove",q?k.classList.add("emoji-small"):k.style.backgroundImage='url("remove.svg")',k.appendChild(q),l.appendChild(k))}else k.style.backgroundImage='url("repl.svg")',b.m===F.a.b.id&&(k=document.createElement("li"),k.className="slackmsg-hover-edit",k.style.backgroundImage=
  48. 'url("edit.svg")',l.appendChild(k),k=document.createElement("li"),k.className="slackmsg-hover-remove",k.style.backgroundImage='url("remove.svg")',l.appendChild(k));b instanceof D&&(q=document.createElement("span"),q.className="slackmsg-notice",q.textContent=K.J,g.appendChild(q));g.appendChild(h);g.appendChild(f);g.appendChild(e);g.appendChild(p);b.u&&(e=document.createElement("div"),e.innerHTML=K.u,e.className="slackmsg-edited",g.appendChild(e));g.appendChild(m);g.className="slackmsg-content";p.className=
  49. "slackmsg-attachments";m.className="slackmsg-reactions";if(!0!==c){if(b.b)for(var A in b.b){c=a;e=b.id;f=A;h=b.b[A];if(q=ua(f)){for(var k=document.createElement("li"),z=document.createElement("a"),t=document.createElement("span"),u=document.createElement("span"),v=[],J=0,B=h.length;J<B;J++){var w=F.a.a[h[J]];w&&v.push(w.name)}v.sort();u.textContent=v.join(", ");t.appendChild(q);t.className="emoji-small";z.href="javascript:toggleReaction('"+c+"', '"+e+"', '"+f+"')";z.appendChild(t);z.appendChild(u);
  50. k.className="slackmsg-reaction-item";k.appendChild(z);c=k}else console.warn("Reaction id not found: "+f),c=null;c&&m.appendChild(c)}a=0;for(m=b.a.length;a<m;a++)(A=b.a[a])&&(A=Ya(A,a))&&p.appendChild(A)}d.appendChild(g);d.appendChild(l);return d}function Za(a){var b={good:"#2fa44f",warning:"#de9e31",danger:"#d50200"};if(a){if("#"===a[0])return a;if(b[a])return b[a]}return"#e3e4e6"}
  51. function Ya(a,b){var c=document.createElement("li"),d=document.createElement("div"),g=document.createElement("div"),e=document.createElement("a"),f=document.createElement("div"),h=document.createElement("img"),l=document.createElement("a"),k=document.createElement("div"),p=document.createElement("div"),m=document.createElement("div"),q=document.createElement("img"),t=document.createElement("div");c.className="slackmsg-attachment";d.style.borderColor=Za(a.color||"");d.className="slackmsg-attachment-block";
  52. g.className="slackmsg-attachment-pretext";a.pretext?g.innerHTML=O(a.pretext):g.classList.add("hidden");e.target="_blank";a.title?(e.innerHTML=O(a.title),a.title_link&&(e.href=a.title_link),e.className="slackmsg-attachment-title"):e.className="hidden slackmsg-attachment-title";l.target="_blank";f.className="slackmsg-author";a.author_name&&(l.innerHTML=O(a.author_name),l.href=a.author_link||"",l.className="slackmsg-author-name",h.className="slackmsg-author-img",a.author_icon&&(h.src=a.author_icon,f.appendChild(h)),
  53. f.appendChild(l));k.className="slackmsg-attachment-content";h=O(a.text||"");p.className="slackmsg-attachment-text";h&&""!=h?p.innerHTML=h:p.classList.add("hidden");m.className="slackmsg-attachment-thumb";a.thumb_url?(h=document.createElement("img"),h.src=a.thumb_url,m.appendChild(h),d.classList.add("has-thumb"),a.video_html&&(m.dataset.video=a.video_html)):m.classList.add("hidden");q.className="slackmsg-attachment-img";a.image_url?q.src=a.image_url:q.classList.add("hidden");t.className="slackmsg-attachment-footer";
  54. a.footer&&(h=document.createElement("span"),h.className="slackmsg-attachment-footer-text",h.innerHTML=O(a.footer),a.footer_icon&&(l=document.createElement("img"),l.src=a.footer_icon,l.className="slackmsg-attachment-footer-icon",t.appendChild(l)),t.appendChild(h));a.ts&&(h=document.createElement("span"),h.className="slackmsg-ts",h.innerHTML=K.F(a.ts),t.appendChild(h));k.appendChild(p);k.appendChild(m);d.appendChild(e);d.appendChild(f);d.appendChild(k);d.appendChild(q);if(a.fields&&a.fields.length){var u=
  55. document.createElement("ul");d.appendChild(u);u.className="slackmsg-attachment-fields";a.fields.forEach(function(a){var b=a.title||"",c=a.value||"";a=!!a["short"];var d=document.createElement("li"),e=document.createElement("div"),g=document.createElement("div");d.className="field";a||d.classList.add("field-long");e.className="field-title";e.textContent=b;g.className="field-text";g.innerHTML=O(c);d.appendChild(e);d.appendChild(g);d&&u.appendChild(d)})}if(a.actions&&a.actions.length)for(e=document.createElement("ul"),
  56. e.className="slackmsg-attachment-actions "+na,d.appendChild(e),f=0,k=a.actions.length;f<k;f++)(p=a.actions[f])&&(p=$a(b,f,p))&&e.appendChild(p);d.appendChild(t);c.appendChild(g);c.appendChild(d);return c}function $a(a,b,c){var d=document.createElement("li"),g=Za(c.style);d.textContent=c.text;g!==Za()&&(d.style.color=g);d.style.borderColor=g;d.dataset.P=a;d.dataset.O=b;d.className="slackmsg-attachment-actions-item "+M;return d}
  57. function Ca(a){var b=document.createElement("li"),c=document.createElement("span");c.textContent=a.name;b.appendChild(R());b.appendChild(c);return b}function Va(a){var b=document.createElement("lh");b.textContent=a;b.className="slack-command-header";return b}
  58. function Wa(a){var b=document.createElement("li"),c=document.createElement("span"),d=document.createElement("span"),g=document.createElement("span");c.textContent=a.name;d.textContent=a.usage;g.textContent=a.a;b.appendChild(c);b.appendChild(d);b.appendChild(g);b.className="slack-command-item";c.className="slack-command-name";d.className="slack-command-usage";g.className="slack-command-desc";return b};var Oa=function(){function a(a,b){for(var c=a.target;c!==l&&c&&"LI"!==c.nodeName;)c=c.parentElement;c&&"LI"===c.nodeName&&c.id&&"emojibar-"===c.id.substr(0,9)?b(c.id.substr(9)):b(null)}function b(){if(!c())return!1;B&&B(null);return!0}function c(){return l.parentElement?(l.parentElement.removeChild(k),l.parentElement.removeChild(l),!0):!1}function d(a){var b=0,c;a=void 0===a?t.value:a;if(h()){var d=window.searchEmojis(a);c=g(d);for(var f in u)u[f].visible&&(u[f].visible=!1,m.removeChild(u[f].i));
  59. f=0;for(var k=c.length;f<k;f++){var l=c[f].name,w=u[l];if(!w){var w=u,A=l,p=l,l=window.makeEmoji(d[l]),B=document.createElement("span");B.appendChild(l);B.className="emoji-medium";l=e(p,B);w=w[A]=l}w.visible||(w.visible=!0,m.appendChild(w.i));b++}}for(f in v)v[f].visible&&(v[f].visible=!1,q.removeChild(v[f].i));c=g(F.a.h.data);f=0;for(k=c.length;f<k;f++)l=c[f].name,""!==a&&l.substr(0,a.length)!==a||"alias:"===F.a.h.data[l].substr(0,6)||(w=v[l],w||(d=v,A=w=l,l=F.a.h.data[l],p=document.createElement("span"),
  60. B=document.createElement("span"),p.className="emoji emoji-custom",p.style.backgroundImage='url("'+l+'")',B.appendChild(p),B.className="emoji-medium",l=e(A,B),w=d[w]=l),w.visible||(w.visible=!0,q.appendChild(w.i)),b++);return b}function g(a){var b=F.a.b.a.b,c=[],d;for(d in a){var e={name:d,K:0,count:0};a[d].names&&a[d].names.forEach(function(a){e.count+=b[a]||0});c.push(e)}return c=c.sort(function(a,b){var c=b.count-a.count;return c?c:a.K-b.K})}function e(a,b){var c=document.createElement("li");c.appendChild(b);
  61. c.className="emojibar-list-item";c.id="emojibar-"+a;return{visible:!1,i:c}}function f(a){var b=document.createElement("img"),c=document.createElement("div");b.src=a;c.appendChild(b);c.className="emojibar-header";return c}function h(){return"searchEmojis"in window}var l=document.createElement("div"),k=document.createElement("div"),p=document.createElement("div"),m=document.createElement("ul"),q=document.createElement("ul"),t=document.createElement("input"),u={},v={},z=document.createElement("div"),
  62. A=document.createElement("span"),J=document.createElement("span"),B;k.addEventListener("click",function(a){var c=l.getBoundingClientRect();(a.screenY<c.top||a.screenY>c.bottom||a.screenX<c.left||a.screenX>c.right)&&b()});k.className="emojibar-overlay";l.className="emojibar";p.className="emojibar-emojis";z.className="emojibar-detail";A.className="emojibar-detail-img";J.className="emojibar-detail-name";m.className=q.className="emojibar-list";t.className="emojibar-search";z.appendChild(A);z.appendChild(J);
  63. p.appendChild(f(window.emojiProviderHeader));p.appendChild(m);p.appendChild(f("emojicustom.png"));p.appendChild(q);l.appendChild(p);l.appendChild(z);l.appendChild(t);t.addEventListener("keyup",function(){d()});l.addEventListener("mousemove",function(b){a(b,function(a){var b=a?u[a]||v[a]:null;b?(A.innerHTML=b.i.outerHTML,J.textContent=":"+a+":"):(A.textContent="",J.textContent="")})});l.addEventListener("click",function(b){a(b,function(a){a&&c()&&B&&B(a)})});return{isSupported:h,D:function(a,b){return h()?
  64. (B=b,a.appendChild(k),a.appendChild(l),t.value="",d(),t.focus(),!0):!1},search:d,close:b}}();var F,S=[];function ab(){this.c=0;this.a=new ca;this.b={}}
  65. ab.prototype.update=function(a){var b=Date.now();a.v&&(this.c=a.v);if(a["static"]){var c=this.a,d=a["static"],g=Date.now();if(d.users)for(var e=0,f=d.users.length;e<f;e++){var h=c.a[d.users[e].id];h||(h=c.a[d.users[e].id]=new H(d.users[e].id));h.update(d.users[e],g)}if(d.channels)for(e=0,f=d.channels.length;e<f;e++){h=c.f[d.channels[e].id];if(!h){var h=c.f,l=d.channels[e].id,k;k=d.channels[e];k=k.pv?new x(k.id,c.a[k.user]):new r(k.id);h=h[l]=k}h.update(d.channels[e],c,g)}d.emojis&&(c.h.data=d.emojis,
  66. c.h.version=g);if(void 0!==d.commands){c.g.data={};for(e in d.commands)c.g.data[e]=new aa(d.commands[e]);c.g.version=g}d.team&&(c.l||(c.l=new n(d.team.id)),c.l.update(d.team,g));c.s=Math.max(c.s,g);d.self&&(c.b=c.a[d.self.id]||null,c.b?(c.b.a||(c.b.a=new ba),c.b.a.update(d.self.prefs,g)):c.s=0);if(void 0!==d.typing)for(e in c.c={},d.typing){c.c[e]={};for(var p in d.typing[e])c.c[e][p]=g}}for(var m in this.a.f){var q=this.a.f[m];q.a===q.b&&(c=S.indexOf(q),-1!==c&&S.splice(c,1))}if(a.live){for(q in a.live)(m=
  67. this.b[q])?da(m,a.live[q],b):this.b[q]=new E(q,250,a.live[q],b);for(var t in a.live)(b=this.a.f[t])?(this.b[t].a.length&&(q=this.b[t],b.a=Math.max(b.a,q.a[q.a.length-1].j)),b.h||(bb(b,a.live[t]),G&&a.live[G.id]&&Fa())):F.c=0}a["static"]&&(wa(),a["static"].typing&&Aa())};setInterval(function(){var a=F.a,b=Date.now(),c=!1,d;for(d in a.c){var g=!0,e;for(e in a.c[d])a.c[d][e]+3E3<b?(delete a.c[d][e],c=!0):g=!1;g&&(delete a.c[d],c=!0)}c&&Aa()},1E3);
  68. function bb(a,b){if(a!==G||!window.hasFocus){var c=new RegExp("<@"+F.a.b.id),d=!1,g=!1,e=!1;b.forEach(function(b){if(!(parseFloat(b.ts)<=a.b)){g=!0;var f;if(!(f=a instanceof x)&&(f=b.text)&&!(f=b.text.match(c)))a:{f=F.a.b.a.a;for(var h=0,p=f.length;h<p;h++)if(-1!==b.text.indexOf(f[h])){f=!0;break a}f=!1}f&&(-1===S.indexOf(a)&&(e=!0,S.push(a)),d=!0)}});if(g){T();var f=document.getElementById("room_"+a.id);f&&(f.classList.add("unread"),d&&f.classList.add("unreadHi"));e&&!window.hasFocus&&La()}}}
  69. function Ga(){var a=G,b=S.indexOf(a);if(a.a>a.b){var c=new XMLHttpRequest;c.open("POST","api/markread?room="+a.id+"&ts="+a.a,!0);c.send(null);a.b=a.a}0<=b&&(S.splice(b,1),T());a=document.getElementById("room_"+a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}F=new ab;var za=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,d=20;d<l-40;d+=p)for(var f=0;f+p<=k;f+=p)e(a,b[c],d,f),c++,c===b.length&&(b.sort(function(a,b){return a.C?b.C?Math.random()-.5:-1:1}),c=0)}function b(a,d){for(var e=0,f=a.length;e<f;e++)if(void 0===a[e].C){c(a[e].src,function(c){a[e].C=c;b(a,d)});return}var g=[];a.forEach(function(a){a.C&&g.push(a.C)});d(g)}function c(a,b){var c=new XMLHttpRequest;c.responseType="blob";c.onreadystatechange=function(){if(4===
  70. c.readyState)if(c.response){var a=new Image;a.onload=function(){var c=document.createElement("canvas");c.height=c.width=t;c=c.getContext("2d");c.drawImage(a,0,0,t,t);for(var c=c.getImageData(0,0,t,t),d=0,e=0;e<c.width*c.height*4;e+=4)c.data[e]=c.data[e+1]=c.data[e+2]=(c.data[e]+c.data[e+1]+c.data[e+2])/3,c.data[e+3]=50,d+=c.data[e];if(50>d/(c.height*c.width))for(e=0;e<c.width*c.height*4;e+=4)c.data[e]=c.data[e+1]=c.data[e+2]=255-c.data[e];b(c)};a.onerror=function(){b(null)};a.src=window.URL.createObjectURL(c.response)}else b(null)};
  71. c.open("GET",a,!0);c.send(null)}function d(){var a=h.createLinearGradient(0,0,0,k);a.addColorStop(0,"#4D394B");a.addColorStop(1,"#201820");h.fillStyle=a;h.fillRect(0,0,l,k);return h.getImageData(0,0,l,k)}function g(a,b){for(var c=(a.height-b.height)/2,d=0;d<b.height;d++)for(var e=0;e<b.width;e++){var f=b.data[4*(d*b.width+e)]/255,g=4*((d+c)*a.width+e+c);a.data[g]*=f;a.data[g+1]*=f;a.data[g+2]*=f}return a}function e(a,b,c,d){var e=Math.floor(d);a=[a.data[e*l*4+0],a.data[e*l*4+1],a.data[e*l*4+2]];h.fillStyle=
  72. "#"+(1.1*a[0]<<16|1.1*a[1]<<8|1.1*a[2]).toString(16);h.beginPath();h.moveTo(c+p/2,d+m);h.lineTo(c-m+p,d+p/2);h.lineTo(c+p/2,d-m+p);h.lineTo(c+m,d+p/2);h.closePath();h.fill();h.putImageData(g(h.getImageData(c+m,d+m,q,q),b),c+m,d+m)}var f=document.createElement("canvas"),h=f.getContext("2d"),l=f.width=250,k=f.height=290,p=(l-40)/3,m=.1*p,q=Math.floor(p-2*m),t=.5*q,u,v=[],z=!1;return function(c){if(u)c(u);else if(z)v.push(c);else{var e=d(),g=[];z=!0;v.push(c);for(var h in F.a.a)F.a.a[h].g||F.a.a[h].s||
  73. g.push({src:"api/avatar?user="+h});b(g,function(b){a(e,b);u=f.toDataURL();v.forEach(function(a){a(u)})})}}}();var Z=0,G=null,V=null,X=null;function cb(a){var b=new XMLHttpRequest;b.timeout=6E4;b.onreadystatechange=function(){if(4===b.readyState)if(b.status){var c=null,d=2===Math.floor(b.status/100);if(d){Z&&(Z=0,Da(!0));c=b.response;try{c=JSON.parse(c)}catch(g){c=null}}else Z?(Z+=Math.floor((Z||5)/2),Z=Math.min(60,Z)):(Z=5,Da(!1));a(d,c)}else Z&&(Z=0,Da(!0)),cb(a)};b.open("GET","api?v="+F.c,!0);b.send(null)}function Ua(){var a=new XMLHttpRequest;a.open("POST","api/typing?room="+G.id,!0);a.send(null)}
  74. function db(a,b){a?(b&&F.update(b),Xa()):setTimeout(Xa,1E3*Z)}function Xa(){cb(db)}function Qa(a){G&&document.getElementById("room_"+G.id).classList.remove("selected");document.getElementById("room_"+a.id).classList.add("selected");document.body.classList.remove("no-room-selected");G=a;Ea();G.a&&!F.b[G.id]&&(a=new XMLHttpRequest,a.open("GET","api/hist?room="+G.id,!0),a.send(null))}
  75. function Sa(a,b,c){var d=G;new FileReader;var g=new FormData,e=new XMLHttpRequest;g.append("file",b);g.append("filename",a);e.onreadystatechange=function(){4===e.readyState&&(204===e.status?c(null):c(e.statusText))};e.open("POST","api/file?room="+d.id);e.send(g)}
  76. function Ta(a){if(X){var b=new XMLHttpRequest;b.open("PUT","api/msg?room="+G.id+"&ts="+X.id+"&text="+encodeURIComponent(a),!0);b.send(null);return!0}if("/"===a[0]){var c=a.indexOf(" "),b=-1===c?"":a.substr(c);return(a=F.a.g.data[a.substr(0,-1===c?void 0:c)])?(c=new XMLHttpRequest,c.open("POST","api/cmd?room="+G.id+"&cmd="+encodeURIComponent(a.name.substr(1))+"&args="+encodeURIComponent(b.trim()),!0),c.send(null),!0):!1}var b=G,c=V,d=new XMLHttpRequest;a="api/msg?room="+b.id+"&text="+encodeURIComponent(a);
  77. if(c){var g=F.a.a[c.m],e="Message";"C"===b.id[0]?e="Channel message":"D"===b.id[0]?e="Direct message":"G"===b.id[0]&&(e="Group message");a+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:c.c,author_name:"<@"+g.id+"|"+g.name+">",author_icon:g.b.small,text:c.c,footer:e,ts:c.j}]))}d.open("POST",a,!0);d.send(null);return!0}function Pa(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+G.id+"&ts="+a.id,!0);b.send(null)}
  78. function Ia(a,b,c){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);d.send(null)};function va(a){for(var b in a)if(a.hasOwnProperty(b))return!1;return!0};