@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
50 lines • 10.4 kB
JavaScript
import { Component, forwardRef } from '@angular/core';
import { gettext } from '../../i18n';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { DEFAULT_INTERVAL_VALUE, DEFAULT_INTERVAL_VALUES } from './widget-auto-refresh-context.model';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "ngx-bootstrap/tooltip";
import * as i3 from "@angular/forms";
import * as i4 from "@ngx-translate/core";
export class AutoRefreshSelectControlComponent {
constructor() {
this.DEFAULT_INTERVAL_VALUES = DEFAULT_INTERVAL_VALUES;
this.START_INTERVAL_VALUE = DEFAULT_INTERVAL_VALUE;
this.SECONDS_UNTIL_REFRESH = gettext('{{ seconds }} s`until refresh`');
// eslint-disable-next-line @typescript-eslint/no-empty-function
this.onTouched = () => { };
}
registerOnChange(fn) {
this.onChange = fn;
}
registerOnTouched(fn) {
this.onTouched = fn;
}
writeValue(autoRefreshSeconds) {
this.autoRefreshSeconds = autoRefreshSeconds;
}
onIntervalChange(autoRefreshSeconds) {
this.onChange(autoRefreshSeconds);
this.autoRefreshSeconds = autoRefreshSeconds;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoRefreshSelectControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutoRefreshSelectControlComponent, selector: "c8y-auto-refresh-select-control", providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => AutoRefreshSelectControlComponent),
multi: true
}
], ngImport: i0, template: "<div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control text-12\"\n [attr.aria-label]=\"'Refresh interval in seconds' | translate\"\n [tooltip]=\"'Refresh interval in seconds' | translate\"\n placement=\"bottom\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [container]=\"'body'\"\n mode\n [(ngModel)]=\"autoRefreshSeconds\"\n (ngModelChange)=\"onIntervalChange($event)\"\n [ngModelOptions]=\"{ standalone: true }\"\n >\n <option\n *ngFor=\"let refreshInterval of DEFAULT_INTERVAL_VALUES\"\n [ngValue]=\"refreshInterval\"\n [attr.selected]=\"refreshInterval === START_INTERVAL_VALUE ? '' : null\"\n >\n {{ SECONDS_UNTIL_REFRESH | translate: { seconds: refreshInterval / 1000 } }}\n </option>\n </select>\n <span></span>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoRefreshSelectControlComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-auto-refresh-select-control', providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => AutoRefreshSelectControlComponent),
multi: true
}
], template: "<div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control text-12\"\n [attr.aria-label]=\"'Refresh interval in seconds' | translate\"\n [tooltip]=\"'Refresh interval in seconds' | translate\"\n placement=\"bottom\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [container]=\"'body'\"\n mode\n [(ngModel)]=\"autoRefreshSeconds\"\n (ngModelChange)=\"onIntervalChange($event)\"\n [ngModelOptions]=\"{ standalone: true }\"\n >\n <option\n *ngFor=\"let refreshInterval of DEFAULT_INTERVAL_VALUES\"\n [ngValue]=\"refreshInterval\"\n [attr.selected]=\"refreshInterval === START_INTERVAL_VALUE ? '' : null\"\n >\n {{ SECONDS_UNTIL_REFRESH | translate: { seconds: refreshInterval / 1000 } }}\n </option>\n </select>\n <span></span>\n</div>\n" }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yZWZyZXNoLXNlbGVjdC1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvZGFzaGJvYXJkL3dpZGdldC1hdXRvLXJlZnJlc2gtY29udGV4dC9hdXRvLXJlZnJlc2gtc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9kYXNoYm9hcmQvd2lkZ2V0LWF1dG8tcmVmcmVzaC1jb250ZXh0L2F1dG8tcmVmcmVzaC1zZWxlY3QtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN4QixNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFhN0MsTUFBTSxPQUFPLGlDQUFpQztJQVg5QztRQVlXLDRCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ2xELHlCQUFvQixHQUFHLHNCQUFzQixDQUFDO1FBRTlDLDBCQUFxQixHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBTTNFLGdFQUFnRTtRQUNoRSxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBa0J0QjtJQWhCQyxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVLENBQUMsa0JBQTBCO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsa0JBQTBCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDL0MsQ0FBQzsrR0E1QlUsaUNBQWlDO21HQUFqQyxpQ0FBaUMsMERBVGpDO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDaEUsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ2hCSCwreUJBd0JBOzs0RkRMYSxpQ0FBaUM7a0JBWDdDLFNBQVM7K0JBQ0UsaUNBQWlDLGFBQ2hDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtDQUFrQyxDQUFDOzRCQUNoRSxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uLy4uL2kxOG4nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9JTlRFUlZBTF9WQUxVRSxcbiAgREVGQVVMVF9JTlRFUlZBTF9WQUxVRVNcbn0gZnJvbSAnLi93aWRnZXQtYXV0by1yZWZyZXNoLWNvbnRleHQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYXV0by1yZWZyZXNoLXNlbGVjdC1jb250cm9sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdXRvUmVmcmVzaFNlbGVjdENvbnRyb2xDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvLXJlZnJlc2gtc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9SZWZyZXNoU2VsZWN0Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcmVhZG9ubHkgREVGQVVMVF9JTlRFUlZBTF9WQUxVRVMgPSBERUZBVUxUX0lOVEVSVkFMX1ZBTFVFUztcbiAgcmVhZG9ubHkgU1RBUlRfSU5URVJWQUxfVkFMVUUgPSBERUZBVUxUX0lOVEVSVkFMX1ZBTFVFO1xuXG4gIHJlYWRvbmx5IFNFQ09ORFNfVU5USUxfUkVGUkVTSCA9IGdldHRleHQoJ3t7IHNlY29uZHMgfX0gc2B1bnRpbCByZWZyZXNoYCcpO1xuXG4gIGF1dG9SZWZyZXNoU2Vjb25kczogbnVtYmVyO1xuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShhdXRvUmVmcmVzaFNlY29uZHM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuYXV0b1JlZnJlc2hTZWNvbmRzID0gYXV0b1JlZnJlc2hTZWNvbmRzO1xuICB9XG5cbiAgb25JbnRlcnZhbENoYW5nZShhdXRvUmVmcmVzaFNlY29uZHM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UoYXV0b1JlZnJlc2hTZWNvbmRzKTtcbiAgICB0aGlzLmF1dG9SZWZyZXNoU2Vjb25kcyA9IGF1dG9SZWZyZXNoU2Vjb25kcztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImM4eS1zZWxlY3Qtd3JhcHBlclwiPlxuICA8c2VsZWN0XG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGV4dC0xMlwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVmcmVzaCBpbnRlcnZhbCBpbiBzZWNvbmRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3Rvb2x0aXBdPVwiJ1JlZnJlc2ggaW50ZXJ2YWwgaW4gc2Vjb25kcycgfCB0cmFuc2xhdGVcIlxuICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiZmFsc2VcIlxuICAgIFtkZWxheV09XCI1MDBcIlxuICAgIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgICBtb2RlXG4gICAgWyhuZ01vZGVsKV09XCJhdXRvUmVmcmVzaFNlY29uZHNcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uSW50ZXJ2YWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgPlxuICAgIDxvcHRpb25cbiAgICAgICpuZ0Zvcj1cImxldCByZWZyZXNoSW50ZXJ2YWwgb2YgREVGQVVMVF9JTlRFUlZBTF9WQUxVRVNcIlxuICAgICAgW25nVmFsdWVdPVwicmVmcmVzaEludGVydmFsXCJcbiAgICAgIFthdHRyLnNlbGVjdGVkXT1cInJlZnJlc2hJbnRlcnZhbCA9PT0gU1RBUlRfSU5URVJWQUxfVkFMVUUgPyAnJyA6IG51bGxcIlxuICAgID5cbiAgICAgIHt7IFNFQ09ORFNfVU5USUxfUkVGUkVTSCB8IHRyYW5zbGF0ZTogeyBzZWNvbmRzOiByZWZyZXNoSW50ZXJ2YWwgLyAxMDAwIH0gfX1cbiAgICA8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG4gIDxzcGFuPjwvc3Bhbj5cbjwvZGl2PlxuIl19