@clr/angular
Version:
Angular components for Clarity
48 lines • 5.21 kB
JavaScript
/*
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
* This software is released under MIT license.
* The full license information can be found in LICENSE in the root directory of this project.
*/
import { Directive, Input, Optional } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./providers/datalist-id.service";
export class ClrDatalist {
constructor(datalistIdService) {
this.datalistIdService = datalistIdService;
this.subscriptions = [];
}
set id(idValue) {
if (!!idValue && this.datalistIdService) {
this.datalistId = idValue;
this.datalistIdService.id = idValue;
}
else if (idValue) {
this.datalistId = idValue;
}
}
ngAfterContentInit() {
if (!this.datalistIdService) {
return;
}
this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.datalistId = id)));
}
ngOnDestroy() {
this.subscriptions.forEach(sub => sub.unsubscribe());
}
}
ClrDatalist.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatalist, deps: [{ token: i1.DatalistIdService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
ClrDatalist.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatalist, selector: "datalist", inputs: { id: "id" }, host: { properties: { "id": "datalistId" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatalist, decorators: [{
type: Directive,
args: [{
selector: 'datalist',
host: {
'[id]': 'datalistId',
},
}]
}], ctorParameters: function () { return [{ type: i1.DatalistIdService, decorators: [{
type: Optional
}] }]; }, propDecorators: { id: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9mb3Jtcy9kYXRhbGlzdC9kYXRhbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVzdFLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQWdDLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRjVELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUU0QixDQUFDO0lBRXhFLElBQ0ksRUFBRSxDQUFDLE9BQWU7UUFDcEIsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN2QyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztTQUNyQzthQUFNLElBQUksT0FBTyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7d0dBMUJVLFdBQVc7NEZBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQU52QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixJQUFJLEVBQUU7d0JBQ0osTUFBTSxFQUFFLFlBQVk7cUJBQ3JCO2lCQUNGOzswQkFNYyxRQUFROzRDQUdqQixFQUFFO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGF0YWxpc3RJZFNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9kYXRhbGlzdC1pZC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnZGF0YWxpc3QnLFxuICBob3N0OiB7XG4gICAgJ1tpZF0nOiAnZGF0YWxpc3RJZCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGFsaXN0IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIGRhdGFsaXN0SWQ6IHN0cmluZztcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSBkYXRhbGlzdElkU2VydmljZTogRGF0YWxpc3RJZFNlcnZpY2UpIHt9XG5cbiAgQElucHV0KClcbiAgc2V0IGlkKGlkVmFsdWU6IHN0cmluZykge1xuICAgIGlmICghIWlkVmFsdWUgJiYgdGhpcy5kYXRhbGlzdElkU2VydmljZSkge1xuICAgICAgdGhpcy5kYXRhbGlzdElkID0gaWRWYWx1ZTtcbiAgICAgIHRoaXMuZGF0YWxpc3RJZFNlcnZpY2UuaWQgPSBpZFZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaWRWYWx1ZSkge1xuICAgICAgdGhpcy5kYXRhbGlzdElkID0gaWRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmRhdGFsaXN0SWRTZXJ2aWNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuZGF0YWxpc3RJZFNlcnZpY2UuaWRDaGFuZ2Uuc3Vic2NyaWJlKGlkID0+ICh0aGlzLmRhdGFsaXN0SWQgPSBpZCkpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==