diff options
| author | Martin Trigaux <mat@odoo.com> | 2019-07-23 09:55:56 +0200 |
|---|---|---|
| committer | Martin Trigaux <mat@odoo.com> | 2019-07-23 13:41:00 +0200 |
| commit | e266c7c98a6a4b89c13eb7eb38709cc0251ea47f (patch) | |
| tree | 1b27ca28cac9f1d8577ae2bf14d0682e8920f05f /addons/web/static/src | |
| parent | 5c705c51cd8377b1c6e1bb2513db34afe48189ee (diff) | |
| parent | 5e4c1b370123dee4e6d6a91cd9582ba41c4d8bd4 (diff) | |
[MERGE] Forward port of 12.0 to saas-12.2 up to 5e4c1b370123dee
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/views/form/form_controller.js | 9 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/form/form_renderer.js | 7 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/kanban/kanban_column_progressbar.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/view_dialogs.js | 18 | ||||
| -rw-r--r-- | addons/web/static/src/xml/kanban.xml | 2 | ||||
| -rw-r--r-- | addons/web/static/src/xml/menu.xml | 2 |
6 files changed, 28 insertions, 12 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; }, }); diff --git a/addons/web/static/src/xml/kanban.xml b/addons/web/static/src/xml/kanban.xml index 0908d052980..9077df2e0ad 100644 --- a/addons/web/static/src/xml/kanban.xml +++ b/addons/web/static/src/xml/kanban.xml @@ -110,7 +110,7 @@ <div class="o_kanban_counter_progress progress"> <t t-foreach="widget.colors" t-as="color"> <t t-set="count" t-value="widget.subgroupCounts and widget.subgroupCounts[color] or 0"/> - <div t-attf-class="progress-bar transition-off bg-#{color_value}-full#{count ? ' o_bar_has_records' : ''}#{widget.activeFilter ? ' active progress-bar-striped' : ''}" + <div t-attf-class="progress-bar transition-off bg-#{color_value}-full#{count ? ' o_bar_has_records' : ''}#{widget.activeFilter ? ' progress-bar-animated progress-bar-striped' : ''}" t-att-data-filter="color" t-attf-data-original-title="#{count} #{color}" aria-valuemin="0" aria-valuemax="100" t-att-aria-valuenow="count*100" role="progressbar" diff --git a/addons/web/static/src/xml/menu.xml b/addons/web/static/src/xml/menu.xml index 6a4749d1c25..086d676e02a 100644 --- a/addons/web/static/src/xml/menu.xml +++ b/addons/web/static/src/xml/menu.xml @@ -20,7 +20,7 @@ </a> <div class="dropdown-menu" role="menu"> <t t-foreach="widget.getApps()" t-as="app"> - <a role="menuitem" + <a role="menuitem" t-attf-href="#menu_id=#{app.menuID}" class="dropdown-item o_app" t-att-data-menu-id="app.menuID" t-att-data-menu-xmlid="app.xmlID" |
