summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorYannick Tivisse <yti@odoo.com>2019-06-04 15:36:04 +0200
committerYannick Tivisse <yti@odoo.com>2019-06-04 15:36:04 +0200
commitfd86ffd5aa6f633de879bd62b2fe0b6826395825 (patch)
tree5a89678bec7dce6bb641b627bbff33b922e61bb5 /addons/web/static/src
parent39615db00d07a0fe31af13154a8e930bd5a4d234 (diff)
[IMP] web: Keep dropdown open and show multi company changes before reload
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/widgets/switch_company_menu.js22
1 files changed, 16 insertions, 6 deletions
diff --git a/addons/web/static/src/js/widgets/switch_company_menu.js b/addons/web/static/src/js/widgets/switch_company_menu.js
index 153c6b164cb..62e2a27f3d0 100644
--- a/addons/web/static/src/js/widgets/switch_company_menu.js
+++ b/addons/web/static/src/js/widgets/switch_company_menu.js
@@ -51,16 +51,21 @@ var SwitchCompanyMenu = Widget.extend({
* @param {MouseEvent} ev
*/
_onSwitchCompanyClick: function (ev) {
- ev.preventDefault();
- var companyID = $(ev.currentTarget).parent().data('company-id');
+ ev.stopPropagation();
+ var dropdownItem = $(ev.currentTarget).parent()
+ var dropdownMenu = dropdownItem.parent()
+ var companyID = dropdownItem.data('company-id');
var hash = $.bbq.getState()
var allowed_company_ids = _.map(hash.cids.split(','), function(company_id) {return parseInt(company_id);});
- if ($($(ev.currentTarget).parent()).find('.fa-square-o').length) {
+ if (dropdownItem.find('.fa-square-o').length) {
// 1 enabled company: Stay in single company mode
if (this.allowed_company_ids.length === 1) {
- allowed_company_ids = [companyID]
+ dropdownMenu.find('.fa-check-square').removeClass('fa-check-square').addClass('fa-square-o');
+ dropdownItem.find('.fa-square-o').removeClass('fa-square-o').addClass('fa-check-square');
+ allowed_company_ids = [companyID]
} else { // Multi company mode
allowed_company_ids.push(companyID);
+ dropdownItem.find('.fa-square-o').removeClass('fa-square-o').addClass('fa-check-square');
}
}
session.setCompanies(companyID, allowed_company_ids);
@@ -75,14 +80,19 @@ var SwitchCompanyMenu = Widget.extend({
* @param {MouseEvent} ev
*/
_onToggleCompanyClick: function (ev) {
- var companyID = $(ev.currentTarget).parent().data('company-id');
+ ev.stopPropagation();
+ var dropdownItem = $(ev.currentTarget).parent()
+ var dropdownMenu = dropdownItem.parent()
+ var companyID = dropdownItem.data('company-id');
var hash = $.bbq.getState()
var allowed_company_ids = _.map(hash.cids.split(','), function(company_id) {return parseInt(company_id);});
var current_company_id = allowed_company_ids[0];
- if ($(ev.currentTarget).find('.fa-square-o').length) {
+ if (dropdownItem.find('.fa-square-o').length) {
allowed_company_ids.push(companyID);
+ dropdownItem.find('.fa-square-o').removeClass('fa-square-o').addClass('fa-check-square');
} else {
allowed_company_ids.splice(allowed_company_ids.indexOf(companyID), 1);
+ dropdownItem.find('.fa-check-square').addClass('fa-square-o').removeClass('fa-check-square');
}
session.setCompanies(current_company_id, allowed_company_ids);
},