ngx-surveys
Version:
Angular 18+ survey / form builder
66 lines • 10.4 kB
JavaScript
import { Component, Inject, ViewChild } from '@angular/core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import { buildField } from '../../form-item/form-item.component';
import * as _ from 'lodash';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
import * as i2 from "@angular/material/button";
import * as i3 from "../../ngx-survey.component";
export class DialogSectionEdit {
constructor(dialogRef, data) {
this.dialogRef = dialogRef;
this.data = data;
this.commonFields = [
//buildField('string', {name: "name", label: "Name"}, true),
buildField('string', { name: "title", label: "Title" }),
buildField('string', { name: "subtitle", label: "Subtitle" }),
/*
buildField('select', {name: "sectionStyle", label: "Section Style", items: [
{
optionValue: 'Bold',
label: 'Bold',
style: "Checkmark"
},
{
optionValue: 'Normal',
label: 'Normal',
style: "Checkmark"
}
]}, true),
*/
];
this.sectionEditForm = [
{
items: [...this.commonFields]
}
];
const section = data.section;
this.readOnly = data.params.readOnly;
this.section = section;
}
onNoClick() {
this.dialogRef.close();
}
onFormSubmit(data) {
data.name = _.camelCase(data.title);
this.section = data;
this.dialogRef.close(this.section);
}
onOkClick() {
//console.log(this.data);
this.survey.submitForm();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DialogSectionEdit, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DialogSectionEdit, selector: "dialog-section-edit", viewQueries: [{ propertyName: "survey", first: true, predicate: ["survey"], descendants: true }], ngImport: i0, template: "<h1 mat-dialog-title>Edit section</h1>\n<div mat-dialog-content>\n <ngx-survey #survey\n [form]=\"sectionEditForm\"\n [value]=\"section\"\n (submit)=\"onFormSubmit($event)\"\n [editable]=\"!readOnly\"\n ></ngx-survey>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"onNoClick()\">Cancel</button>\n <button mat-button (click)=\"onOkClick()\" [disabled]=\"readOnly\" cdkFocusInitial >Ok</button>\n</div>\n", styles: [".full-width{width:100%}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.NgxSurveyComponent, selector: "ngx-survey", inputs: ["form", "value", "splitBySteps", "validateByStepChange", "submitInProgress", "submitErrorText", "editable"], outputs: ["valueChange", "stepChanged", "submit"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DialogSectionEdit, decorators: [{
type: Component,
args: [{ selector: 'dialog-section-edit', template: "<h1 mat-dialog-title>Edit section</h1>\n<div mat-dialog-content>\n <ngx-survey #survey\n [form]=\"sectionEditForm\"\n [value]=\"section\"\n (submit)=\"onFormSubmit($event)\"\n [editable]=\"!readOnly\"\n ></ngx-survey>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"onNoClick()\">Cancel</button>\n <button mat-button (click)=\"onOkClick()\" [disabled]=\"readOnly\" cdkFocusInitial >Ok</button>\n</div>\n", styles: [".full-width{width:100%}\n"] }]
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
type: Inject,
args: [MAT_DIALOG_DATA]
}] }], propDecorators: { survey: [{
type: ViewChild,
args: ['survey', { static: false }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXNlY3Rpb24tZWRpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdXJ2ZXlzL3NyYy9saWIvZGlhbG9ncy9kaWFsb2ctc2VjdGlvbi1lZGl0L2RpYWxvZy1zZWN0aW9uLWVkaXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VydmV5cy9zcmMvbGliL2RpYWxvZ3MvZGlhbG9nLXNlY3Rpb24tZWRpdC9kaWFsb2ctc2VjdGlvbi1lZGl0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQVk1QixNQUFNLE9BQU8saUJBQWlCO0lBaUMxQixZQUNXLFNBQTBDLEVBQ2pCLElBQXVCO1FBRGhELGNBQVMsR0FBVCxTQUFTLENBQWlDO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBNUJwRCxpQkFBWSxHQUFjO1lBQzdCLDREQUE0RDtZQUM1RCxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUM7WUFDckQsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBQyxDQUFDO1lBQzNEOzs7Ozs7Ozs7Ozs7O2NBYUU7U0FDTCxDQUFDO1FBRUssb0JBQWUsR0FBZTtZQUNqQztnQkFDSSxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDaEM7U0FDSixDQUFDO1FBTUUsTUFBTSxPQUFPLEdBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUztRQUNMLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBdkRRLGlCQUFpQiw4Q0FtQ2QsZUFBZTttR0FuQ2xCLGlCQUFpQiw2SkNsQjlCLDBjQWFBOzs0RkRLYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UscUJBQXFCOzswQkF1Q3hCLE1BQU07MkJBQUMsZUFBZTt5Q0FqQ29CLE1BQU07c0JBQXBELFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTmd4U3VydmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbmd4LXN1cnZleS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtSXRlbSwgRm9ybVNlY3Rpb24gfSBmcm9tICcuLi8uLi9mb3JtLWl0ZW0vZm9ybS1pdGVtJztcbmltcG9ydCB7IGJ1aWxkRmllbGQgfSBmcm9tICcuLi8uLi9mb3JtLWl0ZW0vZm9ybS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nU2VjdGlvbkRhdGEge1xuICAgIHNlY3Rpb246IEZvcm1TZWN0aW9uLFxuICAgIHBhcmFtczogYW55XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RpYWxvZy1zZWN0aW9uLWVkaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLXNlY3Rpb24tZWRpdC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLXNlY3Rpb24tZWRpdC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VjdGlvbkVkaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnc3VydmV5JywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBzdXJ2ZXk6Tmd4U3VydmV5Q29tcG9uZW50O1xuXG4gICAgcHVibGljIHNlY3Rpb246Rm9ybVNlY3Rpb247XG4gICAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbW1vbkZpZWxkczogRm9ybUl0ZW1bXSA9W1xuICAgICAgICAvL2J1aWxkRmllbGQoJ3N0cmluZycsIHtuYW1lOiBcIm5hbWVcIiwgbGFiZWw6IFwiTmFtZVwifSwgdHJ1ZSksXG4gICAgICAgIGJ1aWxkRmllbGQoJ3N0cmluZycsIHtuYW1lOiBcInRpdGxlXCIsIGxhYmVsOiBcIlRpdGxlXCJ9KSxcbiAgICAgICAgYnVpbGRGaWVsZCgnc3RyaW5nJywge25hbWU6IFwic3VidGl0bGVcIiwgbGFiZWw6IFwiU3VidGl0bGVcIn0pLFxuICAgICAgICAvKlxuICAgICAgICBidWlsZEZpZWxkKCdzZWxlY3QnLCB7bmFtZTogXCJzZWN0aW9uU3R5bGVcIiwgbGFiZWw6IFwiU2VjdGlvbiBTdHlsZVwiLCBpdGVtczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlOiAnQm9sZCcsXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdCb2xkJyxcbiAgICAgICAgICAgICAgICBzdHlsZTogXCJDaGVja21hcmtcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZTogJ05vcm1hbCcsXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdOb3JtYWwnLFxuICAgICAgICAgICAgICAgIHN0eWxlOiBcIkNoZWNrbWFya1wiXG4gICAgICAgICAgICB9XG4gICAgICAgIF19LCB0cnVlKSxcbiAgICAgICAgKi9cbiAgICBdO1xuXG4gICAgcHVibGljIHNlY3Rpb25FZGl0Rm9ybTpGb3JtU2VjdGlvbltdPVtcbiAgICAgICAge1xuICAgICAgICAgICAgaXRlbXM6IFsuLi50aGlzLmNvbW1vbkZpZWxkc11cbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ1NlY3Rpb25FZGl0PixcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBEaWFsb2dTZWN0aW9uRGF0YVxuICAgICkge1xuICAgICAgICBjb25zdCBzZWN0aW9uPWRhdGEuc2VjdGlvbjtcbiAgICAgICAgdGhpcy5yZWFkT25seT1kYXRhLnBhcmFtcy5yZWFkT25seTtcbiAgICAgICAgdGhpcy5zZWN0aW9uPXNlY3Rpb247XG4gICAgfVxuXG4gICAgb25Ob0NsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uRm9ybVN1Ym1pdChkYXRhKXtcbiAgICAgICAgZGF0YS5uYW1lPV8uY2FtZWxDYXNlKGRhdGEudGl0bGUpO1xuICAgICAgICB0aGlzLnNlY3Rpb249ZGF0YTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5zZWN0aW9uKTtcbiAgICB9XG5cbiAgICBvbk9rQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIC8vY29uc29sZS5sb2codGhpcy5kYXRhKTtcbiAgICAgICAgdGhpcy5zdXJ2ZXkuc3VibWl0Rm9ybSgpO1xuICAgIH1cblxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+RWRpdCBzZWN0aW9uPC9oMT5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxuZ3gtc3VydmV5ICNzdXJ2ZXlcbiAgICAgICAgW2Zvcm1dPVwic2VjdGlvbkVkaXRGb3JtXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlY3Rpb25cIlxuICAgICAgICAoc3VibWl0KT1cIm9uRm9ybVN1Ym1pdCgkZXZlbnQpXCJcbiAgICAgICAgW2VkaXRhYmxlXT1cIiFyZWFkT25seVwiXG4gICAgPjwvbmd4LXN1cnZleT5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25Ob0NsaWNrKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvbk9rQ2xpY2soKVwiIFtkaXNhYmxlZF09XCJyZWFkT25seVwiIGNka0ZvY3VzSW5pdGlhbCA+T2s8L2J1dHRvbj5cbjwvZGl2PlxuIl19