diff --git a/message/amd/build/message_drawer.min.js b/message/amd/build/message_drawer.min.js index 453da2fe6b8..9f89d03510d 100644 --- a/message/amd/build/message_drawer.min.js +++ b/message/amd/build/message_drawer.min.js @@ -1 +1 @@ -define(["jquery","core/custom_interaction_events","core/pubsub","core_message/message_drawer_view_contact","core_message/message_drawer_view_contacts","core_message/message_drawer_view_conversation","core_message/message_drawer_view_group_info","core_message/message_drawer_view_overview","core_message/message_drawer_view_search","core_message/message_drawer_view_settings","core_message/message_drawer_router","core_message/message_drawer_routes","core_message/message_drawer_events"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n={VIEW_CONTACT:'[data-region="view-contact"]',VIEW_CONTACTS:'[data-region="view-contacts"]',VIEW_CONVERSATION:'[data-region="view-conversation"]',VIEW_GROUP_INFO:'[data-region="view-group-info"]',VIEW_OVERVIEW:'[data-region="view-overview"]',VIEW_SEARCH:'[data-region="view-search"]',VIEW_SETTINGS:'[data-region="view-settings"]',ROUTES:"[data-route]",ROUTES_BACK:"[data-route-back]",HEADER_CONTAINER:'[data-region="header-container"]',BODY_CONTAINER:'[data-region="body-container"]',FOOTER_CONTAINER:'[data-region="footer-container"]'},o=function(a,b,c){var d=b.children(),e=d.filter(n.HEADER_CONTAINER).find(c),f=d.filter(n.BODY_CONTAINER).find(c),g=d.filter(n.FOOTER_CONTAINER).find(c);return[a,e.length?e:null,f.length?f:null,g.length?g:null]},p=[[l.VIEW_CONTACT,n.VIEW_CONTACT,d.show,d.description],[l.VIEW_CONTACTS,n.VIEW_CONTACTS,e.show,e.description],[l.VIEW_CONVERSATION,n.VIEW_CONVERSATION,f.show,f.description],[l.VIEW_GROUP_INFO,n.VIEW_GROUP_INFO,g.show,g.description],[l.VIEW_OVERVIEW,n.VIEW_OVERVIEW,h.show,h.description],[l.VIEW_SEARCH,n.VIEW_SEARCH,i.show,i.description],[l.VIEW_SETTINGS,n.VIEW_SETTINGS,j.show,j.description]],q=function(a,b){p.forEach(function(c){k.add(a,c[0],o(a,b,c[1]),c[2],c[3])})},r=function(a,b){b.attr("data-shown")||(k.go(a,l.VIEW_OVERVIEW),b.attr("data-shown",!0)),b.removeClass("hidden"),b.attr("aria-expanded",!0),b.attr("aria-hidden",!1)},s=function(a){a.addClass("hidden"),a.attr("aria-expanded",!1),a.attr("aria-hidden",!0)},t=function(a){return!a.hasClass("hidden")},u=function(d,e,f){b.define(e,[b.events.activate]);var g=/^data-route-param-?(\d*)$/;e.on(b.events.activate,n.ROUTES,function(b,c){for(var e=a(b.target).closest(n.ROUTES),f=e.attr("data-route"),h=[],i=0;i1?c[1]:0,f=d.length>1?d[1]:0;return e1?c[1]:0,f=d.length>1?d[1]:0;return e0,j=g.messages.add.length>0,k=[],l=a.Deferred().resolve({}).promise();return i&&(k=k.concat(g.days.add.reduce(function(a,b){return a.concat(b.value.messages.map(function(a){return a.timeCreated}))},[]))),j&&(k=k.concat(g.messages.add.map(function(a){return a.value.timeCreated}))),k.length&&(l=c.get_string("strftimetime24","core_langconfig").then(function(a){var b=k.map(function(b){return{timestamp:b,format:a}});return e.get(b)}).then(function(a){return k.reduce(function(b,c,d){return b[c]=a[d],b},{})})),i&&h.push(l.then(function(a){return ia(b,d,f,g.days.add,a)})),j&&h.push(l.then(function(a){return ja(b,d,f,g.messages.add,a)})),g.days.remove.length>0&&ka(d,g.days.remove),g.messages.remove.length>0&&la(d,g.messages.remove),a.when.apply(a,h)},na=function(a,b,c,e){var f=L(a),g=h.HEADER_PUBLIC;return e.type==i.PRIVATE&&(g=e.showControls?h.HEADER_PRIVATE:h.HEADER_PRIVATE_NO_CONTROLS),d.render(g,e.context).then(function(a,b){d.replaceNodeContents(f,a,b)})},oa=function(a,b,d,e){switch(H(d),e.type){case"placeholder":return v(d);case"add-contact":return c.get_strings([{key:"requirecontacttomessage",component:"core_message",param:e.user.fullname},{key:"isnotinyourcontacts",component:"core_message",param:e.user.fullname}]).then(function(a){var b=a[1],c=a[0],e=x(d);return e.find(g.TITLE).text(b),e.find(g.TEXT).text(c),y(d),a});case"edit-mode":return s(d);case"content":return p(d);case"unblock":return B(d);case"unable-to-message":return E(d)}return!0},pa=function(a,b,c,d){var e=j(b),f=V(b,d),g=f.position();if(g){var h=e.scrollTop()+g.top;e.scrollTop(h)}},qa=function(a,b,c,d){d?(N(a),S(a)):(M(a),T(a))},ra=function(a,b,c,d){d?(l(b),J(b)):(k(b),K(b))},sa=function(a,b,c,d){d?Y(b):Z(b)},ta=function(a,b,c,d){d?aa(c):(ba(c),ca(c))},ua=function(a,b,c,d,e,f,h,i){var j=da(b),k=d.map(function(a){return j.find(a)}),l=j.find(g.CONFIRM_DIALOGUE_CANCEL_BUTTON),m=j.find(g.CONFIRM_DIALOGUE_TEXT),n=j.find(g.CONFIRM_DIALOGUE_HEADER);j.find("button").addClass("hidden"),h?l.removeClass("hidden"):l.addClass("hidden"),f?(n.removeClass("hidden"),n.text(f)):(n.addClass("hidden"),n.text("")),k.forEach(function(a){a.removeClass("hidden")}),m.text(e),ea(c),ea(b),i||ea(a),j.find(g.CAN_RECEIVE_FOCUS).filter(":visible").first().focus()},va=function(a,b,c){var d=da(b),e=d.find(g.CONFIRM_DIALOGUE_CANCEL_BUTTON),f=d.find(g.CONFIRM_DIALOGUE_TEXT),h=d.find(g.CONFIRM_DIALOGUE_HEADER);return fa(b),fa(c),fa(a),d.find("button").addClass("hidden"),e.removeClass("hidden"),f.text(""),h.addClass("hidden"),h.text(""),a.find(g.CAN_RECEIVE_FOCUS).first().focus(),!0},wa=function(a,b,d,e){return e?c.get_string("blockuserconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_BLOCK],c,"",!0,!1)}):va(a,b,d)},xa=function(a,b,d,e){return e?c.get_string("unblockuserconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_UNBLOCK],c,"",!0,!1)}):va(a,b,d)},ya=function(a,b,d,e){return e?c.get_string("addcontactconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_ADD_CONTACT],c,"",!0,!1)}):va(a,b,d)},za=function(a,b,d,e){return e?c.get_string("removecontactconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_REMOVE_CONTACT],c,"",!0,!1)}):va(a,b,d)},Aa=function(a,b,d,e){return e?c.get_string("deleteselectedmessagesconfirm","core_message").then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_DELETE_SELECTED_MESSAGES],c,"",!0,!1)}):va(a,b,d)},Ba=function(a,b,d,e){return e?c.get_string("deleteallconfirm","core_message").then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_DELETE_CONVERSATION],c,"",!0,!1)}):va(a,b,d)},Ca=function(a,b,d,e){return e?c.get_string("userwouldliketocontactyou","core_message",e.fullname).then(function(c){var e=[g.ACTION_ACCEPT_CONTACT_REQUEST,g.ACTION_DECLINE_CONTACT_REQUEST];return ua(a,b,d,e,c,"",!1,!0)}):va(a,b,d)},Da=function(a,b,c,d){d?(a.find(g.ACTION_REQUEST_BLOCK).addClass("hidden"),a.find(g.ACTION_REQUEST_UNBLOCK).removeClass("hidden")):(a.find(g.ACTION_REQUEST_BLOCK).removeClass("hidden"),a.find(g.ACTION_REQUEST_UNBLOCK).addClass("hidden"))},Ea=function(a,b,c,d){var e=a.find(g.FAVOURITE_ICON_CONTAINER),f=a.find(g.ACTION_CONFIRM_FAVOURITE),h=a.find(g.ACTION_CONFIRM_UNFAVOURITE);switch(d){case"hide":e.addClass("hidden"),f.addClass("hidden"),h.addClass("hidden");break;case"show-add":e.addClass("hidden"),f.removeClass("hidden"),h.addClass("hidden");break;case"show-remove":e.removeClass("hidden"),f.addClass("hidden"),h.removeClass("hidden")}},Fa=function(a,b,c,d){var e=a.find(g.MUTED_ICON_CONTAINER),f=a.find(g.ACTION_CONFIRM_MUTE),h=a.find(g.ACTION_CONFIRM_UNMUTE);switch(d){case"hide":e.addClass("hidden"),f.addClass("hidden"),h.addClass("hidden");break;case"show-mute":e.addClass("hidden"),f.removeClass("hidden"),h.addClass("hidden");break;case"show-unmute":e.removeClass("hidden"),f.addClass("hidden"),h.removeClass("hidden")}},Ga=function(a,b,c,d){var e=a.find(g.ACTION_REQUEST_ADD_CONTACT),f=a.find(g.ACTION_REQUEST_REMOVE_CONTACT);switch(d){case"pending-contact":e.addClass("hidden"),f.addClass("hidden");break;case"contact":e.addClass("hidden"),f.removeClass("hidden");break;case"non-contact":e.removeClass("hidden"),f.addClass("hidden")}},Ha=function(a,b,c,d){var e=da(b),f=e.find("button"),h=e.find(g.CONFIRM_DIALOGUE_BUTTON_TEXT),i=e.find(g.LOADING_ICON_CONTAINER);d?(f.prop("disabled",!0),h.addClass("hidden"),i.removeClass("hidden")):(f.prop("disabled",!1),h.removeClass("hidden"),i.addClass("hidden"))},Ia=function(a,b,c,d){var e=null;d?(e=b.find(g.MESSAGE_NOT_SELECTED),e.find(g.MESSAGE_NOT_SELECTED_ICON).removeClass("hidden"),N(a),P(a)):(e=j(b),e.find(g.MESSAGE_NOT_SELECTED_ICON).addClass("hidden"),e.find(g.MESSAGE_SELECTED_ICON).addClass("hidden"),M(a),Q(a))},Ja=function(a,b,c,d){var e=d.count>0;d.add.length&&d.add.forEach(function(a){var c=V(b,a);c.find(g.MESSAGE_NOT_SELECTED_ICON).addClass("hidden"),c.find(g.MESSAGE_SELECTED_ICON).removeClass("hidden"),c.attr("aria-checked",!0)}),d.remove.length&&d.remove.forEach(function(a){var c=V(b,a);e&&c.find(g.MESSAGE_NOT_SELECTED_ICON).removeClass("hidden"),c.find(g.MESSAGE_SELECTED_ICON).addClass("hidden"),c.attr("aria-checked",!1)}),ga(a,d.count)},Ka=function(a,b,d,e){return e.show&&!e.hasMessages?c.get_strings([{key:"requirecontacttomessage",component:"core_message",param:e.user.fullname},{key:"isnotinyourcontacts",component:"core_message",param:e.user.fullname}]).then(function(c){var e=c[1],f=c[0];return ua(a,b,d,[g.ACTION_REQUEST_ADD_CONTACT],f,e,!1,!0)}):va(a,b,d)},La=function(a,b,d,e){var f=m(b);return e?c.get_string("yourcontactrequestpending","core_message",e).then(function(a){return f.find(g.TEXT).text(a),f.removeClass("hidden"),a}):(f.addClass("hidden"),!0)},Ma=function(a,b,c){return va(a,b,c),n(b),G(a),S(a),H(c),v(c),!0},Na=function(c,d,e,f){var g=[{reset:Ma},{conversation:ma,header:na,footer:oa,confirmBlockUser:wa,confirmUnblockUser:xa,confirmAddContact:ya,confirmRemoveContact:za,confirmDeleteSelectedMessages:Aa,confirmDeleteConversation:Ba,confirmContactRequest:Ca,requireAddContact:Ka,contactRequestSent:La},{loadingMembers:qa,loadingFirstMessages:ra,loadingMessages:sa,sendingMessage:ta,isBlocked:Da,isContact:Ga,isFavourite:Ea,isMuted:Fa,loadingConfirmAction:Ha,inEditMode:Ia},{scrollToMessage:pa,selectedMessages:Ja}],h=function(a){var b=[];for(var g in f)if(a.hasOwnProperty(g)){var h=a[g],i=f[g];b.push(h(c,d,e,i))}return b},i=h(g[0]);return i=i.concat(h(g[1])),a.when.apply(a,i).then(function(){for(var a=2;a0,j=g.messages.add.length>0,k=[],l=a.Deferred().resolve({}).promise();return i&&(k=k.concat(g.days.add.reduce(function(a,b){return a.concat(b.value.messages.map(function(a){return a.timeCreated}))},[]))),j&&(k=k.concat(g.messages.add.map(function(a){return a.value.timeCreated}))),k.length&&(l=c.get_string("strftimetime24","core_langconfig").then(function(a){var b=k.map(function(b){return{timestamp:b,format:a}});return e.get(b)}).then(function(a){return k.reduce(function(b,c,d){return b[c]=a[d],b},{})})),i&&h.push(l.then(function(a){return ia(b,d,f,g.days.add,a)})),j&&h.push(l.then(function(a){return ja(b,d,f,g.messages.add,a)})),g.days.remove.length>0&&ka(d,g.days.remove),g.messages.remove.length>0&&la(d,g.messages.remove),a.when.apply(a,h)},na=function(a,b,c,e){var f=L(a),g=h.HEADER_PUBLIC;return e.context.showrouteback="false"===a.attr("data-from-panel"),e.type==i.PRIVATE&&(g=e.showControls?h.HEADER_PRIVATE:h.HEADER_PRIVATE_NO_CONTROLS),d.render(g,e.context).then(function(a,b){d.replaceNodeContents(f,a,b)})},oa=function(a,b,d,e){switch(H(d),e.type){case"placeholder":return v(d);case"add-contact":return c.get_strings([{key:"requirecontacttomessage",component:"core_message",param:e.user.fullname},{key:"isnotinyourcontacts",component:"core_message",param:e.user.fullname}]).then(function(a){var b=a[1],c=a[0],e=x(d);return e.find(g.TITLE).text(b),e.find(g.TEXT).text(c),y(d),a});case"edit-mode":return s(d);case"content":return p(d);case"unblock":return B(d);case"unable-to-message":return E(d)}return!0},pa=function(a,b,c,d){var e=j(b),f=V(b,d),g=f.position();if(g){var h=e.scrollTop()+g.top;e.scrollTop(h)}},qa=function(a,b,c,d){d?(N(a),S(a)):(M(a),T(a))},ra=function(a,b,c,d){d?(l(b),J(b)):(k(b),K(b))},sa=function(a,b,c,d){d?Y(b):Z(b)},ta=function(a,b,c,d){d?aa(c):(ba(c),ca(c))},ua=function(a,b,c,d,e,f,h,i){var j=da(b),k=d.map(function(a){return j.find(a)}),l=j.find(g.CONFIRM_DIALOGUE_CANCEL_BUTTON),m=j.find(g.CONFIRM_DIALOGUE_TEXT),n=j.find(g.CONFIRM_DIALOGUE_HEADER);j.find("button").addClass("hidden"),h?l.removeClass("hidden"):l.addClass("hidden"),f?(n.removeClass("hidden"),n.text(f)):(n.addClass("hidden"),n.text("")),k.forEach(function(a){a.removeClass("hidden")}),m.text(e),ea(c),ea(b),i||ea(a),j.find(g.CAN_RECEIVE_FOCUS).filter(":visible").first().focus()},va=function(a,b,c){var d=da(b),e=d.find(g.CONFIRM_DIALOGUE_CANCEL_BUTTON),f=d.find(g.CONFIRM_DIALOGUE_TEXT),h=d.find(g.CONFIRM_DIALOGUE_HEADER);return fa(b),fa(c),fa(a),d.find("button").addClass("hidden"),e.removeClass("hidden"),f.text(""),h.addClass("hidden"),h.text(""),a.find(g.CAN_RECEIVE_FOCUS).first().focus(),!0},wa=function(a,b,d,e){return e?c.get_string("blockuserconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_BLOCK],c,"",!0,!1)}):va(a,b,d)},xa=function(a,b,d,e){return e?c.get_string("unblockuserconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_UNBLOCK],c,"",!0,!1)}):va(a,b,d)},ya=function(a,b,d,e){return e?c.get_string("addcontactconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_ADD_CONTACT],c,"",!0,!1)}):va(a,b,d)},za=function(a,b,d,e){return e?c.get_string("removecontactconfirm","core_message",e.fullname).then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_REMOVE_CONTACT],c,"",!0,!1)}):va(a,b,d)},Aa=function(a,b,d,e){return e?c.get_string("deleteselectedmessagesconfirm","core_message").then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_DELETE_SELECTED_MESSAGES],c,"",!0,!1)}):va(a,b,d)},Ba=function(a,b,d,e){return e?c.get_string("deleteallconfirm","core_message").then(function(c){return ua(a,b,d,[g.ACTION_CONFIRM_DELETE_CONVERSATION],c,"",!0,!1)}):va(a,b,d)},Ca=function(a,b,d,e){return e?c.get_string("userwouldliketocontactyou","core_message",e.fullname).then(function(c){var e=[g.ACTION_ACCEPT_CONTACT_REQUEST,g.ACTION_DECLINE_CONTACT_REQUEST];return ua(a,b,d,e,c,"",!1,!0)}):va(a,b,d)},Da=function(a,b,c,d){d?(a.find(g.ACTION_REQUEST_BLOCK).addClass("hidden"),a.find(g.ACTION_REQUEST_UNBLOCK).removeClass("hidden")):(a.find(g.ACTION_REQUEST_BLOCK).removeClass("hidden"),a.find(g.ACTION_REQUEST_UNBLOCK).addClass("hidden"))},Ea=function(a,b,c,d){var e=a.find(g.FAVOURITE_ICON_CONTAINER),f=a.find(g.ACTION_CONFIRM_FAVOURITE),h=a.find(g.ACTION_CONFIRM_UNFAVOURITE);switch(d){case"hide":e.addClass("hidden"),f.addClass("hidden"),h.addClass("hidden");break;case"show-add":e.addClass("hidden"),f.removeClass("hidden"),h.addClass("hidden");break;case"show-remove":e.removeClass("hidden"),f.addClass("hidden"),h.removeClass("hidden")}},Fa=function(a,b,c,d){var e=a.find(g.MUTED_ICON_CONTAINER),f=a.find(g.ACTION_CONFIRM_MUTE),h=a.find(g.ACTION_CONFIRM_UNMUTE);switch(d){case"hide":e.addClass("hidden"),f.addClass("hidden"),h.addClass("hidden");break;case"show-mute":e.addClass("hidden"),f.removeClass("hidden"),h.addClass("hidden");break;case"show-unmute":e.removeClass("hidden"),f.addClass("hidden"),h.removeClass("hidden")}},Ga=function(a,b,c,d){var e=a.find(g.ACTION_REQUEST_ADD_CONTACT),f=a.find(g.ACTION_REQUEST_REMOVE_CONTACT);switch(d){case"pending-contact":e.addClass("hidden"),f.addClass("hidden");break;case"contact":e.addClass("hidden"),f.removeClass("hidden");break;case"non-contact":e.removeClass("hidden"),f.addClass("hidden")}},Ha=function(a,b,c,d){var e=da(b),f=e.find("button"),h=e.find(g.CONFIRM_DIALOGUE_BUTTON_TEXT),i=e.find(g.LOADING_ICON_CONTAINER);d?(f.prop("disabled",!0),h.addClass("hidden"),i.removeClass("hidden")):(f.prop("disabled",!1),h.removeClass("hidden"),i.addClass("hidden"))},Ia=function(a,b,c,d){var e=null;d?(e=b.find(g.MESSAGE_NOT_SELECTED),e.find(g.MESSAGE_NOT_SELECTED_ICON).removeClass("hidden"),N(a),P(a)):(e=j(b),e.find(g.MESSAGE_NOT_SELECTED_ICON).addClass("hidden"),e.find(g.MESSAGE_SELECTED_ICON).addClass("hidden"),M(a),Q(a))},Ja=function(a,b,c,d){var e=d.count>0;d.add.length&&d.add.forEach(function(a){var c=V(b,a);c.find(g.MESSAGE_NOT_SELECTED_ICON).addClass("hidden"),c.find(g.MESSAGE_SELECTED_ICON).removeClass("hidden"),c.attr("aria-checked",!0)}),d.remove.length&&d.remove.forEach(function(a){var c=V(b,a);e&&c.find(g.MESSAGE_NOT_SELECTED_ICON).removeClass("hidden"),c.find(g.MESSAGE_SELECTED_ICON).addClass("hidden"),c.attr("aria-checked",!1)}),ga(a,d.count)},Ka=function(a,b,d,e){return e.show&&!e.hasMessages?c.get_strings([{key:"requirecontacttomessage",component:"core_message",param:e.user.fullname},{key:"isnotinyourcontacts",component:"core_message",param:e.user.fullname}]).then(function(c){var e=c[1],f=c[0];return ua(a,b,d,[g.ACTION_REQUEST_ADD_CONTACT],f,e,!1,!0)}):va(a,b,d)},La=function(a,b,d,e){var f=m(b);return e?c.get_string("yourcontactrequestpending","core_message",e).then(function(a){return f.find(g.TEXT).text(a),f.removeClass("hidden"),a}):(f.addClass("hidden"),!0)},Ma=function(a,b,c){return va(a,b,c),n(b),G(a),S(a),H(c),v(c),!0},Na=function(c,d,e,f){var g=[{reset:Ma},{conversation:ma,header:na,footer:oa,confirmBlockUser:wa,confirmUnblockUser:xa,confirmAddContact:ya,confirmRemoveContact:za,confirmDeleteSelectedMessages:Aa,confirmDeleteConversation:Ba,confirmContactRequest:Ca,requireAddContact:Ka,contactRequestSent:La},{loadingMembers:qa,loadingFirstMessages:ra,loadingMessages:sa,sendingMessage:ta,isBlocked:Da,isContact:Ga,isFavourite:Ea,isMuted:Fa,loadingConfirmAction:Ha,inEditMode:Ia},{scrollToMessage:pa,selectedMessages:Ja}],h=function(a){var b=[];for(var g in f)if(a.hasOwnProperty(g)){var h=a[g],i=f[g];b.push(h(c,d,e,i))}return b},i=h(g[0]);return i=i.concat(h(g[1])),a.when.apply(a,i).then(function(){for(var a=2;a0&&0==f?-1:0==d&&f>0?1:c>0&&0==e?-1:0==c&&e>0?1:0});var c=a[0][0],d=c.find(j.SECTION_TOGGLE_BUTTON);d.click()}},p=function(a){return a.find(j.SEARCH_INPUT)},q=function(a){return a.attr("data-user-id")},r=function(a){return function(){var b=a.find(j.CONTACT_REQUEST_COUNT),c=parseInt(b.text(),10);c=isNaN(c)?0:c-1,c<=0?b.addClass("hidden"):b.text(c)}},s=function(a,d){var h=p(d),i=[b.tab,b.shift,b.ctrl,b.alt];h.on("click",function(){e.go(a,f.VIEW_SEARCH)}),h.on("keydown",function(b){i.indexOf(b.keyCode)<0&&"Meta"!=b.key&&e.go(a,f.VIEW_SEARCH)}),c.subscribe(g.CONTACT_REQUEST_ACCEPTED,r(d)),c.subscribe(g.CONTACT_REQUEST_DECLINED,r(d))},t=function(a,b,c){b.attr("data-init")||(s(a,b),b.attr("data-init",!0)),p(b).val("");var d=q(c),e=m(d),f=[[c.find(j.FAVOURITES),k.FAVOURITE,!0],[c.find(j.GROUP_MESSAGES),k.PUBLIC,!1],[c.find(j.MESSAGES),k.PRIVATE,!1]];return f.forEach(function(b){var c=b[0],d=b[1],f=b[2],g=e.then(function(a){return n(a.total,d)}),i=e.then(function(a){return n(a.unread,d)});h.show(a,null,c,null,d,f,g,i)}),e.then(function(a){var b=f.map(function(b){var c=b[0],d=b[1],e=n(a.total,d),f=n(a.unread,d);return[c,e,f]});return o(b)})},u=function(){return d.get_string("messagedrawerviewoverview","core_message")};return{show:t,description:u}}); \ No newline at end of file +define(["jquery","core/key_codes","core/pubsub","core/str","core_message/message_drawer_router","core_message/message_drawer_routes","core_message/message_drawer_events","core_message/message_drawer_view_overview_section","core_message/message_repository"],function(a,b,c,d,e,f,g,h,i){var j={CONTACT_REQUEST_COUNT:'[data-region="contact-request-count"]',FAVOURITES:'[data-region="view-overview-favourites"]',GROUP_MESSAGES:'[data-region="view-overview-group-messages"]',MESSAGES:'[data-region="view-overview-messages"]',SEARCH_INPUT:'[data-region="view-overview-search-input"]',SECTION_TOGGLE_BUTTON:"[data-toggle]"},k={PRIVATE:1,PUBLIC:2,FAVOURITE:null},l=null,m=function(a){return null===l&&(l=i.getAllConversationCounts(a)),l},n=function(a,b){return b===k.FAVOURITE?a.favourites:a.types[b]},o=function(a){var b=a.some(function(a){var b=a[0];return h.isVisible(b)});if(!b){a.sort(function(a,b){var c=a[1],d=a[2],e=b[1],f=b[2];return d>0&&0==f?-1:0==d&&f>0?1:c>0&&0==e?-1:0==c&&e>0?1:0});var c=a[0][0],d=c.find(j.SECTION_TOGGLE_BUTTON);d.click()}},p=function(a){return a.find(j.SEARCH_INPUT)},q=function(a){return a.attr("data-user-id")},r=function(a){return function(){var b=a.find(j.CONTACT_REQUEST_COUNT),c=parseInt(b.text(),10);c=isNaN(c)?0:c-1,c<=0?b.addClass("hidden"):b.text(c)}},s=function(a,d){var h=p(d),i=[b.tab,b.shift,b.ctrl,b.alt];h.on("click",function(){e.go(a,f.VIEW_SEARCH)}),h.on("keydown",function(b){i.indexOf(b.keyCode)<0&&"Meta"!=b.key&&e.go(a,f.VIEW_SEARCH)}),c.subscribe(g.CONTACT_REQUEST_ACCEPTED,r(d)),c.subscribe(g.CONTACT_REQUEST_DECLINED,r(d))},t=function(a,b,c){b.attr("data-init")||(s(a,b),b.attr("data-init",!0));var d=b.attr("data-in-panel")?"frompanel":null;p(b).val("");var e=q(c),f=m(e),g=[[c.find(j.FAVOURITES),k.FAVOURITE,!0],[c.find(j.GROUP_MESSAGES),k.PUBLIC,!1],[c.find(j.MESSAGES),k.PRIVATE,!1]];return g.forEach(function(b){var c=b[0],e=b[1],g=b[2],i=f.then(function(a){return n(a.total,e)}),j=f.then(function(a){return n(a.unread,e)});h.show(a,null,c,null,e,g,i,j,d)}),f.then(function(a){var b=g.map(function(b){var c=b[0],d=b[1],e=n(a.total,d),f=n(a.unread,d);return[c,e,f]});return o(b)})},u=function(){return d.get_string("messagedrawerviewoverview","core_message")};return{show:t,description:u}}); \ No newline at end of file diff --git a/message/amd/build/message_drawer_view_overview_section.min.js b/message/amd/build/message_drawer_view_overview_section.min.js index 42e5adfd2b5..eae62897a61 100644 --- a/message/amd/build/message_drawer_view_overview_section.min.js +++ b/message/amd/build/message_drawer_view_overview_section.min.js @@ -1 +1 @@ -define(["jquery","core/custom_interaction_events","core/notification","core/pubsub","core/str","core/templates","core/user_date","core_message/message_repository","core_message/message_drawer_events","core_message/message_drawer_router","core_message/message_drawer_routes","core_message/message_drawer_lazy_load_list","core_message/message_drawer_view_conversation_constants"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n={TOGGLE:'[data-region="toggle"]',CONVERSATION:"[data-conversation-id]",BLOCKED_ICON_CONTAINER:'[data-region="contact-icon-blocked"]',LAST_MESSAGE:'[data-region="last-message"]',LAST_MESSAGE_DATE:'[data-region="last-message-date"]',MUTED_ICON_CONTAINER:'[data-region="muted-icon-container"]',UNREAD_COUNT:'[data-region="unread-count"]',SECTION_TOTAL_COUNT:'[data-region="section-total-count"]',SECTION_TOTAL_COUNT_CONTAINER:'[data-region="section-total-count-container"]',SECTION_UNREAD_COUNT:'[data-region="section-unread-count"]',PLACEHOLDER_CONTAINER:'[data-region="placeholder-container"]'},o={CONVERSATIONS_LIST:"core_message/message_drawer_conversations_list",CONVERSATIONS_LIST_ITEMS_PLACEHOLDER:"core_message/message_drawer_conversations_list_items_placeholder"},p=50,q={},r=!1,s=!1,t=function(a){return l.getRoot(a).hasClass("show")},u=function(a){a.addClass("expanded")},v=function(a){a.removeClass("expanded")},w=function(a,b){var c=a.find(n.SECTION_TOTAL_COUNT_CONTAINER),d=c.find(n.SECTION_TOTAL_COUNT);d.text(b),c.removeClass("hidden"),e.get_string("totalconversations","core_message",b).done(function(a){c.attr("aria-label",a)});var g=b>20?20:b,h=Array.apply(null,Array(g)).map(function(){return!0});f.render(o.CONVERSATIONS_LIST_ITEMS_PLACEHOLDER,{placeholders:h}).then(function(b){var c=a.find(n.PLACEHOLDER_CONTAINER);c.html(b)})["catch"](function(){})},x=function(a,b){var c=a.find(n.SECTION_UNREAD_COUNT);c.text(b),e.get_string("unreadconversations","core_message",b).done(function(a){c.attr("aria-label",a)}),b>0&&c.removeClass("hidden")},y=function(b,d,e){var g=d.map(function(b){var c=b.messages.length?b.messages[b.messages.length-1]:null,d={id:b.id,imageurl:b.imageurl,name:b.name,subname:b.subname,unreadcount:b.unreadcount,ismuted:b.ismuted,lastmessagedate:c?c.timecreated:null,sentfromcurrentuser:c?c.useridfrom==e:null,lastmessage:c?a(c.text).text()||c.text:null};if(b.type==m.CONVERSATION_TYPES.PRIVATE){var f=b.members.reduce(function(a,b){return a||b.id==e||(a=b),a},null);d.userid=f.id,d.showonlinestatus=f.showonlinestatus,d.isonline=f.isonline,d.isblocked=f.isblocked}return b.type==m.CONVERSATION_TYPES.PUBLIC&&(d.lastsendername=b.members.reduce(function(a,b){return a||b.id!=c.useridfrom||(a=b.fullname),a},null)),d});return g.forEach(function(a){(new Date).toDateString()==new Date(1e3*a.lastmessagedate).toDateString()&&(a.istoday=!0)}),f.render(o.CONVERSATIONS_LIST,{conversations:g}).then(function(a){return b.append(a),a})["catch"](c.exception)},z=function(a,b,d){return function(e,f){return h.getConversations(f,a,p+1,d,b).then(function(a){var b=a.conversations;return b.length>p?b=b.slice(0,-1):l.setLoadedAll(e,!0),d+=p,b.forEach(function(a){q[a.id]=a}),b})["catch"](c.exception)}},A=function(a){return a.find(n.SECTION_TOTAL_COUNT)},B=function(a){return a.find(n.SECTION_UNREAD_COUNT)},C=function(a){if(r){var b=A(a),c=parseInt(b.text());c+=1,b.text(c)}},D=function(a){if(r){var b=A(a),c=parseInt(b.text());c-=1,b.text(c)}},E=function(a){if(s){var b=B(a),c=parseInt(b.text());c-=1,b.text(c),c<1&&b.addClass("hidden")}},F=function(a,b){return a.find('[data-conversation-id="'+b+'"]')},G=function(a,b){return a.find('[data-user-id="'+b+'"]')},H=function(a){a.find(n.MUTED_ICON_CONTAINER).removeClass("hidden")},I=function(a){a.find(n.MUTED_ICON_CONTAINER).addClass("hidden")},J=function(a){a.find(n.BLOCKED_ICON_CONTAINER).removeClass("hidden")},K=function(a){a.find(n.BLOCKED_ICON_CONTAINER).addClass("hidden")},L=function(b,c){var d,f=c.messages[c.messages.length-1],h="";d=f.fromLoggedInUser?{key:"you",component:"core_message"}:{key:"sender",component:"core_message",param:f.userFrom.fullname};var i=[d,{key:"strftimetime24",component:"core_langconfig"}];return e.get_strings(i).then(function(a){return h=a[0],g.get([{timestamp:f.timeCreated,format:a[1]}])}).then(function(a){return a[0]}).then(function(d){b.find(n.LAST_MESSAGE_DATE).text(d).removeClass("hidden"),f.fromLoggedInUser||c.type!==m.CONVERSATION_TYPES.PRIVATE||(h="");var e=h+" "+a(f.text).text()+"";return b.find(n.LAST_MESSAGE).html(e)})},M=function(b,d){var e=b.find(n.CONVERSATION),g="";if(!e.length){var h=l.getRoot(b);l.showContent(h),l.hideEmptyMessage(h)}var i=d.messages.length,j=i?d.messages[i-1]:null;j&&(g=a(j.text).text()||j.text);var k={id:d.id,name:d.name,subname:d.subname,lastmessagedate:j?j.timeCreated:null,sentfromcurrentuser:j?j.fromLoggedInUser:null,lastmessage:g,imageurl:d.imageUrl};return q[d.id]=d,(new Date).toDateString()==new Date(1e3*k.lastmessagedate).toDateString()&&(k.istoday=!0),f.render(o.CONVERSATIONS_LIST,{conversations:[k]}).then(function(a){var c=l.getContentContainer(b);return c.prepend(a)}).then(function(){return C(b)})["catch"](c.exception)},N=function(a,b){b.remove(),D(a);var c=a.find(n.CONVERSATION);if(!c.length){var d=l.getRoot(a);l.hideContent(d),l.showEmptyMessage(d)}},O=function(a,b){var c=b.find(n.UNREAD_COUNT);c.text("0"),c.addClass("hidden"),E(a)},P=function(c,e,f,g,h){var m=l.getRoot(e),o=e.find(n.TOGGLE);e.css("min-height",o.outerHeight()),e.on("show.bs.collapse",function(){u(e),l.show(m,f,y)}),e.on("hidden.bs.collapse",function(){v(e)}),d.subscribe(i.CONTACT_BLOCKED,function(a){var b=G(e,a);b.length&&J(b)}),d.subscribe(i.CONTACT_UNBLOCKED,function(a){var b=G(e,a);b.length&&K(b)}),d.subscribe(i.CONVERSATION_SET_MUTED,function(a){var b=a.id,c=F(e,b);c.length&&H(c)}),d.subscribe(i.CONVERSATION_UNSET_MUTED,function(a){var b=a.id,c=F(e,b);c.length&&I(c)}),d.subscribe(i.CONVERSATION_NEW_LAST_MESSAGE,function(a){if(!(g&&a.type!=g||h&&!a.isFavourite||!h&&a.isFavourite)){var b=a.id,c=F(e,b);c.length?L(c,a):M(e,a)}}),d.subscribe(i.CONVERSATION_DELETED,function(a){var b=F(e,a);b.length&&N(e,b)}),d.subscribe(i.CONVERSATION_READ,function(a){var b=F(e,a);b.length&&O(e,b)}),d.subscribe(i.CONVERSATION_SET_FAVOURITE,function(a){var b=null;!h||g&&g!=a.type?g==a.type&&(b=F(e,a.id),b.length&&N(e,b)):(b=F(e,a.id),b.length||M(e,a))}),d.subscribe(i.CONVERSATION_UNSET_FAVOURITE,function(a){var b=null;h?(b=F(e,a.id),b.length&&N(e,b)):g==a.type&&(b=F(e,a.id),b.length||M(e,a))}),b.define(e,[b.events.activate]),e.on(b.events.activate,n.CONVERSATION,function(b,d){var e=a(b.target).closest(n.CONVERSATION),f=e.attr("data-conversation-id"),g=q[f];j.go(c,k.VIEW_CONVERSATION,g),d.originalEvent.preventDefault()})},Q=function(b,c,d,e,f,g,h,i){var j=a(d);if(!j.attr("data-init")){var k=z(f,g,0);if(P(b,j,k,f,g),t(j)){u(j);var m=l.getRoot(j);l.show(m,k,y)}h.then(function(a){w(j,a),r=!0})["catch"](function(){}),i.then(function(a){x(j,a),s=!0})["catch"](function(){}),j.attr("data-init",!0)}};return{show:Q,isVisible:t}}); \ No newline at end of file +define(["jquery","core/custom_interaction_events","core/notification","core/pubsub","core/str","core/templates","core/user_date","core_message/message_repository","core_message/message_drawer_events","core_message/message_drawer_router","core_message/message_drawer_routes","core_message/message_drawer_lazy_load_list","core_message/message_drawer_view_conversation_constants"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n={TOGGLE:'[data-region="toggle"]',CONVERSATION:"[data-conversation-id]",BLOCKED_ICON_CONTAINER:'[data-region="contact-icon-blocked"]',LAST_MESSAGE:'[data-region="last-message"]',LAST_MESSAGE_DATE:'[data-region="last-message-date"]',MUTED_ICON_CONTAINER:'[data-region="muted-icon-container"]',UNREAD_COUNT:'[data-region="unread-count"]',SECTION_TOTAL_COUNT:'[data-region="section-total-count"]',SECTION_TOTAL_COUNT_CONTAINER:'[data-region="section-total-count-container"]',SECTION_UNREAD_COUNT:'[data-region="section-unread-count"]',PLACEHOLDER_CONTAINER:'[data-region="placeholder-container"]'},o={CONVERSATIONS_LIST:"core_message/message_drawer_conversations_list",CONVERSATIONS_LIST_ITEMS_PLACEHOLDER:"core_message/message_drawer_conversations_list_items_placeholder"},p=50,q={},r=!1,s=!1,t=function(a){return l.getRoot(a).hasClass("show")},u=function(a){a.addClass("expanded")},v=function(a){a.removeClass("expanded")},w=function(a,b){var c=a.find(n.SECTION_TOTAL_COUNT_CONTAINER),d=c.find(n.SECTION_TOTAL_COUNT);d.text(b),c.removeClass("hidden"),e.get_string("totalconversations","core_message",b).done(function(a){c.attr("aria-label",a)});var g=b>20?20:b,h=Array.apply(null,Array(g)).map(function(){return!0});f.render(o.CONVERSATIONS_LIST_ITEMS_PLACEHOLDER,{placeholders:h}).then(function(b){var c=a.find(n.PLACEHOLDER_CONTAINER);c.html(b)})["catch"](function(){})},x=function(a,b){var c=a.find(n.SECTION_UNREAD_COUNT);c.text(b),e.get_string("unreadconversations","core_message",b).done(function(a){c.attr("aria-label",a)}),b>0&&c.removeClass("hidden")},y=function(b,d,e){var g=d.map(function(b){var c=b.messages.length?b.messages[b.messages.length-1]:null,d={id:b.id,imageurl:b.imageurl,name:b.name,subname:b.subname,unreadcount:b.unreadcount,ismuted:b.ismuted,lastmessagedate:c?c.timecreated:null,sentfromcurrentuser:c?c.useridfrom==e:null,lastmessage:c?a(c.text).text()||c.text:null};if(b.type==m.CONVERSATION_TYPES.PRIVATE){var f=b.members.reduce(function(a,b){return a||b.id==e||(a=b),a},null);d.userid=f.id,d.showonlinestatus=f.showonlinestatus,d.isonline=f.isonline,d.isblocked=f.isblocked}return b.type==m.CONVERSATION_TYPES.PUBLIC&&(d.lastsendername=b.members.reduce(function(a,b){return a||b.id!=c.useridfrom||(a=b.fullname),a},null)),d});return g.forEach(function(a){(new Date).toDateString()==new Date(1e3*a.lastmessagedate).toDateString()&&(a.istoday=!0)}),f.render(o.CONVERSATIONS_LIST,{conversations:g}).then(function(a){return b.append(a),a})["catch"](c.exception)},z=function(a,b,d){return function(e,f){return h.getConversations(f,a,p+1,d,b).then(function(a){var b=a.conversations;return b.length>p?b=b.slice(0,-1):l.setLoadedAll(e,!0),d+=p,b.forEach(function(a){q[a.id]=a}),b})["catch"](c.exception)}},A=function(a){return a.find(n.SECTION_TOTAL_COUNT)},B=function(a){return a.find(n.SECTION_UNREAD_COUNT)},C=function(a){if(r){var b=A(a),c=parseInt(b.text());c+=1,b.text(c)}},D=function(a){if(r){var b=A(a),c=parseInt(b.text());c-=1,b.text(c)}},E=function(a){if(s){var b=B(a),c=parseInt(b.text());c-=1,b.text(c),c<1&&b.addClass("hidden")}},F=function(a,b){return a.find('[data-conversation-id="'+b+'"]')},G=function(a,b){return a.find('[data-user-id="'+b+'"]')},H=function(a){a.find(n.MUTED_ICON_CONTAINER).removeClass("hidden")},I=function(a){a.find(n.MUTED_ICON_CONTAINER).addClass("hidden")},J=function(a){a.find(n.BLOCKED_ICON_CONTAINER).removeClass("hidden")},K=function(a){a.find(n.BLOCKED_ICON_CONTAINER).addClass("hidden")},L=function(b,c){var d,f=c.messages[c.messages.length-1],h="";d=f.fromLoggedInUser?{key:"you",component:"core_message"}:{key:"sender",component:"core_message",param:f.userFrom.fullname};var i=[d,{key:"strftimetime24",component:"core_langconfig"}];return e.get_strings(i).then(function(a){return h=a[0],g.get([{timestamp:f.timeCreated,format:a[1]}])}).then(function(a){return a[0]}).then(function(d){b.find(n.LAST_MESSAGE_DATE).text(d).removeClass("hidden"),f.fromLoggedInUser||c.type!==m.CONVERSATION_TYPES.PRIVATE||(h="");var e=h+" "+a(f.text).text()+"";return b.find(n.LAST_MESSAGE).html(e)})},M=function(b,d){var e=b.find(n.CONVERSATION),g="";if(!e.length){var h=l.getRoot(b);l.showContent(h),l.hideEmptyMessage(h)}var i=d.messages.length,j=i?d.messages[i-1]:null;j&&(g=a(j.text).text()||j.text);var k={id:d.id,name:d.name,subname:d.subname,lastmessagedate:j?j.timeCreated:null,sentfromcurrentuser:j?j.fromLoggedInUser:null,lastmessage:g,imageurl:d.imageUrl};return q[d.id]=d,(new Date).toDateString()==new Date(1e3*k.lastmessagedate).toDateString()&&(k.istoday=!0),f.render(o.CONVERSATIONS_LIST,{conversations:[k]}).then(function(a){var c=l.getContentContainer(b);return c.prepend(a)}).then(function(){return C(b)})["catch"](c.exception)},N=function(a,b){b.remove(),D(a);var c=a.find(n.CONVERSATION);if(!c.length){var d=l.getRoot(a);l.hideContent(d),l.showEmptyMessage(d)}},O=function(a,b){var c=b.find(n.UNREAD_COUNT);c.text("0"),c.addClass("hidden"),E(a)},P=function(c,e,f,g,h,m){var o=l.getRoot(e),p=e.find(n.TOGGLE);e.css("min-height",p.outerHeight()),e.on("show.bs.collapse",function(){u(e),l.show(o,f,y)}),e.on("hidden.bs.collapse",function(){v(e)}),d.subscribe(i.CONTACT_BLOCKED,function(a){var b=G(e,a);b.length&&J(b)}),d.subscribe(i.CONTACT_UNBLOCKED,function(a){var b=G(e,a);b.length&&K(b)}),d.subscribe(i.CONVERSATION_SET_MUTED,function(a){var b=a.id,c=F(e,b);c.length&&H(c)}),d.subscribe(i.CONVERSATION_UNSET_MUTED,function(a){var b=a.id,c=F(e,b);c.length&&I(c)}),d.subscribe(i.CONVERSATION_NEW_LAST_MESSAGE,function(a){if(!(g&&a.type!=g||h&&!a.isFavourite||!h&&a.isFavourite)){var b=a.id,c=F(e,b);c.length?L(c,a):M(e,a)}}),d.subscribe(i.CONVERSATION_DELETED,function(a){var b=F(e,a);b.length&&N(e,b)}),d.subscribe(i.CONVERSATION_READ,function(a){var b=F(e,a);b.length&&O(e,b)}),d.subscribe(i.CONVERSATION_SET_FAVOURITE,function(a){var b=null;!h||g&&g!=a.type?g==a.type&&(b=F(e,a.id),b.length&&N(e,b)):(b=F(e,a.id),b.length||M(e,a))}),d.subscribe(i.CONVERSATION_UNSET_FAVOURITE,function(a){var b=null;h?(b=F(e,a.id),b.length&&N(e,b)):g==a.type&&(b=F(e,a.id),b.length||M(e,a))}),b.define(e,[b.events.activate]),e.on(b.events.activate,n.CONVERSATION,function(b,d){var e=a(b.target).closest(n.CONVERSATION),f=e.attr("data-conversation-id"),g=q[f];j.go(c,k.VIEW_CONVERSATION,g,m),d.originalEvent.preventDefault()})},Q=function(b,c,d,e,f,g,h,i,j){var k=a(d);if(!k.attr("data-init")){var m=z(f,g,0);if(P(b,k,m,f,g,j),t(k)){u(k);var n=l.getRoot(k);l.show(n,m,y)}h.then(function(a){w(k,a),r=!0})["catch"](function(){}),i.then(function(a){x(k,a),s=!0})["catch"](function(){}),k.attr("data-init",!0)}};return{show:Q,isVisible:t}}); \ No newline at end of file diff --git a/message/amd/build/message_drawer_view_search.min.js b/message/amd/build/message_drawer_view_search.min.js index 2f3881ebc4c..071d79eb116 100644 --- a/message/amd/build/message_drawer_view_search.min.js +++ b/message/amd/build/message_drawer_view_search.min.js @@ -1 +1 @@ -define(["jquery","core/custom_interaction_events","core/notification","core/pubsub","core/str","core/templates","core_message/message_repository","core_message/message_drawer_events"],function(a,b,c,d,e,f,g,h){var i=50,j=50,k=3,l={BLOCK_ICON_CONTAINER:'[data-region="block-icon-container"]',CANCEL_SEARCH_BUTTON:'[data-action="cancel-search"]',CONTACTS_CONTAINER:'[data-region="contacts-container"]',CONTACTS_LIST:'[data-region="contacts-container"] [data-region="list"]',EMPTY_MESSAGE_CONTAINER:'[data-region="empty-message-container"]',LIST:'[data-region="list"]',LOADING_ICON_CONTAINER:'[data-region="loading-icon-container"]',LOADING_PLACEHOLDER:'[data-region="loading-placeholder"]',MESSAGES_LIST:'[data-region="messages-container"] [data-region="list"]',MESSAGES_CONTAINER:'[data-region="messages-container"]',NON_CONTACTS_CONTAINER:'[data-region="non-contacts-container"]',NON_CONTACTS_LIST:'[data-region="non-contacts-container"] [data-region="list"]',SEARCH_ICON_CONTAINER:'[data-region="search-icon-container"]',SEARCH_ACTION:'[data-action="search"]',SEARCH_INPUT:'[data-region="search-input"]',SEARCH_RESULTS_CONTAINER:'[data-region="search-results-container"]',LOAD_MORE_USERS:'[data-action="load-more-users"]',LOAD_MORE_MESSAGES:'[data-action="load-more-messages"]',BUTTON_TEXT:'[data-region="button-text"]',NO_RESULTS_CONTAINTER:'[data-region="no-results-container"]',ALL_CONTACTS_CONTAINER:'[data-region="all-contacts-container"]'},m={CONTACTS_LIST:"core_message/message_drawer_contacts_list",NON_CONTACTS_LIST:"core_message/message_drawer_non_contacts_list",MESSAGES_LIST:"core_message/message_drawer_messages_list"},n=function(a){return a.attr("data-user-id")},o=function(a){return a.find(l.EMPTY_MESSAGE_CONTAINER)},p=function(a){return a.find(l.LOADING_ICON_CONTAINER)},q=function(a){return a.find(l.LOADING_PLACEHOLDER)},r=function(a){return a.find(l.SEARCH_ICON_CONTAINER)},s=function(a){return a.find(l.SEARCH_INPUT)},t=function(a){return a.find(l.SEARCH_RESULTS_CONTAINER)},u=function(a){return a.find(l.CONTACTS_CONTAINER)},v=function(a){return a.find(l.NON_CONTACTS_CONTAINER)},w=function(a){return a.find(l.MESSAGES_CONTAINER)},x=function(a){o(a).removeClass("hidden")},y=function(a){o(a).addClass("hidden")},z=function(a){p(a).removeClass("hidden")},A=function(a){p(a).addClass("hidden")},B=function(a){q(a).removeClass("hidden")},C=function(a){q(a).addClass("hidden")},D=function(a){r(a).removeClass("hidden")},E=function(a){r(a).addClass("hidden")},F=function(a){t(a).removeClass("hidden")},G=function(a){t(a).addClass("hidden")},H=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).addClass("hidden"),b.find(l.MESSAGES_CONTAINER).addClass("hidden"),b.find(l.NO_RESULTS_CONTAINTER).removeClass("hidden")},I=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).removeClass("hidden"),b.find(l.MESSAGES_CONTAINER).removeClass("hidden"),b.find(l.NO_RESULTS_CONTAINTER).addClass("hidden")},J=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).removeClass("hidden")},K=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).addClass("hidden")},L=function(a){var b=t(a);b.find(l.CONTACTS_CONTAINER).removeClass("hidden")},M=function(a){var b=t(a);b.find(l.CONTACTS_CONTAINER).addClass("hidden")},N=function(a){var b=t(a);b.find(l.NON_CONTACTS_CONTAINER).removeClass("hidden")},O=function(a){var b=t(a);b.find(l.NON_CONTACTS_CONTAINER).addClass("hidden")},P=function(a){var b=t(a);b.find(l.MESSAGES_CONTAINER).removeClass("hidden")},Q=function(a){var b=t(a);b.find(l.MESSAGES_CONTAINER).addClass("hidden")},R=function(a){s(a).prop("disabled",!0)},S=function(a){s(a).prop("disabled",!1)},T=function(a){s(a).val("")},U=function(a){a.find(l.CONTACTS_LIST).empty(),a.find(l.NON_CONTACTS_LIST).empty(),a.find(l.MESSAGES_LIST).empty(),I(a),J(a),L(a),N(a),P(a),Z(a),ba(a)},V=function(a,b){E(a),y(b),G(b),z(a),B(b),R(a)},W=function(a,b){D(a),y(b),F(b),A(a),C(b),S(a)},X=function(a){var b=a.find(l.LOAD_MORE_USERS);b.prop("disabled",!0),b.find(l.BUTTON_TEXT).addClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).removeClass("hidden")},Y=function(a){var b=a.find(l.LOAD_MORE_USERS);b.prop("disabled",!1),b.find(l.BUTTON_TEXT).removeClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).addClass("hidden")},Z=function(a){a.find(l.LOAD_MORE_USERS).removeClass("hidden")},$=function(a){a.find(l.LOAD_MORE_USERS).addClass("hidden")},_=function(a){var b=a.find(l.LOAD_MORE_MESSAGES);b.prop("disabled",!0),b.find(l.BUTTON_TEXT).addClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).removeClass("hidden")},aa=function(a){var b=a.find(l.LOAD_MORE_MESSAGES);b.prop("disabled",!1),b.find(l.BUTTON_TEXT).removeClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).addClass("hidden")},ba=function(a){a.find(l.LOAD_MORE_MESSAGES).removeClass("hidden")},ca=function(a){a.find(l.LOAD_MORE_MESSAGES).addClass("hidden")},da=function(a,b){return a.find('[data-contact-user-id="'+b+'"]')},ea=function(a,b){var c=v(a),d=da(c,b.userid);if(d.length){d.remove();var e=u(a);e.removeClass("hidden"),e.find(l.LIST).append(d)}c.find(l.LIST).children().length||c.addClass("hidden")},fa=function(a,b){var c=u(a),d=da(c,b);if(d.length){d.remove();var e=v(a);e.removeClass("hidden"),e.find(l.LIST).append(d)}c.find(l.LIST).children().length||c.addClass("hidden")},ga=function(a,b){var c=da(a,b);c.length&&c.find(l.BLOCK_ICON_CONTAINER).removeClass("hidden")},ha=function(a,b){var c=da(a,b);c.length&&c.find(l.BLOCK_ICON_CONTAINER).addClass("hidden")},ia=function(a,b){var c=u(a),d=c.find(l.LIST);return f.render(m.CONTACTS_LIST,{contacts:b}).then(function(a){return d.append(a),a})},ja=function(a,b){var c=v(a),d=c.find(l.LIST);return f.render(m.NON_CONTACTS_LIST,{noncontacts:b}).then(function(a){return d.append(a),a})},ka=function(a,b){var c=w(a),d=c.find(l.LIST);return f.render(m.MESSAGES_LIST,{messages:b}).then(function(a){return d.append(a),a})},la=function(b,c,d,e,f){var h=!1;return X(b),g.searchUsers(c,d,e+1,f).then(function(a){var b=a.contacts,c=a.noncontacts;return b.length<=e&&c.length<=e?(h=!0,{contacts:b,noncontacts:c}):{contacts:b.slice(0,e),noncontacts:c.slice(0,e)}}).then(function(c){var d=c.contacts.length,e=c.noncontacts.length;return a.when(!d||ia(b,c.contacts),!e||ja(b,c.noncontacts)).then(function(){return{contactsCount:d,nonContactsCount:e}})}).then(function(a){return Y(b),h&&$(b),a})["catch"](function(a){throw Y(b),a})},ma=function(a,b,c,d,e){var f=!1;return _(a),g.searchMessages(b,c,d+1,e).then(function(a){var b=a.contacts;return b.length<=d?(f=!0,b):b.slice(0,d)}).then(function(b){return b.length?ka(a,b).then(function(){return b.length}):b.length}).then(function(b){return aa(a),f&&ca(a),b})["catch"](function(b){throw aa(a),b})},na=function(b,c,d,e,f,g,h){var i=n(c);return V(b,c),U(c),a.when(la(c,i,d,e,f),ma(c,i,d,g,h)).then(function(a,d){var e=a.contactsCount,f=a.nonContactsCount;W(b,c),e||f||d?(e||f?(e||M(c),f||O(c)):K(c),d||Q(c)):H(c)})},oa=function(a,e){var f=n(e),g=s(a),m="",o=0,p=0,q=function(b,d){m=g.val().trim(),""!==m&&(o=0,p=0,na(a,e,m,k,p,i,o).then(function(){g.focus(),p+=k,o+=i})["catch"](c.exception)),d.originalEvent.preventDefault()};b.define(g,[b.events.enter]),b.define(a,[b.events.activate]),b.define(e,[b.events.activate]),g.on(b.events.enter,q),a.on(b.events.activate,l.SEARCH_ACTION,q),e.on(b.events.activate,l.LOAD_MORE_MESSAGES,function(a,b){""!==m&&ma(e,f,m,i,o).then(function(){o+=i})["catch"](c.exception),b.originalEvent.preventDefault()}),e.on(b.events.activate,l.LOAD_MORE_USERS,function(a,b){""!==m&&la(e,f,m,j,p).then(function(){p+=j})["catch"](c.exception),b.originalEvent.preventDefault()}),a.on(b.events.activate,l.CANCEL_SEARCH_BUTTON,function(){T(a),x(e),D(a),G(e),A(a),C(e),p=0,o=0}),d.subscribe(h.CONTACT_ADDED,function(a){ea(e,a)}),d.subscribe(h.CONTACT_REMOVED,function(a){fa(e,a)}),d.subscribe(h.CONTACT_BLOCKED,function(a){ga(e,a)}),d.subscribe(h.CONTACT_UNBLOCKED,function(a){ha(e,a)})},pa=function(b,c,d){d.attr("data-init")||(oa(c,d),d.attr("data-init",!0));var e=s(c);return e.focus(),a.Deferred().resolve().promise()},qa=function(a){var b=s(a),c=b.val().trim();return e.get_string("messagedrawerviewsearch","core_message",c)};return{show:pa,description:qa}}); \ No newline at end of file +define(["jquery","core/custom_interaction_events","core/notification","core/pubsub","core/str","core/templates","core_message/message_repository","core_message/message_drawer_events"],function(a,b,c,d,e,f,g,h){var i=50,j=50,k=3,l={BLOCK_ICON_CONTAINER:'[data-region="block-icon-container"]',CANCEL_SEARCH_BUTTON:'[data-action="cancel-search"]',CONTACTS_CONTAINER:'[data-region="contacts-container"]',CONTACTS_LIST:'[data-region="contacts-container"] [data-region="list"]',EMPTY_MESSAGE_CONTAINER:'[data-region="empty-message-container"]',LIST:'[data-region="list"]',LOADING_ICON_CONTAINER:'[data-region="loading-icon-container"]',LOADING_PLACEHOLDER:'[data-region="loading-placeholder"]',MESSAGES_LIST:'[data-region="messages-container"] [data-region="list"]',MESSAGES_CONTAINER:'[data-region="messages-container"]',NON_CONTACTS_CONTAINER:'[data-region="non-contacts-container"]',NON_CONTACTS_LIST:'[data-region="non-contacts-container"] [data-region="list"]',SEARCH_ICON_CONTAINER:'[data-region="search-icon-container"]',SEARCH_ACTION:'[data-action="search"]',SEARCH_INPUT:'[data-region="search-input"]',SEARCH_RESULTS_CONTAINER:'[data-region="search-results-container"]',LOAD_MORE_USERS:'[data-action="load-more-users"]',LOAD_MORE_MESSAGES:'[data-action="load-more-messages"]',BUTTON_TEXT:'[data-region="button-text"]',NO_RESULTS_CONTAINTER:'[data-region="no-results-container"]',ALL_CONTACTS_CONTAINER:'[data-region="all-contacts-container"]'},m={CONTACTS_LIST:"core_message/message_drawer_contacts_list",NON_CONTACTS_LIST:"core_message/message_drawer_non_contacts_list",MESSAGES_LIST:"core_message/message_drawer_messages_list"},n=function(a){return a.attr("data-user-id")},o=function(a){return a.find(l.EMPTY_MESSAGE_CONTAINER)},p=function(a){return a.find(l.LOADING_ICON_CONTAINER)},q=function(a){return a.find(l.LOADING_PLACEHOLDER)},r=function(a){return a.find(l.SEARCH_ICON_CONTAINER)},s=function(a){return a.find(l.SEARCH_INPUT)},t=function(a){return a.find(l.SEARCH_RESULTS_CONTAINER)},u=function(a){return a.find(l.CONTACTS_CONTAINER)},v=function(a){return a.find(l.NON_CONTACTS_CONTAINER)},w=function(a){return a.find(l.MESSAGES_CONTAINER)},x=function(a){o(a).removeClass("hidden")},y=function(a){o(a).addClass("hidden")},z=function(a){p(a).removeClass("hidden")},A=function(a){p(a).addClass("hidden")},B=function(a){q(a).removeClass("hidden")},C=function(a){q(a).addClass("hidden")},D=function(a){r(a).removeClass("hidden")},E=function(a){r(a).addClass("hidden")},F=function(a){t(a).removeClass("hidden")},G=function(a){t(a).addClass("hidden")},H=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).addClass("hidden"),b.find(l.MESSAGES_CONTAINER).addClass("hidden"),b.find(l.NO_RESULTS_CONTAINTER).removeClass("hidden")},I=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).removeClass("hidden"),b.find(l.MESSAGES_CONTAINER).removeClass("hidden"),b.find(l.NO_RESULTS_CONTAINTER).addClass("hidden")},J=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).removeClass("hidden")},K=function(a){var b=t(a);b.find(l.ALL_CONTACTS_CONTAINER).addClass("hidden")},L=function(a){var b=t(a);b.find(l.CONTACTS_CONTAINER).removeClass("hidden")},M=function(a){var b=t(a);b.find(l.CONTACTS_CONTAINER).addClass("hidden")},N=function(a){var b=t(a);b.find(l.NON_CONTACTS_CONTAINER).removeClass("hidden")},O=function(a){var b=t(a);b.find(l.NON_CONTACTS_CONTAINER).addClass("hidden")},P=function(a){var b=t(a);b.find(l.MESSAGES_CONTAINER).removeClass("hidden")},Q=function(a){var b=t(a);b.find(l.MESSAGES_CONTAINER).addClass("hidden")},R=function(a){s(a).prop("disabled",!0)},S=function(a){s(a).prop("disabled",!1)},T=function(a){s(a).val("")},U=function(a){a.find(l.CONTACTS_LIST).empty(),a.find(l.NON_CONTACTS_LIST).empty(),a.find(l.MESSAGES_LIST).empty(),I(a),J(a),L(a),N(a),P(a),Z(a),ba(a)},V=function(a,b){E(a),y(b),G(b),z(a),B(b),R(a)},W=function(a,b){D(a),y(b),F(b),A(a),C(b),S(a)},X=function(a){var b=a.find(l.LOAD_MORE_USERS);b.prop("disabled",!0),b.find(l.BUTTON_TEXT).addClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).removeClass("hidden")},Y=function(a){var b=a.find(l.LOAD_MORE_USERS);b.prop("disabled",!1),b.find(l.BUTTON_TEXT).removeClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).addClass("hidden")},Z=function(a){a.find(l.LOAD_MORE_USERS).removeClass("hidden")},$=function(a){a.find(l.LOAD_MORE_USERS).addClass("hidden")},_=function(a){var b=a.find(l.LOAD_MORE_MESSAGES);b.prop("disabled",!0),b.find(l.BUTTON_TEXT).addClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).removeClass("hidden")},aa=function(a){var b=a.find(l.LOAD_MORE_MESSAGES);b.prop("disabled",!1),b.find(l.BUTTON_TEXT).removeClass("hidden"),b.find(l.LOADING_ICON_CONTAINER).addClass("hidden")},ba=function(a){a.find(l.LOAD_MORE_MESSAGES).removeClass("hidden")},ca=function(a){a.find(l.LOAD_MORE_MESSAGES).addClass("hidden")},da=function(a,b){return a.find('[data-contact-user-id="'+b+'"]')},ea=function(a,b){var c=v(a),d=da(c,b.userid);if(d.length){d.remove();var e=u(a);e.removeClass("hidden"),e.find(l.LIST).append(d)}c.find(l.LIST).children().length||c.addClass("hidden")},fa=function(a,b){var c=u(a),d=da(c,b);if(d.length){d.remove();var e=v(a);e.removeClass("hidden"),e.find(l.LIST).append(d)}c.find(l.LIST).children().length||c.addClass("hidden")},ga=function(a,b){var c=da(a,b);c.length&&c.find(l.BLOCK_ICON_CONTAINER).removeClass("hidden")},ha=function(a,b){var c=da(a,b);c.length&&c.find(l.BLOCK_ICON_CONTAINER).addClass("hidden")},ia=function(a,b){var c=u(a),d=a.attr("data-in-panel"),e=c.find(l.LIST);return f.render(m.CONTACTS_LIST,{contacts:b,frompanel:d}).then(function(a){return e.append(a),a})},ja=function(a,b){var c=v(a),d=a.attr("data-in-panel"),e=c.find(l.LIST);return f.render(m.NON_CONTACTS_LIST,{noncontacts:b,frompanel:d}).then(function(a){return e.append(a),a})},ka=function(a,b){var c=w(a),d=a.attr("data-in-panel"),e=c.find(l.LIST);return f.render(m.MESSAGES_LIST,{messages:b,frompanel:d}).then(function(a){return e.append(a),a})},la=function(b,c,d,e,f){var h=!1;return X(b),g.searchUsers(c,d,e+1,f).then(function(a){var b=a.contacts,c=a.noncontacts;return b.length<=e&&c.length<=e?(h=!0,{contacts:b,noncontacts:c}):{contacts:b.slice(0,e),noncontacts:c.slice(0,e)}}).then(function(c){var d=c.contacts.length,e=c.noncontacts.length;return a.when(!d||ia(b,c.contacts),!e||ja(b,c.noncontacts)).then(function(){return{contactsCount:d,nonContactsCount:e}})}).then(function(a){return Y(b),h&&$(b),a})["catch"](function(a){throw Y(b),a})},ma=function(a,b,c,d,e){var f=!1;return _(a),g.searchMessages(b,c,d+1,e).then(function(a){var b=a.contacts;return b.length<=d?(f=!0,b):b.slice(0,d)}).then(function(b){return b.length?ka(a,b).then(function(){return b.length}):b.length}).then(function(b){return aa(a),f&&ca(a),b})["catch"](function(b){throw aa(a),b})},na=function(b,c,d,e,f,g,h){var i=n(c);return V(b,c),U(c),a.when(la(c,i,d,e,f),ma(c,i,d,g,h)).then(function(a,d){var e=a.contactsCount,f=a.nonContactsCount;W(b,c),e||f||d?(e||f?(e||M(c),f||O(c)):K(c),d||Q(c)):H(c)})},oa=function(a,e){var f=n(e),g=s(a),m="",o=0,p=0,q=function(b,d){m=g.val().trim(),""!==m&&(o=0,p=0,na(a,e,m,k,p,i,o).then(function(){g.focus(),p+=k,o+=i})["catch"](c.exception)),d.originalEvent.preventDefault()};b.define(g,[b.events.enter]),b.define(a,[b.events.activate]),b.define(e,[b.events.activate]),g.on(b.events.enter,q),a.on(b.events.activate,l.SEARCH_ACTION,q),e.on(b.events.activate,l.LOAD_MORE_MESSAGES,function(a,b){""!==m&&ma(e,f,m,i,o).then(function(){o+=i})["catch"](c.exception),b.originalEvent.preventDefault()}),e.on(b.events.activate,l.LOAD_MORE_USERS,function(a,b){""!==m&&la(e,f,m,j,p).then(function(){p+=j})["catch"](c.exception),b.originalEvent.preventDefault()}),a.on(b.events.activate,l.CANCEL_SEARCH_BUTTON,function(){T(a),x(e),D(a),G(e),A(a),C(e),p=0,o=0}),d.subscribe(h.CONTACT_ADDED,function(a){ea(e,a)}),d.subscribe(h.CONTACT_REMOVED,function(a){fa(e,a)}),d.subscribe(h.CONTACT_BLOCKED,function(a){ga(e,a)}),d.subscribe(h.CONTACT_UNBLOCKED,function(a){ha(e,a)})},pa=function(b,c,d){d.attr("data-init")||(oa(c,d),d.attr("data-init",!0));var e=s(c);return e.focus(),a.Deferred().resolve().promise()},qa=function(a){if("object"!=typeof a)return e.get_string("messagedrawerviewsearch","core_message");var b=s(a),c=b.val().trim();return e.get_string("messagedrawerviewsearch","core_message",c)};return{show:pa,description:qa}}); \ No newline at end of file diff --git a/message/amd/src/message_drawer.js b/message/amd/src/message_drawer.js index 8823ac09cda..9a800c53df8 100644 --- a/message/amd/src/message_drawer.js +++ b/message/amd/src/message_drawer.js @@ -53,6 +53,8 @@ function( ) { var SELECTORS = { + PANEL_BODY_CONTAINER: '[data-region="panel-body-container"]', + PANEL_HEADER_CONTAINER: '[data-region="panel-header-container"]', VIEW_CONTACT: '[data-region="view-contact"]', VIEW_CONTACTS: '[data-region="view-contacts"]', VIEW_CONVERSATION: '[data-region="view-conversation"]', @@ -77,10 +79,16 @@ function( * @return {array} elements Found route container objects. */ var getParametersForRoute = function(namespace, root, selector) { - var candidates = root.children(); - var header = candidates.filter(SELECTORS.HEADER_CONTAINER).find(selector); - var body = candidates.filter(SELECTORS.BODY_CONTAINER).find(selector); - var footer = candidates.filter(SELECTORS.FOOTER_CONTAINER).find(selector); + + var header = root.find(SELECTORS.HEADER_CONTAINER).find(selector); + if (!header.length) { + header = root.find(SELECTORS.PANEL_HEADER_CONTAINER).find(selector); + } + var body = root.find(SELECTORS.BODY_CONTAINER).find(selector); + if (!body.length) { + body = root.find(SELECTORS.PANEL_BODY_CONTAINER).find(selector); + } + var footer = root.find(SELECTORS.FOOTER_CONTAINER).find(selector); return [ namespace, @@ -193,6 +201,7 @@ function( var params = paramAttributes.map(function(attribute) { return attribute.nodeValue; }); + var routeParams = [namespace, route].concat(params); Router.go.apply(null, routeParams); diff --git a/message/amd/src/message_drawer_router.js b/message/amd/src/message_drawer_router.js index 5134ee6d037..a03b86cfa5b 100644 --- a/message/amd/src/message_drawer_router.js +++ b/message/amd/src/message_drawer_router.js @@ -80,6 +80,9 @@ function( */ var changeRoute = function(namespace, newRoute) { var newConfig; + + // Check of the Route change call is made from an element in the app panel. + var fromPanel = [].slice.call(arguments).includes('frompanel'); // Get the rest of the arguments, if any. var args = [].slice.call(arguments, 2); var renderPromise = $.Deferred().resolve().promise(); @@ -99,13 +102,24 @@ function( } element.removeClass('previous'); + element.attr('data-from-panel', false); if (isMatch) { + if (fromPanel) { + // Set this attribute to let the conversation renderer know not to show a back button. + element.attr('data-from-panel', true); + } element.removeClass('hidden'); element.attr('aria-hidden', false); } else { - element.addClass('hidden'); - element.attr('aria-hidden', true); + // For the message index page elements in the left panel should not be hidden. + if (!element.attr('data-in-panel')) { + element.addClass('hidden'); + element.attr('aria-hidden', true); + } else if (newRoute == 'view-search' || newRoute == 'view-overview') { + element.addClass('hidden'); + element.attr('aria-hidden', true); + } } }); }); @@ -163,7 +177,8 @@ function( */ var go = function(namespace) { var currentFocusElement = $(document.activeElement); - var record = changeRoute.apply(null, arguments); + + var record = changeRoute.apply(namespace, arguments); var inHistory = false; if (!history[namespace]) { @@ -222,7 +237,6 @@ function( if (typeof element !== 'object' || !element) { return; } - // Update the aria label for the back button. element.find(SELECTORS.ROUTES_BACK).attr('aria-label', label); }); diff --git a/message/amd/src/message_drawer_view_conversation_renderer.js b/message/amd/src/message_drawer_view_conversation_renderer.js index d0b67f23eff..af0c886857b 100644 --- a/message/amd/src/message_drawer_view_conversation_renderer.js +++ b/message/amd/src/message_drawer_view_conversation_renderer.js @@ -780,7 +780,7 @@ function( var renderHeader = function(header, body, footer, data) { var headerContainer = getHeaderContent(header); var template = TEMPLATES.HEADER_PUBLIC; - + data.context.showrouteback = (header.attr('data-from-panel') === "false"); if (data.type == CONVERSATION_TYPES.PRIVATE) { template = data.showControls ? TEMPLATES.HEADER_PRIVATE : TEMPLATES.HEADER_PRIVATE_NO_CONTROLS; } diff --git a/message/amd/src/message_drawer_view_overview.js b/message/amd/src/message_drawer_view_overview.js index 74f4d71d4d6..1cc474ff55d 100644 --- a/message/amd/src/message_drawer_view_overview.js +++ b/message/amd/src/message_drawer_view_overview.js @@ -219,6 +219,7 @@ function( registerEventListeners(namespace, header); header.attr('data-init', true); } + var fromPanel = header.attr('data-in-panel') ? 'frompanel' : null; getSearchInput(header).val(''); var loggedInUserId = getLoggedInUserId(body); @@ -245,7 +246,7 @@ function( }); Section.show(namespace, null, sectionRoot, null, sectionType, includeFavourites, - totalCountPromise, unreadCountPromise); + totalCountPromise, unreadCountPromise, fromPanel); }); return allCounts.then(function(result) { diff --git a/message/amd/src/message_drawer_view_overview_section.js b/message/amd/src/message_drawer_view_overview_section.js index 01dba3e5040..6409566cca0 100644 --- a/message/amd/src/message_drawer_view_overview_section.js +++ b/message/amd/src/message_drawer_view_overview_section.js @@ -525,8 +525,9 @@ function( * @param {Function} loadCallback The callback to load items. * @param {Number} type The conversation type for this section * @param {bool} includeFavourites If this section includes favourites + * @param {String} fromPanel Routing argument to send if the section is loaded in message index left panel. */ - var registerEventListeners = function(namespace, root, loadCallback, type, includeFavourites) { + var registerEventListeners = function(namespace, root, loadCallback, type, includeFavourites, fromPanel) { var listRoot = LazyLoadList.getRoot(root); // Set the minimum height of the section to the height of the toggle. This @@ -641,7 +642,7 @@ function( var conversationElement = $(e.target).closest(SELECTORS.CONVERSATION); var conversationId = conversationElement.attr('data-conversation-id'); var conversation = loadedConversationsById[conversationId]; - MessageDrawerRouter.go(namespace, MessageDrawerRoutes.VIEW_CONVERSATION, conversation); + MessageDrawerRouter.go(namespace, MessageDrawerRoutes.VIEW_CONVERSATION, conversation, fromPanel); data.originalEvent.preventDefault(); }); @@ -658,13 +659,15 @@ function( * @param {bool} includeFavourites If this section includes favourites * @param {Object} totalCountPromise Resolves wth the total conversations count * @param {Object} unreadCountPromise Resolves wth the unread conversations count + * @param {bool} fromPanel shown in message app panel. */ - var show = function(namespace, header, body, footer, type, includeFavourites, totalCountPromise, unreadCountPromise) { + var show = function(namespace, header, body, footer, type, includeFavourites, totalCountPromise, unreadCountPromise, + fromPanel) { var root = $(body); if (!root.attr('data-init')) { var loadCallback = getLoadCallback(type, includeFavourites, 0); - registerEventListeners(namespace, root, loadCallback, type, includeFavourites); + registerEventListeners(namespace, root, loadCallback, type, includeFavourites, fromPanel); if (isVisible(root)) { setExpanded(root); diff --git a/message/amd/src/message_drawer_view_search.js b/message/amd/src/message_drawer_view_search.js index 8db0aa77f0e..8113f99b8b3 100644 --- a/message/amd/src/message_drawer_view_search.js +++ b/message/amd/src/message_drawer_view_search.js @@ -621,9 +621,10 @@ function( */ var renderContacts = function(root, contacts) { var container = getContactsContainer(root); + var frompanel = root.attr('data-in-panel'); var list = container.find(SELECTORS.LIST); - return Templates.render(TEMPLATES.CONTACTS_LIST, {contacts: contacts}) + return Templates.render(TEMPLATES.CONTACTS_LIST, {contacts: contacts, frompanel: frompanel}) .then(function(html) { list.append(html); return html; @@ -639,9 +640,10 @@ function( */ var renderNonContacts = function(root, nonContacts) { var container = getNonContactsContainer(root); + var frompanel = root.attr('data-in-panel'); var list = container.find(SELECTORS.LIST); - return Templates.render(TEMPLATES.NON_CONTACTS_LIST, {noncontacts: nonContacts}) + return Templates.render(TEMPLATES.NON_CONTACTS_LIST, {noncontacts: nonContacts, frompanel: frompanel}) .then(function(html) { list.append(html); return html; @@ -657,9 +659,10 @@ function( */ var renderMessages = function(root, messages) { var container = getMessagesContainer(root); + var frompanel = root.attr('data-in-panel'); var list = container.find(SELECTORS.LIST); - return Templates.render(TEMPLATES.MESSAGES_LIST, {messages: messages}) + return Templates.render(TEMPLATES.MESSAGES_LIST, {messages: messages, frompanel: frompanel}) .then(function(html) { list.append(html); return html; @@ -945,7 +948,6 @@ function( registerEventListeners(header, body); body.attr('data-init', true); } - var searchInput = getSearchInput(header); searchInput.focus(); @@ -959,6 +961,9 @@ function( * @return {Object} jQuery promise */ var description = function(header) { + if (typeof header !== 'object') { + return Str.get_string('messagedrawerviewsearch', 'core_message'); + } var searchInput = getSearchInput(header); var searchText = searchInput.val().trim(); return Str.get_string('messagedrawerviewsearch', 'core_message', searchText); diff --git a/message/classes/helper.php b/message/classes/helper.php index a1099b9d4bb..07d4ca983b0 100644 --- a/message/classes/helper.php +++ b/message/classes/helper.php @@ -758,7 +758,8 @@ class helper { 'notification' => $notification ], 'sendtouser' => false, - 'conversationid' => false + 'conversationid' => false, + 'isdrawer' => $isdrawer ]; if ($sendtouser) { diff --git a/message/index.php b/message/index.php index 5883633f4b5..949685d6c4c 100644 --- a/message/index.php +++ b/message/index.php @@ -59,7 +59,7 @@ if ($userid) { } $PAGE->set_url($url); $PAGE->set_context(context_user::instance($USER->id)); -$PAGE->set_pagelayout('standard'); +$PAGE->set_pagelayout('mydashboard'); $strmessages = get_string('messages', 'message'); @@ -86,6 +86,5 @@ if (!get_user_preferences('core_message_migrate_data', false)) { \core\output\notification::NOTIFY_WARNING); echo $OUTPUT->render($notify); } -echo $OUTPUT->heading(get_string('messages', 'message')); echo \core_message\helper::render_messaging_widget(false, $userid, $conversationid); echo $OUTPUT->footer(); diff --git a/message/templates/message_drawer_contacts_list.mustache b/message/templates/message_drawer_contacts_list.mustache index 8d24769fe38..a9d96f5ddff 100644 --- a/message/templates/message_drawer_contacts_list.mustache +++ b/message/templates/message_drawer_contacts_list.mustache @@ -41,11 +41,17 @@ data-route="view-conversation" {{#conversationid}} data-route-param-1="{{.}}" + {{#frompanel}} + data-route-param-2="frompanel" + {{/frompanel}} {{/conversationid}} {{^conversationid}} data-route-param-1="false" data-route-param-2="create" data-route-param-3="{{id}}" + {{#frompanel}} + data-route-param-4="frompanel" + {{/frompanel}} {{/conversationid}} data-contact-user-id="{{id}}" data-region="contact" diff --git a/message/templates/message_drawer_icon_back.mustache b/message/templates/message_drawer_icon_back.mustache index d9219708a87..3c533f14c62 100644 --- a/message/templates/message_drawer_icon_back.mustache +++ b/message/templates/message_drawer_icon_back.mustache @@ -33,5 +33,10 @@ {} }} -{{#pix}} i/previous, core {{/pix}} -{{#pix}} i/next, core {{/pix}} \ No newline at end of file +
+ {{#pix}} i/previous, core {{/pix}} + {{#pix}} i/next, core {{/pix}} +
+
+ {{#pix}} e/cancel, core {{/pix}} +
\ No newline at end of file diff --git a/message/templates/message_drawer_messages_list.mustache b/message/templates/message_drawer_messages_list.mustache index 97332f74a4c..f623631c420 100644 --- a/message/templates/message_drawer_messages_list.mustache +++ b/message/templates/message_drawer_messages_list.mustache @@ -41,11 +41,17 @@ data-route="view-conversation" {{#conversationid}} data-route-param-1="{{.}}" + {{#frompanel}} + data-route-param-2="frompanel" + {{/frompanel}} {{/conversationid}} {{^conversationid}} data-route-param-1="false" data-route-param-2="create" data-route-param-3="{{userid}}" + {{#frompanel}} + data-route-param-4="frompanel" + {{/frompanel}} {{/conversationid}} data-conversation-id="{{conversationid}}" role="button" diff --git a/message/templates/message_drawer_non_contacts_list.mustache b/message/templates/message_drawer_non_contacts_list.mustache index ae5c9a94016..3573979bf2a 100644 --- a/message/templates/message_drawer_non_contacts_list.mustache +++ b/message/templates/message_drawer_non_contacts_list.mustache @@ -41,11 +41,17 @@ data-route="view-conversation" {{#conversationid}} data-route-param-1="{{.}}" + {{#frompanel}} + data-route-param-2="frompanel" + {{/frompanel}} {{/conversationid}} {{^conversationid}} data-route-param-1="false" data-route-param-2="create" data-route-param-3="{{id}}" + {{#frompanel}} + data-route-param-4="frompanel" + {{/frompanel}} {{/conversationid}} role="button" > diff --git a/message/templates/message_drawer_view_contacts_header.mustache b/message/templates/message_drawer_view_contacts_header.mustache index 6c816bf0416..cef660d585e 100644 --- a/message/templates/message_drawer_view_contacts_header.mustache +++ b/message/templates/message_drawer_view_contacts_header.mustache @@ -36,11 +36,13 @@ }}