@tangential/configurable-input-widgets
Version:
Input Widgets with persistable, dynamic configuration.
92 lines • 11.2 kB
JavaScript
import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
import { Hacks } from '@tangential/core';
import { BooleanType } from '../../data-type';
//noinspection ES6PreferShortImport
import { BooleanIval } from '../../data-type/boolean/boolean-ival';
import { InputViewModes } from '../../support/input-view-mode';
import { SlideToggleConfig } from './slide-toggle-widget-config';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@tangential/input-widgets";
export class SlideToggleWidgetTemplateComponent {
constructor(changeDetectorRef) {
this.changeDetectorRef = changeDetectorRef;
this.flex = '';
this.flexLayout = 'column';
this.flexLayoutAlign = 'start';
/* Support for dynamic use. */
this.ival = BooleanType.create({});
this.mode = InputViewModes.VIEW;
this.change = new EventEmitter(false);
this.viewModes = InputViewModes;
}
ngOnInit() {
Hacks.materialDesignPlaceholderText(this.changeDetectorRef);
}
}
SlideToggleWidgetTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: SlideToggleWidgetTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
SlideToggleWidgetTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: SlideToggleWidgetTemplateComponent, selector: "tanj-slide-toggle-widget-template", inputs: { config: "config", ival: "ival", mode: "mode" }, outputs: { change: "change" }, host: { properties: { "attr.flex": "this.flex", "attr.layout": "this.flexLayout", "attr.layout-align": "this.flexLayoutAlign" } }, ngImport: i0, template: `
<ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT ">
<tanj-slide-toggle-widget
[labelPosition]="config.labelPosition"
[disabled]=" mode == viewModes.PREVIEW || config.disabled"
[(value)]="ival.value"
[label]="config.label"
[defaultValue]="config.typeConfig.defaultValue">
</tanj-slide-toggle-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-slide-toggle-widget-configure
[labelPosition]="config.labelPosition"
[disabled]="config.disabled"
[(value)]="ival.value"
[(label)]="config.label"
[(defaultValue)]="config.typeConfig.defaultValue">
</tanj-slide-toggle-widget-configure>
</ng-container>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SlideToggleWidgetComponent, selector: "tanj-slide-toggle-widget", inputs: ["value", "labelPosition", "disabled", "hideLabel", "onlyLabel", "label", "defaultValue"], outputs: ["valueChange", "change"] }, { kind: "component", type: i2.SlideToggleWidgetConfigureComponent, selector: "tanj-slide-toggle-widget-configure", inputs: ["value", "labelPosition", "disabled", "label", "defaultValue"], outputs: ["valueChange", "labelChange", "defaultValueChange", "change"] }], encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: SlideToggleWidgetTemplateComponent, decorators: [{
type: Component,
args: [{
selector: 'tanj-slide-toggle-widget-template',
template: `
<ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT ">
<tanj-slide-toggle-widget
[labelPosition]="config.labelPosition"
[disabled]=" mode == viewModes.PREVIEW || config.disabled"
[(value)]="ival.value"
[label]="config.label"
[defaultValue]="config.typeConfig.defaultValue">
</tanj-slide-toggle-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-slide-toggle-widget-configure
[labelPosition]="config.labelPosition"
[disabled]="config.disabled"
[(value)]="ival.value"
[(label)]="config.label"
[(defaultValue)]="config.typeConfig.defaultValue">
</tanj-slide-toggle-widget-configure>
</ng-container>
`,
encapsulation: ViewEncapsulation.None
}]
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { flex: [{
type: HostBinding,
args: ['attr.flex']
}], flexLayout: [{
type: HostBinding,
args: ['attr.layout']
}], flexLayoutAlign: [{
type: HostBinding,
args: ['attr.layout-align']
}], config: [{
type: Input
}], ival: [{
type: Input
}], mode: [{
type: Input
}], change: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLXdpZGdldC50ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nZW50aWFsL2NvbmZpZ3VyYWJsZS1pbnB1dC13aWRnZXRzL3NyYy9saWIvd2lkZ2V0cy9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLXdpZGdldC50ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFDdEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLG1DQUFtQztBQUNuQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0NBQXNDLENBQUE7QUFDaEUsT0FBTyxFQUFnQixjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQTtBQUczRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQTs7OztBQTJCOUQsTUFBTSxPQUFPLGtDQUFrQztJQWdCN0MsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFkOUIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLGVBQVUsR0FBRyxRQUFRLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFJNUQsOEJBQThCO1FBQ3JCLFNBQUksR0FBZ0IsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUUxQyxTQUFJLEdBQW1CLGNBQWMsQ0FBQyxJQUFJLENBQUE7UUFDekMsV0FBTSxHQUFzQixJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU3RCxjQUFTLEdBQUcsY0FBYyxDQUFBO0lBRzFCLENBQUM7SUFHRCxRQUFRO1FBQ04sS0FBSyxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQzdELENBQUM7O2dJQXRCVSxrQ0FBa0M7b0hBQWxDLGtDQUFrQyxxU0F0QjlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQW1CQzs0RkFHTCxrQ0FBa0M7a0JBeEI5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBTyxtQ0FBbUM7b0JBQ2xELFFBQVEsRUFBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFtQkM7b0JBQ2hCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt3R0FHMkIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNJLFVBQVU7c0JBQXJDLFdBQVc7dUJBQUMsYUFBYTtnQkFDUSxlQUFlO3NCQUFoRCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFHdkIsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtIYWNrc30gZnJvbSAnQHRhbmdlbnRpYWwvY29yZSdcbmltcG9ydCB7Qm9vbGVhblR5cGV9IGZyb20gJy4uLy4uL2RhdGEtdHlwZSdcbi8vbm9pbnNwZWN0aW9uIEVTNlByZWZlclNob3J0SW1wb3J0XG5pbXBvcnQge0Jvb2xlYW5JdmFsfSBmcm9tICcuLi8uLi9kYXRhLXR5cGUvYm9vbGVhbi9ib29sZWFuLWl2YWwnXG5pbXBvcnQge0lucHV0Vmlld01vZGUsIElucHV0Vmlld01vZGVzfSBmcm9tICcuLi8uLi9zdXBwb3J0L2lucHV0LXZpZXctbW9kZSdcbi8vbm9pbnNwZWN0aW9uIEVTNlByZWZlclNob3J0SW1wb3J0XG5pbXBvcnQge0lucHV0VGVtcGxhdGVJRn0gZnJvbSAnLi4vLi4vc3VwcG9ydC90ZW1wbGF0ZS1jb21wb25lbnRzL2lucHV0LXRlbXBsYXRlLWNvbXBvbmVudC9pbnB1dC10ZW1wbGF0ZS5jb21wb25lbnQnXG5pbXBvcnQge1NsaWRlVG9nZ2xlQ29uZmlnfSBmcm9tICcuL3NsaWRlLXRvZ2dsZS13aWRnZXQtY29uZmlnJ1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogICAgICAndGFuai1zbGlkZS10b2dnbGUtd2lkZ2V0LXRlbXBsYXRlJyxcbiAgdGVtcGxhdGU6ICAgICAgYFxuICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09IHZpZXdNb2Rlcy5WSUVXIHx8IG1vZGUgPT0gdmlld01vZGVzLlBSRVZJRVcgfHwgbW9kZSA9PSB2aWV3TW9kZXMuRURJVCAgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8dGFuai1zbGlkZS10b2dnbGUtd2lkZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbFBvc2l0aW9uXT1cImNvbmZpZy5sYWJlbFBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiBtb2RlID09IHZpZXdNb2Rlcy5QUkVWSUVXIHx8IGNvbmZpZy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIml2YWwudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJjb25maWcudHlwZUNvbmZpZy5kZWZhdWx0VmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgIDwvdGFuai1zbGlkZS10b2dnbGUtd2lkZ2V0PlxuICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09IHZpZXdNb2Rlcy5DT05GSUdVUkVcIj5cbiAgICAgICAgICAgICAgICAgICAgIDx0YW5qLXNsaWRlLXRvZ2dsZS13aWRnZXQtY29uZmlndXJlXG4gICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbFBvc2l0aW9uXT1cImNvbmZpZy5sYWJlbFBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIml2YWwudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKGxhYmVsKV09XCJjb25maWcubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKGRlZmF1bHRWYWx1ZSldPVwiY29uZmlnLnR5cGVDb25maWcuZGVmYXVsdFZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICA8L3Rhbmotc2xpZGUtdG9nZ2xlLXdpZGdldC1jb25maWd1cmU+XG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVUb2dnbGVXaWRnZXRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSW5wdXRUZW1wbGF0ZUlGIHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZmxleCcpIGZsZXggPSAnJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmxheW91dCcpIGZsZXhMYXlvdXQgPSAnY29sdW1uJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmxheW91dC1hbGlnbicpIGZsZXhMYXlvdXRBbGlnbiA9ICdzdGFydCc7XG5cbiAgLyogU3VwcG9ydCBmb3IgZHluYW1pYyB1c2UuICovXG4gIEBJbnB1dCgpIGNvbmZpZzogU2xpZGVUb2dnbGVDb25maWcgfCB1bmRlZmluZWRcbiAgLyogU3VwcG9ydCBmb3IgZHluYW1pYyB1c2UuICovXG4gIEBJbnB1dCgpIGl2YWw6IEJvb2xlYW5JdmFsID0gQm9vbGVhblR5cGUuY3JlYXRlKHt9KVxuXG4gIEBJbnB1dCgpIG1vZGUgPSA8SW5wdXRWaWV3TW9kZT4gSW5wdXRWaWV3TW9kZXMuVklFV1xuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoZmFsc2UpXG5cbiAgdmlld01vZGVzID0gSW5wdXRWaWV3TW9kZXNcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICBIYWNrcy5tYXRlcmlhbERlc2lnblBsYWNlaG9sZGVyVGV4dCh0aGlzLmNoYW5nZURldGVjdG9yUmVmKVxuICB9XG59XG4iXX0=