From 6adee4a7b5274a7dd6581b0cdd9fcc4835a094da Mon Sep 17 00:00:00 2001 From: Ryan Wyllie Date: Wed, 21 Nov 2018 11:45:24 +0800 Subject: [PATCH] MDL-64128 message: fix exception when declining contact request --- message/amd/build/message_drawer_view_conversation.min.js | 2 +- message/amd/src/message_drawer_view_conversation.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/message/amd/build/message_drawer_view_conversation.min.js b/message/amd/build/message_drawer_view_conversation.min.js index b8b42f3857e..e2e89b71eb5 100644 --- a/message/amd/build/message_drawer_view_conversation.min.js +++ b/message/amd/build/message_drawer_view_conversation.min.js @@ -1 +1 @@ -define(["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(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p={},q=null,r=!1,s=0,t=null,u=!0,v=!1,w=null,x=j.NEWEST_MESSAGES_FIRST,y=j.LOAD_MESSAGE_LIMIT,z=j.INITIAL_NEW_MESSAGE_POLL_TIMEOUT,A=j.SELECTORS,B=j.CONVERSATION_TYPES,C=function(){if(!q||q.type!=B.PRIVATE)return null;var a=q.loggedInUserId,b=Object.keys(q.members).filter(function(b){return a!=b});return b.length?b[0]:null},D=function(a){return Object.keys(p).reduce(function(b,c){if(!b){var d=p[c].state;d.type==B.PRIVATE&&a in d.members&&(b=d.id)}return b},null)},E=function(a){return{id:parseInt(a.attr("data-user-id"),10),fullname:null,profileimageurl:null,profileimageurlsmall:null,isonline:null,showonlinestatus:null,isblocked:null,iscontact:null,isdeleted:null,canmessage:null,requirescontact:null,contactrequests:[]}},F=function(){return s},G=function(a){s=a,p[q.id].messagesOffset=a},H=function(){return r},I=function(a){r=a,p[q.id].loadedAllMessages=a},J=function(a){return a.find(A.MESSAGES_CONTAINER)},K=function(b){return{id:b.id,name:b.name,subname:b.subname,imageUrl:b.imageUrl,isFavourite:b.isFavourite,type:b.type,totalMemberCount:b.totalMemberCount,loggedInUserId:b.loggedInUserId,messages:b.messages.map(function(b){return a.extend({},b)}),members:Object.keys(b.members).reduce(function(c,d){return c[d]=a.extend({},b.members[d]),c[d].contactrequests=b.members[d].contactrequests.map(function(b){return a.extend({},b)}),c},{})}},L=function(a,b){var c=a.id,d=m.setLoadingMembers(q,!0);return d=m.setLoadingMessages(d,!0),w(d).then(function(){return h.getMemberInfo(c,[b],!0,!0)}).then(function(a){if(a.length)return a[0];throw new Error("Unable to load other user profile")}).then(function(b){var c=m.addMembers(q,[b,a]);return c=m.setLoadingMembers(c,!1),c=m.setLoadingMessages(c,!1),c=m.setName(c,b.fullname),c=m.setType(c,1),c=m.setImageUrl(c,b.profileimageurl),c=m.setTotalMemberCount(c,2),w(c).then(function(){return b})})["catch"](function(a){var b=m.setLoadingMembers(q,!1);w(b),e.exception(a)})},M=function(a,b){var c=a.members.filter(function(a){return a.id!=b}),d=c.length?c[0]:null,e=a.name,f=a.imageurl;a.type==B.PRIVATE&&(e=e||d?d.fullname:"",f=f||d?d.profileimageurl:"");var g=m.addMembers(q,a.members);return g=m.setName(g,e),g=m.setSubname(g,a.subname),g=m.setType(g,a.type),g=m.setImageUrl(g,f),g=m.setTotalMemberCount(g,a.membercount),g=m.setIsFavourite(g,a.isfavourite),g=m.addMessages(g,a.messages)},N=function(a,b,c,d,f){var g=b.id,i=m.setLoadingMembers(q,!0);return i=m.setLoadingMessages(i,!0),w(i).then(function(){return h.getConversation(g,a,!0,!0,0,0,c+1,d,f)}).then(function(a){return a.messages.length>c?a.messages=a.messages.slice(1):I(!0),G(d+c),a}).then(function(a){var c=a.members.filter(function(a){return a.id==b.id});c.length<1&&(a.members=a.members.concat([b]));var d=M(a,b.id);return d=m.setLoadingMembers(d,!1),d=m.setLoadingMessages(d,!1),w(d).then(function(){return a})}).then(function(){return R(a)})["catch"](function(a){var b=m.setLoadingMembers(q,!1);b=m.setLoadingMessages(b,!1),w(b),e.exception(a)})},O=function(a,b,c,d){var f=a.members.filter(function(a){return a.id==b.id});f.length<1&&(a.members=a.members.concat([b]));var g=M(a,b.id);g=m.setLoadingMembers(g,!1),g=m.setLoadingMessages(g,!0);var h=a.messages.length;return w(g).then(function(){if(hb?a.messages=a.messages.slice(0,-1):I(!0),a):a}).then(function(a){var b=a.members.filter(function(a){return!(a.id in q.members)}),c=m.addMembers(q,b);return c=m.addMessages(c,a.messages),c=m.setLoadingMessages(c,!1),w(c).then(function(){return a})})["catch"](function(a){var b=m.setLoadingMessages(q,!1);throw w(b),a})},Q=function(b,c){return function(){var d=q.messages,e=d.length?d[d.length-1]:null;if(e&&!u&&!v){for(var g=[],h=d.length-1;h>=0;h--){var j=d[h];if(j.timeCreated!==e.timeCreated)break;g.push(j.id)}return P(b,0,0,c,g,e.timeCreated).then(function(a){if(a.messages.length){t.restart();var c=K(q);return f.publish(i.CONVERSATION_NEW_LAST_MESSAGE,c),R(b)}return a})}return a.Deferred().resolve().promise()}},R=function(a){var b=q.loggedInUserId;return h.markAllConversationMessagesAsRead(b,a).then(function(){var b=m.markMessagesAsRead(q,q.messages);return f.publish(i.CONVERSATION_READ,a),w(b)})},S=function(a){return ea(a).then(function(){var b=m.addPendingBlockUsersById(q,[a]);return w(b)})},T=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.blockUser(q.loggedInUserId,a)}).then(function(b){var c=m.addMembers(q,[b]);return c=m.removePendingBlockUsersById(c,[a]),c=m.setLoadingConfirmAction(c,!1),f.publish(i.CONTACT_BLOCKED,a),w(c)})},U=function(a){return ea(a).then(function(){var b=m.addPendingUnblockUsersById(q,[a]);return w(b)})},V=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.unblockUser(q.loggedInUserId,a)}).then(function(b){var c=m.addMembers(q,[b]);return c=m.removePendingUnblockUsersById(c,[a]),c=m.setLoadingConfirmAction(c,!1),f.publish(i.CONTACT_UNBLOCKED,a),w(c)})},W=function(a){return ea(a).then(function(){var b=m.addPendingRemoveContactsById(q,[a]);return w(b)})},X=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.deleteContacts(q.loggedInUserId,[a])}).then(function(b){var c=m.addMembers(q,b);return c=m.removePendingRemoveContactsById(c,[a]),c=m.setLoadingConfirmAction(c,!1),f.publish(i.CONTACT_REMOVED,a),w(c)})},Y=function(a){return ea(a).then(function(){var b=m.addPendingAddContactsById(q,[a]);return w(b)})},Z=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.createContactRequest(q.loggedInUserId,a)}).then(function(a){if(!a.request)throw new Error(a.warnings[0].message);return a.request}).then(function(b){var c=m.removePendingAddContactsById(q,[a]);return c=m.addContactRequests(c,[b]),c=m.setLoadingConfirmAction(c,!1),w(c)})},$=function(){var a=q.loggedInUserId,b=q.id;return h.setFavouriteConversations(a,[b]).then(function(){var a=m.setIsFavourite(q,!0);return w(a)}).then(function(){return f.publish(i.CONVERSATION_SET_FAVOURITE,K(q))})},_=function(){var a=q.loggedInUserId,b=q.id;return h.unsetFavouriteConversations(a,[b]).then(function(){var a=m.setIsFavourite(q,!1);return w(a)}).then(function(){return f.publish(i.CONVERSATION_UNSET_FAVOURITE,K(q))})},aa=function(a){var b=q.selectedMessageIds;return ea(a).then(function(){var a=m.addPendingDeleteMessagesById(q,b);return w(a)})},ba=function(){var a=q.pendingDeleteMessageIds,b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.deleteMessages(q.loggedInUserId,a)}).then(function(){var b=m.removeMessagesById(q,a);b=m.removePendingDeleteMessagesById(b,a),b=m.removeSelectedMessagesById(b,a),b=m.setLoadingConfirmAction(b,!1);var c=q.messages[q.messages.length-1],d=b.messages.length?b.messages[b.messages.length-1]:null;if(d&&d.id!=c.id){var e=K(b);f.publish(i.CONVERSATION_NEW_LAST_MESSAGE,e)}else b.messages.length||f.publish(i.CONVERSATION_DELETED,b.id);return w(b)})},ca=function(a){return ea(a).then(function(){var a=m.setPendingDeleteConversation(q,!0);return w(a)})},da=function(){var a=m.setLoadingConfirmAction(q,!0);return w(a).then(function(){return h.deleteCoversation(q.loggedInUserId,C())}).then(function(){var a=m.removeMessages(q,q.messages);return a=m.removeSelectedMessagesById(a,q.selectedMessageIds),a=m.setPendingDeleteConversation(a,!1),a=m.setLoadingConfirmAction(a,!1),f.publish(i.CONVERSATION_DELETED,a.id),w(a)})},ea=function(a){var b=q.pendingDeleteMessageIds,c=m.removePendingAddContactsById(q,[a]);return c=m.removePendingRemoveContactsById(c,[a]),c=m.removePendingUnblockUsersById(c,[a]),c=m.removePendingBlockUsersById(c,[a]),c=m.removePendingDeleteMessagesById(c,b),c=m.setPendingDeleteConversation(c,!1),w(c)},fa=function(a){var b=q.loggedInUserId,c=q.members[a].contactrequests.filter(function(a){return a.requesteduserid==b}),d=c[0],e=m.setLoadingConfirmAction(q,!0);return w(e).then(function(){return h.acceptContactRequest(a,b)}).then(function(a){var b=m.removeContactRequests(q,[d]);return b=m.addMembers(q,[a]),b=m.setLoadingConfirmAction(b,!1),w(b)}).then(function(){f.publish(i.CONTACT_ADDED,q.members[a]),f.publish(i.CONTACT_REQUEST_ACCEPTED,d)})},ga=function(a){var b=q.loggedInUserId,c=q.members[b].contactrequests.filter(function(b){return b.userid==a}),d=c[0],e=m.setLoadingConfirmAction(q,!0);return w(e).then(function(){return h.declineContactRequest(a,b)}).then(function(a){var b=m.removeContactRequests(q,[d]);return b=m.addMembers(q,[a]),b=m.setLoadingConfirmAction(b,!1),w(b)}).then(function(){f.publish(i.CONTACT_REQUEST_DECLINED,d)})},ha=function(a,b){v=!0;var c=m.setSendingMessage(q,!0),d=null;return w(c).then(function(){if(a||q.type!=B.PRIVATE)return h.sendMessageToConversation(a,b);var c=C();return h.sendMessageToUser(c,b).then(function(a){return d=parseInt(a.conversationid,10),a})}).then(function(a){var b=m.addMessages(q,[a]);b=m.setSendingMessage(b,!1);var c=K(b);return b.id||(b=m.setId(b,d),c.id=d,xa(d),f.publish(i.CONVERSATION_CREATED,c)),w(b).then(function(){v=!1,f.publish(i.CONVERSATION_NEW_LAST_MESSAGE,c)})})["catch"](function(a){v=!1;var b=m.setSendingMessage(q,!1);w(b),e.exception(a)})},ia=function(a){var b=q;return b=q.selectedMessageIds.indexOf(a)>-1?m.removeSelectedMessagesById(q,[a]):m.addSelectedMessagesById(q,[a]),w(b)},ja=function(){return ea(C()).then(function(){var a=m.removeSelectedMessagesById(q,q.selectedMessageIds);return w(a)})},ka=function(a,b,c){return function(d){var e=k.buildPatch(q,d);return l.render(a,b,c,e).then(function(){q=d,d.id&&(p[d.id]={state:d,messagesOffset:F(),loadedAllMessages:H()})})}},la=function(a){return function(b,c){q.loadingConfirmAction||a(C())["catch"](function(a){var b=m.setLoadingConfirmAction(q,!1);w(b),e.exception(a)}),c.originalEvent.preventDefault()}},ma=function(b,c){var d=a(b.target),e=d.closest(A.FOOTER_CONTAINER),f=e.find(A.MESSAGE_TEXT_AREA),g=f.val().trim();""!==g&&ha(q.id,g),c.originalEvent.preventDefault()},na=function(b,c){var d=window.getSelection(),f=a(b.target);if(""==d.toString()&&!f.is("a")){var g=f.closest(A.MESSAGE),h=parseInt(g.attr("data-message-id"),10);ia(h)["catch"](e.exception),c.originalEvent.preventDefault()}},oa=function(a,b){ja()["catch"](e.exception),b.originalEvent.preventDefault()},pa=function(a,b){var c=C(),d=q.members[c];n.go(o.VIEW_CONTACT,d),b.originalEvent.preventDefault()},qa=function(a,b){$()["catch"](e.exception),b.originalEvent.preventDefault()},ra=function(a,b){_()["catch"](e.exception),b.originalEvent.preventDefault()},sa=function(a,b){n.go(o.VIEW_GROUP_INFO,{id:q.id,name:q.name,subname:q.subname,imageUrl:q.imageUrl,totalMemberCount:q.totalMemberCount},q.loggedInUserId),b.originalEvent.preventDefault()},ta=[[A.ACTION_REQUEST_BLOCK,la(S)],[A.ACTION_REQUEST_UNBLOCK,la(U)],[A.ACTION_REQUEST_ADD_CONTACT,la(Y)],[A.ACTION_REQUEST_REMOVE_CONTACT,la(W)],[A.ACTION_REQUEST_DELETE_CONVERSATION,la(ca)],[A.ACTION_CANCEL_EDIT_MODE,oa],[A.ACTION_VIEW_CONTACT,pa],[A.ACTION_VIEW_GROUP_INFO,sa],[A.ACTION_CONFIRM_FAVOURITE,qa],[A.ACTION_CONFIRM_UNFAVOURITE,ra]],ua=[[A.ACTION_CANCEL_CONFIRM,la(ea)],[A.ACTION_CONFIRM_BLOCK,la(T)],[A.ACTION_CONFIRM_UNBLOCK,la(V)],[A.ACTION_CONFIRM_ADD_CONTACT,la(Z)],[A.ACTION_CONFIRM_REMOVE_CONTACT,la(X)],[A.ACTION_CONFIRM_DELETE_SELECTED_MESSAGES,la(ba)],[A.ACTION_CONFIRM_DELETE_CONVERSATION,la(da)],[A.ACTION_REQUEST_ADD_CONTACT,la(Y)],[A.ACTION_ACCEPT_CONTACT_REQUEST,la(fa)],[A.ACTION_DECLINE_CONTACT_REQUEST,la(ga)],[A.MESSAGE,na]],va=[[A.SEND_MESSAGE_BUTTON,ma],[A.ACTION_REQUEST_DELETE_SELECTED_MESSAGES,la(aa)],[A.ACTION_REQUEST_ADD_CONTACT,la(Y)],[A.ACTION_REQUEST_UNBLOCK,la(U)]],wa=function(a,c,g){var h=!1,j=J(c);b.init(g),d.define(a,[d.events.activate]),d.define(c,[d.events.activate]),d.define(g,[d.events.activate,d.events.enter]),d.define(j,[d.events.scrollTop,d.events.scrollLock]),j.on(d.events.scrollTop,function(a,b){var c=Object.keys(q.members).length>1;if(!u&&!h&&!H()&&c){h=!0;var d=m.setLoadingMessages(q,!0);w(d).then(function(){return P(q.id,y,F(),x,[])}).then(function(){h=!1,G(F()+y)})["catch"](function(a){h=!1,e.exception(a)})}b.originalEvent.preventDefault()}),ta.forEach(function(b){var c=b[0],e=b[1];a.on(d.events.activate,c,e)}),ua.forEach(function(a){var b=a[0],e=a[1];c.on(d.events.activate,b,e)}),va.forEach(function(a){var b=a[0],c=a[1];g.on(d.events.activate,b,c)}),g.on(d.events.enter,A.MESSAGE_TEXT_AREA,function(a,b){var c=g.attr("data-enter-to-send");c&&"false"!=c&&"0"!=c&&ma(a,b)}),f.subscribe(i.ROUTE_CHANGED,function(a){t&&a.route!=o.VIEW_CONVERSATION&&t.stop()})},xa=function(a){t&&t.stop(),t=new c(Q(a,x),function(a){return a?2*a:z}),t.start()},ya=function(a,b,c){var d=c.id,e=parseInt(a.attr("data-midnight"),10),f=m.buildInitialState(e,d,b);return q||(q=f),t&&t.stop(),w(f)},za=function(a,b,c){return ya(a,null,b).then(function(){return h.getConversationBetweenUsers(b.id,c,!0,!0,0,0,y,0,x).then(function(c){return Ba(a,c,b)})["catch"](function(){return L(b,c)})})},Aa=function(a,b,c){var d=null;return b in p&&(d=p[b]),ya(a,b,c).then(function(){if(d){var a=d.state;return a=m.setLoadingMessages(a,!1),a=m.setLoadingMembers(a,!1),G(d.messagesOffset),I(d.loadedAllMessages),w(a)}return N(b,c,y,0,x)}).then(function(){return xa(b)})},Ba=function(a,b,c){var d=null;return b.id in p&&(d=p[b.id]),ya(a,b.id,c).then(function(){if(d){var a=d.state;return a=m.setLoadingMessages(a,!1),a=m.setLoadingMembers(a,!1),G(d.messagesOffset),I(d.loadedAllMessages),w(a)}return O(b,c,y,x)}).then(function(){return xa(b.id)})},Ca=function(b,c,d,f,g,h){var i=null,k=null;f&&null!==f&&"object"==typeof f?(i=f,k=parseInt(i.id,10)):(i=null,k=parseInt(f,10),k=isNaN(k)?null:k),!k&&g&&h&&(k=D(h)),c.attr("data-init")||(w=ka(b,c,d),wa(b,c,d),c.attr("data-init",!0));var l=!q||q.id!=k||h&&h!=C();if(l){u=!0;var m=null,n=E(c);return m=i?Ba(c,i,n,h):k?Aa(c,k,n,h):za(c,n,h),m.then(function(){u=!1,b.find(j.SELECTORS.CAN_RECEIVE_FOCUS).first().focus()})["catch"](function(a){u=!1,e.exception(a)})}if(xa(k),q.type==B.PRIVATE&&g){var o=C();switch(g){case"block":return S(o);case"unblock":return U(o);case"add-contact":return Y(o);case"remove-contact":return W(o)}}return a.Deferred().resolve().promise()},Da=function(){return g.get_string("messagedrawerviewconversation","core_message",q.name)};return{show:Ca,description:Da}}); \ No newline at end of file +define(["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(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p={},q=null,r=!1,s=0,t=null,u=!0,v=!1,w=null,x=j.NEWEST_MESSAGES_FIRST,y=j.LOAD_MESSAGE_LIMIT,z=j.INITIAL_NEW_MESSAGE_POLL_TIMEOUT,A=j.SELECTORS,B=j.CONVERSATION_TYPES,C=function(){if(!q||q.type!=B.PRIVATE)return null;var a=q.loggedInUserId,b=Object.keys(q.members).filter(function(b){return a!=b});return b.length?b[0]:null},D=function(a){return Object.keys(p).reduce(function(b,c){if(!b){var d=p[c].state;d.type==B.PRIVATE&&a in d.members&&(b=d.id)}return b},null)},E=function(a){return{id:parseInt(a.attr("data-user-id"),10),fullname:null,profileimageurl:null,profileimageurlsmall:null,isonline:null,showonlinestatus:null,isblocked:null,iscontact:null,isdeleted:null,canmessage:null,requirescontact:null,contactrequests:[]}},F=function(){return s},G=function(a){s=a,p[q.id].messagesOffset=a},H=function(){return r},I=function(a){r=a,p[q.id].loadedAllMessages=a},J=function(a){return a.find(A.MESSAGES_CONTAINER)},K=function(b){return{id:b.id,name:b.name,subname:b.subname,imageUrl:b.imageUrl,isFavourite:b.isFavourite,type:b.type,totalMemberCount:b.totalMemberCount,loggedInUserId:b.loggedInUserId,messages:b.messages.map(function(b){return a.extend({},b)}),members:Object.keys(b.members).reduce(function(c,d){return c[d]=a.extend({},b.members[d]),c[d].contactrequests=b.members[d].contactrequests.map(function(b){return a.extend({},b)}),c},{})}},L=function(a,b){var c=a.id,d=m.setLoadingMembers(q,!0);return d=m.setLoadingMessages(d,!0),w(d).then(function(){return h.getMemberInfo(c,[b],!0,!0)}).then(function(a){if(a.length)return a[0];throw new Error("Unable to load other user profile")}).then(function(b){var c=m.addMembers(q,[b,a]);return c=m.setLoadingMembers(c,!1),c=m.setLoadingMessages(c,!1),c=m.setName(c,b.fullname),c=m.setType(c,1),c=m.setImageUrl(c,b.profileimageurl),c=m.setTotalMemberCount(c,2),w(c).then(function(){return b})})["catch"](function(a){var b=m.setLoadingMembers(q,!1);w(b),e.exception(a)})},M=function(a,b){var c=a.members.filter(function(a){return a.id!=b}),d=c.length?c[0]:null,e=a.name,f=a.imageurl;a.type==B.PRIVATE&&(e=e||d?d.fullname:"",f=f||d?d.profileimageurl:"");var g=m.addMembers(q,a.members);return g=m.setName(g,e),g=m.setSubname(g,a.subname),g=m.setType(g,a.type),g=m.setImageUrl(g,f),g=m.setTotalMemberCount(g,a.membercount),g=m.setIsFavourite(g,a.isfavourite),g=m.addMessages(g,a.messages)},N=function(a,b,c,d,f){var g=b.id,i=m.setLoadingMembers(q,!0);return i=m.setLoadingMessages(i,!0),w(i).then(function(){return h.getConversation(g,a,!0,!0,0,0,c+1,d,f)}).then(function(a){return a.messages.length>c?a.messages=a.messages.slice(1):I(!0),G(d+c),a}).then(function(a){var c=a.members.filter(function(a){return a.id==b.id});c.length<1&&(a.members=a.members.concat([b]));var d=M(a,b.id);return d=m.setLoadingMembers(d,!1),d=m.setLoadingMessages(d,!1),w(d).then(function(){return a})}).then(function(){return R(a)})["catch"](function(a){var b=m.setLoadingMembers(q,!1);b=m.setLoadingMessages(b,!1),w(b),e.exception(a)})},O=function(a,b,c,d){var f=a.members.filter(function(a){return a.id==b.id});f.length<1&&(a.members=a.members.concat([b]));var g=M(a,b.id);g=m.setLoadingMembers(g,!1),g=m.setLoadingMessages(g,!0);var h=a.messages.length;return w(g).then(function(){if(hb?a.messages=a.messages.slice(0,-1):I(!0),a):a}).then(function(a){var b=a.members.filter(function(a){return!(a.id in q.members)}),c=m.addMembers(q,b);return c=m.addMessages(c,a.messages),c=m.setLoadingMessages(c,!1),w(c).then(function(){return a})})["catch"](function(a){var b=m.setLoadingMessages(q,!1);throw w(b),a})},Q=function(b,c){return function(){var d=q.messages,e=d.length?d[d.length-1]:null;if(e&&!u&&!v){for(var g=[],h=d.length-1;h>=0;h--){var j=d[h];if(j.timeCreated!==e.timeCreated)break;g.push(j.id)}return P(b,0,0,c,g,e.timeCreated).then(function(a){if(a.messages.length){t.restart();var c=K(q);return f.publish(i.CONVERSATION_NEW_LAST_MESSAGE,c),R(b)}return a})}return a.Deferred().resolve().promise()}},R=function(a){var b=q.loggedInUserId;return h.markAllConversationMessagesAsRead(b,a).then(function(){var b=m.markMessagesAsRead(q,q.messages);return f.publish(i.CONVERSATION_READ,a),w(b)})},S=function(a){return ea(a).then(function(){var b=m.addPendingBlockUsersById(q,[a]);return w(b)})},T=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.blockUser(q.loggedInUserId,a)}).then(function(b){var c=m.addMembers(q,[b]);return c=m.removePendingBlockUsersById(c,[a]),c=m.setLoadingConfirmAction(c,!1),f.publish(i.CONTACT_BLOCKED,a),w(c)})},U=function(a){return ea(a).then(function(){var b=m.addPendingUnblockUsersById(q,[a]);return w(b)})},V=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.unblockUser(q.loggedInUserId,a)}).then(function(b){var c=m.addMembers(q,[b]);return c=m.removePendingUnblockUsersById(c,[a]),c=m.setLoadingConfirmAction(c,!1),f.publish(i.CONTACT_UNBLOCKED,a),w(c)})},W=function(a){return ea(a).then(function(){var b=m.addPendingRemoveContactsById(q,[a]);return w(b)})},X=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.deleteContacts(q.loggedInUserId,[a])}).then(function(b){var c=m.addMembers(q,b);return c=m.removePendingRemoveContactsById(c,[a]),c=m.setLoadingConfirmAction(c,!1),f.publish(i.CONTACT_REMOVED,a),w(c)})},Y=function(a){return ea(a).then(function(){var b=m.addPendingAddContactsById(q,[a]);return w(b)})},Z=function(a){var b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.createContactRequest(q.loggedInUserId,a)}).then(function(a){if(!a.request)throw new Error(a.warnings[0].message);return a.request}).then(function(b){var c=m.removePendingAddContactsById(q,[a]);return c=m.addContactRequests(c,[b]),c=m.setLoadingConfirmAction(c,!1),w(c)})},$=function(){var a=q.loggedInUserId,b=q.id;return h.setFavouriteConversations(a,[b]).then(function(){var a=m.setIsFavourite(q,!0);return w(a)}).then(function(){return f.publish(i.CONVERSATION_SET_FAVOURITE,K(q))})},_=function(){var a=q.loggedInUserId,b=q.id;return h.unsetFavouriteConversations(a,[b]).then(function(){var a=m.setIsFavourite(q,!1);return w(a)}).then(function(){return f.publish(i.CONVERSATION_UNSET_FAVOURITE,K(q))})},aa=function(a){var b=q.selectedMessageIds;return ea(a).then(function(){var a=m.addPendingDeleteMessagesById(q,b);return w(a)})},ba=function(){var a=q.pendingDeleteMessageIds,b=m.setLoadingConfirmAction(q,!0);return w(b).then(function(){return h.deleteMessages(q.loggedInUserId,a)}).then(function(){var b=m.removeMessagesById(q,a);b=m.removePendingDeleteMessagesById(b,a),b=m.removeSelectedMessagesById(b,a),b=m.setLoadingConfirmAction(b,!1);var c=q.messages[q.messages.length-1],d=b.messages.length?b.messages[b.messages.length-1]:null;if(d&&d.id!=c.id){var e=K(b);f.publish(i.CONVERSATION_NEW_LAST_MESSAGE,e)}else b.messages.length||f.publish(i.CONVERSATION_DELETED,b.id);return w(b)})},ca=function(a){return ea(a).then(function(){var a=m.setPendingDeleteConversation(q,!0);return w(a)})},da=function(){var a=m.setLoadingConfirmAction(q,!0);return w(a).then(function(){return h.deleteCoversation(q.loggedInUserId,C())}).then(function(){var a=m.removeMessages(q,q.messages);return a=m.removeSelectedMessagesById(a,q.selectedMessageIds),a=m.setPendingDeleteConversation(a,!1),a=m.setLoadingConfirmAction(a,!1),f.publish(i.CONVERSATION_DELETED,a.id),w(a)})},ea=function(a){var b=q.pendingDeleteMessageIds,c=m.removePendingAddContactsById(q,[a]);return c=m.removePendingRemoveContactsById(c,[a]),c=m.removePendingUnblockUsersById(c,[a]),c=m.removePendingBlockUsersById(c,[a]),c=m.removePendingDeleteMessagesById(c,b),c=m.setPendingDeleteConversation(c,!1),w(c)},fa=function(a){var b=q.loggedInUserId,c=q.members[a].contactrequests.filter(function(a){return a.requesteduserid==b}),d=c[0],e=m.setLoadingConfirmAction(q,!0);return w(e).then(function(){return h.acceptContactRequest(a,b)}).then(function(a){var b=m.removeContactRequests(q,[d]);return b=m.addMembers(q,[a]),b=m.setLoadingConfirmAction(b,!1),w(b)}).then(function(){f.publish(i.CONTACT_ADDED,q.members[a]),f.publish(i.CONTACT_REQUEST_ACCEPTED,d)})},ga=function(a){var b=q.loggedInUserId,c=q.members[a].contactrequests.filter(function(a){return a.requesteduserid==b}),d=c[0],e=m.setLoadingConfirmAction(q,!0);return w(e).then(function(){return h.declineContactRequest(a,b)}).then(function(a){var b=m.removeContactRequests(q,[d]);return b=m.addMembers(q,[a]),b=m.setLoadingConfirmAction(b,!1),w(b)}).then(function(){f.publish(i.CONTACT_REQUEST_DECLINED,d)})},ha=function(a,b){v=!0;var c=m.setSendingMessage(q,!0),d=null;return w(c).then(function(){if(a||q.type!=B.PRIVATE)return h.sendMessageToConversation(a,b);var c=C();return h.sendMessageToUser(c,b).then(function(a){return d=parseInt(a.conversationid,10),a})}).then(function(a){var b=m.addMessages(q,[a]);b=m.setSendingMessage(b,!1);var c=K(b);return b.id||(b=m.setId(b,d),c.id=d,xa(d),f.publish(i.CONVERSATION_CREATED,c)),w(b).then(function(){v=!1,f.publish(i.CONVERSATION_NEW_LAST_MESSAGE,c)})})["catch"](function(a){v=!1;var b=m.setSendingMessage(q,!1);w(b),e.exception(a)})},ia=function(a){var b=q;return b=q.selectedMessageIds.indexOf(a)>-1?m.removeSelectedMessagesById(q,[a]):m.addSelectedMessagesById(q,[a]),w(b)},ja=function(){return ea(C()).then(function(){var a=m.removeSelectedMessagesById(q,q.selectedMessageIds);return w(a)})},ka=function(a,b,c){return function(d){var e=k.buildPatch(q,d);return l.render(a,b,c,e).then(function(){q=d,d.id&&(p[d.id]={state:d,messagesOffset:F(),loadedAllMessages:H()})})}},la=function(a){return function(b,c){q.loadingConfirmAction||a(C())["catch"](function(a){var b=m.setLoadingConfirmAction(q,!1);w(b),e.exception(a)}),c.originalEvent.preventDefault()}},ma=function(b,c){var d=a(b.target),e=d.closest(A.FOOTER_CONTAINER),f=e.find(A.MESSAGE_TEXT_AREA),g=f.val().trim();""!==g&&ha(q.id,g),c.originalEvent.preventDefault()},na=function(b,c){var d=window.getSelection(),f=a(b.target);if(""==d.toString()&&!f.is("a")){var g=f.closest(A.MESSAGE),h=parseInt(g.attr("data-message-id"),10);ia(h)["catch"](e.exception),c.originalEvent.preventDefault()}},oa=function(a,b){ja()["catch"](e.exception),b.originalEvent.preventDefault()},pa=function(a,b){var c=C(),d=q.members[c];n.go(o.VIEW_CONTACT,d),b.originalEvent.preventDefault()},qa=function(a,b){$()["catch"](e.exception),b.originalEvent.preventDefault()},ra=function(a,b){_()["catch"](e.exception),b.originalEvent.preventDefault()},sa=function(a,b){n.go(o.VIEW_GROUP_INFO,{id:q.id,name:q.name,subname:q.subname,imageUrl:q.imageUrl,totalMemberCount:q.totalMemberCount},q.loggedInUserId),b.originalEvent.preventDefault()},ta=[[A.ACTION_REQUEST_BLOCK,la(S)],[A.ACTION_REQUEST_UNBLOCK,la(U)],[A.ACTION_REQUEST_ADD_CONTACT,la(Y)],[A.ACTION_REQUEST_REMOVE_CONTACT,la(W)],[A.ACTION_REQUEST_DELETE_CONVERSATION,la(ca)],[A.ACTION_CANCEL_EDIT_MODE,oa],[A.ACTION_VIEW_CONTACT,pa],[A.ACTION_VIEW_GROUP_INFO,sa],[A.ACTION_CONFIRM_FAVOURITE,qa],[A.ACTION_CONFIRM_UNFAVOURITE,ra]],ua=[[A.ACTION_CANCEL_CONFIRM,la(ea)],[A.ACTION_CONFIRM_BLOCK,la(T)],[A.ACTION_CONFIRM_UNBLOCK,la(V)],[A.ACTION_CONFIRM_ADD_CONTACT,la(Z)],[A.ACTION_CONFIRM_REMOVE_CONTACT,la(X)],[A.ACTION_CONFIRM_DELETE_SELECTED_MESSAGES,la(ba)],[A.ACTION_CONFIRM_DELETE_CONVERSATION,la(da)],[A.ACTION_REQUEST_ADD_CONTACT,la(Y)],[A.ACTION_ACCEPT_CONTACT_REQUEST,la(fa)],[A.ACTION_DECLINE_CONTACT_REQUEST,la(ga)],[A.MESSAGE,na]],va=[[A.SEND_MESSAGE_BUTTON,ma],[A.ACTION_REQUEST_DELETE_SELECTED_MESSAGES,la(aa)],[A.ACTION_REQUEST_ADD_CONTACT,la(Y)],[A.ACTION_REQUEST_UNBLOCK,la(U)]],wa=function(a,c,g){var h=!1,j=J(c);b.init(g),d.define(a,[d.events.activate]),d.define(c,[d.events.activate]),d.define(g,[d.events.activate,d.events.enter]),d.define(j,[d.events.scrollTop,d.events.scrollLock]),j.on(d.events.scrollTop,function(a,b){var c=Object.keys(q.members).length>1;if(!u&&!h&&!H()&&c){h=!0;var d=m.setLoadingMessages(q,!0);w(d).then(function(){return P(q.id,y,F(),x,[])}).then(function(){h=!1,G(F()+y)})["catch"](function(a){h=!1,e.exception(a)})}b.originalEvent.preventDefault()}),ta.forEach(function(b){var c=b[0],e=b[1];a.on(d.events.activate,c,e)}),ua.forEach(function(a){var b=a[0],e=a[1];c.on(d.events.activate,b,e)}),va.forEach(function(a){var b=a[0],c=a[1];g.on(d.events.activate,b,c)}),g.on(d.events.enter,A.MESSAGE_TEXT_AREA,function(a,b){var c=g.attr("data-enter-to-send");c&&"false"!=c&&"0"!=c&&ma(a,b)}),f.subscribe(i.ROUTE_CHANGED,function(a){t&&a.route!=o.VIEW_CONVERSATION&&t.stop()})},xa=function(a){t&&t.stop(),t=new c(Q(a,x),function(a){return a?2*a:z}),t.start()},ya=function(a,b,c){var d=c.id,e=parseInt(a.attr("data-midnight"),10),f=m.buildInitialState(e,d,b);return q||(q=f),t&&t.stop(),w(f)},za=function(a,b,c){return ya(a,null,b).then(function(){return h.getConversationBetweenUsers(b.id,c,!0,!0,0,0,y,0,x).then(function(c){return Ba(a,c,b)})["catch"](function(){return L(b,c)})})},Aa=function(a,b,c){var d=null;return b in p&&(d=p[b]),ya(a,b,c).then(function(){if(d){var a=d.state;return a=m.setLoadingMessages(a,!1),a=m.setLoadingMembers(a,!1),G(d.messagesOffset),I(d.loadedAllMessages),w(a)}return N(b,c,y,0,x)}).then(function(){return xa(b)})},Ba=function(a,b,c){var d=null;return b.id in p&&(d=p[b.id]),ya(a,b.id,c).then(function(){if(d){var a=d.state;return a=m.setLoadingMessages(a,!1),a=m.setLoadingMembers(a,!1),G(d.messagesOffset),I(d.loadedAllMessages),w(a)}return O(b,c,y,x)}).then(function(){return xa(b.id)})},Ca=function(b,c,d,f,g,h){var i=null,k=null;f&&null!==f&&"object"==typeof f?(i=f,k=parseInt(i.id,10)):(i=null,k=parseInt(f,10),k=isNaN(k)?null:k),!k&&g&&h&&(k=D(h)),c.attr("data-init")||(w=ka(b,c,d),wa(b,c,d),c.attr("data-init",!0));var l=!q||q.id!=k||h&&h!=C();if(l){u=!0;var m=null,n=E(c);return m=i?Ba(c,i,n,h):k?Aa(c,k,n,h):za(c,n,h),m.then(function(){u=!1,b.find(j.SELECTORS.CAN_RECEIVE_FOCUS).first().focus()})["catch"](function(a){u=!1,e.exception(a)})}if(xa(k),q.type==B.PRIVATE&&g){var o=C();switch(g){case"block":return S(o);case"unblock":return U(o);case"add-contact":return Y(o);case"remove-contact":return W(o)}}return a.Deferred().resolve().promise()},Da=function(){return g.get_string("messagedrawerviewconversation","core_message",q.name)};return{show:Ca,description:Da}}); \ No newline at end of file diff --git a/message/amd/src/message_drawer_view_conversation.js b/message/amd/src/message_drawer_view_conversation.js index 277cf316742..047e3443ee6 100644 --- a/message/amd/src/message_drawer_view_conversation.js +++ b/message/amd/src/message_drawer_view_conversation.js @@ -926,8 +926,8 @@ function( // Search the list of the logged in user's contact requests to find the // one from this user. var loggedInUserId = viewState.loggedInUserId; - var requests = viewState.members[loggedInUserId].contactrequests.filter(function(request) { - return request.userid == userId; + var requests = viewState.members[userId].contactrequests.filter(function(request) { + return request.requesteduserid == loggedInUserId; }); var request = requests[0]; var newState = StateManager.setLoadingConfirmAction(viewState, true);