@tangential/configurable-input-widgets
Version:
Input Widgets with persistable, dynamic configuration.
80 lines (76 loc) • 8.88 kB
JavaScript
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import { Hacks } from '@tangential/core';
//noinspection ES6PreferShortImport
import { DateTimeIval } from '../../data-type/date-time/date-time-ival';
import { InputViewModes } from '../../support/input-view-mode';
import { DateTimeInputConfig } from './date-time-input-config';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@tangential/input-widgets";
export class DateTimeTemplateComponent {
constructor(changeDetectorRef) {
this.changeDetectorRef = changeDetectorRef;
this.mode = null;
this.change = new EventEmitter(false);
this.viewModes = InputViewModes;
}
ngOnInit() {
Hacks.materialDesignPlaceholderText(this.changeDetectorRef);
}
}
DateTimeTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DateTimeTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
DateTimeTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: DateTimeTemplateComponent, 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-date-time-widget [labelPosition]="config.labelPosition"
[disabled]="mode === viewModes.PREVIEW || config.disabled"
[label]="config.label"
[(value)]="ival.value"
[defaultToNow]="config.typeConfig.defaultToNow"
[defaultValue]="config.typeConfig.defaultValue">
</tanj-date-time-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-date-time-configure
[labelPosition]="config.labelPosition"
[(label)]="config.label"
[(value)]="ival.value"
[(defaultValue)]="config.typeConfig.defaultValue"
[(defaultToNow)]="config.typeConfig.defaultToNow">
</tanj-date-time-configure>
</ng-container>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DateTimeWidgetComponent, selector: "tanj-date-time-widget", inputs: ["value", "labelPosition", "disabled", "hideLabel", "onlyLabel", "label", "defaultToNow", "defaultValue", "maxLength", "minLength"], outputs: ["valueChange", "change"] }, { kind: "component", type: i2.DateTimeWidgetConfigureComponent, selector: "tanj-date-time-configure", inputs: ["value", "labelPosition", "disabled", "label", "defaultValue", "defaultToNow"], outputs: ["valueChange", "labelChange", "defaultValueChange", "defaultToNowChange", "change"] }], encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DateTimeTemplateComponent, decorators: [{
type: Component,
args: [{
template: `<!-- -->
<ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT ">
<tanj-date-time-widget [labelPosition]="config.labelPosition"
[disabled]="mode === viewModes.PREVIEW || config.disabled"
[label]="config.label"
[(value)]="ival.value"
[defaultToNow]="config.typeConfig.defaultToNow"
[defaultValue]="config.typeConfig.defaultValue">
</tanj-date-time-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-date-time-configure
[labelPosition]="config.labelPosition"
[(label)]="config.label"
[(value)]="ival.value"
[(defaultValue)]="config.typeConfig.defaultValue"
[(defaultToNow)]="config.typeConfig.defaultToNow">
</tanj-date-time-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdlbnRpYWwvY29uZmlndXJhYmxlLWlucHV0LXdpZGdldHMvc3JjL2xpYi93aWRnZXRzL2RhdGUtdGltZS1pbnB1dC9kYXRlLXRpbWUtdGVtcGxhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFDdEMsbUNBQW1DO0FBQ25DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQTtBQUNyRSxPQUFPLEVBRUwsY0FBYyxFQUNmLE1BQU0sK0JBQStCLENBQUE7QUFHdEMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUE7Ozs7QUEwQjVELE1BQU0sT0FBTyx5QkFBeUI7SUFVcEMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFOL0MsU0FBSSxHQUFrQixJQUFJLENBQUE7UUFFekIsV0FBTSxHQUFzQixJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU3RCxjQUFTLEdBQUcsY0FBYyxDQUFBO0lBSTFCLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQzdELENBQUM7O3VIQWhCVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qiw2SUF4QnJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBcUJDOzRGQUdMLHlCQUF5QjtrQkF6QnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBcUJDO29CQUNoQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7d0dBR1UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge0hhY2tzfSBmcm9tICdAdGFuZ2VudGlhbC9jb3JlJ1xuLy9ub2luc3BlY3Rpb24gRVM2UHJlZmVyU2hvcnRJbXBvcnRcbmltcG9ydCB7RGF0ZVRpbWVJdmFsfSBmcm9tICcuLi8uLi9kYXRhLXR5cGUvZGF0ZS10aW1lL2RhdGUtdGltZS1pdmFsJ1xuaW1wb3J0IHtcbiAgSW5wdXRWaWV3TW9kZSxcbiAgSW5wdXRWaWV3TW9kZXNcbn0gZnJvbSAnLi4vLi4vc3VwcG9ydC9pbnB1dC12aWV3LW1vZGUnXG4vL25vaW5zcGVjdGlvbiBFUzZQcmVmZXJTaG9ydEltcG9ydFxuaW1wb3J0IHtJbnB1dFRlbXBsYXRlSUZ9IGZyb20gJy4uLy4uL3N1cHBvcnQvdGVtcGxhdGUtY29tcG9uZW50cy9pbnB1dC10ZW1wbGF0ZS1jb21wb25lbnQvaW5wdXQtdGVtcGxhdGUuY29tcG9uZW50J1xuaW1wb3J0IHtEYXRlVGltZUlucHV0Q29uZmlnfSBmcm9tICcuL2RhdGUtdGltZS1pbnB1dC1jb25maWcnXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICAgICAgYDwhLS0gLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09IHZpZXdNb2Rlcy5WSUVXIHx8IG1vZGUgPT0gdmlld01vZGVzLlBSRVZJRVcgfHwgbW9kZSA9PSB2aWV3TW9kZXMuRURJVCAgXCI+XG4gICAgPHRhbmotZGF0ZS10aW1lLXdpZGdldCBbbGFiZWxQb3NpdGlvbl09XCJjb25maWcubGFiZWxQb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlID09PSB2aWV3TW9kZXMuUFJFVklFVyB8fCBjb25maWcuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiaXZhbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0VG9Ob3ddPVwiY29uZmlnLnR5cGVDb25maWcuZGVmYXVsdFRvTm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJjb25maWcudHlwZUNvbmZpZy5kZWZhdWx0VmFsdWVcIj5cblxuICAgIDwvdGFuai1kYXRlLXRpbWUtd2lkZ2V0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT0gdmlld01vZGVzLkNPTkZJR1VSRVwiPlxuICAgIDx0YW5qLWRhdGUtdGltZS1jb25maWd1cmVcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cImNvbmZpZy5sYWJlbFBvc2l0aW9uXCJcbiAgICAgIFsobGFiZWwpXT1cImNvbmZpZy5sYWJlbFwiXG4gICAgICBbKHZhbHVlKV09XCJpdmFsLnZhbHVlXCJcbiAgICAgIFsoZGVmYXVsdFZhbHVlKV09XCJjb25maWcudHlwZUNvbmZpZy5kZWZhdWx0VmFsdWVcIlxuICAgICAgWyhkZWZhdWx0VG9Ob3cpXT1cImNvbmZpZy50eXBlQ29uZmlnLmRlZmF1bHRUb05vd1wiPlxuICAgIDwvdGFuai1kYXRlLXRpbWUtY29uZmlndXJlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIElucHV0VGVtcGxhdGVJRiB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBEYXRlVGltZUlucHV0Q29uZmlnXG4gIEBJbnB1dCgpIGl2YWw6IERhdGVUaW1lSXZhbFxuICBASW5wdXQoKSBtb2RlID0gPElucHV0Vmlld01vZGU+bnVsbFxuXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSlcblxuICB2aWV3TW9kZXMgPSBJbnB1dFZpZXdNb2Rlc1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIEhhY2tzLm1hdGVyaWFsRGVzaWduUGxhY2Vob2xkZXJUZXh0KHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYpXG4gIH1cblxufVxuIl19