@tangential/configurable-input-widgets
Version:
Input Widgets with persistable, dynamic configuration.
108 lines • 12.7 kB
JavaScript
import { ChangeDetectorRef, Component, EventEmitter, HostBinding, 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 { IconRatingWidgetConfig } from './icon-rating-widget-config';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@tangential/input-widgets";
export class IconRatingWidgetTemplateComponent {
constructor(changeDetectorRef) {
this.changeDetectorRef = changeDetectorRef;
this.flex = '';
this.flexLayout = 'column';
this.flexLayoutAlign = 'start';
this.mode = InputViewModes.VIEW;
this.change = new EventEmitter(false);
this.viewModes = InputViewModes;
}
ngOnInit() {
Hacks.materialDesignPlaceholderText(this.changeDetectorRef);
}
emitChangeEvent() {
this.change.emit();
}
}
IconRatingWidgetTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: IconRatingWidgetTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
IconRatingWidgetTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: IconRatingWidgetTemplateComponent, selector: "tanj-icon-rating-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-icon-rating-widget
[labelPosition]="config.labelPosition"
[disabled]=" mode == viewModes.PREVIEW || config.disabled"
[(value)]="ival.value"
[label]="config.label"
[defaultValue]="config.typeConfig.defaultValue"
[max]="config.typeConfig.max"
[iconFont]="config.iconFont"
[offIconNames]="config.offIconNames"
[onIconNames]="config.onIconNames">
</tanj-icon-rating-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-icon-rating-widget-configure
[labelPosition]="config.labelPosition"
[disabled]="config.disabled"
[(value)]="ival.value"
[(label)]="config.label"
[(defaultValue)]="config.typeConfig.defaultValue"
[(max)]="config.typeConfig.max"
[(iconFont)]="config.iconFont"
[(offIconNames)]="config.offIconNames"
[(onIconNames)]="config.onIconNames">
</tanj-icon-rating-widget-configure>
</ng-container>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconRatingWidgetComponent, selector: "tanj-icon-rating-widget", inputs: ["value", "labelPosition", "disabled", "hideLabel", "onlyLabel", "label", "defaultValue", "max", "iconFont", "offIconNames", "onIconNames"], outputs: ["valueChange", "change"] }, { kind: "component", type: i2.IconRatingWidgetConfigureComponent, selector: "tanj-icon-rating-widget-configure", inputs: ["value", "labelPosition", "disabled", "label", "defaultValue", "max", "iconFont", "offIconNames", "onIconNames"], outputs: ["valueChange", "labelChange", "defaultValueChange", "maxChange", "iconFontChange", "offIconNamesChange", "onIconNamesChange", "change"] }], encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: IconRatingWidgetTemplateComponent, decorators: [{
type: Component,
args: [{
selector: 'tanj-icon-rating-widget-template',
template: `
<ng-container *ngIf="mode == viewModes.VIEW || mode == viewModes.PREVIEW || mode == viewModes.EDIT ">
<tanj-icon-rating-widget
[labelPosition]="config.labelPosition"
[disabled]=" mode == viewModes.PREVIEW || config.disabled"
[(value)]="ival.value"
[label]="config.label"
[defaultValue]="config.typeConfig.defaultValue"
[max]="config.typeConfig.max"
[iconFont]="config.iconFont"
[offIconNames]="config.offIconNames"
[onIconNames]="config.onIconNames">
</tanj-icon-rating-widget>
</ng-container>
<ng-container *ngIf="mode == viewModes.CONFIGURE">
<tanj-icon-rating-widget-configure
[labelPosition]="config.labelPosition"
[disabled]="config.disabled"
[(value)]="ival.value"
[(label)]="config.label"
[(defaultValue)]="config.typeConfig.defaultValue"
[(max)]="config.typeConfig.max"
[(iconFont)]="config.iconFont"
[(offIconNames)]="config.offIconNames"
[(onIconNames)]="config.onIconNames">
</tanj-icon-rating-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yYXRpbmctd2lkZ2V0LnRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdlbnRpYWwvY29uZmlndXJhYmxlLWlucHV0LXdpZGdldHMvc3JjL2xpYi93aWRnZXRzL2ljb24tcmF0aW5nLXdpZGdldC9pY29uLXJhdGluZy13aWRnZXQudGVtcGxhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQ3RDLG1DQUFtQztBQUNuQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0NBQW9DLENBQUE7QUFDN0QsT0FBTyxFQUFnQixjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQTtBQUczRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQTs7OztBQW1DbEUsTUFBTSxPQUFPLGlDQUFpQztJQWdCNUMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFkOUIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLGVBQVUsR0FBRyxRQUFRLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFPbkQsU0FBSSxHQUFtQixjQUFjLENBQUMsSUFBSSxDQUFBO1FBQ3pDLFdBQU0sR0FBc0IsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFN0QsY0FBUyxHQUFHLGNBQWMsQ0FBQTtJQUcxQixDQUFDO0lBR0QsUUFBUTtRQUNOLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDcEIsQ0FBQzs7K0hBM0JVLGlDQUFpQzttSEFBakMsaUNBQWlDLG9TQTlCN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkEyQkM7NEZBR0wsaUNBQWlDO2tCQWhDN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQU8sa0NBQWtDO29CQUNqRCxRQUFRLEVBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkEyQkM7b0JBQ2hCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt3R0FHMkIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNJLFVBQVU7c0JBQXJDLFdBQVc7dUJBQUMsYUFBYTtnQkFDUSxlQUFlO3NCQUFoRCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFHdkIsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtIYWNrc30gZnJvbSAnQHRhbmdlbnRpYWwvY29yZSdcbi8vbm9pbnNwZWN0aW9uIEVTNlByZWZlclNob3J0SW1wb3J0XG5pbXBvcnQge051bWJlckl2YWx9IGZyb20gJy4uLy4uL2RhdGEtdHlwZS9udW1iZXIvbnVtYmVyLWl2YWwnXG5pbXBvcnQge0lucHV0Vmlld01vZGUsIElucHV0Vmlld01vZGVzfSBmcm9tICcuLi8uLi9zdXBwb3J0L2lucHV0LXZpZXctbW9kZSdcbi8vbm9pbnNwZWN0aW9uIEVTNlByZWZlclNob3J0SW1wb3J0XG5pbXBvcnQge0lucHV0VGVtcGxhdGVJRn0gZnJvbSAnLi4vLi4vc3VwcG9ydC90ZW1wbGF0ZS1jb21wb25lbnRzL2lucHV0LXRlbXBsYXRlLWNvbXBvbmVudC9pbnB1dC10ZW1wbGF0ZS5jb21wb25lbnQnXG5pbXBvcnQge0ljb25SYXRpbmdXaWRnZXRDb25maWd9IGZyb20gJy4vaWNvbi1yYXRpbmctd2lkZ2V0LWNvbmZpZydcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICAgICAgJ3RhbmotaWNvbi1yYXRpbmctd2lkZ2V0LXRlbXBsYXRlJyxcbiAgdGVtcGxhdGU6ICAgICAgYFxuICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09IHZpZXdNb2Rlcy5WSUVXIHx8IG1vZGUgPT0gdmlld01vZGVzLlBSRVZJRVcgfHwgbW9kZSA9PSB2aWV3TW9kZXMuRURJVCAgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8dGFuai1pY29uLXJhdGluZy13aWRnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsUG9zaXRpb25dPVwiY29uZmlnLmxhYmVsUG9zaXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIG1vZGUgPT0gdmlld01vZGVzLlBSRVZJRVcgfHwgY29uZmlnLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiaXZhbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImNvbmZpZy50eXBlQ29uZmlnLmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwiY29uZmlnLnR5cGVDb25maWcubWF4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25Gb250XT1cImNvbmZpZy5pY29uRm9udFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtvZmZJY29uTmFtZXNdPVwiY29uZmlnLm9mZkljb25OYW1lc1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtvbkljb25OYW1lc109XCJjb25maWcub25JY29uTmFtZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgIDwvdGFuai1pY29uLXJhdGluZy13aWRnZXQ+XG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT0gdmlld01vZGVzLkNPTkZJR1VSRVwiPlxuICAgICAgICAgICAgICAgICAgICAgPHRhbmotaWNvbi1yYXRpbmctd2lkZ2V0LWNvbmZpZ3VyZVxuICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxQb3NpdGlvbl09XCJjb25maWcubGFiZWxQb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maWcuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJpdmFsLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhsYWJlbCldPVwiY29uZmlnLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhkZWZhdWx0VmFsdWUpXT1cImNvbmZpZy50eXBlQ29uZmlnLmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFsobWF4KV09XCJjb25maWcudHlwZUNvbmZpZy5tYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKGljb25Gb250KV09XCJjb25maWcuaWNvbkZvbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbKG9mZkljb25OYW1lcyldPVwiY29uZmlnLm9mZkljb25OYW1lc1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFsob25JY29uTmFtZXMpXT1cImNvbmZpZy5vbkljb25OYW1lc1wiPlxuICAgICAgICAgICAgICAgICAgICAgPC90YW5qLWljb24tcmF0aW5nLXdpZGdldC1jb25maWd1cmU+XG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSWNvblJhdGluZ1dpZGdldFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBJbnB1dFRlbXBsYXRlSUYge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5mbGV4JykgZmxleCA9ICcnO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIubGF5b3V0JykgZmxleExheW91dCA9ICdjb2x1bW4nO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIubGF5b3V0LWFsaWduJykgZmxleExheW91dEFsaWduID0gJ3N0YXJ0JztcblxuICAvKiBTdXBwb3J0IGZvciBkeW5hbWljIHVzZS4gKi9cbiAgQElucHV0KCkgY29uZmlnOiBJY29uUmF0aW5nV2lkZ2V0Q29uZmlnXG4gIC8qIFN1cHBvcnQgZm9yIGR5bmFtaWMgdXNlLiAqL1xuICBASW5wdXQoKSBpdmFsOiBOdW1iZXJJdmFsXG5cbiAgQElucHV0KCkgbW9kZSA9IDxJbnB1dFZpZXdNb2RlPiBJbnB1dFZpZXdNb2Rlcy5WSUVXXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSlcblxuICB2aWV3TW9kZXMgPSBJbnB1dFZpZXdNb2Rlc1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIEhhY2tzLm1hdGVyaWFsRGVzaWduUGxhY2Vob2xkZXJUZXh0KHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYpXG4gIH1cblxuXG4gIGVtaXRDaGFuZ2VFdmVudCgpIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KClcbiAgfVxuXG59XG4iXX0=