UNPKG

@tangential/configurable-input-widgets

Version:

Input Widgets with persistable, dynamic configuration.

91 lines (85 loc) 9.9 kB
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { Hacks } from '@tangential/core'; import { NumberType } from '../../data-type'; //noinspection ES6PreferShortImport import { NumberIval } from '../../data-type/number/number-ival'; import { InputViewModes } from '../../support/input-view-mode'; import { NumberSpinnerConfig } from './number-spinner-config'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@tangential/input-widgets"; export class NumberSpinnerTemplateComponent { constructor(changeDetectorRef) { this.changeDetectorRef = changeDetectorRef; this.config = new NumberSpinnerConfig(); this.ival = NumberType.create({}); this.mode = InputViewModes.VIEW; this.change = new EventEmitter(false); this.viewModes = InputViewModes; } ngOnInit() { Hacks.materialDesignPlaceholderText(this.changeDetectorRef); } } NumberSpinnerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NumberSpinnerTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); NumberSpinnerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: NumberSpinnerTemplateComponent, 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-number-spinner-widget [labelPosition]="config.labelPosition" [disabled]="mode === viewModes.PREVIEW || config.disabled" [label]="config.label" [(value)]="ival.value" [max]="config.typeConfig.max" [min]="config.typeConfig.min" [step]="config.typeConfig.step"> </tanj-number-spinner-widget> </ng-container> <ng-container *ngIf="mode == viewModes.CONFIGURE"> <tanj-number-spinner-configure [labelPosition]="config.labelPosition" [(label)]="config.label" [(value)]="ival.value" [(defaultValue)]="config.typeConfig.defaultValue" [(max)]="config.typeConfig.max" [(min)]="config.typeConfig.min" [(step)]="config.typeConfig.step"> </tanj-number-spinner-configure> </ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.NumberSpinnerWidgetComponent, selector: "tanj-number-spinner-widget", inputs: ["value", "labelPosition", "disabled", "hideLabel", "onlyLabel", "label", "defaultValue", "max", "min", "step"], outputs: ["valueChange", "change"] }, { kind: "component", type: i2.NumberSpinnerWidgetConfigureComponent, selector: "tanj-number-spinner-configure", inputs: ["value", "labelPosition", "disabled", "label", "defaultValue", "max", "min", "step"], outputs: ["valueChange", "labelChange", "defaultValueChange", "decimalChange", "maxChange", "minChange", "stepChange", "change"] }], encapsulation: i0.ViewEncapsulation.None }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NumberSpinnerTemplateComponent, decorators: [{ type: Component, args: [{ template: `<!-- --> <ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT "> <tanj-number-spinner-widget [labelPosition]="config.labelPosition" [disabled]="mode === viewModes.PREVIEW || config.disabled" [label]="config.label" [(value)]="ival.value" [max]="config.typeConfig.max" [min]="config.typeConfig.min" [step]="config.typeConfig.step"> </tanj-number-spinner-widget> </ng-container> <ng-container *ngIf="mode == viewModes.CONFIGURE"> <tanj-number-spinner-configure [labelPosition]="config.labelPosition" [(label)]="config.label" [(value)]="ival.value" [(defaultValue)]="config.typeConfig.defaultValue" [(max)]="config.typeConfig.max" [(min)]="config.typeConfig.min" [(step)]="config.typeConfig.step"> </tanj-number-spinner-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXNwaW5uZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ2VudGlhbC9jb25maWd1cmFibGUtaW5wdXQtd2lkZ2V0cy9zcmMvbGliL3dpZGdldHMvbnVtYmVyLXNwaW5uZXIvbnVtYmVyLXNwaW5uZXItdGVtcGxhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFDdEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLG1DQUFtQztBQUNuQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0NBQW9DLENBQUE7QUFDN0QsT0FBTyxFQUVMLGNBQWMsRUFDZixNQUFNLCtCQUErQixDQUFBO0FBR3RDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFBOzs7O0FBOEIzRCxNQUFNLE9BQU8sOEJBQThCO0lBV3pDLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVC9DLFdBQU0sR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFBO1FBQ3ZELFNBQUksR0FBZSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3hDLFNBQUksR0FBa0IsY0FBYyxDQUFDLElBQUksQ0FBQTtRQUV4QyxXQUFNLEdBQXNCLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRTdELGNBQVMsR0FBRyxjQUFjLENBQUE7SUFJMUIsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDN0QsQ0FBQzs7NEhBaEJVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDZJQTVCMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBeUJDOzRGQUdMLDhCQUE4QjtrQkE3QjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQXlCQztvQkFDaEIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3dHQUdVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtIYWNrc30gZnJvbSAnQHRhbmdlbnRpYWwvY29yZSdcbmltcG9ydCB7TnVtYmVyVHlwZX0gZnJvbSAnLi4vLi4vZGF0YS10eXBlJ1xuLy9ub2luc3BlY3Rpb24gRVM2UHJlZmVyU2hvcnRJbXBvcnRcbmltcG9ydCB7TnVtYmVySXZhbH0gZnJvbSAnLi4vLi4vZGF0YS10eXBlL251bWJlci9udW1iZXItaXZhbCdcbmltcG9ydCB7XG4gIElucHV0Vmlld01vZGUsXG4gIElucHV0Vmlld01vZGVzXG59IGZyb20gJy4uLy4uL3N1cHBvcnQvaW5wdXQtdmlldy1tb2RlJ1xuLy9ub2luc3BlY3Rpb24gRVM2UHJlZmVyU2hvcnRJbXBvcnRcbmltcG9ydCB7SW5wdXRUZW1wbGF0ZUlGfSBmcm9tICcuLi8uLi9zdXBwb3J0L3RlbXBsYXRlLWNvbXBvbmVudHMvaW5wdXQtdGVtcGxhdGUtY29tcG9uZW50L2lucHV0LXRlbXBsYXRlLmNvbXBvbmVudCdcbmltcG9ydCB7TnVtYmVyU3Bpbm5lckNvbmZpZ30gZnJvbSAnLi9udW1iZXItc3Bpbm5lci1jb25maWcnXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICAgICAgYDwhLS0gLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09IHZpZXdNb2Rlcy5WSUVXIHx8IG1vZGUgPT0gdmlld01vZGVzLlBSRVZJRVcgfHwgbW9kZSA9PSB2aWV3TW9kZXMuRURJVCAgXCI+XG4gICAgPHRhbmotbnVtYmVyLXNwaW5uZXItd2lkZ2V0IFtsYWJlbFBvc2l0aW9uXT1cImNvbmZpZy5sYWJlbFBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibW9kZSA9PT0gdmlld01vZGVzLlBSRVZJRVcgfHwgY29uZmlnLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJpdmFsLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cImNvbmZpZy50eXBlQ29uZmlnLm1heFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJjb25maWcudHlwZUNvbmZpZy5taW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwXT1cImNvbmZpZy50eXBlQ29uZmlnLnN0ZXBcIj5cblxuICAgIDwvdGFuai1udW1iZXItc3Bpbm5lci13aWRnZXQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PSB2aWV3TW9kZXMuQ09ORklHVVJFXCI+XG4gICAgPHRhbmotbnVtYmVyLXNwaW5uZXItY29uZmlndXJlXG4gICAgICBbbGFiZWxQb3NpdGlvbl09XCJjb25maWcubGFiZWxQb3NpdGlvblwiXG4gICAgICBbKGxhYmVsKV09XCJjb25maWcubGFiZWxcIlxuICAgICAgWyh2YWx1ZSldPVwiaXZhbC52YWx1ZVwiXG4gICAgICBbKGRlZmF1bHRWYWx1ZSldPVwiY29uZmlnLnR5cGVDb25maWcuZGVmYXVsdFZhbHVlXCJcbiAgICAgIFsobWF4KV09XCJjb25maWcudHlwZUNvbmZpZy5tYXhcIlxuICAgICAgWyhtaW4pXT1cImNvbmZpZy50eXBlQ29uZmlnLm1pblwiXG4gICAgICBbKHN0ZXApXT1cImNvbmZpZy50eXBlQ29uZmlnLnN0ZXBcIj5cblxuICAgIDwvdGFuai1udW1iZXItc3Bpbm5lci1jb25maWd1cmU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyU3Bpbm5lclRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBJbnB1dFRlbXBsYXRlSUYge1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogTnVtYmVyU3Bpbm5lckNvbmZpZyA9IG5ldyBOdW1iZXJTcGlubmVyQ29uZmlnKClcbiAgQElucHV0KCkgaXZhbDogTnVtYmVySXZhbCA9IE51bWJlclR5cGUuY3JlYXRlKHt9KVxuICBASW5wdXQoKSBtb2RlOiBJbnB1dFZpZXdNb2RlID0gSW5wdXRWaWV3TW9kZXMuVklFV1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSlcblxuICB2aWV3TW9kZXMgPSBJbnB1dFZpZXdNb2Rlc1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIEhhY2tzLm1hdGVyaWFsRGVzaWduUGxhY2Vob2xkZXJUZXh0KHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYpXG4gIH1cblxufVxuIl19