diff options
| -rw-r--r-- | addons/web/static/src/js/views/kanban/kanban_record_quick_create.js | 2 | ||||
| -rw-r--r-- | addons/web/static/tests/views/kanban_tests.js | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js b/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js index 902a8ef22aa..eae7c6b401b 100644 --- a/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js +++ b/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js @@ -283,7 +283,7 @@ var RecordQuickCreate = Widget.extend({ } // ignore clicks if target is inside the quick create - if (this.el.contains(ev.target) && this.el !== ev.target) { + if (this.el.contains(ev.target) || this.el === ev.target) { return; } diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js index 70e63d34eda..d483bdc8418 100644 --- a/addons/web/static/tests/views/kanban_tests.js +++ b/addons/web/static/tests/views/kanban_tests.js @@ -1405,7 +1405,7 @@ QUnit.module('Views', { }); QUnit.test('quick create record: cancel when not dirty', async function (assert) { - assert.expect(9); + assert.expect(11); var kanban = await createView({ View: KanbanView, @@ -1464,6 +1464,17 @@ QUnit.module('Views', { assert.containsOnce(kanban, '.o_kanban_group:first .o_kanban_record', "first column should still contain one record"); + // click to reopen the quick create + await testUtils.dom.click(kanban.$('.o_kanban_header .o_kanban_quick_add i').first()); + assert.containsOnce(kanban, '.o_kanban_quick_create', + "should have open the quick create widget"); + + // clicking on the quick create itself should keep it open + await testUtils.dom.click(kanban.$('.o_kanban_quick_create')); + assert.containsOnce(kanban, '.o_kanban_quick_create', + "the quick create should not have been destroyed when clicked on itself"); + + kanban.destroy(); }); |
