summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorKhoi Nguyen <bng@odoo.com>2017-07-19 16:20:49 +0200
committerKhoi Nguyen <bng@odoo.com>2017-07-20 09:14:46 +0200
commit104dfe3c07d36a6487f045f31d0999cc429cb5bb (patch)
treebf68fc8439183bd26d450b935e492494f5f5c3b3 /addons/web/static/src/js
parent6fa9ea14faf14cac5ad7962f3526c9b7b15e8da3 (diff)
[FIX] web: don't fold quickcreate after adding a column in Kanban view
This commit aims to replicate saas-15 behaviour when adding columns in a Kanban view by not folding the column quick create widget when creating a new column, thereby allowing users to add multiple columns in one go.
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_controller.js5
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_quick_create.js30
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_renderer.js10
3 files changed, 28 insertions, 17 deletions
diff --git a/addons/web/static/src/js/views/kanban/kanban_controller.js b/addons/web/static/src/js/views/kanban/kanban_controller.js
index b5c60fe9ab3..2592e3d96ec 100644
--- a/addons/web/static/src/js/views/kanban/kanban_controller.js
+++ b/addons/web/static/src/js/views/kanban/kanban_controller.js
@@ -164,9 +164,10 @@ var KanbanController = BasicController.extend({
_onAddColumn: function (event) {
var self = this;
this.model.createGroup(event.data.value, this.handle).then(function () {
- self.update({}, {reload: false});
+ return self.update({}, {reload: false});
+ }).then(function () {
self._updateButtons();
- self.trigger_up('scrollTo', {selector: '.o_column_quick_create'});
+ self.renderer.quickCreateToggleFold();
});
},
/**
diff --git a/addons/web/static/src/js/views/kanban/kanban_quick_create.js b/addons/web/static/src/js/views/kanban/kanban_quick_create.js
index a87ac76d53f..4761255f7a3 100644
--- a/addons/web/static/src/js/views/kanban/kanban_quick_create.js
+++ b/addons/web/static/src/js/views/kanban/kanban_quick_create.js
@@ -159,7 +159,7 @@ var RecordQuickCreate = AbstractQuickCreate.extend({
var ColumnQuickCreate = AbstractQuickCreate.extend({
template: 'KanbanView.ColumnQuickCreate',
events: _.extend({}, AbstractQuickCreate.prototype.events, {
- 'click': '_onClick',
+ 'click': 'toggleFold',
'click input': '_onInputClicked',
'focusout': '_onFocusout',
}),
@@ -181,6 +181,22 @@ var ColumnQuickCreate = AbstractQuickCreate.extend({
},
//--------------------------------------------------------------------------
+ // Public
+ //--------------------------------------------------------------------------
+
+ /**
+ * Toggle fold/unfold the Column quick create widget
+ */
+ toggleFold: function () {
+ this.folded = !this.folded;
+ this._update();
+ if (!this.folded) {
+ this.$input.focus();
+ this.trigger_up('scrollTo', {selector: '.o_column_quick_create'});
+ }
+ },
+
+ //--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
@@ -210,18 +226,6 @@ var ColumnQuickCreate = AbstractQuickCreate.extend({
/**
* @private
- * @param {MouseEvent} event
- */
- _onClick: function () {
- this.folded = !this.folded;
- this._update();
- if (!this.folded) {
- this.$input.focus();
- this.trigger_up('scrollTo', {selector: '.o_column_quick_create'});
- }
- },
- /**
- * @private
*/
_onFocusout: function () {
var hasFocus = this.$(':focus').length > 0;
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 87275260b01..ea2f0270017 100644
--- a/addons/web/static/src/js/views/kanban/kanban_renderer.js
+++ b/addons/web/static/src/js/views/kanban/kanban_renderer.js
@@ -113,6 +113,12 @@ var KanbanRenderer = BasicRenderer.extend({
this.widgets[0].addQuickCreate();
},
/**
+ * Toggle fold/unfold the Column quick create widget
+ */
+ quickCreateToggleFold: function () {
+ this.quickCreate.toggleFold();
+ },
+ /**
* Removes a widget (record if ungrouped, column if grouped) from the view.
*
* @param {Widget} widget the instance of the widget to remove
@@ -244,8 +250,8 @@ var KanbanRenderer = BasicRenderer.extend({
// Enable column quickcreate
if (this.columnOptions.group_creatable) {
- var quickCreate = new ColumnQuickCreate(this);
- quickCreate.appendTo(fragment);
+ this.quickCreate = new ColumnQuickCreate(this);
+ this.quickCreate.appendTo(fragment);
}
}