import SelectKitComponent from "select-kit/components/select-kit"; import { computed } from "@ember/object"; import { isEmpty } from "@ember/utils"; export default SelectKitComponent.extend({ pluginApiIdentifiers: ["single-select"], layoutName: "select-kit/templates/components/single-select", classNames: ["single-select"], singleSelect: true, selectKitOptions: { headerComponent: "select-kit/single-select-header" }, selectedContent: computed( "value", "content.[]", "selectKit.noneItem", function() { if (!isEmpty(this.value)) { let content; const value = this.selectKit.options.castInteger && this._isNumeric(this.value) ? Number(this.value) : this.value; if (this.selectKit.valueProperty) { content = (this.content || []).findBy( this.selectKit.valueProperty, value ); return this.selectKit.modifySelection( content || this.defaultItem(value, value) ); } else { return this.selectKit.modifySelection( (this.content || []).filter(c => c === value) ); } } else { return this.selectKit.noneItem; } } ) });