function _typeof(e){if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(e){return typeof e}}else{_typeof=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}define ("core_message/message_drawer_view_conversation",["jquery","core/auto_rows","core/backoff_timer","core/custom_interaction_events","core/notification","core/pubsub","core/str","core_message/message_repository","core_message/message_drawer_events","core_message/message_drawer_view_conversation_constants","core_message/message_drawer_view_conversation_patcher","core_message/message_drawer_view_conversation_renderer","core_message/message_drawer_view_conversation_state_manager","core_message/message_drawer_router","core_message/message_drawer_routes"],function(s,e,t,n,d,a,i,r,o,g,l,m,c,E,I){var C={},_=null,u=!1,T=0,f=null,A=!1,h=[],M=!0,O=!1,N=[],v=null,S=[],p=g.NEWEST_MESSAGES_FIRST,b=g.LOAD_MESSAGE_LIMIT,U=g.MILLISECONDS_IN_SEC,R=g.SELECTORS,L=g.CONVERSATION_TYPES,D=function(){if(!_||_.type==L.PUBLIC){return null}var e=_.loggedInUserId;if(_.type==L.SELF){return e}var s=Object.keys(_.members).filter(function(s){return e!=s});return s.length?s[0]:null},y=function(e){return Object.keys(C).reduce(function(s,t){if(!s){var n=C[t].state;if(n.type!=L.PUBLIC){if(e in n.members){s=n.id}}}return s},null)},B=function(e){return{id:parseInt(e.attr("data-user-id"),10),fullname:null,profileimageurl:null,profileimageurlsmall:null,isonline:null,showonlinestatus:null,isblocked:null,iscontact:null,isdeleted:null,canmessage:null,canmessageevenifblocked:null,requirescontact:null,contactrequests:[]}},F=function(){return T},P=function(e){T=e;C[_.id].messagesOffset=e},V=function(){return u},x=function(e){u=e;C[_.id].loadedAllMessages=e},w=function(e){return e.find(R.MESSAGES_CONTAINER)},k=function(e){return{id:e.id,name:e.name,subname:e.subname,imageUrl:e.imageUrl,isFavourite:e.isFavourite,isMuted:e.isMuted,type:e.type,totalMemberCount:e.totalMemberCount,loggedInUserId:e.loggedInUserId,messages:e.messages.map(function(e){return s.extend({},e)}),members:Object.keys(e.members).map(function(t){var n=s.extend({},e.members[t]);n.contactrequests=e.members[t].contactrequests.map(function(e){return s.extend({},e)});return n})}},G=function(e,s){var t=e.id,n=t==s?L.SELF:L.PRIVATE,a=c.setLoadingMembers(_,!0);a=c.setLoadingMessages(a,!0);v(a);return r.getMemberInfo(t,[s],!0,!0).then(function(e){if(e.length){return e[0]}else{throw new Error("Unable to load other user profile")}}).then(function(s){var t=n==L.SELF?[s]:[s,e],d=c.addMembers(_,t);d=c.setLoadingMembers(d,!1);d=c.setLoadingMessages(d,!1);d=c.setName(d,s.fullname);d=c.setType(d,n);d=c.setImageUrl(d,s.profileimageurl);d=c.setTotalMemberCount(d,t.length);v(d);return s}).catch(function(e){var s=c.setLoadingMembers(_,!1);v(s);d.exception(e)})},q=function(e,s){var t=null;if(e.type==L.PRIVATE){var n=e.members.filter(function(e){return e.id!=s});t=n.length?n[0]:null}else if(e.type==L.SELF){t=e.members[0]}var d=e.name,a=e.imageurl;if(e.type!=L.PUBLIC){d=d||t?t.fullname:"";a=a||t?t.profileimageurl:""}var i=c.addMembers(_,e.members);i=c.setName(i,d);i=c.setSubname(i,e.subname);i=c.setType(i,e.type);i=c.setImageUrl(i,a);i=c.setTotalMemberCount(i,e.membercount);i=c.setIsFavourite(i,e.isfavourite);i=c.setIsMuted(i,e.ismuted);i=c.addMessages(i,e.messages);i=c.setCanDeleteMessagesForAllUsers(i,e.candeletemessagesforallusers);return i},Q=function(e,s,t,n,a){var i=s.id,o=c.setLoadingMembers(_,!0);o=c.setLoadingMessages(o,!0);v(o);return r.getConversation(i,e,!0,!0,0,0,t+1,n,a).then(function(e){if(e.messages.length>t){e.messages=e.messages.slice(1)}else{x(!0)}P(n+t);return e}).then(function(e){var t=e.members.filter(function(e){return e.id==s.id});if(1>t.length){e.members=e.members.concat([s])}var n=q(e,s.id);n=c.setLoadingMembers(n,!1);n=c.setLoadingMessages(n,!1);return v(n).then(function(){return e})}).then(function(){return Y(e)}).catch(function(e){var s=c.setLoadingMembers(_,!1);s=c.setLoadingMessages(s,!1);v(s);d.exception(e)})},W=function(e,s,t,n){var a=e.members.filter(function(e){return e.id==s.id});if(1>a.length){e.members=e.members.concat([s])}var i=e.messages.length,r=i>=t,o=q(e,s.id);o=c.setLoadingMembers(o,!1);o=c.setLoadingMessages(o,!r);var g=v(o);return g.then(function(){if(!r){return K(e.id,t,i,n,[])}else{return{messages:e.messages}}}).then(function(){var e=_.messages;P(e.length);Y(_.id);return e}).catch(d.exception)},K=function(e,s,t,n,d,a){return r.getMessages(_.loggedInUserId,e,s?s+1:s,t,n,a).then(function(e){if(e.messages.length&&d.length){e.messages=e.messages.filter(function(e){return 0>d.indexOf(parseInt(e.id,10))})}return e}).then(function(e){if(!s){return e}else if(e.messages.length>s){e.messages=e.messages.slice(0,-1)}else{x(!0)}return e}).then(function(e){var s=e.members.filter(function(e){return!(e.id in _.members)}),t=c.addMembers(_,s);t=c.addMessages(t,e.messages);t=c.setLoadingMessages(t,!1);return v(t).then(function(){return e})}).catch(function(e){var s=c.setLoadingMessages(_,!1);v(s);throw e})},j=function(e,t){return function(){var n=_.messages,d=n.length?n[n.length-1]:null,r=d?d.timeCreated:null;if(r&&!M&&!O){for(var g=[],l=n.length-1,m;0<=l;l--){m=n[l];if(m.timeCreated===r){g.push(m.id)}else{break}}return K(e,0,0,t,g,r).then(function(s){if(s.messages.length){f.restart();var t=k(_);a.publish(o.CONVERSATION_NEW_LAST_MESSAGE,t);return Y(e)}else{return s}})}return s.Deferred().resolve().promise()}},Y=function(e){var s=_.loggedInUserId;return r.markAllConversationMessagesAsRead(s,e).then(function(){var s=c.markMessagesAsRead(_,_.messages);a.publish(o.CONVERSATION_READ,e);return v(s)})},X=function(e){le(e);var s=c.addPendingBlockUsersById(_,[e]);v(s)},H=function(e){var s=c.setLoadingConfirmAction(_,!0);v(s);return r.blockUser(_.loggedInUserId,e).then(function(s){var t=c.addMembers(_,[s]);t=c.removePendingBlockUsersById(t,[e]);t=c.setLoadingConfirmAction(t,!1);a.publish(o.CONTACT_BLOCKED,e);return v(t)})},z=function(e){le(e);var s=c.addPendingUnblockUsersById(_,[e]);v(s)},Z=function(e){var s=c.setLoadingConfirmAction(_,!0);v(s);return r.unblockUser(_.loggedInUserId,e).then(function(s){var t=c.addMembers(_,[s]);t=c.removePendingUnblockUsersById(t,[e]);t=c.setLoadingConfirmAction(t,!1);a.publish(o.CONTACT_UNBLOCKED,e);return v(t)})},$=function(e){le(e);var s=c.addPendingRemoveContactsById(_,[e]);v(s)},J=function(e){var s=c.setLoadingConfirmAction(_,!0);v(s);return r.deleteContacts(_.loggedInUserId,[e]).then(function(s){var t=c.addMembers(_,s);t=c.removePendingRemoveContactsById(t,[e]);t=c.setLoadingConfirmAction(t,!1);a.publish(o.CONTACT_REMOVED,e);return v(t)})},ee=function(e){le(e);var s=c.addPendingAddContactsById(_,[e]);v(s)},se=function(e){var s=c.setLoadingConfirmAction(_,!0);v(s);return r.createContactRequest(_.loggedInUserId,e).then(function(e){if(!e.request){throw new Error(e.warnings[0].message)}return e.request}).then(function(s){var t=c.removePendingAddContactsById(_,[e]);t=c.addContactRequests(t,[s]);t=c.setLoadingConfirmAction(t,!1);return v(t)})},te=function(){var e=_.loggedInUserId,s=_.id;return r.setFavouriteConversations(e,[s]).then(function(){var e=c.setIsFavourite(_,!0);return v(e)}).then(function(){return a.publish(o.CONVERSATION_SET_FAVOURITE,k(_))})},ne=function(){var e=_.loggedInUserId,s=_.id;return r.unsetFavouriteConversations(e,[s]).then(function(){var e=c.setIsFavourite(_,!1);return v(e)}).then(function(){return a.publish(o.CONVERSATION_UNSET_FAVOURITE,k(_))})},de=function(){var e=_.loggedInUserId,s=_.id;return r.setMutedConversations(e,[s]).then(function(){var e=c.setIsMuted(_,!0);return v(e)}).then(function(){return a.publish(o.CONVERSATION_SET_MUTED,k(_))})},ae=function(){var e=_.loggedInUserId,s=_.id;return r.unsetMutedConversations(e,[s]).then(function(){var e=c.setIsMuted(_,!1);return v(e)}).then(function(){return a.publish(o.CONVERSATION_UNSET_MUTED,k(_))})},ie=function(e){var s=_.selectedMessageIds;le(e);var t=c.addPendingDeleteMessagesById(_,s);v(t)},re=function(){var e=_.pendingDeleteMessageIds,t=_.messages.filter(function(s){return 0<=e.indexOf(s.id)&&("sent"==s.sendState||null===s.sendState)}),n=c.setLoadingConfirmAction(_,!0);v(n);var i=s.Deferred().resolve().promise();if(t.length){var g=t.map(function(e){return e.id});if(n.deleteMessagesForAllUsers){i=r.deleteMessagesForAllUsers(_.loggedInUserId,g)}else{i=r.deleteMessages(_.loggedInUserId,g)}}return i.then(function(){var s=c.removeMessagesById(_,e);s=c.removePendingDeleteMessagesById(s,e);s=c.removeSelectedMessagesById(s,e);s=c.setLoadingConfirmAction(s,!1);s=c.setDeleteMessagesForAllUsers(s,!1);var t=_.messages[_.messages.length-1],n=s.messages.length?s.messages[s.messages.length-1]:null;if(n&&n.id!=t.id){var d=k(s);a.publish(o.CONVERSATION_NEW_LAST_MESSAGE,d)}else if(!s.messages.length){a.publish(o.CONVERSATION_DELETED,s.id)}return v(s)}).catch(d.exception)},oe=function(e){le(e);var s=c.setPendingDeleteConversation(_,!0);v(s)},ge=function(){var e=c.setLoadingConfirmAction(_,!0);v(e);return r.deleteConversation(_.loggedInUserId,_.id).then(function(){var e=c.removeMessages(_,_.messages);e=c.removeSelectedMessagesById(e,_.selectedMessageIds);e=c.setPendingDeleteConversation(e,!1);e=c.setLoadingConfirmAction(e,!1);a.publish(o.CONVERSATION_DELETED,e.id);return v(e)})},le=function(e){var s=_.pendingDeleteMessageIds,t=c.removePendingAddContactsById(_,[e]);t=c.removePendingRemoveContactsById(t,[e]);t=c.removePendingUnblockUsersById(t,[e]);t=c.removePendingBlockUsersById(t,[e]);t=c.removePendingDeleteMessagesById(t,s);t=c.setPendingDeleteConversation(t,!1);t=c.setDeleteMessagesForAllUsers(t,!1);v(t)},me=function(e){var s=_.loggedInUserId,t=_.members[e].contactrequests.filter(function(e){return e.requesteduserid==s}),n=t[0],d=c.setLoadingConfirmAction(_,!0);v(d);return r.acceptContactRequest(e,s).then(function(e){var s=c.removeContactRequests(_,[n]);s=c.addMembers(_,[e]);s=c.setLoadingConfirmAction(s,!1);return v(s)}).then(function(){a.publish(o.CONTACT_ADDED,_.members[e]);a.publish(o.CONTACT_REQUEST_ACCEPTED,n)})},ce=function(e){var s=_.loggedInUserId,t=_.members[e].contactrequests.filter(function(e){return e.requesteduserid==s}),n=t[0],d=c.setLoadingConfirmAction(_,!0);v(d);return r.declineContactRequest(e,s).then(function(e){var s=c.removeContactRequests(_,[n]);s=c.addMembers(_,[e]);s=c.setLoadingConfirmAction(s,!1);return v(s)}).then(function(){a.publish(o.CONTACT_REQUEST_DECLINED,n)})},Ee=function(){if(O){return}if(!N.length){return}O=!0;var e=N.slice();N=[];var t=_.id,n=null,d=e.map(function(e){return e.text}),g=e.map(function(e){return e.id}),l=null,m=null;if(!t&&_.type!=L.PUBLIC){var E=D();l=r.sendMessagesToUser(E,d).then(function(e){if(e.length){n=parseInt(e[0].conversationid,10);m=e[0].candeletemessagesforallusers}return e})}else{l=r.sendMessagesToConversation(t,d)}l.then(function(s){var t=s.map(function(e){return e.id}),d=[],i=[],r=[];e.forEach(function(e,t){var n=s[t];d.push([e,n]);if(0<=_.selectedMessageIds.indexOf(e.id)){i.push(e.id);r.push(n.id)}});var g=c.updateMessages(_,d);g=c.setMessagesSendSuccessById(g,t);if(i.length){g=c.removeSelectedMessagesById(g,i)}if(r.length){g=c.addSelectedMessagesById(g,r)}var l=k(g);if(!g.id){g=c.setId(g,n);l.id=n;ye(n);a.publish(o.CONVERSATION_CREATED,l);g=c.setCanDeleteMessagesForAllUsers(g,m)}v(g);O=!1;Ee();a.publish(o.CONVERSATION_NEW_LAST_MESSAGE,l)}).catch(function(t){if(t.message){var e=s.Deferred().resolve(t.message).promise()}else{var e=i.get_string("unknownerror","core")}var n=function(e){var s=c.setMessagesSendFailById(_,g,e);v(s);O=!1;Ee()};e.then(n).catch(function(s){var e=s.message||"Something went wrong!";n(e)})})},Ie=function(e){var s="temp"+Date.now(),t={id:s,useridfrom:_.loggedInUserId,text:e,timecreated:null},n=c.addMessages(_,[t]);v(n);N.push(t);Ee()},Ce=function(e){var s=c.setMessagesSendPendingById(_,[e.id]);v(s);N.push(e);Ee()},_e=function(e){var s=_;if(-1<_.selectedMessageIds.indexOf(e)){s=c.removeSelectedMessagesById(_,[e])}else{s=c.addSelectedMessagesById(_,[e])}v(s)},ue=function(){le(D());var e=c.removeSelectedMessagesById(_,_.selectedMessageIds);v(e)},Te=function(e,t,n){if(A){return}if(!h.length){return}A=!0;var a=h.shift(),i=S.map(function(e){return e(a.patch)});s.when.apply(null,i).then(function(){A=!1;a.deferred.resolve(!0);Te(e,t,n)}).catch(function(e){A=!1;a.deferred.reject(e);d.exception(e)})},fe=function(e,t,n,d){var a=function(s){return m.render(e,t,n,s)};if(!d){var i=c.buildInitialState(_.midnight,_.loggedInUserId,_.id),r=l.buildPatch(i,_);a(r)}S.push(a);return function(d){var a=l.buildPatch(_,d),i=s.Deferred();if(Object.keys(a).length){h.push({patch:a,deferred:i})}else{i.resolve(!0)}_=d;if(d.id){C[d.id]={state:d,messagesOffset:F(),loadedAllMessages:V()}}Te(e,t,n);return i.promise()}},Ae=function(e){return function(s,t){if(!_.loadingConfirmAction){e(D());var n=c.setLoadingConfirmAction(_,!1);v(n)}t.originalEvent.preventDefault()}},he=function(t,e){var n=s(t.target),d=n.closest(R.FOOTER_CONTAINER),a=d.find(R.MESSAGE_TEXT_AREA),i=a.val().trim();if(""!==i){Ie(i);a.val("");a.focus()}e.originalEvent.preventDefault()},Me=function(t,e){var n=window.getSelection(),d=s(t.target);if(""!=n.toString()){return}if(d.is("a")){return}var a=d.closest(R.MESSAGE),i=a.attr("data-message-id");_e(i);e.originalEvent.preventDefault()},Oe=function(t,e){var n=s(t.target),d=n.closest(R.MESSAGE),a=d.attr("data-message-id"),i=_.messages.filter(function(e){return e.id==a}),r=i.length?i[0]:null;if(r){Ce(r)}e.originalEvent.preventDefault();e.originalEvent.stopPropagation();t.stopPropagation()},Ne=function(s,e){ue();e.originalEvent.preventDefault()},ve=function(s){return function(t,e){var n=D(),d=_.members[n];E.go(s,I.VIEW_CONTACT,d);e.originalEvent.preventDefault()}},Se=function(s,e){te().catch(d.exception);e.originalEvent.preventDefault()},pe=function(s,e){ne().catch(d.exception);e.originalEvent.preventDefault()},be=function(s,e){de().catch(d.exception);e.originalEvent.preventDefault()},Ue=function(s,e){ae().catch(d.exception);e.originalEvent.preventDefault()},Re=function(t){var e=s(t.target).prop("checked"),n=c.setDeleteMessagesForAllUsers(_,e);v(n)},Le=function(s){return function(t,e){E.go(s,I.VIEW_GROUP_INFO,{id:_.id,name:_.name,subname:_.subname,imageUrl:_.imageUrl,totalMemberCount:_.totalMemberCount},_.loggedInUserId);e.originalEvent.preventDefault()}},De=function(s,t,i,r){var g=!1,l=w(i),m=[[R.ACTION_REQUEST_BLOCK,Ae(X)],[R.ACTION_REQUEST_UNBLOCK,Ae(z)],[R.ACTION_REQUEST_ADD_CONTACT,Ae(ee)],[R.ACTION_REQUEST_REMOVE_CONTACT,Ae($)],[R.ACTION_REQUEST_DELETE_CONVERSATION,Ae(oe)],[R.ACTION_CANCEL_EDIT_MODE,Ne],[R.ACTION_VIEW_CONTACT,ve(s)],[R.ACTION_VIEW_GROUP_INFO,Le(s)],[R.ACTION_CONFIRM_FAVOURITE,Se],[R.ACTION_CONFIRM_MUTE,be],[R.ACTION_CONFIRM_UNFAVOURITE,pe],[R.ACTION_CONFIRM_UNMUTE,Ue]],E=[[R.ACTION_CANCEL_CONFIRM,Ae(le)],[R.ACTION_CONFIRM_BLOCK,Ae(H)],[R.ACTION_CONFIRM_UNBLOCK,Ae(Z)],[R.ACTION_CONFIRM_ADD_CONTACT,Ae(se)],[R.ACTION_CONFIRM_REMOVE_CONTACT,Ae(J)],[R.ACTION_CONFIRM_DELETE_SELECTED_MESSAGES,Ae(re)],[R.ACTION_CONFIRM_DELETE_CONVERSATION,Ae(ge)],[R.ACTION_OKAY_CONFIRM,Ae(le)],[R.ACTION_REQUEST_ADD_CONTACT,Ae(ee)],[R.ACTION_ACCEPT_CONTACT_REQUEST,Ae(me)],[R.ACTION_DECLINE_CONTACT_REQUEST,Ae(ce)],[R.MESSAGE,Me],[R.DELETE_MESSAGES_FOR_ALL_USERS_TOGGLE,Re],[R.RETRY_SEND,Oe]],C=[[R.SEND_MESSAGE_BUTTON,he],[R.ACTION_REQUEST_DELETE_SELECTED_MESSAGES,Ae(ie)],[R.ACTION_REQUEST_ADD_CONTACT,Ae(ee)],[R.ACTION_REQUEST_UNBLOCK,Ae(z)]];e.init(r);n.define(t,[n.events.activate]);n.define(i,[n.events.activate]);n.define(r,[n.events.activate,n.events.enter]);n.define(l,[n.events.scrollTop,n.events.scrollLock]);l.on(n.events.scrollTop,function(s,e){var t=1