UNPKG

@tangential/input-widgets

Version:

Input Widgets with persistable, dynamic configuration.

54 lines 10.4 kB
import { Component, HostBinding, Inject, ViewEncapsulation } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/dialog"; import * as i2 from "@angular/common"; import * as i3 from "@angular/forms"; import * as i4 from "../number-spinner-widget/number-spinner-widget.component"; export class DurationPickerDialogResult { constructor() { this.success = false; this.millis = 0; } } export class DurationPickerDialog { constructor(dialogRef, data) { this.dialogRef = dialogRef; this.data = data; this.flex = ''; this.flexLayout = 'column'; this.flexLayoutAlign = 'start'; this.result = new DurationPickerDialogResult(); this.state = data.state; } onValueChange(field) { console.log('DurationPickerDialog', 'onValueChange', field); } onCancelRequest() { this.dialogRef.close(this.result); } onOkRequest() { this.result.success = true; this.result.millis = this.state.millis; this.dialogRef.close(this.result); } } DurationPickerDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DurationPickerDialog, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); DurationPickerDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: DurationPickerDialog, selector: "duration-picker-dialog", host: { properties: { "attr.flex": "this.flex", "attr.layout": "this.flexLayout", "attr.layout-align": "this.flexLayoutAlign" } }, ngImport: i0, template: "<div flex class=\"tanj-duration-picker-dialog-body\" layout=\"column\" layout-align=\"start\">\n <div flex class=\"\" layout=\"row\" layout-align=\"space-around\">\n\n <tanj-number-spinner-widget flex *ngFor=\"let field of state.selectedFields()\"\n [(ngModel)]=\"field.value\"\n [label]=\"field.label\"\n [labelPosition]=\"'below'\"\n [max]=\"field.max\"\n [min]=\"0\"\n (change)=\"onValueChange(field)\"></tanj-number-spinner-widget>\n </div>\n</div>\n<div layout=\"column\" layout-align=\"end\">\n <div flex class='tanj-button-footer' layout=\"row\" layout-align=\"center\">\n <a flex mat-raised-button color=\"accent\" class=\"tanj-cancel\" (click)=\"onCancelRequest()\">Cancel</a>\n <a flex mat-raised-button color=\"primary\" class=\"tanj-ok\" (click)=\"onOkRequest()\">Set</a>\n </div>\n</div>\n\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NumberSpinnerWidgetComponent, selector: "tanj-number-spinner-widget", inputs: ["value", "labelPosition", "disabled", "hideLabel", "onlyLabel", "label", "defaultValue", "max", "min", "step"], outputs: ["valueChange", "change"] }], encapsulation: i0.ViewEncapsulation.None }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DurationPickerDialog, decorators: [{ type: Component, args: [{ selector: 'duration-picker-dialog', encapsulation: ViewEncapsulation.None, template: "<div flex class=\"tanj-duration-picker-dialog-body\" layout=\"column\" layout-align=\"start\">\n <div flex class=\"\" layout=\"row\" layout-align=\"space-around\">\n\n <tanj-number-spinner-widget flex *ngFor=\"let field of state.selectedFields()\"\n [(ngModel)]=\"field.value\"\n [label]=\"field.label\"\n [labelPosition]=\"'below'\"\n [max]=\"field.max\"\n [min]=\"0\"\n (change)=\"onValueChange(field)\"></tanj-number-spinner-widget>\n </div>\n</div>\n<div layout=\"column\" layout-align=\"end\">\n <div flex class='tanj-button-footer' layout=\"row\" layout-align=\"center\">\n <a flex mat-raised-button color=\"accent\" class=\"tanj-cancel\" (click)=\"onCancelRequest()\">Cancel</a>\n <a flex mat-raised-button color=\"primary\" class=\"tanj-ok\" (click)=\"onOkRequest()\">Set</a>\n </div>\n</div>\n\n" }] }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA] }] }]; }, propDecorators: { flex: [{ type: HostBinding, args: ['attr.flex'] }], flexLayout: [{ type: HostBinding, args: ['attr.layout'] }], flexLayoutAlign: [{ type: HostBinding, args: ['attr.layout-align'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tcGlja2VyLWRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdlbnRpYWwvaW5wdXQtd2lkZ2V0cy9zcmMvbGliL2R1cmF0aW9uLXBpY2tlci13aWRnZXQvZHVyYXRpb24tcGlja2VyLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdlbnRpYWwvaW5wdXQtd2lkZ2V0cy9zcmMvbGliL2R1cmF0aW9uLXBpY2tlci13aWRnZXQvZHVyYXRpb24tcGlja2VyLWRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMvRSxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFBOzs7Ozs7QUFHdEUsTUFBTSxPQUFPLDBCQUEwQjtJQUF2QztRQUNFLFlBQU8sR0FBWSxLQUFLLENBQUE7UUFDeEIsV0FBTSxHQUFXLENBQUMsQ0FBQTtJQUNwQixDQUFDO0NBQUE7QUFPRCxNQUFNLE9BQU8sb0JBQW9CO0lBWS9CLFlBQW1CLFNBQTZDLEVBQW1DLElBQVM7UUFBekYsY0FBUyxHQUFULFNBQVMsQ0FBb0M7UUFBbUMsU0FBSSxHQUFKLElBQUksQ0FBSztRQVZsRixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNoQixvQkFBZSxHQUFHLE9BQU8sQ0FBQztRQUs1RCxXQUFNLEdBQUcsSUFBSSwwQkFBMEIsRUFBRSxDQUFBO1FBSXZDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUN6QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWdDO1FBQzVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFBO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNuQyxDQUFDOztrSEE1QlUsb0JBQW9CLDhDQVkyQyxlQUFlO3NHQVo5RSxvQkFBb0IsaU1DZGpDLHUrQkFtQkE7NEZETGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNPLHdCQUF3QixpQkFFeEIsaUJBQWlCLENBQUMsSUFBSTs7MEJBYzhCLE1BQU07MkJBQUMsZUFBZTs0Q0FWL0QsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNJLFVBQVU7c0JBQXJDLFdBQVc7dUJBQUMsYUFBYTtnQkFDUSxlQUFlO3NCQUFoRCxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZydcbmltcG9ydCB7RHVyYXRpb25QaWNrZXJGaWVsZHNTdGF0ZSwgRHVyYXRpb25QaWNrZXJTdGF0ZX0gZnJvbSAnLi9kdXJhdGlvbi1waWNrZXItc3RhdGUnXG5cbmV4cG9ydCBjbGFzcyBEdXJhdGlvblBpY2tlckRpYWxvZ1Jlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZVxuICBtaWxsaXM6IG51bWJlciA9IDBcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAgICAgICdkdXJhdGlvbi1waWNrZXItZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICAgJy4vZHVyYXRpb24tcGlja2VyLWRpYWxvZy5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEdXJhdGlvblBpY2tlckRpYWxvZyB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmZsZXgnKSBmbGV4ID0gJyc7XG4gIEBIb3N0QmluZGluZygnYXR0ci5sYXlvdXQnKSBmbGV4TGF5b3V0ID0gJ2NvbHVtbic7XG4gIEBIb3N0QmluZGluZygnYXR0ci5sYXlvdXQtYWxpZ24nKSBmbGV4TGF5b3V0QWxpZ24gPSAnc3RhcnQnO1xuXG5cbiAgc3RhdGU6IER1cmF0aW9uUGlja2VyU3RhdGVcblxuICByZXN1bHQgPSBuZXcgRHVyYXRpb25QaWNrZXJEaWFsb2dSZXN1bHQoKVxuXG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPER1cmF0aW9uUGlja2VyRGlhbG9nPiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogYW55KSB7XG4gICAgdGhpcy5zdGF0ZSA9IGRhdGEuc3RhdGVcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoZmllbGQ6IER1cmF0aW9uUGlja2VyRmllbGRzU3RhdGUpIHtcbiAgICBjb25zb2xlLmxvZygnRHVyYXRpb25QaWNrZXJEaWFsb2cnLCAnb25WYWx1ZUNoYW5nZScsIGZpZWxkKVxuICB9XG5cbiAgb25DYW5jZWxSZXF1ZXN0KCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMucmVzdWx0KVxuICB9XG5cbiAgb25Pa1JlcXVlc3QoKSB7XG4gICAgdGhpcy5yZXN1bHQuc3VjY2VzcyA9IHRydWVcbiAgICB0aGlzLnJlc3VsdC5taWxsaXMgPSB0aGlzLnN0YXRlLm1pbGxpc1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMucmVzdWx0KVxuICB9XG59XG4iLCI8ZGl2IGZsZXggY2xhc3M9XCJ0YW5qLWR1cmF0aW9uLXBpY2tlci1kaWFsb2ctYm9keVwiIGxheW91dD1cImNvbHVtblwiIGxheW91dC1hbGlnbj1cInN0YXJ0XCI+XG4gIDxkaXYgZmxleCBjbGFzcz1cIlwiIGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInNwYWNlLWFyb3VuZFwiPlxuXG4gICAgPHRhbmotbnVtYmVyLXNwaW5uZXItd2lkZ2V0IGZsZXggKm5nRm9yPVwibGV0IGZpZWxkIG9mIHN0YXRlLnNlbGVjdGVkRmllbGRzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsUG9zaXRpb25dPVwiJ2JlbG93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJmaWVsZC5tYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKGZpZWxkKVwiPjwvdGFuai1udW1iZXItc3Bpbm5lci13aWRnZXQ+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGxheW91dD1cImNvbHVtblwiIGxheW91dC1hbGlnbj1cImVuZFwiPlxuICA8ZGl2IGZsZXggY2xhc3M9J3RhbmotYnV0dG9uLWZvb3RlcicgbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwiY2VudGVyXCI+XG4gICAgPGEgZmxleCBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwidGFuai1jYW5jZWxcIiAoY2xpY2spPVwib25DYW5jZWxSZXF1ZXN0KClcIj5DYW5jZWw8L2E+XG4gICAgPGEgZmxleCBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cInRhbmotb2tcIiAoY2xpY2spPVwib25Pa1JlcXVlc3QoKVwiPlNldDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19