import Component from "@ember/component"; import { computed } from "@ember/object"; import { makeArray } from "discourse-common/lib/helpers"; export default Component.extend({ tokenSeparator: "|", createdChoices: null, settingValue: computed("value", function() { return this.value .toString() .split(this.tokenSeparator) .filter(Boolean); }), settingChoices: computed( "settingValue", "setting.choices.[]", "createdChoices.[]", function() { return [ ...new Set([ ...makeArray(this.settingValue), ...makeArray(this.setting.choices), ...makeArray(this.createdChoices) ]) ]; } ), actions: { onChangeListSetting(value) { this.set("value", value.join(this.tokenSeparator)); }, onChangeChoices(choices) { this.set("createdChoices", [ ...new Set([...makeArray(this.createdChoices), ...makeArray(choices)]) ]); } } });