|
@@ -1,23 +1,26 @@
|
|
|
-function g(a){this.id=a.id;this.name=a.name}function k(a,b){this.id=a.id;this.name=a.name;this.b=parseFloat(a.last_read);this.a={};if(a.members)for(var c=0,d=a.members.length;c<d;c++){var f=r(b,a.members[c]);this.a[f.id]=f;f.f[this.id]=this}}function t(a,b){var c=[];this.id=b.id;this.a={};for(var d=0,f=b.members.length;d<f;d++){var e=r(a,b.members[d]);this.a[b.members[d]]=e;e.f[this.id]=this;c.push(e.name)}this.name=c.join(", ");this.b=parseFloat(b.last_read)}
|
|
|
|
|
-function u(a,b){this.id=b.id;this.c=a;this.b=parseFloat(b.last_read)}function x(a){this.id=a.id;this.name=a.name;this.status=a.status;this.b={B:a.profile.image_24,C:a.profile.image_32,l:a.profile.image_48,s:a.profile.image_72,A:a.profile.image_192,F:a.profile.image_512};this.f={};this.a=null}function aa(a){this.id=a.id;this.name=a.name;this.b={D:a.icons.image_36,l:a.icons.image_48,s:a.icons.image_72};this.f={};this.a=null}
|
|
|
|
|
-function D(){this.i=null;this.f={};this.b={};this.g={};this.a={};this.c=null;this.h={}}function r(a,b){return a.a[b]||a.h[b]||null}function G(a,b){return a.f[b]||a.g[b]||a.b[b]||null}"undefined"!==typeof module&&(module.o.u=D);function ba(a){this.g=a.user;this.b=parseFloat(a.ts);this.type=a.type;this.c=a.subtype;this.a=a}function H(a,b,c){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&J(this,c)}function J(a,b){var c=0;b.forEach(function(a){c=Math.max(this.push(a),c)}.bind(a))}H.prototype.push=function(a){for(var b=parseFloat(a.ts),c=0,d=this.a.length;c<d;c++)if(this.a[c].b===b)return b;for(this.a.push(new ba(a));this.a.length>this.b;)this.a.shift();return b};"undefined"!==typeof module&&(module.o.w=H);var K=null;
|
|
|
|
|
-function ca(){var a=document.createDocumentFragment(),b=L.a.c?Object.keys(L.a.c.f):[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:(L.a.f[a]||L.a.b[a]).name.localeCompare((L.a.f[b]||L.a.b[b]).name)});b.forEach(function(b){b=L.a.f[b]||L.a.b[b];var c=document.createElement("li");c.id=b.id;"D"===b.id[0]?c.className="slack-context-room slack-ims":"G"===b.id[0]?c.className="slack-context-room slack-group":"C"===b.id[0]&&(c.className="slack-context-room slack-channel");c.textContent=b.name;c&&a.appendChild(c)});
|
|
|
|
|
-b=L.a.a?Object.keys(L.a.a):[];b.sort(function(a,b){return L.a.a[a].name.localeCompare(L.a.a[b].name)});b.forEach(function(b){b=L.a.a[b].a;var c=document.createElement("li");c.id=b.id;c.className="slack-context-room";c.textContent=b.c.name;c&&a.appendChild(c)});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a)}function M(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network")}
|
|
|
|
|
-function N(){if(K){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){K=null;N()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(O("reply_"+P.id,K))}else document.body.classList.remove("replyingTo")}
|
|
|
|
|
-function R(a,b){var c=document.createElement("div"),d=document.createElement("div"),f=document.createElement("div"),e=document.createElement("div"),m=document.createElement("img"),v=document.createElement("span"),w=document.createElement("ul"),z=document.createElement("li"),A=b.a.user?L.a.a[b.a.user]:L.a.h[b.a.bot_id];c.id=a+"_"+b.b;c.className="slackmsg-item";d.className="slackmsg-ts";f.className="slackmsg-msg";e.className="slackmsg-author";m.className="slackmsg-author-img";v.className="slackmsg-author-name";
|
|
|
|
|
-w.className="slackmsg-hover";z.className="slackmsg-hover-reply";d.textContent=(new Date(1E3*b.b)).toLocaleTimeString();for(var y=b.a.text||"",y=y.replace(RegExp("<([@#]?)([^>]*)>","g"),function(a,b,c){a=c.split("|");"@"===b?(a[1]?"@"!==a[1][0]&&(a[1]="@"+a[1]):(c=r(L.a,a[0]),a[1]=c?"@"+c.name:"Unknown member"),a[0]="#"+a[0],a[2]="slackmsg-link slackmsg-link-user"):"#"===b?(a[1]?"#"!==a[1][0]&&(a[1]="#"+a[1]):(c=G(L.a,a[0]),a[1]=c?"#"+c.name:"Unknown channel"),a[0]="#"+a[0],a[2]="slackmsg-link slackmsg-link-chan"):
|
|
|
|
|
-(a[1]||(a[1]=a[0]),a[2]="slackmsg-link");return'<a href="'+a[0]+'" class="'+a[2]+'"'+(b?"":' target="_blank"')+">"+a[1]+"</a>"}).split(/\r?\n/g),E=0,da=y.length;E<da;E++){for(var n=y[E],p="",h={},Q=!1,l=0,I=n.length,F=function(a,b,c){for(;a[b];){if(" "!=a[b]&&a[b]!=c&&a[b+1]==c)return!0;b++}return!1},B=function(a){return Object.keys(h).length?'<span class="'+Object.keys(a).join(" ")+'">':""};l<I&&(" "===n[l]||"\t"===n[l]);)l++;">"===n.substr(l,4)&&(Q=!0,l+=4);for(;l<I;l++){var q=n[l];if(!h["slackmsg-style-bold"]&&
|
|
|
|
|
-"*"===q&&n[l+1]&&F(n,l,q))Object.keys(h).length&&(p+="</span>"),h["slackmsg-style-bold"]=!0,p+=B(h);else if(!h["slackmsg-style-strike"]&&"~"===q&&n[l+1]&&F(n,l,q))Object.keys(h).length&&(p+="</span>"),h["slackmsg-style-strike"]=!0,p+=B(h);else if(!h["slackmsg-style-code"]&&"`"===q&&n[l+1]&&F(n,l,q))Object.keys(h).length&&(p+="</span>"),h["slackmsg-style-code"]=!0,p+=B(h);else if(!h["slackmsg-style-italic"]&&"_"===q&&n[l+1]&&F(n,l,q))Object.keys(h).length&&(p+="</span>"),h["slackmsg-style-italic"]=
|
|
|
|
|
-!0,p+=B(h);else{var C=!1,p=p+q;do{if(h["slackmsg-style-bold"]&&"*"!==q&&"*"===n[l+1])delete h["slackmsg-style-bold"],C=!0;else if(h["slackmsg-style-strike"]&&"~"!==q&&"~"===n[l+1])delete h["slackmsg-style-strike"],C=!0;else if(h["slackmsg-style-code"]&&"`"!==q&&"`"===n[l+1])delete h["slackmsg-style-code"],C=!0;else if(h["slackmsg-style-italic"]&&"_"!==q&&"_"===n[l+1])delete h["slackmsg-style-italic"],C=!0;else break;q=n[++l]}while(l<I);C&&(p+="</span>"+B(h))}}h&&(p+="</span>");y[E]=Q?'<span class="slackmsg-style-quote">'+
|
|
|
|
|
-p+"</span>":p}f.innerHTML=y.join("<br/>");v.textContent=A?A.name:b.a.username||"?";A||b.a.username||(f.textContent=b.a.subtype||JSON.stringify(b.a));m.src=A?A.b.l:"";e.appendChild(m);e.appendChild(v);w.appendChild(z);c.appendChild(e);c.appendChild(f);c.appendChild(d);c.appendChild(w);return c}function O(a,b){var c;"me_message"===b.c?(c=R(a,b),c.classList.add("slackmsg-me_message")):c=R(a,b);return c}
|
|
|
|
|
-function S(){var a=0,b=0,c,d;for(d in T)T.hasOwnProperty(d)&&(a+=T[d].m,b+=T[d].j);b&&(c="(!"+b);a&&(c=(c?c+" - ":"(")+a);c=c?c+(") "+L.a.i.name):L.a.i.name;document.title=c}function U(){var a=document.createDocumentFragment(),b=P.id;document.getElementById("chatWindow").textContent="";L.b[b]&&L.b[b].a.forEach(function(c){"message"===c.type&&(c=O(b,c),a.appendChild(c))});var c=document.getElementById("chatWindow");c.appendChild(a);c.scrollTop=c.scrollHeight-c.clientHeight}
|
|
|
|
|
-function ea(a){for(;a.target!==a.currentTarget&&a.target;){if(a.target.classList.contains("slack-context-room")){if((a=L.a.f[a.target.id]||L.a.g[a.target.id]||L.a.b[a.target.id])&&a!==P){P&&document.getElementById(P.id).classList.remove("selected");document.getElementById(a.id).classList.add("selected");document.body.classList.remove("no-room-selected");P=a;a=void 0;var b=P.name||(P.c?P.c.name:void 0);if(!b){b=[];for(a in P.a)b.push(P.a[a].name);b=b.join(", ")}document.getElementById("currentRoomTitle").textContent=
|
|
|
|
|
-b;U();V();document.getElementById("fileUploadContainer").classList.add("hidden");W();K&&(K=null,N());P.b&&!L.b[P.id]&&(a=new XMLHttpRequest,a.open("GET","api/hist?room="+P.id,!0),a.send(null))}break}a.target=a.target.parentElement}}
|
|
|
|
|
-function fa(a){for(var b=a.target;b!==a.currentTarget&&b&&!b.classList.contains("slackmsg-hover");){if(b.classList.contains("slackmsg-hover-reply")){a:{for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item")){a=b.id;break a}b=b.parentElement}a=void 0}if(a){a=parseFloat(a.split("_")[1]);for(var b=L.b[P.id].a,c=0,d=b.length;c<d&&b[c].b<=a;c++)if(b[c].b===a){K!==b[c]&&(K=b[c],N());break}}break}b=b.parentElement}}function V(){document.getElementById("msgInput").focus()}
|
|
|
|
|
-document.addEventListener("DOMContentLoaded",function(){document.getElementById("chatList").addEventListener("click",ea);document.getElementById("chatWindow").addEventListener("click",fa);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="";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),ga(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});document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();
|
|
|
|
|
-P&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");if(P&&a.value){var b=P,c=K,d=new XMLHttpRequest,f="api/msg?room="+b.id+"&text="+encodeURIComponent(a.value);if(c){var e=r(L.a,c.g),m="Message";"C"===b.id[0]?m="Channel message":"D"===b.id[0]?m="Direct message":"G"===b.id[0]&&(m="Group message");f+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:c.a.text||
|
|
|
|
|
-"",author_name:"<@"+e.id+"|"+e.name+">",author_icon:e.b.l,text:c.a.text||"",footer:m,ts:c.b}]))}d.open("POST",f,!0);d.send(null);a.value="";K&&(K=null,N())}V();return!1});window.addEventListener("blur",function(){window.hasFocus=!1});window.addEventListener("focus",function(){window.hasFocus=!0;P&&W();V()});window.hasFocus=!0;X()});var L,T={};function ha(a,b){if(a&&(a!==P||!window.hasFocus)){var c=new RegExp("<@"+L.a.c.id),d=!1;T[a.id]||(T[a.id]={j:0,m:0});b.forEach(function(b){"message"===b.type&&("D"===a.id[0]||b.text.match(c)?(T[a.id].j++,d=!0):T[a.id].m++)});S();document.getElementById(a.id).classList.add("unread");d&&document.getElementById(a.id).classList.add("unreadHi")}}function W(){var a=P;T[a.id]&&(T[a.id]={j:0,m:0},S());a=document.getElementById(a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}
|
|
|
|
|
-L=new function(){this.c=0;this.a=new D;this.b={}};var Y=0,P=null;function Z(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){Y&&(Y=0,M(!0));c=b.response;try{c=JSON.parse(c)}catch(f){c=null}}else Y?(Y+=Math.floor((Y||5)/2),Y=Math.min(60,Y)):(Y=5,M(!1));a(d,c)}else Y&&(Y=0,M(!0)),Z(a)};b.open("GET","api?v="+L.c,!0);b.send(null)}
|
|
|
|
|
-function ia(a,b){if(a){if(b){var c=L;b.v&&(c.c=b.v);if(b["static"]){for(var d=c.a,f=b["static"],e=0,m=f.bots.length;e<m;e++)d.h[f.bots[e].id]=new aa(f.bots[e]);e=0;for(m=f.users.length;e<m;e++)d.a[f.users[e].id]=new x(f.users[e]);e=0;for(m=f.ims.length;e<m;e++){var v=r(d,f.ims[e].user);v&&(v.a=new u(v,f.ims[e]),d.g[v.a.id]=v.a)}e=0;for(m=f.channels.length;e<m;e++)d.f[f.channels[e].id]=new k(f.channels[e],d);e=0;for(m=f.groups.length;e<m;e++)d.b[f.groups[e].id]=new t(d,f.groups[e]);d.i=new g(f.team);
|
|
|
|
|
-d.c=r(d,f.self.id);ca()}if(b.live){for(var w in b.live)(d=c.b[w])?J(d,b.live[w]):c.b[w]=new H(w,250,b.live[w]);for(var z in b.live)ha(G(c.a,z),b.live[z]),P&&b.live[P.id]&&U()}}X()}else setTimeout(X,1E3*Y)}function X(){Z(ia)}function ga(a,b,c){var d=P;new FileReader;var f=new FormData,e=new XMLHttpRequest;f.append("file",b);f.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(f)};
|
|
|
|
|
|
|
+function h(a){this.id=a.id;this.name=a.name}function l(a,b){this.id=a.id;this.name=a.name;this.b=parseFloat(a.last_read);this.a={};if(a.members)for(var d=0,c=a.members.length;d<c;d++){var f=p(b,a.members[d]);this.a[f.id]=f;f.f[this.id]=this}}function q(a,b){var d=[];this.id=b.id;this.a={};for(var c=0,f=b.members.length;c<f;c++){var e=p(a,b.members[c]);this.a[b.members[c]]=e;e.f[this.id]=this;d.push(e.name)}this.name=d.join(", ");this.b=parseFloat(b.last_read)}
|
|
|
|
|
+function t(a,b){this.id=b.id;this.c=a;this.b=parseFloat(b.last_read)}function v(a){this.id=a.id;this.name=a.name;this.status=a.status;this.b={B:a.profile.image_24,C:a.profile.image_32,l:a.profile.image_48,s:a.profile.image_72,A:a.profile.image_192,F:a.profile.image_512};this.f={};this.a=null}function x(a){this.id=a.id;this.name=a.name;this.b={D:a.icons.image_36,l:a.icons.image_48,s:a.icons.image_72};this.f={};this.a=null}
|
|
|
|
|
+function y(){this.i=null;this.f={};this.b={};this.g={};this.a={};this.c=null;this.h={}}function p(a,b){return a.a[b]||a.h[b]||null}function z(a,b){return a.f[b]||a.g[b]||a.b[b]||null}"undefined"!==typeof module&&(module.o.u=y);function A(a){this.g=a.user;this.b=parseFloat(a.ts);this.type=a.type;this.c=a.subtype;this.a=a}function B(a,b,d){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;d&&C(this,d)}function C(a,b){var d=0;b.forEach(function(a){d=Math.max(this.push(a),d)}.bind(a))}B.prototype.push=function(a){for(var b=parseFloat(a.ts),d=0,c=this.a.length;d<c;d++)if(this.a[d].b===b)return b;for(this.a.push(new A(a));this.a.length>this.b;)this.a.shift();return b};"undefined"!==typeof module&&(module.o.w=B);var D=null;
|
|
|
|
|
+function E(){var a=document.createDocumentFragment(),b=F.a.c?Object.keys(F.a.c.f):[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:(F.a.f[a]||F.a.b[a]).name.localeCompare((F.a.f[b]||F.a.b[b]).name)});b.forEach(function(b){b=F.a.f[b]||F.a.b[b];var c=document.createElement("li");c.id=b.id;"D"===b.id[0]?c.className="slack-context-room slack-ims":"G"===b.id[0]?c.className="slack-context-room slack-group":"C"===b.id[0]&&(c.className="slack-context-room slack-channel");c.textContent=b.name;c&&a.appendChild(c)});
|
|
|
|
|
+b=F.a.a?Object.keys(F.a.a):[];b.sort(function(a,b){return F.a.a[a].name.localeCompare(F.a.a[b].name)});b.forEach(function(b){b=F.a.a[b].a;var c=document.createElement("li");c.id=b.id;c.className="slack-context-room";c.textContent=b.c.name;c&&a.appendChild(c)});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a)}function G(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network")}
|
|
|
|
|
+function H(){if(D){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){D=null;H()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(I("reply_"+J.id,D))}else document.body.classList.remove("replyingTo")}
|
|
|
|
|
+function K(a,b){var d=document.createElement("div"),c=document.createElement("div"),f=document.createElement("div"),e=document.createElement("div"),k=document.createElement("img"),g=document.createElement("span"),n=document.createElement("ul"),r=document.createElement("li"),u=document.createElement("ul"),m=b.a.user?F.a.a[b.a.user]:F.a.h[b.a.bot_id];d.id=a+"_"+b.b;d.className="slackmsg-item";c.className="slackmsg-ts";f.className="slackmsg-msg";e.className="slackmsg-author";k.className="slackmsg-author-img";
|
|
|
|
|
+g.className="slackmsg-author-name";n.className="slackmsg-hover";r.className="slackmsg-hover-reply";c.textContent=(new Date(1E3*b.b)).toLocaleTimeString();f.innerHTML=L(b.a.text||"");g.textContent=m?m.name:b.a.username||"?";m||b.a.username||(f.textContent=b.a.subtype||JSON.stringify(b.a));k.src=m?m.b.l:"";e.appendChild(k);e.appendChild(g);n.appendChild(r);d.appendChild(e);d.appendChild(f);d.appendChild(c);d.appendChild(u);b.a.attachments&&b.a.attachments.forEach(function(a){var b=document.createElement("li"),
|
|
|
|
|
+c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("a"),f=document.createElement("div"),g=document.createElement("img"),k=document.createElement("a"),m=document.createElement("div"),n="#e3e4e6";a.color&&("#"===a.color[0]?n=a.color[0]:"good"===a.color?n="#2fa44f":"warning"===a.color?n="#de9e31":"danger"===a.color&&(n="#d50200"));a.pretext&&(d.textContent=a.pretext);a.title?(e.textContent=a.title,a.title_link&&(e.href=a.title_link)):e.className="hidden";k.target=
|
|
|
|
|
+"_blank";a.author_name?(k.textContent=a.author_name,k.href=a.author_link,a.author_icon?g.src=a.author_icon:g.className="hidden"):f.className="hidden";m.innerHTML=L(a.text||"");c.style.borderColor=n;f.appendChild(g);f.appendChild(k);c.appendChild(e);c.appendChild(f);c.appendChild(m);b.appendChild(d);b.appendChild(c);console.log(a);b&&u.appendChild(b)});d.appendChild(n);return d}
|
|
|
|
|
+function L(a){a=a.replace(RegExp("<([@#]?)([^>]*)>","g"),function(a,b,c){a=c.split("|");"@"===b?(a[1]?"@"!==a[1][0]&&(a[1]="@"+a[1]):(c=p(F.a,a[0]),a[1]=c?"@"+c.name:"Unknown member"),a[0]="#"+a[0],a[2]="slackmsg-link slackmsg-link-user"):"#"===b?(a[1]?"#"!==a[1][0]&&(a[1]="#"+a[1]):(c=z(F.a,a[0]),a[1]=c?"#"+c.name:"Unknown channel"),a[0]="#"+a[0],a[2]="slackmsg-link slackmsg-link-chan"):(a[1]||(a[1]=a[0]),a[2]="slackmsg-link");return'<a href="'+a[0]+'" class="'+a[2]+'"'+(b?"":' target="_blank"')+
|
|
|
|
|
+">"+a[1]+"</a>"}).split(/\r?\n/g);for(var b=0,d=a.length;b<d;b++){for(var c=a[b],f="",e={},k=!1,g=0,n=c.length,r=function(a,b,c){for(;a[b];){if(" "!=a[b]&&a[b]!=c&&a[b+1]==c)return!0;b++}return!1},u=function(a){return Object.keys(e).length?'<span class="'+Object.keys(a).join(" ")+'">':""};g<n&&(" "===c[g]||"\t"===c[g]);)g++;">"===c.substr(g,4)&&(k=!0,g+=4);for(;g<n;g++){var m=c[g];if(!e["slackmsg-style-bold"]&&"*"===m&&c[g+1]&&r(c,g,m))Object.keys(e).length&&(f+="</span>"),e["slackmsg-style-bold"]=
|
|
|
|
|
+!0,f+=u(e);else if(!e["slackmsg-style-strike"]&&"~"===m&&c[g+1]&&r(c,g,m))Object.keys(e).length&&(f+="</span>"),e["slackmsg-style-strike"]=!0,f+=u(e);else if(!e["slackmsg-style-code"]&&"`"===m&&c[g+1]&&r(c,g,m))Object.keys(e).length&&(f+="</span>"),e["slackmsg-style-code"]=!0,f+=u(e);else if(!e["slackmsg-style-italic"]&&"_"===m&&c[g+1]&&r(c,g,m))Object.keys(e).length&&(f+="</span>"),e["slackmsg-style-italic"]=!0,f+=u(e);else{var w=!1,f=f+m;do{if(e["slackmsg-style-bold"]&&"*"!==m&&"*"===c[g+1])delete e["slackmsg-style-bold"],
|
|
|
|
|
+w=!0;else if(e["slackmsg-style-strike"]&&"~"!==m&&"~"===c[g+1])delete e["slackmsg-style-strike"],w=!0;else if(e["slackmsg-style-code"]&&"`"!==m&&"`"===c[g+1])delete e["slackmsg-style-code"],w=!0;else if(e["slackmsg-style-italic"]&&"_"!==m&&"_"===c[g+1])delete e["slackmsg-style-italic"],w=!0;else break;m=c[++g]}while(g<n);w&&(f+="</span>"+u(e))}}e&&(f+="</span>");a[b]=k?'<span class="slackmsg-style-quote">'+f+"</span>":f}return a.join("<br/>")}
|
|
|
|
|
+function I(a,b){var d;"me_message"===b.c?(d=K(a,b),d.classList.add("slackmsg-me_message")):d=K(a,b);return d}function M(){var a=0,b=0,d,c;for(c in N)N.hasOwnProperty(c)&&(a+=N[c].m,b+=N[c].j);b&&(d="(!"+b);a&&(d=(d?d+" - ":"(")+a);d=d?d+(") "+F.a.i.name):F.a.i.name;document.title=d}
|
|
|
|
|
+function O(){var a=document.createDocumentFragment(),b=J.id;document.getElementById("chatWindow").textContent="";F.b[b]&&F.b[b].a.forEach(function(c){"message"===c.type&&(c=I(b,c),a.appendChild(c))});var d=document.getElementById("chatWindow");d.appendChild(a);d.scrollTop=d.scrollHeight-d.clientHeight}
|
|
|
|
|
+function P(a){for(;a.target!==a.currentTarget&&a.target;){if(a.target.classList.contains("slack-context-room")){if((a=F.a.f[a.target.id]||F.a.g[a.target.id]||F.a.b[a.target.id])&&a!==J){J&&document.getElementById(J.id).classList.remove("selected");document.getElementById(a.id).classList.add("selected");document.body.classList.remove("no-room-selected");J=a;a=void 0;var b=J.name||(J.c?J.c.name:void 0);if(!b){b=[];for(a in J.a)b.push(J.a[a].name);b=b.join(", ")}document.getElementById("currentRoomTitle").textContent=
|
|
|
|
|
+b;O();Q();document.getElementById("fileUploadContainer").classList.add("hidden");R();D&&(D=null,H());J.b&&!F.b[J.id]&&(a=new XMLHttpRequest,a.open("GET","api/hist?room="+J.id,!0),a.send(null))}break}a.target=a.target.parentElement}}
|
|
|
|
|
+function S(a){for(var b=a.target;b!==a.currentTarget&&b&&!b.classList.contains("slackmsg-hover");){if(b.classList.contains("slackmsg-hover-reply")){a:{for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item")){a=b.id;break a}b=b.parentElement}a=void 0}if(a){a=parseFloat(a.split("_")[1]);for(var b=F.b[J.id].a,d=0,c=b.length;d<c&&b[d].b<=a;d++)if(b[d].b===a){D!==b[d]&&(D=b[d],H());break}}break}b=b.parentElement}}function Q(){document.getElementById("msgInput").focus()}
|
|
|
|
|
+document.addEventListener("DOMContentLoaded",function(){document.getElementById("chatList").addEventListener("click",P);document.getElementById("chatWindow").addEventListener("click",S);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="";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),T(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});document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();
|
|
|
|
|
+J&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");if(J&&a.value){var b=J,d=D,c=new XMLHttpRequest,f="api/msg?room="+b.id+"&text="+encodeURIComponent(a.value);if(d){var e=p(F.a,d.g),k="Message";"C"===b.id[0]?k="Channel message":"D"===b.id[0]?k="Direct message":"G"===b.id[0]&&(k="Group message");f+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:d.a.text||
|
|
|
|
|
+"",author_name:"<@"+e.id+"|"+e.name+">",author_icon:e.b.l,text:d.a.text||"",footer:k,ts:d.b}]))}c.open("POST",f,!0);c.send(null);a.value="";D&&(D=null,H())}Q();return!1});window.addEventListener("blur",function(){window.hasFocus=!1});window.addEventListener("focus",function(){window.hasFocus=!0;J&&R();Q()});window.hasFocus=!0;U()});var F,N={};function V(a,b){if(a&&(a!==J||!window.hasFocus)){var d=new RegExp("<@"+F.a.c.id),c=!1;N[a.id]||(N[a.id]={j:0,m:0});b.forEach(function(b){"message"===b.type&&("D"===a.id[0]||b.text.match(d)?(N[a.id].j++,c=!0):N[a.id].m++)});M();document.getElementById(a.id).classList.add("unread");c&&document.getElementById(a.id).classList.add("unreadHi")}}function R(){var a=J;N[a.id]&&(N[a.id]={j:0,m:0},M());a=document.getElementById(a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}
|
|
|
|
|
+F=new function(){this.c=0;this.a=new y;this.b={}};var W=0,J=null;function X(a){var b=new XMLHttpRequest;b.timeout=6E4;b.onreadystatechange=function(){if(4===b.readyState)if(b.status){var d=null,c=2===Math.floor(b.status/100);if(c){W&&(W=0,G(!0));d=b.response;try{d=JSON.parse(d)}catch(f){d=null}}else W?(W+=Math.floor((W||5)/2),W=Math.min(60,W)):(W=5,G(!1));a(c,d)}else W&&(W=0,G(!0)),X(a)};b.open("GET","api?v="+F.c,!0);b.send(null)}
|
|
|
|
|
+function Y(a,b){if(a){if(b){var d=F;b.v&&(d.c=b.v);if(b["static"]){for(var c=d.a,f=b["static"],e=0,k=f.bots.length;e<k;e++)c.h[f.bots[e].id]=new x(f.bots[e]);e=0;for(k=f.users.length;e<k;e++)c.a[f.users[e].id]=new v(f.users[e]);e=0;for(k=f.ims.length;e<k;e++){var g=p(c,f.ims[e].user);g&&(g.a=new t(g,f.ims[e]),c.g[g.a.id]=g.a)}e=0;for(k=f.channels.length;e<k;e++)c.f[f.channels[e].id]=new l(f.channels[e],c);e=0;for(k=f.groups.length;e<k;e++)c.b[f.groups[e].id]=new q(c,f.groups[e]);c.i=new h(f.team);
|
|
|
|
|
+c.c=p(c,f.self.id);E()}if(b.live){for(var n in b.live)(c=d.b[n])?C(c,b.live[n]):d.b[n]=new B(n,250,b.live[n]);for(var r in b.live)V(z(d.a,r),b.live[r]),J&&b.live[J.id]&&O()}}U()}else setTimeout(U,1E3*W)}function U(){X(Y)}function T(a,b,d){var c=J;new FileReader;var f=new FormData,e=new XMLHttpRequest;f.append("file",b);f.append("filename",a);e.onreadystatechange=function(){4===e.readyState&&(204===e.status?d(null):d(e.statusText))};e.open("POST","api/file?room="+c.id);e.send(f)};
|