MDL-65493 message: JS fixes for random behat fails

This commit is contained in:
Andrew Nicols
2019-09-06 08:40:56 +08:00
parent e064cef324
commit 191c5c293a
2 changed files with 22 additions and 5 deletions
+1 -1
View File
@@ -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={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"]',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.find(n.HEADER_CONTAINER).find(c);d.length||(d=b.find(n.PANEL_HEADER_CONTAINER).find(c));var e=b.find(n.BODY_CONTAINER).find(c);e.length||(e=b.find(n.PANEL_BODY_CONTAINER).find(c));var f=b.find(n.FOOTER_CONTAINER).find(c);return[a,d.length?d:null,e.length?e:null,f.length?f: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;i<e[0].attributes.length;i++)h.push(e[0].attributes[i]);var j=h.filter(function(a){var b=a.nodeName,c=g.test(b);return c});j.sort(function(a,b){var c=g.exec(a.nodeName),d=g.exec(b.nodeName),e=c.length>1?c[1]:0,f=d.length>1?d[1]:0;return e<f?-1:f<e?1:0});var l=j.map(function(a){return a.nodeValue}),m=[d,f].concat(l);k.go.apply(null,m),c.originalEvent.preventDefault()}),e.on(b.events.activate,n.ROUTES_BACK,function(a,b){k.back(d),b.originalEvent.preventDefault()}),f||(c.subscribe(m.SHOW,function(){r(d,e)}),c.subscribe(m.HIDE,function(){s(e)}),c.subscribe(m.TOGGLE_VISIBILITY,function(){t(e)?s(e):r(d,e)})),c.subscribe(m.SHOW_CONVERSATION,function(a){r(d,e),k.go(d,l.VIEW_CONVERSATION,a)}),c.subscribe(m.CREATE_CONVERSATION_WITH_USER,function(a){r(d,e),k.go(d,l.VIEW_CONVERSATION,null,"create",a)}),c.subscribe(m.SHOW_SETTINGS,function(){r(d,e),k.go(d,l.VIEW_SETTINGS)}),c.subscribe(m.PREFERENCES_UPDATED,function(a){var b=a.filter(function(a){return"message_entertosend"==a.type}),c=b.length?b[0]:null;if(c){var d=e.find(n.FOOTER_CONTAINER).find(n.VIEW_CONVERSATION);d.attr("data-enter-to-send",c.value)}})},v=function(b,c,d,e){if(b=a(b),q(c,b),u(c,b,d),d&&(r(c,b),e)){var f=e.params||[];f=[c,e.path].concat(f),k.go.apply(null,f)}};return{init:v}});
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","core/pending"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o={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"]',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"]'},p=function(a,b,c){var d=b.find(o.HEADER_CONTAINER).find(c);d.length||(d=b.find(o.PANEL_HEADER_CONTAINER).find(c));var e=b.find(o.BODY_CONTAINER).find(c);e.length||(e=b.find(o.PANEL_BODY_CONTAINER).find(c));var f=b.find(o.FOOTER_CONTAINER).find(c);return[a,d.length?d:null,e.length?e:null,f.length?f:null]},q=[[l.VIEW_CONTACT,o.VIEW_CONTACT,d.show,d.description],[l.VIEW_CONTACTS,o.VIEW_CONTACTS,e.show,e.description],[l.VIEW_CONVERSATION,o.VIEW_CONVERSATION,f.show,f.description],[l.VIEW_GROUP_INFO,o.VIEW_GROUP_INFO,g.show,g.description],[l.VIEW_OVERVIEW,o.VIEW_OVERVIEW,h.show,h.description],[l.VIEW_SEARCH,o.VIEW_SEARCH,i.show,i.description],[l.VIEW_SETTINGS,o.VIEW_SETTINGS,j.show,j.description]],r=function(a,b){q.forEach(function(c){k.add(a,c[0],p(a,b,c[1]),c[2],c[3])})},s=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)},t=function(a){a.addClass("hidden"),a.attr("aria-expanded",!1),a.attr("aria-hidden",!0)},u=function(a){return!a.hasClass("hidden")},v=function(d,e,f){b.define(e,[b.events.activate]);var g=/^data-route-param-?(\d*)$/;e.on(b.events.activate,o.ROUTES,function(b,c){for(var e=a(b.target).closest(o.ROUTES),f=e.attr("data-route"),h=[],i=0;i<e[0].attributes.length;i++)h.push(e[0].attributes[i]);var j=h.filter(function(a){var b=a.nodeName,c=g.test(b);return c});j.sort(function(a,b){var c=g.exec(a.nodeName),d=g.exec(b.nodeName),e=c.length>1?c[1]:0,f=d.length>1?d[1]:0;return e<f?-1:f<e?1:0});var l=j.map(function(a){return a.nodeValue}),m=[d,f].concat(l);k.go.apply(null,m),c.originalEvent.preventDefault()}),e.on(b.events.activate,o.ROUTES_BACK,function(a,b){k.back(d),b.originalEvent.preventDefault()}),e.on("hide.bs.collapse",".collapse",function(b){var c=new n;a(b.target).one("hidden.bs.collapse",function(){c.resolve()})}),e.on("show.bs.collapse",".collapse",function(b){var c=new n;a(b.target).one("shown.bs.collapse",function(){c.resolve()})}),f||(c.subscribe(m.SHOW,function(){s(d,e)}),c.subscribe(m.HIDE,function(){t(e)}),c.subscribe(m.TOGGLE_VISIBILITY,function(){u(e)?t(e):s(d,e)})),c.subscribe(m.SHOW_CONVERSATION,function(a){s(d,e),k.go(d,l.VIEW_CONVERSATION,a)}),c.subscribe(m.CREATE_CONVERSATION_WITH_USER,function(a){s(d,e),k.go(d,l.VIEW_CONVERSATION,null,"create",a)}),c.subscribe(m.SHOW_SETTINGS,function(){s(d,e),k.go(d,l.VIEW_SETTINGS)}),c.subscribe(m.PREFERENCES_UPDATED,function(a){var b=a.filter(function(a){return"message_entertosend"==a.type}),c=b.length?b[0]:null;if(c){var d=e.find(o.FOOTER_CONTAINER).find(o.VIEW_CONVERSATION);d.attr("data-enter-to-send",c.value)}})},w=function(b,c,d,e){if(b=a(b),r(c,b),v(c,b,d),d&&(s(c,b),e)){var f=e.params||[];f=[c,e.path].concat(f),k.go.apply(null,f)}};return{init:w}});
+21 -4
View File
@@ -34,7 +34,8 @@ define(
'core_message/message_drawer_view_settings',
'core_message/message_drawer_router',
'core_message/message_drawer_routes',
'core_message/message_drawer_events'
'core_message/message_drawer_events',
'core/pending',
],
function(
$,
@@ -49,7 +50,8 @@ function(
ViewSettings,
Router,
Routes,
Events
Events,
Pending
) {
var SELECTORS = {
@@ -215,6 +217,22 @@ function(
data.originalEvent.preventDefault();
});
// These are theme-specific to help us fix random behat fails.
// These events target those events defined in BS3 and BS4 onwards.
root.on('hide.bs.collapse', '.collapse', function(e) {
var pendingPromise = new Pending();
$(e.target).one('hidden.bs.collapse', function() {
pendingPromise.resolve();
});
});
root.on('show.bs.collapse', '.collapse', function(e) {
var pendingPromise = new Pending();
$(e.target).one('shown.bs.collapse', function() {
pendingPromise.resolve();
});
});
if (!alwaysVisible) {
PubSub.subscribe(Events.SHOW, function() {
show(namespace, root);
@@ -267,8 +285,7 @@ function(
* @param {Object} root The message drawer container.
* @param {String} uniqueId Unique identifier for the Routes
* @param {bool} alwaysVisible Should we show the app now, or wait for the user?
* @param {int} sendToUser Should we message someone now?
* @param {int} conversationId The value of the conversation id, null if none
* @param {Object} route
*/
var init = function(root, uniqueId, alwaysVisible, route) {
root = $(root);