@tangential/configurable-input-widgets
Version:
Input Widgets with persistable, dynamic configuration.
102 lines (96 loc) • 10.5 kB
JavaScript
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import { Hacks } from '@tangential/core';
//noinspection ES6PreferShortImport
import { NumberIval } from '../../data-type/number/number-ival';
import { InputViewModes } from '../../support/input-view-mode';
import { DurationPickerConfig } from './duration-picker-config';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@tangential/input-widgets";
export class DurationPickerTemplateComponent {
constructor(changeDetectorRef) {
this.changeDetectorRef = changeDetectorRef;
this.mode = null;
this.change = new EventEmitter(false);
this.viewModes = InputViewModes;
}
ngOnInit() {
Hacks.materialDesignPlaceholderText(this.changeDetectorRef);
}
}
DurationPickerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DurationPickerTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
DurationPickerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: DurationPickerTemplateComponent, selector: "ng-component", inputs: { config: "config", ival: "ival", mode: "mode" }, outputs: { change: "change" }, ngImport: i0, template: `<!-- -->
<ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT ">
<tanj-duration-picker-widget
[(value)]="ival.value"
[labelPosition]="config.labelPosition"
[disabled]="mode === viewModes.PREVIEW || config.disabled"
[label]="config.label"
[showDays]="config?.showDurationFields.day"
[showHours]="config?.showDurationFields.h"
[showMinutes]="config?.showDurationFields.min"
[showSeconds]="config?.showDurationFields.s"
[showMilliseconds]="config?.showDurationFields.ms"
[max]="config.typeConfig.max">
</tanj-duration-picker-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-duration-picker-widget-configure
[labelPosition]="config.labelPosition"
[(label)]="config.label"
[(value)]="ival.value"
[(defaultValue)]="config.typeConfig.defaultValue"
[(showDays)]="config?.showDurationFields.day"
[(showHours)]="config?.showDurationFields.h"
[(showMinutes)]="config?.showDurationFields.min"
[(showSeconds)]="config?.showDurationFields.s"
[(showMilliseconds)]="config?.showDurationFields.ms"
[(max)]="config.typeConfig.max">
</tanj-duration-picker-widget-configure>
</ng-container>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DurationPickerWidgetComponent, selector: "tanj-duration-picker-widget", inputs: ["value", "labelPosition", "disabled", "hideLabel", "onlyLabel", "label", "defaultValue", "max", "showDays", "showHours", "showMinutes", "showSeconds", "showMilliseconds"], outputs: ["valueChange", "change"] }, { kind: "component", type: i2.DurationPickerWidgetConfigureComponent, selector: "tanj-duration-picker-widget-configure", inputs: ["value", "labelPosition", "disabled", "label", "defaultValue", "max", "showDays", "showHours", "showMinutes", "showSeconds", "showMilliseconds"], outputs: ["valueChange", "labelChange", "defaultValueChange", "maxChange", "showDaysChange", "showHoursChange", "showMinutesChange", "showSecondsChange", "showMillisecondsChange", "change"] }], encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DurationPickerTemplateComponent, decorators: [{
type: Component,
args: [{
template: `<!-- -->
<ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT ">
<tanj-duration-picker-widget
[(value)]="ival.value"
[labelPosition]="config.labelPosition"
[disabled]="mode === viewModes.PREVIEW || config.disabled"
[label]="config.label"
[showDays]="config?.showDurationFields.day"
[showHours]="config?.showDurationFields.h"
[showMinutes]="config?.showDurationFields.min"
[showSeconds]="config?.showDurationFields.s"
[showMilliseconds]="config?.showDurationFields.ms"
[max]="config.typeConfig.max">
</tanj-duration-picker-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-duration-picker-widget-configure
[labelPosition]="config.labelPosition"
[(label)]="config.label"
[(value)]="ival.value"
[(defaultValue)]="config.typeConfig.defaultValue"
[(showDays)]="config?.showDurationFields.day"
[(showHours)]="config?.showDurationFields.h"
[(showMinutes)]="config?.showDurationFields.min"
[(showSeconds)]="config?.showDurationFields.s"
[(showMilliseconds)]="config?.showDurationFields.ms"
[(max)]="config.typeConfig.max">
</tanj-duration-picker-widget-configure>
</ng-container>
`,
encapsulation: ViewEncapsulation.None
}]
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { config: [{
type: Input
}], ival: [{
type: Input
}], mode: [{
type: Input
}], change: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tcGlja2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdlbnRpYWwvY29uZmlndXJhYmxlLWlucHV0LXdpZGdldHMvc3JjL2xpYi93aWRnZXRzL2R1cmF0aW9uLXBpY2tlci9kdXJhdGlvbi1waWNrZXItdGVtcGxhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFDdEMsbUNBQW1DO0FBQ25DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RCxPQUFPLEVBRUwsY0FBYyxFQUNmLE1BQU0sK0JBQStCLENBQUE7QUFHdEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUE7Ozs7QUF1QzdELE1BQU0sT0FBTywrQkFBK0I7SUFXMUMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFQL0MsU0FBSSxHQUFrQixJQUFJLENBQUE7UUFFekIsV0FBTSxHQUFzQixJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU3RCxjQUFTLEdBQUcsY0FBYyxDQUFBO0lBSzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQzdELENBQUM7OzZIQWpCVSwrQkFBK0I7aUhBQS9CLCtCQUErQiw2SUFuQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFnQ0M7NEZBR0wsK0JBQStCO2tCQXBDM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQWdDQztvQkFDaEIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3dHQUdVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtIYWNrc30gZnJvbSAnQHRhbmdlbnRpYWwvY29yZSdcbi8vbm9pbnNwZWN0aW9uIEVTNlByZWZlclNob3J0SW1wb3J0XG5pbXBvcnQge051bWJlckl2YWx9IGZyb20gJy4uLy4uL2RhdGEtdHlwZS9udW1iZXIvbnVtYmVyLWl2YWwnXG5pbXBvcnQge1xuICBJbnB1dFZpZXdNb2RlLFxuICBJbnB1dFZpZXdNb2Rlc1xufSBmcm9tICcuLi8uLi9zdXBwb3J0L2lucHV0LXZpZXctbW9kZSdcbi8vbm9pbnNwZWN0aW9uIEVTNlByZWZlclNob3J0SW1wb3J0XG5pbXBvcnQge0lucHV0VGVtcGxhdGVJRn0gZnJvbSAnLi4vLi4vc3VwcG9ydC90ZW1wbGF0ZS1jb21wb25lbnRzL2lucHV0LXRlbXBsYXRlLWNvbXBvbmVudC9pbnB1dC10ZW1wbGF0ZS5jb21wb25lbnQnXG5pbXBvcnQge0R1cmF0aW9uUGlja2VyQ29uZmlnfSBmcm9tICcuL2R1cmF0aW9uLXBpY2tlci1jb25maWcnXG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAgICAgIGA8IS0tIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PSB2aWV3TW9kZXMuVklFVyB8fCBtb2RlID09IHZpZXdNb2Rlcy5QUkVWSUVXIHx8IG1vZGUgPT0gdmlld01vZGVzLkVESVQgIFwiPlxuICAgIDx0YW5qLWR1cmF0aW9uLXBpY2tlci13aWRnZXRcbiAgICAgIFsodmFsdWUpXT1cIml2YWwudmFsdWVcIlxuICAgICAgW2xhYmVsUG9zaXRpb25dPVwiY29uZmlnLmxhYmVsUG9zaXRpb25cIlxuICAgICAgW2Rpc2FibGVkXT1cIm1vZGUgPT09IHZpZXdNb2Rlcy5QUkVWSUVXIHx8IGNvbmZpZy5kaXNhYmxlZFwiXG4gICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsXCJcbiAgICAgIFtzaG93RGF5c109XCJjb25maWc/LnNob3dEdXJhdGlvbkZpZWxkcy5kYXlcIlxuICAgICAgW3Nob3dIb3Vyc109XCJjb25maWc/LnNob3dEdXJhdGlvbkZpZWxkcy5oXCJcbiAgICAgIFtzaG93TWludXRlc109XCJjb25maWc/LnNob3dEdXJhdGlvbkZpZWxkcy5taW5cIlxuICAgICAgW3Nob3dTZWNvbmRzXT1cImNvbmZpZz8uc2hvd0R1cmF0aW9uRmllbGRzLnNcIlxuICAgICAgW3Nob3dNaWxsaXNlY29uZHNdPVwiY29uZmlnPy5zaG93RHVyYXRpb25GaWVsZHMubXNcIlxuICAgICAgW21heF09XCJjb25maWcudHlwZUNvbmZpZy5tYXhcIj5cblxuICAgIDwvdGFuai1kdXJhdGlvbi1waWNrZXItd2lkZ2V0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT0gdmlld01vZGVzLkNPTkZJR1VSRVwiPlxuICAgIDx0YW5qLWR1cmF0aW9uLXBpY2tlci13aWRnZXQtY29uZmlndXJlXG4gICAgICBbbGFiZWxQb3NpdGlvbl09XCJjb25maWcubGFiZWxQb3NpdGlvblwiXG4gICAgICBbKGxhYmVsKV09XCJjb25maWcubGFiZWxcIlxuICAgICAgWyh2YWx1ZSldPVwiaXZhbC52YWx1ZVwiXG4gICAgICBbKGRlZmF1bHRWYWx1ZSldPVwiY29uZmlnLnR5cGVDb25maWcuZGVmYXVsdFZhbHVlXCJcbiAgICAgIFsoc2hvd0RheXMpXT1cImNvbmZpZz8uc2hvd0R1cmF0aW9uRmllbGRzLmRheVwiXG4gICAgICBbKHNob3dIb3VycyldPVwiY29uZmlnPy5zaG93RHVyYXRpb25GaWVsZHMuaFwiXG4gICAgICBbKHNob3dNaW51dGVzKV09XCJjb25maWc/LnNob3dEdXJhdGlvbkZpZWxkcy5taW5cIlxuICAgICAgWyhzaG93U2Vjb25kcyldPVwiY29uZmlnPy5zaG93RHVyYXRpb25GaWVsZHMuc1wiXG4gICAgICBbKHNob3dNaWxsaXNlY29uZHMpXT1cImNvbmZpZz8uc2hvd0R1cmF0aW9uRmllbGRzLm1zXCJcbiAgICAgIFsobWF4KV09XCJjb25maWcudHlwZUNvbmZpZy5tYXhcIj5cblxuICAgIDwvdGFuai1kdXJhdGlvbi1waWNrZXItd2lkZ2V0LWNvbmZpZ3VyZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEdXJhdGlvblBpY2tlclRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBJbnB1dFRlbXBsYXRlSUYge1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogRHVyYXRpb25QaWNrZXJDb25maWdcbiAgQElucHV0KCkgaXZhbDogTnVtYmVySXZhbFxuICBASW5wdXQoKSBtb2RlID0gPElucHV0Vmlld01vZGU+bnVsbFxuXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSlcblxuICB2aWV3TW9kZXMgPSBJbnB1dFZpZXdNb2Rlc1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgSGFja3MubWF0ZXJpYWxEZXNpZ25QbGFjZWhvbGRlclRleHQodGhpcy5jaGFuZ2VEZXRlY3RvclJlZilcbiAgfVxuXG59XG4iXX0=