From c94a011d9fe334f82e41900b871ca13dff38897d Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Mon, 18 Jul 2022 11:26:12 +0200 Subject: [PATCH] FIX: prevents multi-select to use noneItem for its list (#17523) --- .../components/select-kit/multi-select-test.js | 16 +++++++++++++++- .../select-kit/addon/components/multi-select.js | 2 +- .../multi-select/multi-select-header.hbs | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/discourse/tests/integration/components/select-kit/multi-select-test.js b/app/assets/javascripts/discourse/tests/integration/components/select-kit/multi-select-test.js index bc627f7d740..e59931a8cbc 100644 --- a/app/assets/javascripts/discourse/tests/integration/components/select-kit/multi-select-test.js +++ b/app/assets/javascripts/discourse/tests/integration/components/select-kit/multi-select-test.js @@ -3,7 +3,7 @@ import { setupRenderingTest } from "discourse/tests/helpers/component-test"; import { render } from "@ember/test-helpers"; import { hbs } from "ember-cli-htmlbars"; import selectKit from "discourse/tests/helpers/select-kit-helper"; -import { paste, query } from "discourse/tests/helpers/qunit-helpers"; +import { exists, paste, query } from "discourse/tests/helpers/qunit-helpers"; const DEFAULT_CONTENT = [ { id: 1, name: "foo" }, @@ -118,4 +118,18 @@ module("Integration | Component | select-kit/multi-select", function (hooks) { assert.equal(this.subject.header().value(), "1,2"); }); + + test("no value property with no content", async function (assert) { + setDefaultState(this); + + await render(hbs` + + `); + await this.subject.expand(); + + assert.notOk( + exists(".selected-content"), + "it doesn’t render an empty content div" + ); + }); }); diff --git a/app/assets/javascripts/select-kit/addon/components/multi-select.js b/app/assets/javascripts/select-kit/addon/components/multi-select.js index 1708ca2f04b..247bc49f55d 100644 --- a/app/assets/javascripts/select-kit/addon/components/multi-select.js +++ b/app/assets/javascripts/select-kit/addon/components/multi-select.js @@ -156,7 +156,7 @@ export default SelectKitComponent.extend({ return this.selectKit.modifySelection(content); } - return this.selectKit.noneItem; + return null; } ), diff --git a/app/assets/javascripts/select-kit/addon/templates/components/multi-select/multi-select-header.hbs b/app/assets/javascripts/select-kit/addon/templates/components/multi-select/multi-select-header.hbs index d1e154f0f83..51af89f662c 100644 --- a/app/assets/javascripts/select-kit/addon/templates/components/multi-select/multi-select-header.hbs +++ b/app/assets/javascripts/select-kit/addon/templates/components/multi-select/multi-select-header.hbs @@ -3,7 +3,7 @@ {{d-icon icon}} {{/each}} - + {{d-icon this.caretIcon class="caret-icon"}}