diff options
Diffstat (limited to 'addons/web/static/src')
3 files changed, 29 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/kanban/kanban_column_quick_create.js b/addons/web/static/src/js/views/kanban/kanban_column_quick_create.js index b3c57bce832..66445788682 100644 --- a/addons/web/static/src/js/views/kanban/kanban_column_quick_create.js +++ b/addons/web/static/src/js/views/kanban/kanban_column_quick_create.js @@ -36,6 +36,14 @@ var ColumnQuickCreate = Widget.extend({ this.$input = this.$('input'); return this._super.apply(this, arguments); }, + /** + * Called each time the quick create is attached into the DOM + */ + on_attach_callback: function () { + if (!this.folded) { + this.$input.focus(); + } + }, //-------------------------------------------------------------------------- // Public 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 3fe6046ea82..b26ff2360ef 100644 --- a/addons/web/static/src/js/views/kanban/kanban_controller.js +++ b/addons/web/static/src/js/views/kanban/kanban_controller.js @@ -40,6 +40,12 @@ var KanbanController = BasicController.extend({ this.on_create = params.on_create; this.hasButtons = params.hasButtons; }, + /** + * Called each time the kanban view is attached into the DOM. + */ + on_attach_callback: function () { + this.renderer.on_attach_callback(); + }, //-------------------------------------------------------------------------- // Public 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 dbc44d30172..c3a14473787 100644 --- a/addons/web/static/src/js/views/kanban/kanban_renderer.js +++ b/addons/web/static/src/js/views/kanban/kanban_renderer.js @@ -109,6 +109,14 @@ var KanbanRenderer = BasicRenderer.extend({ this._setState(state); }, + /** + * Called each time the renderer is attached into the DOM. + */ + on_attach_callback: function () { + if (this.quickCreate) { + this.quickCreate.on_attach_callback(); + } + }, //-------------------------------------------------------------------------- // Public @@ -284,7 +292,13 @@ var KanbanRenderer = BasicRenderer.extend({ // Enable column quickcreate if (this.createColumnEnabled) { this.quickCreate = new ColumnQuickCreate(this); - this.quickCreate.appendTo(fragment); + this.quickCreate.appendTo(fragment).then(function () { + // Open it directly if there is no column yet + if (!self.state.data.length) { + self.quickCreate.toggleFold(); + } + }); + } } |
