diff options
Diffstat (limited to 'addons/web/static/src/js/views')
6 files changed, 25 insertions, 8 deletions
diff --git a/addons/web/static/src/js/views/abstract_controller.js b/addons/web/static/src/js/views/abstract_controller.js index 0c251874480..965ce404a64 100644 --- a/addons/web/static/src/js/views/abstract_controller.js +++ b/addons/web/static/src/js/views/abstract_controller.js @@ -254,7 +254,7 @@ var AbstractController = mvc.Controller.extend(ActionMixin, { return; } self.renderer.setLocalState(localState); - return self._update(state); + return self._update(state, params); }); }); }, @@ -415,12 +415,15 @@ var AbstractController = mvc.Controller.extend(ActionMixin, { * * @private * @param {Object} state the state given by the model + * @param {Object} [params] + * @param {Object[]} [params.breadcrumbs] * @returns {Promise} */ - _update: function () { + _update: function (state, params) { // AAB: update the control panel -> this will be moved elsewhere at some point var cpContent = _.extend({}, this.controlPanelElements); this.updateControlPanel({ + breadcrumbs: params && params.breadcrumbs, cp_content: cpContent, title: this.getTitle(), }); diff --git a/addons/web/static/src/js/views/control_panel/control_panel_controller.js b/addons/web/static/src/js/views/control_panel/control_panel_controller.js index 913c226ba85..dc8fce9f5d1 100644 --- a/addons/web/static/src/js/views/control_panel/control_panel_controller.js +++ b/addons/web/static/src/js/views/control_panel/control_panel_controller.js @@ -17,6 +17,7 @@ var ControlPanelController = mvc.Controller.extend({ activate_time_range: '_onActivateTimeRange', autocompletion_filter: '_onAutoCompletionFilter', reload: '_onReload', + reset: '_onReset', }, /** @@ -244,6 +245,15 @@ var ControlPanelController = mvc.Controller.extend({ ev.stopPropagation(); this.trigger_up('search', this.model.getQuery()); }, + /** + * @private + * @param {OdooEvent} ev + */ + _onReset: function (ev) { + ev.stopPropagation(); + var state = this.model.get(); + this.renderer.updateState(state); + }, }); return ControlPanelController; diff --git a/addons/web/static/src/js/views/control_panel/search/search_bar.js b/addons/web/static/src/js/views/control_panel/search/search_bar.js index 4c2e71a378f..6248489922c 100644 --- a/addons/web/static/src/js/views/control_panel/search/search_bar.js +++ b/addons/web/static/src/js/views/control_panel/search/search_bar.js @@ -187,10 +187,16 @@ var SearchBar = Widget.extend({ */ _onAutoCompleteSelected: function (e, ui) { e.preventDefault(); - var filter = ui.item.facet.filter; + var facet = ui.item.facet; + if (!facet) { + // this happens when selecting "(no result)" item + this.trigger_up('reset'); + return; + } + var filter = facet.filter; if (filter.type === 'field') { var values = filter.autoCompleteValues; - values.push(ui.item.facet.values[0]); + values.push(facet.values[0]); this.trigger_up('autocompletion_filter', { filterId: filter.id, autoCompleteValues: values, diff --git a/addons/web/static/src/js/views/kanban/kanban_renderer.js b/addons/web/static/src/js/views/kanban/kanban_renderer.js index eda15f706d3..c69632129cd 100644 --- a/addons/web/static/src/js/views/kanban/kanban_renderer.js +++ b/addons/web/static/src/js/views/kanban/kanban_renderer.js @@ -249,7 +249,6 @@ var KanbanRenderer = BasicRenderer.extend({ */ updateState: function (state) { this._setState(state); - this._toggleNoContentHelper(); return this._super.apply(this, arguments); }, diff --git a/addons/web/static/src/js/views/list/list_editable_renderer.js b/addons/web/static/src/js/views/list/list_editable_renderer.js index 4619cb86e66..cb652cb968b 100644 --- a/addons/web/static/src/js/views/list/list_editable_renderer.js +++ b/addons/web/static/src/js/views/list/list_editable_renderer.js @@ -285,6 +285,8 @@ ListRenderer.include({ this.currentRow = null; } + // destroy widgets first + this._destroyFieldWidgets(recordID); // remove the row var $row = this.$('.o_data_row:nth(' + rowIndex + ')'); if (this.state.count >= 4) { @@ -292,8 +294,6 @@ ListRenderer.include({ } else { $row.replaceWith(this._renderEmptyRow()); } - - this._destroyFieldWidgets(recordID); }, /** * Updates the already rendered row associated to the given recordID so that diff --git a/addons/web/static/src/js/views/pivot/pivot_model.js b/addons/web/static/src/js/views/pivot/pivot_model.js index a4a2bae8fb0..989eaa448a9 100644 --- a/addons/web/static/src/js/views/pivot/pivot_model.js +++ b/addons/web/static/src/js/views/pivot/pivot_model.js @@ -992,7 +992,6 @@ var PivotModel = AbstractModel.extend({ var groupBys; var m; - for (var i = 0; i < rowGroupBys.length + 1; i++) { for (var j = 0; j < colGroupBys.length + 1; j++) { for (var k = 0; k < data[index].length; k++) { |
