From 75a5a675f05162e58522463bafd710994e156df1 Mon Sep 17 00:00:00 2001 From: ilhan Date: Tue, 6 Aug 2019 15:03:55 +0300 Subject: [PATCH 1/3] fix(ui5-multicombobox): enable closing on icon click --- packages/main/src/MultiComboBox.js | 2 +- packages/main/test/specs/MultiComboBox.spec.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/main/src/MultiComboBox.js b/packages/main/src/MultiComboBox.js index 59162bf06363..8a0323501c3e 100644 --- a/packages/main/src/MultiComboBox.js +++ b/packages/main/src/MultiComboBox.js @@ -353,7 +353,7 @@ class MultiComboBox extends UI5Element { const popover = this._getPopover(isMorePopover); const otherPopover = this._getPopover(!isMorePopover); - if (popover && popover._isOpen) { + if (popover && popover.opened) { return popover.close(); } diff --git a/packages/main/test/specs/MultiComboBox.spec.js b/packages/main/test/specs/MultiComboBox.spec.js index b64bdd6bdff4..6dca5558cb4e 100644 --- a/packages/main/test/specs/MultiComboBox.spec.js +++ b/packages/main/test/specs/MultiComboBox.spec.js @@ -3,6 +3,19 @@ const assert = require("assert"); describe("MultiComboBox general interaction", () => { browser.url("http://localhost:8080/test-resources/sap/ui/webcomponents/main/pages/MultiComboBox.html"); + describe("toggling", () => { + it("opens/closes", () => { + const icon = browser.findElementDeep("#mcb >>> #ui5-multi-combobox-input ui5-icon"); + const popover = browser.findElementDeep("#mcb >>> .ui5-multi-combobox-all-items-popover"); + + icon.click(); + assert.ok(popover.isDisplayedInViewport(), "Popover should be displayed in the viewport"); + + icon.click(); + assert.ok(popover.isDisplayedInViewport(), "Popover should close"); + }); + }); + describe("selection and filtering", () => { it("Opens all items popover, selects and deselects the first item", () => { @@ -34,6 +47,9 @@ describe("MultiComboBox general interaction", () => { assert.strictEqual(paramsInput.getValue(), "0", "no parameter should be passed if no items are selected"); assert.strictEqual(callCountInput.getValue(), "2", "Event should be called once"); + icon.click(); + assert.ok(popover.isDisplayedInViewport(), "Popover should close"); + resetBtn.click(); }); From e940ea4f3e71314277c04cee4ee83f242c0e5c6c Mon Sep 17 00:00:00 2001 From: ilhan Date: Tue, 6 Aug 2019 15:03:55 +0300 Subject: [PATCH 2/3] fix(ui5-multicombobox): enable closing on icon click --- .../test/sap/ui/webcomponents/main/pages/MultiComboBox.html | 2 +- packages/main/test/specs/MultiComboBox.spec.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/main/test/sap/ui/webcomponents/main/pages/MultiComboBox.html b/packages/main/test/sap/ui/webcomponents/main/pages/MultiComboBox.html index deb66d2cd269..fa795af4b2d9 100644 --- a/packages/main/test/sap/ui/webcomponents/main/pages/MultiComboBox.html +++ b/packages/main/test/sap/ui/webcomponents/main/pages/MultiComboBox.html @@ -77,7 +77,7 @@ Predefined value
- + Cosy Compact Condensed diff --git a/packages/main/test/specs/MultiComboBox.spec.js b/packages/main/test/specs/MultiComboBox.spec.js index 6dca5558cb4e..7016525e244c 100644 --- a/packages/main/test/specs/MultiComboBox.spec.js +++ b/packages/main/test/specs/MultiComboBox.spec.js @@ -5,14 +5,14 @@ describe("MultiComboBox general interaction", () => { describe("toggling", () => { it("opens/closes", () => { - const icon = browser.findElementDeep("#mcb >>> #ui5-multi-combobox-input ui5-icon"); - const popover = browser.findElementDeep("#mcb >>> .ui5-multi-combobox-all-items-popover"); + const icon = browser.findElementDeep("#multi1 >>> #ui5-multi-combobox-input ui5-icon"); + const popover = browser.findElementDeep("#multi1 >>> .ui5-multi-combobox-all-items-popover >>> .ui5-popup-root"); icon.click(); assert.ok(popover.isDisplayedInViewport(), "Popover should be displayed in the viewport"); icon.click(); - assert.ok(popover.isDisplayedInViewport(), "Popover should close"); + assert.ok(!popover.isDisplayedInViewport(), "Popover should close"); }); }); From ac0d5eafa50ac48bae45eef5253fcbb6377c4988 Mon Sep 17 00:00:00 2001 From: ilhan Date: Tue, 6 Aug 2019 16:23:49 +0300 Subject: [PATCH 3/3] remove obsolete line --- packages/main/test/specs/MultiComboBox.spec.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/main/test/specs/MultiComboBox.spec.js b/packages/main/test/specs/MultiComboBox.spec.js index 7016525e244c..afc17662c0b1 100644 --- a/packages/main/test/specs/MultiComboBox.spec.js +++ b/packages/main/test/specs/MultiComboBox.spec.js @@ -47,9 +47,6 @@ describe("MultiComboBox general interaction", () => { assert.strictEqual(paramsInput.getValue(), "0", "no parameter should be passed if no items are selected"); assert.strictEqual(callCountInput.getValue(), "2", "Event should be called once"); - icon.click(); - assert.ok(popover.isDisplayedInViewport(), "Popover should close"); - resetBtn.click(); });