@clr/angular
Version:
Angular components for Clarity
39 lines • 3.74 kB
JavaScript
/*
* Copyright (c) 2016-2025 Broadcom. All Rights Reserved.
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
* This software is released under MIT license.
* The full license information can be found in LICENSE in the root directory of this project.
*/
export class SingleSelectComboboxModel {
containsItem(item) {
return this.model === item;
}
select(item) {
this.model = item;
}
unselect(item) {
if (this.containsItem(item)) {
this.model = null;
}
}
isEmpty() {
return !this.model;
}
pop() {
const item = this.model;
this.model = null;
return item;
}
toString(displayField) {
if (!this.model) {
return '';
}
if (displayField && this.model[displayField]) {
return this.model[displayField];
}
else {
return this.model.toString();
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC1jb21ib2JveC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2Zvcm1zL2NvbWJvYm94L21vZGVsL3NpbmdsZS1zZWxlY3QtY29tYm9ib3gubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFlBQVksQ0FBQyxJQUFPO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFPO1FBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFPO1FBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsR0FBRztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsUUFBUSxDQUFDLFlBQXFCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksWUFBWSxJQUFLLElBQUksQ0FBQyxLQUFhLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDckQsT0FBUSxJQUFJLENBQUMsS0FBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbWJvYm94TW9kZWwgfSBmcm9tICcuL2NvbWJvYm94Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFNpbmdsZVNlbGVjdENvbWJvYm94TW9kZWw8VD4gaW1wbGVtZW50cyBDb21ib2JveE1vZGVsPFQ+IHtcbiAgbW9kZWw6IFQ7XG5cbiAgY29udGFpbnNJdGVtKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gaXRlbTtcbiAgfVxuXG4gIHNlbGVjdChpdGVtOiBUKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbCA9IGl0ZW07XG4gIH1cblxuICB1bnNlbGVjdChpdGVtOiBUKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udGFpbnNJdGVtKGl0ZW0pKSB7XG4gICAgICB0aGlzLm1vZGVsID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5tb2RlbDtcbiAgfVxuXG4gIHBvcCgpOiBUIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5tb2RlbDtcbiAgICB0aGlzLm1vZGVsID0gbnVsbDtcbiAgICByZXR1cm4gaXRlbTtcbiAgfVxuXG4gIHRvU3RyaW5nKGRpc3BsYXlGaWVsZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChkaXNwbGF5RmllbGQgJiYgKHRoaXMubW9kZWwgYXMgYW55KVtkaXNwbGF5RmllbGRdKSB7XG4gICAgICByZXR1cm4gKHRoaXMubW9kZWwgYXMgYW55KVtkaXNwbGF5RmllbGRdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxufVxuIl19