summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2019-07-23 09:55:56 +0200
committerMartin Trigaux <mat@odoo.com>2019-07-23 13:41:00 +0200
commite266c7c98a6a4b89c13eb7eb38709cc0251ea47f (patch)
tree1b27ca28cac9f1d8577ae2bf14d0682e8920f05f /addons/web/static/src/js
parent5c705c51cd8377b1c6e1bb2513db34afe48189ee (diff)
parent5e4c1b370123dee4e6d6a91cd9582ba41c4d8bd4 (diff)
[MERGE] Forward port of 12.0 to saas-12.2 up to 5e4c1b370123dee
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/form/form_controller.js9
-rw-r--r--addons/web/static/src/js/views/form/form_renderer.js7
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_column_progressbar.js2
-rw-r--r--addons/web/static/src/js/views/view_dialogs.js18
4 files changed, 26 insertions, 10 deletions
diff --git a/addons/web/static/src/js/views/form/form_controller.js b/addons/web/static/src/js/views/form/form_controller.js
index 965a15276a8..34a583fbecb 100644
--- a/addons/web/static/src/js/views/form/form_controller.js
+++ b/addons/web/static/src/js/views/form/form_controller.js
@@ -599,9 +599,12 @@ var FormController = BasicController.extend({
* @private
* @param {OdooEvent} event
*/
- _onFormDialogDiscarded: function(e) {
- e.stopPropagation();
- this.renderer.focusLastActivatedWidget();
+ _onFormDialogDiscarded: function(ev) {
+ ev.stopPropagation();
+ var isFocused = this.renderer.focusLastActivatedWidget();
+ if (ev.data.callback) {
+ ev.data.callback(_.str.toBool(isFocused));
+ }
},
/**
* Opens a one2many record (potentially new) in a dialog. This handler is
diff --git a/addons/web/static/src/js/views/form/form_renderer.js b/addons/web/static/src/js/views/form/form_renderer.js
index a10e75f1944..0c4d64afb13 100644
--- a/addons/web/static/src/js/views/form/form_renderer.js
+++ b/addons/web/static/src/js/views/form/form_renderer.js
@@ -177,8 +177,11 @@ var FormRenderer = BasicRenderer.extend({
* field.
*/
focusLastActivatedWidget: function () {
- this._activateNextFieldWidget(this.state, this.lastActivatedFieldIndex - 1,
- { noAutomaticCreate: true });
+ if (this.lastActivatedFieldIndex !== -1) {
+ return this._activateNextFieldWidget(this.state, this.lastActivatedFieldIndex - 1,
+ { noAutomaticCreate: true });
+ }
+ return false;
},
/**
* returns the active tab pages for each notebook
diff --git a/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js b/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js
index 0c484931aae..6a9caa99a39 100644
--- a/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js
+++ b/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js
@@ -150,7 +150,7 @@ var KanbanColumnProgressBar = Widget.extend({
});
// Adapt active state
- $bar.toggleClass('active progress-bar-striped', key === self.activeFilter);
+ $bar.toggleClass('progress-bar-animated progress-bar-striped', key === self.activeFilter);
// Adapt width
$bar.removeClass('o_bar_has_records transition-off');
diff --git a/addons/web/static/src/js/views/view_dialogs.js b/addons/web/static/src/js/views/view_dialogs.js
index befe4247c00..4987f7cc9bc 100644
--- a/addons/web/static/src/js/views/view_dialogs.js
+++ b/addons/web/static/src/js/views/view_dialogs.js
@@ -241,8 +241,13 @@ var FormViewDialog = ViewDialog.extend({
* @override
*/
_focusOnClose: function() {
- this.trigger_up('form_dialog_discarded');
- return true;
+ var isFocusSet = false;
+ this.trigger_up('form_dialog_discarded', {
+ callback: function (isFocused) {
+ isFocusSet = isFocused;
+ },
+ });
+ return isFocusSet;
},
/**
@@ -425,8 +430,13 @@ var SelectCreateDialog = ViewDialog.extend({
* @override
*/
_focusOnClose: function() {
- this.trigger_up('form_dialog_discarded');
- return true;
+ var isFocusSet = false;
+ this.trigger_up('form_dialog_discarded', {
+ callback: function (isFocused) {
+ isFocusSet = isFocused;
+ },
+ });
+ return isFocusSet;
},
});