From 36a9cb20593db6831f8342f5c19df2b83c6f2e26 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Thu, 25 Jan 2018 11:02:13 +0100 Subject: [IMP] web: Kanban open ColumnQuickCreate if no column Part of task #38740 --- .../src/js/views/kanban/kanban_column_quick_create.js | 8 ++++++++ .../web/static/src/js/views/kanban/kanban_controller.js | 6 ++++++ addons/web/static/src/js/views/kanban/kanban_renderer.js | 16 +++++++++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src') 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(); + } + }); + } } -- cgit v1.2.3