UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

68 lines 10.5 kB
import { Component, forwardRef, Input } from '@angular/core'; import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; import { A11yModule } from '@angular/cdk/a11y'; import { INTERVALS } from './interval-picker.model'; import { TranslateService } from '@ngx-translate/core'; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; import * as i2 from "@angular/common"; export class IntervalPickerComponent { constructor(translate) { this.translate = translate; this.INTERVALS = INTERVALS; this.touched = false; this.disabled = false; this.translatedIntervals = []; // eslint-disable-next-line @typescript-eslint/no-empty-function this.onChange = _ => { }; // eslint-disable-next-line @typescript-eslint/no-empty-function this.onTouched = () => { }; } ngOnInit() { this.translatedIntervals = this.INTERVALS.map(interval => ({ ...interval, title: this.translate.instant(interval.title) })); } writeValue(value) { this.value = value; } registerOnChange(fn) { this.onChange = fn; } registerOnTouched(onTouched) { this.onTouched = onTouched; } markAsTouched() { if (!this.touched) { this.onTouched(); this.touched = true; } } setDisabledState(disabled) { this.disabled = disabled; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IntervalPickerComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IntervalPickerComponent, isStandalone: true, selector: "c8y-interval-picker", inputs: { INTERVALS: "INTERVALS" }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => IntervalPickerComponent), multi: true } ], ngImport: i0, template: "<li\n *ngFor=\"let interval of translatedIntervals\"\n [ngClass]=\"{\n active: interval.id === value\n }\"\n>\n <button\n type=\"button\"\n (click)=\"onChange(interval.id)\"\n >\n <span\n [ngClass]=\"{\n 'text-primary': interval.id === value\n }\"\n >\n <span\n c8yIcon=\"check\"\n [ngStyle]=\"{ visibility: interval.id === value ? 'visible' : 'hidden' }\"\n ></span>\n {{ interval.title }}\n </span>\n </button>\n</li>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: BsDropdownModule }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IntervalPickerComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-interval-picker', standalone: true, imports: [CommonModule, FormsModule, A11yModule, ReactiveFormsModule, BsDropdownModule], providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => IntervalPickerComponent), multi: true } ], template: "<li\n *ngFor=\"let interval of translatedIntervals\"\n [ngClass]=\"{\n active: interval.id === value\n }\"\n>\n <button\n type=\"button\"\n (click)=\"onChange(interval.id)\"\n >\n <span\n [ngClass]=\"{\n 'text-primary': interval.id === value\n }\"\n >\n <span\n c8yIcon=\"check\"\n [ngStyle]=\"{ visibility: interval.id === value ? 'visible' : 'hidden' }\"\n ></span>\n {{ interval.title }}\n </span>\n </button>\n</li>\n" }] }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { INTERVALS: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ludGVydmFsLXBpY2tlci9pbnRlcnZhbC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vaW50ZXJ2YWwtcGlja2VyL2ludGVydmFsLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsbUJBQW1CLEVBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQWlDLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBZXZELE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFSdEMsY0FBUyxHQUF1QyxTQUFTLENBQUM7UUFHbkUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHdCQUFtQixHQUFvQyxFQUFFLENBQUM7UUFXMUQsZ0VBQWdFO1FBQ2hFLGFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNuQixnRUFBZ0U7UUFDaEUsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQVo2QixDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELEdBQUcsUUFBUTtZQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQU9ELFVBQVUsQ0FBQyxLQUFxQjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBaUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQzsrR0E1Q1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsc0dBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3hCSCw2ZUF1QkEsMkNETlksWUFBWSw4VUFBRSxXQUFXLDhCQUFFLFVBQVUsOEJBQUUsbUJBQW1CLDhCQUFFLGdCQUFnQjs7NEZBUzNFLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FFbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUMsYUFDNUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3FGQUdRLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIEZvcm1zTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kcm9wZG93bic7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQWxhcm1GaWx0ZXJJbnRlcnZhbCwgSW50ZXJ2YWwsIElOVEVSVkFMUyB9IGZyb20gJy4vaW50ZXJ2YWwtcGlja2VyLm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWludGVydmFsLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcnZhbC1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQTExeU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQnNEcm9wZG93bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW50ZXJ2YWxQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJ2YWxQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIElOVEVSVkFMUzogSW50ZXJ2YWxbXSB8IEFsYXJtRmlsdGVySW50ZXJ2YWxbXSA9IElOVEVSVkFMUztcblxuICB2YWx1ZTogSW50ZXJ2YWxbJ2lkJ107XG4gIHRvdWNoZWQgPSBmYWxzZTtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICB0cmFuc2xhdGVkSW50ZXJ2YWxzOiB7IGlkOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50cmFuc2xhdGVkSW50ZXJ2YWxzID0gdGhpcy5JTlRFUlZBTFMubWFwKGludGVydmFsID0+ICh7XG4gICAgICAuLi5pbnRlcnZhbCxcbiAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGludGVydmFsLnRpdGxlKVxuICAgIH0pKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgb25DaGFuZ2UgPSBfID0+IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IEludGVydmFsWydpZCddKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQoKSB7XG4gICAgaWYgKCF0aGlzLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cbn1cbiIsIjxsaVxuICAqbmdGb3I9XCJsZXQgaW50ZXJ2YWwgb2YgdHJhbnNsYXRlZEludGVydmFsc1wiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICBhY3RpdmU6IGludGVydmFsLmlkID09PSB2YWx1ZVxuICB9XCJcbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJvbkNoYW5nZShpbnRlcnZhbC5pZClcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3RleHQtcHJpbWFyeSc6IGludGVydmFsLmlkID09PSB2YWx1ZVxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgYzh5SWNvbj1cImNoZWNrXCJcbiAgICAgICAgW25nU3R5bGVdPVwieyB2aXNpYmlsaXR5OiBpbnRlcnZhbC5pZCA9PT0gdmFsdWUgPyAndmlzaWJsZScgOiAnaGlkZGVuJyB9XCJcbiAgICAgID48L3NwYW4+XG4gICAgICB7eyBpbnRlcnZhbC50aXRsZSB9fVxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2xpPlxuIl19