@tangential/configurable-input-widgets
Version:
Input Widgets with persistable, dynamic configuration.
92 lines (86 loc) • 9.88 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 { NumberSliderConfig } from './number-slider-config';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@tangential/input-widgets";
export class NumberSliderTemplateComponent {
constructor(_changeDetector) {
this._changeDetector = _changeDetector;
this.mode = null;
this.change = new EventEmitter(false);
this.viewModes = InputViewModes;
}
ngOnInit() {
Hacks.materialDesignPlaceholderText(this._changeDetector);
}
}
NumberSliderTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NumberSliderTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
NumberSliderTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: NumberSliderTemplateComponent, 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-slider-widget [labelPosition]="config.labelPosition"
[disabled]="mode === viewModes.PREVIEW || config.disabled"
[label]="config.label"
[(value)]="ival.value"
[max]="config.typeConfig.max"
[min]="config.typeConfig.min"
[decimalPlaces]="config.typeConfig.decimalPlaces"
[step]="config.typeConfig.step">
</tanj-number-slider-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-number-slider-configure
[labelPosition]="config.labelPosition"
[(label)]="config.label"
[(value)]="ival.value"
[(defaultValue)]="config.typeConfig.defaultValue"
[(max)]="config.typeConfig.max"
[(min)]="config.typeConfig.min"
[(decimalPlaces)]="config.typeConfig.decimalPlaces"
[(step)]="config.typeConfig.step">
</tanj-number-slider-configure>
</ng-container>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.NumberSliderWidgetComponent, selector: "tanj-number-slider-widget", inputs: ["value", "labelPosition", "disabled", "hideLabel", "onlyLabel", "label", "defaultValue", "max", "min", "step", "decimalPlaces", "tickInterval", "vertical"], outputs: ["valueChange", "change"] }, { kind: "component", type: i2.NumberSliderWidgetConfigureComponent, selector: "tanj-number-slider-configure", inputs: ["value", "labelPosition", "disabled", "label", "defaultValue", "max", "min", "step", "decimalPlaces"], outputs: ["valueChange", "labelChange", "defaultValueChange", "maxChange", "minChange", "stepChange", "decimalPlacesChange", "change"] }], encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NumberSliderTemplateComponent, decorators: [{
type: Component,
args: [{
template: `<!-- -->
<ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT ">
<tanj-number-slider-widget [labelPosition]="config.labelPosition"
[disabled]="mode === viewModes.PREVIEW || config.disabled"
[label]="config.label"
[(value)]="ival.value"
[max]="config.typeConfig.max"
[min]="config.typeConfig.min"
[decimalPlaces]="config.typeConfig.decimalPlaces"
[step]="config.typeConfig.step">
</tanj-number-slider-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-number-slider-configure
[labelPosition]="config.labelPosition"
[(label)]="config.label"
[(value)]="ival.value"
[(defaultValue)]="config.typeConfig.defaultValue"
[(max)]="config.typeConfig.max"
[(min)]="config.typeConfig.min"
[(decimalPlaces)]="config.typeConfig.decimalPlaces"
[(step)]="config.typeConfig.step">
</tanj-number-slider-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXNsaWRlci10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nZW50aWFsL2NvbmZpZ3VyYWJsZS1pbnB1dC13aWRnZXRzL3NyYy9saWIvd2lkZ2V0cy9udW1iZXItc2xpZGVyL251bWJlci1zbGlkZXItdGVtcGxhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFDdEMsbUNBQW1DO0FBQ25DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RCxPQUFPLEVBRUwsY0FBYyxFQUNmLE1BQU0sK0JBQStCLENBQUE7QUFHdEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUE7Ozs7QUFnQ3pELE1BQU0sT0FBTyw2QkFBNkI7SUFXeEMsWUFBb0IsZUFBa0M7UUFBbEMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBUDdDLFNBQUksR0FBa0IsSUFBSSxDQUFBO1FBRXpCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFN0QsY0FBUyxHQUFHLGNBQWMsQ0FBQTtJQUsxQixDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDM0QsQ0FBQzs7MkhBakJVLDZCQUE2QjsrR0FBN0IsNkJBQTZCLDZJQTlCekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkEyQkM7NEZBR0wsNkJBQTZCO2tCQS9CekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkEyQkM7b0JBQ2hCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt3R0FHVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7SGFja3N9IGZyb20gJ0B0YW5nZW50aWFsL2NvcmUnXG4vL25vaW5zcGVjdGlvbiBFUzZQcmVmZXJTaG9ydEltcG9ydFxuaW1wb3J0IHtOdW1iZXJJdmFsfSBmcm9tICcuLi8uLi9kYXRhLXR5cGUvbnVtYmVyL251bWJlci1pdmFsJ1xuaW1wb3J0IHtcbiAgSW5wdXRWaWV3TW9kZSxcbiAgSW5wdXRWaWV3TW9kZXNcbn0gZnJvbSAnLi4vLi4vc3VwcG9ydC9pbnB1dC12aWV3LW1vZGUnXG4vL25vaW5zcGVjdGlvbiBFUzZQcmVmZXJTaG9ydEltcG9ydFxuaW1wb3J0IHtJbnB1dFRlbXBsYXRlSUZ9IGZyb20gJy4uLy4uL3N1cHBvcnQvdGVtcGxhdGUtY29tcG9uZW50cy9pbnB1dC10ZW1wbGF0ZS1jb21wb25lbnQvaW5wdXQtdGVtcGxhdGUuY29tcG9uZW50J1xuaW1wb3J0IHtOdW1iZXJTbGlkZXJDb25maWd9IGZyb20gJy4vbnVtYmVyLXNsaWRlci1jb25maWcnXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICAgICAgYDwhLS0gLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09IHZpZXdNb2Rlcy5WSUVXIHx8IG1vZGUgPT0gdmlld01vZGVzLlBSRVZJRVcgfHwgbW9kZSA9PSB2aWV3TW9kZXMuRURJVCAgXCI+XG4gICAgPHRhbmotbnVtYmVyLXNsaWRlci13aWRnZXQgW2xhYmVsUG9zaXRpb25dPVwiY29uZmlnLmxhYmVsUG9zaXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGUgPT09IHZpZXdNb2Rlcy5QUkVWSUVXIHx8IGNvbmZpZy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIml2YWwudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJjb25maWcudHlwZUNvbmZpZy5tYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJjb25maWcudHlwZUNvbmZpZy5taW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlY2ltYWxQbGFjZXNdPVwiY29uZmlnLnR5cGVDb25maWcuZGVjaW1hbFBsYWNlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCJjb25maWcudHlwZUNvbmZpZy5zdGVwXCI+XG5cbiAgICA8L3RhbmotbnVtYmVyLXNsaWRlci13aWRnZXQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PSB2aWV3TW9kZXMuQ09ORklHVVJFXCI+XG4gICAgPHRhbmotbnVtYmVyLXNsaWRlci1jb25maWd1cmVcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cImNvbmZpZy5sYWJlbFBvc2l0aW9uXCJcbiAgICAgIFsobGFiZWwpXT1cImNvbmZpZy5sYWJlbFwiXG4gICAgICBbKHZhbHVlKV09XCJpdmFsLnZhbHVlXCJcbiAgICAgIFsoZGVmYXVsdFZhbHVlKV09XCJjb25maWcudHlwZUNvbmZpZy5kZWZhdWx0VmFsdWVcIlxuICAgICAgWyhtYXgpXT1cImNvbmZpZy50eXBlQ29uZmlnLm1heFwiXG4gICAgICBbKG1pbildPVwiY29uZmlnLnR5cGVDb25maWcubWluXCJcbiAgICAgIFsoZGVjaW1hbFBsYWNlcyldPVwiY29uZmlnLnR5cGVDb25maWcuZGVjaW1hbFBsYWNlc1wiXG4gICAgICBbKHN0ZXApXT1cImNvbmZpZy50eXBlQ29uZmlnLnN0ZXBcIj5cblxuICAgIDwvdGFuai1udW1iZXItc2xpZGVyLWNvbmZpZ3VyZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJTbGlkZXJUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSW5wdXRUZW1wbGF0ZUlGIHtcblxuICBASW5wdXQoKSBjb25maWc6IE51bWJlclNsaWRlckNvbmZpZ1xuICBASW5wdXQoKSBpdmFsOiBOdW1iZXJJdmFsXG4gIEBJbnB1dCgpIG1vZGUgPSA8SW5wdXRWaWV3TW9kZT5udWxsXG5cbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKVxuXG4gIHZpZXdNb2RlcyA9IElucHV0Vmlld01vZGVzXG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgSGFja3MubWF0ZXJpYWxEZXNpZ25QbGFjZWhvbGRlclRleHQodGhpcy5fY2hhbmdlRGV0ZWN0b3IpXG4gIH1cblxufVxuIl19