@piserve-tech/form-submission 1.2.5 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/element-type/form-elements/form-elements.component.d.ts +1 -4
- package/esm2022/element-type/element-type.module.mjs +1 -1
- package/esm2022/element-type/form-elements/form-elements.component.mjs +4 -10
- package/esm2022/form-fields/check-box-fields/check-box-fields.component.mjs +3 -3
- package/esm2022/form-fields/date-time-fields/date-time-fields.component.mjs +3 -3
- package/esm2022/form-fields/drop-down-fields/drop-down-fields.component.mjs +3 -3
- package/esm2022/form-fields/file-picker-fields/file-picker-fields.component.mjs +3 -3
- package/esm2022/form-fields/form-fields.module.mjs +1 -1
- package/esm2022/form-fields/location-fields/location-fields.component.mjs +3 -3
- package/esm2022/form-fields/mail-fields/mail-fields.component.mjs +3 -3
- package/esm2022/form-fields/mobile-fields/mobile-fields.component.mjs +3 -3
- package/esm2022/form-fields/number-fields/number-fields.component.mjs +3 -3
- package/esm2022/form-fields/password-fields/password-fields.component.mjs +3 -3
- package/esm2022/form-fields/radio-button-fields/radio-button-fields.component.mjs +3 -3
- package/esm2022/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.mjs +3 -3
- package/esm2022/form-fields/section-fields/section-fields.component.mjs +3 -3
- package/esm2022/form-fields/selection-matrix-fields/selection-matrix-fields.component.mjs +3 -3
- package/esm2022/form-fields/signature-fields/signature-fields.component.mjs +3 -3
- package/esm2022/form-fields/slider-fields/slider-fields.component.mjs +4 -4
- package/esm2022/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.mjs +3 -3
- package/esm2022/form-fields/text-area-fields/text-area-fields.component.mjs +3 -3
- package/esm2022/form-fields/text-fields/text-fields.component.mjs +3 -3
- package/esm2022/form-fields/toggle-switch-fields/toggle-switch-fields.component.mjs +3 -3
- package/esm2022/form-fields/url-fields/url-fields.component.mjs +3 -3
- package/esm2022/form-submission/form-submission.module.mjs +1 -1
- package/esm2022/form-submission/header/header.component.mjs +3 -3
- package/esm2022/form-submission/navigation-tabs/navigation-tabs.component.mjs +3 -9
- package/esm2022/form-submission/next-prev-navigation/next-prev-navigation.component.mjs +3 -9
- package/esm2022/form-submission/submit-form/submit-form.component.mjs +31 -59
- package/esm2022/lib/form-submission.component.mjs +3 -3
- package/esm2022/lib/form-submission.module.mjs +1 -1
- package/esm2022/lib/form-submission.service.mjs +1 -1
- package/esm2022/logic/first-child/first-child.component.mjs +3 -3
- package/esm2022/logic/forth-child/forth-child.component.mjs +3 -3
- package/esm2022/logic/logic.module.mjs +1 -1
- package/esm2022/logic/second-child/second-child.component.mjs +3 -3
- package/esm2022/logic/third-child/third-child.component.mjs +3 -3
- package/esm2022/models/appearance.model.mjs +1 -1
- package/esm2022/models/attachment.model.mjs +1 -1
- package/esm2022/models/elementOptionAPI.model.mjs +1 -1
- package/esm2022/models/elementOptionAPIData.model.mjs +1 -1
- package/esm2022/models/elementOptionDB.model.mjs +1 -1
- package/esm2022/models/elementOptionDBCriteria.model.mjs +1 -1
- package/esm2022/models/enum/condition.enum.mjs +1 -1
- package/esm2022/models/enum/elementType .enum.mjs +1 -1
- package/esm2022/models/enum/entityType.enum.mjs +1 -1
- package/esm2022/models/formConfiguration.model.mjs +1 -1
- package/esm2022/models/formElement.model.mjs +1 -1
- package/esm2022/models/formElementType.model.mjs +1 -1
- package/esm2022/models/grid.model.mjs +1 -1
- package/esm2022/models/logic.model.mjs +1 -1
- package/esm2022/models/option.model.mjs +1 -1
- package/esm2022/models/page.model.mjs +1 -1
- package/esm2022/models/publicForm.model.mjs +1 -1
- package/esm2022/models/question.model.mjs +1 -1
- package/esm2022/models/row.model.mjs +1 -1
- package/esm2022/models/section.model.mjs +1 -1
- package/esm2022/models/subForm.model.mjs +1 -1
- package/esm2022/models/validation.model.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/question/question/question.component.mjs +3 -3
- package/esm2022/question/question.module.mjs +1 -1
- package/esm2022/services/countryService.mjs +1 -1
- package/esm2022/services/data.service.mjs +1 -1
- package/esm2022/services/form.service.mjs +1 -1
- package/esm2022/services/mapper.service.mjs +1 -17
- package/esm2022/sub-form/sub-form/sub-form.component.mjs +4 -39
- package/esm2022/sub-form/sub-form.module.mjs +5 -11
- package/fesm2022/piserve-tech-form-submission.mjs +94 -337
- package/fesm2022/piserve-tech-form-submission.mjs.map +1 -1
- package/form-submission/navigation-tabs/navigation-tabs.component.d.ts +1 -3
- package/form-submission/next-prev-navigation/next-prev-navigation.component.d.ts +1 -3
- package/form-submission/submit-form/submit-form.component.d.ts +6 -3
- package/models/subForm.model.d.ts +1 -4
- package/package.json +1 -1
- package/sub-form/sub-form/sub-form.component.d.ts +2 -8
- package/sub-form/sub-form.module.d.ts +4 -7
- package/esm2022/models/answer.model.mjs +0 -2
- package/esm2022/models/submission.model.mjs +0 -2
- package/esm2022/sub-form/multiple-subform/multiple-subform.component.mjs +0 -123
- package/esm2022/sub-form/submission-modal/submission-modal.component.mjs +0 -51
- package/models/answer.model.d.ts +0 -7
- package/models/submission.model.d.ts +0 -5
- package/sub-form/multiple-subform/multiple-subform.component.d.ts +0 -34
- package/sub-form/submission-modal/submission-modal.component.d.ts +0 -13
|
@@ -6,10 +6,8 @@ export declare class NavigationTabsComponent {
|
|
|
6
6
|
pageChanged: EventEmitter<number>;
|
|
7
7
|
submitEmit: EventEmitter<any>;
|
|
8
8
|
edit: boolean;
|
|
9
|
-
subFormChange: EventEmitter<any>;
|
|
10
|
-
updateSubFormWithSubmissions(event: any): void;
|
|
11
9
|
setCurrentPage(index: number): void;
|
|
12
10
|
submitForm(): void;
|
|
13
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationTabsComponent, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NavigationTabsComponent, "lib-navigation-tabs", never, { "pages": { "alias": "pages"; "required": false; }; "currentPageIndex": { "alias": "currentPageIndex"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; }, { "pageChanged": "pageChanged"; "submitEmit": "submitEmit";
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NavigationTabsComponent, "lib-navigation-tabs", never, { "pages": { "alias": "pages"; "required": false; }; "currentPageIndex": { "alias": "currentPageIndex"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; }, { "pageChanged": "pageChanged"; "submitEmit": "submitEmit"; }, never, never, false, never>;
|
|
15
13
|
}
|
|
@@ -10,11 +10,9 @@ export declare class NextPrevNavigationComponent {
|
|
|
10
10
|
navigatePrevious: EventEmitter<void>;
|
|
11
11
|
submitEmit: EventEmitter<any>;
|
|
12
12
|
edit: boolean;
|
|
13
|
-
subFormChange: EventEmitter<any>;
|
|
14
|
-
updateSubFormWithSubmissions(event: any): void;
|
|
15
13
|
onNavigateNext(): void;
|
|
16
14
|
onNavigatePrevious(): void;
|
|
17
15
|
submitForm(): void;
|
|
18
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<NextPrevNavigationComponent, never>;
|
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NextPrevNavigationComponent, "lib-next-prev-navigation", never, { "currentPageIndex": { "alias": "currentPageIndex"; "required": false; }; "pages": { "alias": "pages"; "required": false; }; "previousPage": { "alias": "previousPage"; "required": false; }; "nextPage": { "alias": "nextPage"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; }, { "navigateNext": "navigateNext"; "navigatePrevious": "navigatePrevious"; "submitEmit": "submitEmit";
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NextPrevNavigationComponent, "lib-next-prev-navigation", never, { "currentPageIndex": { "alias": "currentPageIndex"; "required": false; }; "pages": { "alias": "pages"; "required": false; }; "previousPage": { "alias": "previousPage"; "required": false; }; "nextPage": { "alias": "nextPage"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; }, { "navigateNext": "navigateNext"; "navigatePrevious": "navigatePrevious"; "submitEmit": "submitEmit"; }, never, never, false, never>;
|
|
20
18
|
}
|
|
@@ -2,6 +2,7 @@ import { EventEmitter, OnInit } from '@angular/core';
|
|
|
2
2
|
import { FormService } from '../../services/form.service';
|
|
3
3
|
import { PublicForm } from '../../models/publicForm.model';
|
|
4
4
|
import { ToastrService } from 'ngx-toastr';
|
|
5
|
+
import { Router } from '@angular/router';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
interface Answer {
|
|
7
8
|
questionId: string;
|
|
@@ -25,6 +26,7 @@ interface QuestionAnswersWrapper {
|
|
|
25
26
|
export declare class SubmitFormComponent implements OnInit {
|
|
26
27
|
private formService;
|
|
27
28
|
private toastr;
|
|
29
|
+
private router;
|
|
28
30
|
question: PublicForm | null;
|
|
29
31
|
moduleName: string;
|
|
30
32
|
edit: boolean;
|
|
@@ -56,8 +58,11 @@ export declare class SubmitFormComponent implements OnInit {
|
|
|
56
58
|
questionId: string;
|
|
57
59
|
file: any;
|
|
58
60
|
}[];
|
|
59
|
-
|
|
61
|
+
submission: any;
|
|
62
|
+
constructor(formService: FormService, toastr: ToastrService, router: Router);
|
|
60
63
|
ngOnInit(): void;
|
|
64
|
+
objectKeys(obj: any): string[];
|
|
65
|
+
isImageUrl(url: string): boolean;
|
|
61
66
|
getFormData(): void;
|
|
62
67
|
getSubmittedFormData(): void;
|
|
63
68
|
assignQuestionProperties(question: PublicForm): void;
|
|
@@ -75,8 +80,6 @@ export declare class SubmitFormComponent implements OnInit {
|
|
|
75
80
|
isValid: boolean;
|
|
76
81
|
message: string;
|
|
77
82
|
};
|
|
78
|
-
updateSubFormWithSubmissions(event: any): void;
|
|
79
|
-
updateSubForm: (pages: any[], updatedSubForm: any) => void;
|
|
80
83
|
static ɵfac: i0.ɵɵFactoryDeclaration<SubmitFormComponent, never>;
|
|
81
84
|
static ɵcmp: i0.ɵɵComponentDeclaration<SubmitFormComponent, "lib-submit-form", never, { "moduleName": { "alias": "moduleName"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "submissionId": { "alias": "submissionId"; "required": false; }; }, { "submit": "submit"; }, never, never, false, never>;
|
|
82
85
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { FormElementType } from './formElementType.model';
|
|
2
|
-
import { Submission } from './submission.model';
|
|
3
2
|
export interface SubForm {
|
|
4
3
|
id: string;
|
|
5
|
-
count: number;
|
|
6
4
|
title: string;
|
|
7
5
|
description: string;
|
|
8
|
-
subFormStructure:
|
|
9
|
-
submissions: Submission[];
|
|
6
|
+
subFormStructure: boolean;
|
|
10
7
|
formElements: FormElementType<any>[];
|
|
11
8
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class SubFormComponent
|
|
2
|
+
export declare class SubFormComponent {
|
|
4
3
|
subForm: any;
|
|
5
|
-
edit: boolean;
|
|
6
|
-
subFormChange: EventEmitter<any>;
|
|
7
|
-
ngOnInit(): void;
|
|
8
|
-
bindAnswersToFormElements(): void;
|
|
9
|
-
updateSubFormWithSubmissions(event: any): void;
|
|
10
4
|
static ɵfac: i0.ɵɵFactoryDeclaration<SubFormComponent, never>;
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SubFormComponent, "lib-sub-form", never, { "subForm": { "alias": "subForm"; "required": false; };
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SubFormComponent, "lib-sub-form", never, { "subForm": { "alias": "subForm"; "required": false; }; }, {}, never, never, false, never>;
|
|
12
6
|
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./sub-form/sub-form.component";
|
|
3
|
-
import * as i2 from "
|
|
4
|
-
import * as i3 from "
|
|
5
|
-
import * as i4 from "
|
|
6
|
-
import * as i5 from "../form-fields/form-fields.module";
|
|
7
|
-
import * as i6 from "../logic/logic.module";
|
|
8
|
-
import * as i7 from "@angular/material/dialog";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "../form-fields/form-fields.module";
|
|
5
|
+
import * as i4 from "../logic/logic.module";
|
|
9
6
|
export declare class SubFormModule {
|
|
10
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<SubFormModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SubFormModule, [typeof i1.SubFormComponent
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SubFormModule, [typeof i1.SubFormComponent], [typeof i2.CommonModule, typeof i3.FormFieldsModule, typeof i4.LogicModule], [typeof i1.SubFormComponent]>;
|
|
12
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<SubFormModule>;
|
|
13
10
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5zd2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9tb2RlbHMvYW5zd2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSBcIi4vYXR0YWNobWVudC5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBbnN3ZXJ7XHJcbiAgICBxdWVzdGlvbklkPzogc3RyaW5nO1xyXG4gICAgYW5zd2VyPzogYW55O1xyXG4gICAgYW5zd2VySWQ/OiBzdHJpbmc7XHJcbiAgICBhdHRhY2htZW50czogQXR0YWNobWVudFtdO1xyXG59Il19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWlzc2lvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvbW9kZWxzL3N1Ym1pc3Npb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuc3dlciB9IGZyb20gXCIuL2Fuc3dlci5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdWJtaXNzaW9ue1xyXG4gICAgc3VibWlzc2lvbklkOiBzdHJpbmc7XHJcbiAgICBhbnN3ZXJzOiBBbnN3ZXJbXTtcclxufVxyXG5cclxuIl19
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { MatDialogConfig } from '@angular/material/dialog';
|
|
3
|
-
import { SubmissionModalComponent } from '../submission-modal/submission-modal.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
export class MultipleSubformComponent {
|
|
8
|
-
constructor(dialog) {
|
|
9
|
-
this.dialog = dialog;
|
|
10
|
-
this.subForm = {};
|
|
11
|
-
this.subFormChange = new EventEmitter();
|
|
12
|
-
this.submissions = [];
|
|
13
|
-
this.deletedSubmissions = [];
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
if (this.subForm?.submissions) {
|
|
17
|
-
this.submissions = this.subForm.submissions;
|
|
18
|
-
this.subForm.deletedSubmissions = [];
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
subFormSubmission(subForm) {
|
|
22
|
-
const answers = [];
|
|
23
|
-
subForm.formElements.forEach((formElement) => {
|
|
24
|
-
const answer = {
|
|
25
|
-
questionId: formElement.element.id,
|
|
26
|
-
answer: formElement.element?.answer || '',
|
|
27
|
-
attachments: formElement.element.attachments,
|
|
28
|
-
};
|
|
29
|
-
answers.push(answer);
|
|
30
|
-
formElement.element.answer = {};
|
|
31
|
-
});
|
|
32
|
-
const submission = {
|
|
33
|
-
submissionId: '',
|
|
34
|
-
answers: answers,
|
|
35
|
-
};
|
|
36
|
-
this.submissions.push(submission);
|
|
37
|
-
this.updateSubFormWithSubmissions();
|
|
38
|
-
}
|
|
39
|
-
editSubFormSubmission(index, submission) {
|
|
40
|
-
const subForm = this.bindAnswers(this.subForm, submission);
|
|
41
|
-
const dialogConfig = new MatDialogConfig();
|
|
42
|
-
dialogConfig.position = { top: '5%' };
|
|
43
|
-
dialogConfig.width = '100%';
|
|
44
|
-
dialogConfig.data = {
|
|
45
|
-
subForm: subForm,
|
|
46
|
-
};
|
|
47
|
-
dialogConfig.hasBackdrop = true;
|
|
48
|
-
dialogConfig.disableClose = true;
|
|
49
|
-
dialogConfig.maxHeight = '80vh';
|
|
50
|
-
const dialogRef = this.dialog.open(SubmissionModalComponent, dialogConfig);
|
|
51
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
52
|
-
if (result) {
|
|
53
|
-
this.updateSubmission(result, index);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
bindAnswers(subForm, submission) {
|
|
58
|
-
const updatedSubForm = { ...subForm };
|
|
59
|
-
updatedSubForm.formElements.forEach((formElement) => {
|
|
60
|
-
const answer = submission.answers.find(a => a.questionId === formElement.element.id);
|
|
61
|
-
if (answer) {
|
|
62
|
-
formElement.element.answer = answer.answer;
|
|
63
|
-
formElement.element.attachments = answer.attachments;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
return updatedSubForm;
|
|
67
|
-
}
|
|
68
|
-
deleteSubForm(index) {
|
|
69
|
-
const submission = this.submissions[index];
|
|
70
|
-
if (submission.submissionId) {
|
|
71
|
-
this.deletedSubmissions.push(submission.submissionId);
|
|
72
|
-
}
|
|
73
|
-
this.submissions.splice(index, 1);
|
|
74
|
-
this.updateSubFormWithSubmissions();
|
|
75
|
-
}
|
|
76
|
-
addNewSubmission() {
|
|
77
|
-
const dialogConfig = new MatDialogConfig();
|
|
78
|
-
dialogConfig.position = { top: '5%' };
|
|
79
|
-
dialogConfig.width = '100%';
|
|
80
|
-
dialogConfig.data = {
|
|
81
|
-
subForm: this.subForm,
|
|
82
|
-
};
|
|
83
|
-
dialogConfig.hasBackdrop = true;
|
|
84
|
-
dialogConfig.disableClose = true;
|
|
85
|
-
dialogConfig.maxHeight = '80vh';
|
|
86
|
-
const dialogRef = this.dialog.open(SubmissionModalComponent, dialogConfig);
|
|
87
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
88
|
-
if (result) {
|
|
89
|
-
this.subForm = result;
|
|
90
|
-
this.subFormSubmission(result);
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
updateSubmission(result, index) {
|
|
95
|
-
this.submissions[index].answers = [];
|
|
96
|
-
result.formElements.forEach((formElement) => {
|
|
97
|
-
const answer = {
|
|
98
|
-
questionId: formElement.element.id,
|
|
99
|
-
answer: formElement.element?.answer || '',
|
|
100
|
-
attachments: formElement.element.attachments,
|
|
101
|
-
};
|
|
102
|
-
formElement.element.answer = {};
|
|
103
|
-
this.submissions[index].answers.push(answer);
|
|
104
|
-
});
|
|
105
|
-
this.updateSubFormWithSubmissions();
|
|
106
|
-
}
|
|
107
|
-
updateSubFormWithSubmissions() {
|
|
108
|
-
this.subForm.submissions = this.submissions;
|
|
109
|
-
this.subForm.deletedSubmissions = this.deletedSubmissions;
|
|
110
|
-
this.subFormChange.emit(this.subForm);
|
|
111
|
-
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultipleSubformComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultipleSubformComponent, selector: "lib-multiple-subform", inputs: { subForm: "subForm" }, outputs: { subFormChange: "subFormChange" }, ngImport: i0, template: "<div class=\"mb-4\">\r\n <table class=\"table table-bordered border border-2\">\r\n <tr>\r\n <th\r\n class=\"border border-1\"\r\n *ngFor=\"let formElement of subForm.formElements\"\r\n >\r\n {{ formElement.element.question }}\r\n </th>\r\n <th></th>\r\n </tr>\r\n <tr *ngFor=\"let submission of submissions; let i = index\">\r\n <td class=\"border border-1\" *ngFor=\"let answer of submission.answers\">{{answer.answer}}</td>\r\n <td class=\"text-center\">\r\n <button class=\"border border-0 p-0 me-2\" (click)=\"editSubFormSubmission(i,submission)\">\r\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"28\" height=\"26.4737\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.0009 19.0787H9.1582V16.2361C9.1582 15.9447 9.2739 15.6653 9.47999 15.4593L16.2224 8.71686C16.4284 8.5105 16.708 8.39453 16.9995 8.39453C17.2911 8.39453 17.5707 8.5105 17.7767 8.71686L19.5201 10.4603C19.7264 10.6663 19.8424 10.9458 19.8424 11.2374C19.8424 11.529 19.7264 11.8086 19.5201 12.0145L12.7777 18.757C12.5715 18.9628 12.2922 19.0785 12.0009 19.0787Z\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15.1704 10.3984L17.8415 13.0695\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </button>\r\n <button class=\"border border-0 p-0\" (click) = \"deleteSubForm(i)\" >\r\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"27.6402\" height=\"26.1328\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\r\n <path d=\"M8.60449 9.20637H20.0354\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M19.2189 9.20703V17.7863C19.2189 18.6482 18.4881 19.3462 17.5859 19.3462H11.0539C10.1517 19.3462 9.4209 18.6482 9.4209 17.7863V9.20703\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M16.7696 6.67122H11.8706\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M12.6871 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15.9532 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n \r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n <div class=\"footer\">\r\n <div class=\"addNewBtn\" (click)=\"addNewSubmission()\">\r\n <svg\r\n width=\"15\"\r\n height=\"14\"\r\n viewBox=\"0 0 15 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.5556 13.2778H2.44444C1.64639 13.2778 1 12.6673 1 11.9136V2.3642C1 1.61048 1.64639 1 2.44444 1H12.5556C13.3536 1 14 1.61048 14 2.3642V11.9136C14 12.6673 13.3536 13.2778 12.5556 13.2778Z\"\r\n stroke=\"#D8D8D8\"\r\n stroke-width=\"0.8\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M5.3335 7.50347H9.66683\"\r\n stroke=\"#084FFF\"\r\n stroke-width=\"0.8\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M7.50005 5.33594V9.66927\"\r\n stroke=\"#084FFF\"\r\n stroke-width=\"0.8\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg> \r\n <a class=\"ms-2 text-decoration-none\">Add New</a>\r\n </div>\r\n </div>\r\n \r\n \r\n</div>\r\n", styles: [".footer{display:flex;justify-content:flex-end;align-items:center;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
114
|
-
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultipleSubformComponent, decorators: [{
|
|
116
|
-
type: Component,
|
|
117
|
-
args: [{ selector: 'lib-multiple-subform', template: "<div class=\"mb-4\">\r\n <table class=\"table table-bordered border border-2\">\r\n <tr>\r\n <th\r\n class=\"border border-1\"\r\n *ngFor=\"let formElement of subForm.formElements\"\r\n >\r\n {{ formElement.element.question }}\r\n </th>\r\n <th></th>\r\n </tr>\r\n <tr *ngFor=\"let submission of submissions; let i = index\">\r\n <td class=\"border border-1\" *ngFor=\"let answer of submission.answers\">{{answer.answer}}</td>\r\n <td class=\"text-center\">\r\n <button class=\"border border-0 p-0 me-2\" (click)=\"editSubFormSubmission(i,submission)\">\r\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"28\" height=\"26.4737\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.0009 19.0787H9.1582V16.2361C9.1582 15.9447 9.2739 15.6653 9.47999 15.4593L16.2224 8.71686C16.4284 8.5105 16.708 8.39453 16.9995 8.39453C17.2911 8.39453 17.5707 8.5105 17.7767 8.71686L19.5201 10.4603C19.7264 10.6663 19.8424 10.9458 19.8424 11.2374C19.8424 11.529 19.7264 11.8086 19.5201 12.0145L12.7777 18.757C12.5715 18.9628 12.2922 19.0785 12.0009 19.0787Z\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15.1704 10.3984L17.8415 13.0695\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </button>\r\n <button class=\"border border-0 p-0\" (click) = \"deleteSubForm(i)\" >\r\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"27.6402\" height=\"26.1328\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\r\n <path d=\"M8.60449 9.20637H20.0354\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M19.2189 9.20703V17.7863C19.2189 18.6482 18.4881 19.3462 17.5859 19.3462H11.0539C10.1517 19.3462 9.4209 18.6482 9.4209 17.7863V9.20703\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M16.7696 6.67122H11.8706\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M12.6871 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15.9532 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n \r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n <div class=\"footer\">\r\n <div class=\"addNewBtn\" (click)=\"addNewSubmission()\">\r\n <svg\r\n width=\"15\"\r\n height=\"14\"\r\n viewBox=\"0 0 15 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.5556 13.2778H2.44444C1.64639 13.2778 1 12.6673 1 11.9136V2.3642C1 1.61048 1.64639 1 2.44444 1H12.5556C13.3536 1 14 1.61048 14 2.3642V11.9136C14 12.6673 13.3536 13.2778 12.5556 13.2778Z\"\r\n stroke=\"#D8D8D8\"\r\n stroke-width=\"0.8\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M5.3335 7.50347H9.66683\"\r\n stroke=\"#084FFF\"\r\n stroke-width=\"0.8\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M7.50005 5.33594V9.66927\"\r\n stroke=\"#084FFF\"\r\n stroke-width=\"0.8\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg> \r\n <a class=\"ms-2 text-decoration-none\">Add New</a>\r\n </div>\r\n </div>\r\n \r\n \r\n</div>\r\n", styles: [".footer{display:flex;justify-content:flex-end;align-items:center;cursor:pointer}\n"] }]
|
|
118
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { subForm: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], subFormChange: [{
|
|
121
|
-
type: Output
|
|
122
|
-
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3N1Yi1mb3JtL211bHRpcGxlLXN1YmZvcm0vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3N1Yi1mb3JtL211bHRpcGxlLXN1YmZvcm0vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7OztBQXFCMUYsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxZQUFtQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBTDNCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBVSxFQUFFLENBQUM7SUFDUSxDQUFDO0lBRXhDLFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBQyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBVztRQUMzQixNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsT0FB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RSxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFO2dCQUN6QyxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXO2FBQzdDLENBQUM7WUFDRixXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELDRCQUE0QjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQXZIVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix5SUN2QnJDLHk4SEEwRUE7OzRGRG5EYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO2dHQUt2QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3VibWlzc2lvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vc3VibWlzc2lvbi1tb2RhbC9zdWJtaXNzaW9uLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXR0YWNobWVudC5tb2RlbCc7XHJcblxyXG5pbnRlcmZhY2UgQW5zd2VyIHtcclxuICBxdWVzdGlvbklkOiBzdHJpbmc7XHJcbiAgYW5zd2VyOiBhbnk7XHJcbiAgYW5zd2VySWQ/OiBzdHJpbmc7XHJcbiAgZGVsZXRlRmlsZXM/OiBzdHJpbmdbXTtcclxuICBhdHRhY2htZW50czogQXR0YWNobWVudFtdO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU3VibWlzc2lvbiB7XHJcbiAgc3VibWlzc2lvbklkOiBzdHJpbmc7XHJcbiAgYW5zd2VyczogQW5zd2VyW107XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW11bHRpcGxlLXN1YmZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXBsZS1zdWJmb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tdWx0aXBsZS1zdWJmb3JtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpcGxlU3ViZm9ybUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc3ViRm9ybTogYW55ID0ge307IFxyXG4gIEBPdXRwdXQoKSBzdWJGb3JtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHN1Ym1pc3Npb25zIDpTdWJtaXNzaW9uW10gPVtdO1xyXG4gIGRlbGV0ZWRTdWJtaXNzaW9uczpzdHJpbmdbXT1bXTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHt9XHJcbiAgXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZih0aGlzLnN1YkZvcm0/LnN1Ym1pc3Npb25zKXtcclxuICAgICAgdGhpcy5zdWJtaXNzaW9ucz0gdGhpcy5zdWJGb3JtLnN1Ym1pc3Npb25zO1xyXG4gICAgICB0aGlzLnN1YkZvcm0uZGVsZXRlZFN1Ym1pc3Npb25zPVtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3ViRm9ybVN1Ym1pc3Npb24oc3ViRm9ybTphbnkpIHtcclxuICAgIGNvbnN0IGFuc3dlcnM6IEFuc3dlcltdID0gW107XHJcbiAgICBzdWJGb3JtLmZvcm1FbGVtZW50cy5mb3JFYWNoKChmb3JtRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGFuc3dlcjogQW5zd2VyID0ge1xyXG4gICAgICAgIHF1ZXN0aW9uSWQ6IGZvcm1FbGVtZW50LmVsZW1lbnQuaWQsXHJcbiAgICAgICAgYW5zd2VyOiBmb3JtRWxlbWVudC5lbGVtZW50Py5hbnN3ZXIgfHwgJycsXHJcbiAgICAgICAgYXR0YWNobWVudHM6IGZvcm1FbGVtZW50LmVsZW1lbnQuYXR0YWNobWVudHMsIFxyXG4gICAgICB9O1xyXG4gICAgICBhbnN3ZXJzLnB1c2goYW5zd2VyKTtcclxuICAgICAgZm9ybUVsZW1lbnQuZWxlbWVudC5hbnN3ZXI9e307XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzdWJtaXNzaW9uOiBTdWJtaXNzaW9uID0ge1xyXG4gICAgICBzdWJtaXNzaW9uSWQ6ICcnLFxyXG4gICAgICBhbnN3ZXJzOiBhbnN3ZXJzLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnN1Ym1pc3Npb25zLnB1c2goc3VibWlzc2lvbik7XHJcbiAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcclxuICB9XHJcblxyXG4gIGVkaXRTdWJGb3JtU3VibWlzc2lvbihpbmRleDpudW1iZXIsc3VibWlzc2lvbjpTdWJtaXNzaW9uKXtcclxuICAgICAgXHJcbiAgICBjb25zdCBzdWJGb3JtPXRoaXMuYmluZEFuc3dlcnModGhpcy5zdWJGb3JtLHN1Ym1pc3Npb24pO1xyXG5cclxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgIGRpYWxvZ0NvbmZpZy5wb3NpdGlvbiA9IHsgdG9wOiAnNSUnIH07XHJcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnMTAwJSc7XHJcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IHtcclxuICAgICAgc3ViRm9ybTogc3ViRm9ybSxcclxuICAgIH07XHJcbiAgICBkaWFsb2dDb25maWcuaGFzQmFja2Ryb3AgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcubWF4SGVpZ2h0ID0gJzgwdmgnO1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihTdWJtaXNzaW9uTW9kYWxDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTdWJtaXNzaW9uKHJlc3VsdCxpbmRleClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBcclxuXHJcbiAgfVxyXG5cclxuICBiaW5kQW5zd2VycyhzdWJGb3JtOiBhbnksIHN1Ym1pc3Npb246IFN1Ym1pc3Npb24pOiBhbnkge1xyXG4gICAgY29uc3QgdXBkYXRlZFN1YkZvcm0gPSB7IC4uLnN1YkZvcm0gfTtcclxuICAgIHVwZGF0ZWRTdWJGb3JtLmZvcm1FbGVtZW50cy5mb3JFYWNoKChmb3JtRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGFuc3dlciA9IHN1Ym1pc3Npb24uYW5zd2Vycy5maW5kKGEgPT4gYS5xdWVzdGlvbklkID09PSBmb3JtRWxlbWVudC5lbGVtZW50LmlkKTtcclxuICAgICAgaWYgKGFuc3dlcikge1xyXG4gICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyID0gYW5zd2VyLmFuc3dlcjtcclxuICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LmF0dGFjaG1lbnRzID0gYW5zd2VyLmF0dGFjaG1lbnRzO1xyXG4gICAgICB9XHJcbiAgICB9KTsgICAgXHJcbiAgICByZXR1cm4gdXBkYXRlZFN1YkZvcm07XHJcbiAgfVxyXG5cclxuICBkZWxldGVTdWJGb3JtKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHN1Ym1pc3Npb24gPSB0aGlzLnN1Ym1pc3Npb25zW2luZGV4XVxyXG4gICAgaWYoc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpe1xyXG4gICAgICB0aGlzLmRlbGV0ZWRTdWJtaXNzaW9ucy5wdXNoKHN1Ym1pc3Npb24uc3VibWlzc2lvbklkKVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdWJtaXNzaW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XHJcbiAgfVxyXG5cclxuICBhZGROZXdTdWJtaXNzaW9uKCkge1xyXG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG4gICAgZGlhbG9nQ29uZmlnLnBvc2l0aW9uID0geyB0b3A6ICc1JScgfTtcclxuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICcxMDAlJztcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xyXG4gICAgICBzdWJGb3JtOiB0aGlzLnN1YkZvcm0sXHJcbiAgICB9O1xyXG4gICAgZGlhbG9nQ29uZmlnLmhhc0JhY2tkcm9wID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLm1heEhlaWdodCA9ICc4MHZoJztcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU3VibWlzc2lvbk1vZGFsQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHRoaXMuc3ViRm9ybSA9IHJlc3VsdDtcclxuICAgICAgIHRoaXMuc3ViRm9ybVN1Ym1pc3Npb24ocmVzdWx0KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdWJtaXNzaW9uKHJlc3VsdDogYW55LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN1Ym1pc3Npb25zW2luZGV4XS5hbnN3ZXJzID0gW107XHJcbiAgICByZXN1bHQuZm9ybUVsZW1lbnRzLmZvckVhY2goKGZvcm1FbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgYW5zd2VyOiBBbnN3ZXIgPSB7XHJcbiAgICAgICAgcXVlc3Rpb25JZDogZm9ybUVsZW1lbnQuZWxlbWVudC5pZCxcclxuICAgICAgICBhbnN3ZXI6IGZvcm1FbGVtZW50LmVsZW1lbnQ/LmFuc3dlciB8fCAnJyxcclxuICAgICAgICBhdHRhY2htZW50czogZm9ybUVsZW1lbnQuZWxlbWVudC5hdHRhY2htZW50cywgXHJcbiAgICAgIH07XHJcbiAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyID0ge307XHJcbiAgICAgIHRoaXMuc3VibWlzc2lvbnNbaW5kZXhdLmFuc3dlcnMucHVzaChhbnN3ZXIpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLnN1YkZvcm0uc3VibWlzc2lvbnMgPSB0aGlzLnN1Ym1pc3Npb25zO1xyXG4gICAgdGhpcy5zdWJGb3JtLmRlbGV0ZWRTdWJtaXNzaW9ucyA9IHRoaXMuZGVsZXRlZFN1Ym1pc3Npb25zO1xyXG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdWJGb3JtKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1iLTRcIj5cclxuICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZCBib3JkZXIgYm9yZGVyLTJcIj5cclxuICAgIDx0cj5cclxuICAgICAgPHRoXHJcbiAgICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTFcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBmb3JtRWxlbWVudCBvZiBzdWJGb3JtLmZvcm1FbGVtZW50c1wiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBmb3JtRWxlbWVudC5lbGVtZW50LnF1ZXN0aW9uIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0aD48L3RoPlxyXG4gICAgPC90cj5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgc3VibWlzc2lvbiBvZiBzdWJtaXNzaW9uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8dGQgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTFcIiAqbmdGb3I9XCJsZXQgYW5zd2VyIG9mIHN1Ym1pc3Npb24uYW5zd2Vyc1wiPnt7YW5zd2VyLmFuc3dlcn19PC90ZD5cclxuICAgICAgPHRkIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYm9yZGVyIGJvcmRlci0wIHAtMCBtZS0yXCIgKGNsaWNrKT1cImVkaXRTdWJGb3JtU3VibWlzc2lvbihpLHN1Ym1pc3Npb24pXCI+XHJcbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyOVwiIGhlaWdodD1cIjI4XCIgdmlld0JveD1cIjAgMCAyOSAyOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjI4XCIgaGVpZ2h0PVwiMjYuNDczN1wiIHJ4PVwiNS41XCIgZmlsbD1cIndoaXRlXCIgc3Ryb2tlPVwiI0Q4RDhEOFwiLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMi4wMDA5IDE5LjA3ODdIOS4xNTgyVjE2LjIzNjFDOS4xNTgyIDE1Ljk0NDcgOS4yNzM5IDE1LjY2NTMgOS40Nzk5OSAxNS40NTkzTDE2LjIyMjQgOC43MTY4NkMxNi40Mjg0IDguNTEwNSAxNi43MDggOC4zOTQ1MyAxNi45OTk1IDguMzk0NTNDMTcuMjkxMSA4LjM5NDUzIDE3LjU3MDcgOC41MTA1IDE3Ljc3NjcgOC43MTY4NkwxOS41MjAxIDEwLjQ2MDNDMTkuNzI2NCAxMC42NjYzIDE5Ljg0MjQgMTAuOTQ1OCAxOS44NDI0IDExLjIzNzRDMTkuODQyNCAxMS41MjkgMTkuNzI2NCAxMS44MDg2IDE5LjUyMDEgMTIuMDE0NUwxMi43Nzc3IDE4Ljc1N0MxMi41NzE1IDE4Ljk2MjggMTIuMjkyMiAxOS4wNzg1IDEyLjAwMDkgMTkuMDc4N1pcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS4xNzA0IDEwLjM5ODRMMTcuODQxNSAxMy4wNjk1XCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPiAgIFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJib3JkZXIgYm9yZGVyLTAgcC0wXCIgKGNsaWNrKSA9IFwiZGVsZXRlU3ViRm9ybShpKVwiID5cclxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI5XCIgaGVpZ2h0PVwiMjhcIiB2aWV3Qm94PVwiMCAwIDI5IDI4XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMjcuNjQwMlwiIGhlaWdodD1cIjI2LjEzMjhcIiByeD1cIjUuNVwiIGZpbGw9XCJ3aGl0ZVwiIHN0cm9rZT1cIiNEOEQ4RDhcIi8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguNjA0NDkgOS4yMDYzN0gyMC4wMzU0XCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTkuMjE4OSA5LjIwNzAzVjE3Ljc4NjNDMTkuMjE4OSAxOC42NDgyIDE4LjQ4ODEgMTkuMzQ2MiAxNy41ODU5IDE5LjM0NjJIMTEuMDUzOUMxMC4xNTE3IDE5LjM0NjIgOS40MjA5IDE4LjY0ODIgOS40MjA5IDE3Ljc4NjNWOS4yMDcwM1wiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE2Ljc2OTYgNi42NzEyMkgxMS44NzA2XCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNjg3MSAxMi4zMjQyVjE2LjIyMzlcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS45NTMyIDEyLjMyNDJWMTYuMjIzOVwiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICA8L3RhYmxlPlxyXG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhZGROZXdCdG5cIiAoY2xpY2spPVwiYWRkTmV3U3VibWlzc2lvbigpXCI+XHJcbiAgICAgIDxzdmdcclxuICAgICAgICB3aWR0aD1cIjE1XCJcclxuICAgICAgICBoZWlnaHQ9XCIxNFwiXHJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxNSAxNFwiXHJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICBkPVwiTTEyLjU1NTYgMTMuMjc3OEgyLjQ0NDQ0QzEuNjQ2MzkgMTMuMjc3OCAxIDEyLjY2NzMgMSAxMS45MTM2VjIuMzY0MkMxIDEuNjEwNDggMS42NDYzOSAxIDIuNDQ0NDQgMUgxMi41NTU2QzEzLjM1MzYgMSAxNCAxLjYxMDQ4IDE0IDIuMzY0MlYxMS45MTM2QzE0IDEyLjY2NzMgMTMuMzUzNiAxMy4yNzc4IDEyLjU1NTYgMTMuMjc3OFpcIlxyXG4gICAgICAgICAgc3Ryb2tlPVwiI0Q4RDhEOFwiXHJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjhcIlxyXG4gICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgZD1cIk01LjMzMzUgNy41MDM0N0g5LjY2NjgzXCJcclxuICAgICAgICAgIHN0cm9rZT1cIiMwODRGRkZcIlxyXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC44XCJcclxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgIGQ9XCJNNy41MDAwNSA1LjMzNTk0VjkuNjY5MjdcIlxyXG4gICAgICAgICAgc3Ryb2tlPVwiIzA4NEZGRlwiXHJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjhcIlxyXG4gICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9zdmc+IFxyXG4gICAgICA8YSBjbGFzcz1cIm1zLTIgdGV4dC1kZWNvcmF0aW9uLW5vbmVcIj5BZGQgTmV3PC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiBcclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/dialog";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "../../form-fields/check-box-fields/check-box-fields.component";
|
|
7
|
-
import * as i4 from "../../form-fields/date-time-fields/date-time-fields.component";
|
|
8
|
-
import * as i5 from "../../form-fields/drop-down-fields/drop-down-fields.component";
|
|
9
|
-
import * as i6 from "../../form-fields/file-picker-fields/file-picker-fields.component";
|
|
10
|
-
import * as i7 from "../../form-fields/location-fields/location-fields.component";
|
|
11
|
-
import * as i8 from "../../form-fields/mail-fields/mail-fields.component";
|
|
12
|
-
import * as i9 from "../../form-fields/mobile-fields/mobile-fields.component";
|
|
13
|
-
import * as i10 from "../../form-fields/number-fields/number-fields.component";
|
|
14
|
-
import * as i11 from "../../form-fields/password-fields/password-fields.component";
|
|
15
|
-
import * as i12 from "../../form-fields/radio-button-fields/radio-button-fields.component";
|
|
16
|
-
import * as i13 from "../../form-fields/rich-text-editor-fields/rich-text-editor-fields.component";
|
|
17
|
-
import * as i14 from "../../form-fields/selection-matrix-fields/selection-matrix-fields.component";
|
|
18
|
-
import * as i15 from "../../form-fields/signature-fields/signature-fields.component";
|
|
19
|
-
import * as i16 from "../../form-fields/slider-fields/slider-fields.component";
|
|
20
|
-
import * as i17 from "../../form-fields/terms-and-condition-fields/terms-and-condition-fields.component";
|
|
21
|
-
import * as i18 from "../../form-fields/text-area-fields/text-area-fields.component";
|
|
22
|
-
import * as i19 from "../../form-fields/text-fields/text-fields.component";
|
|
23
|
-
import * as i20 from "../../form-fields/toggle-switch-fields/toggle-switch-fields.component";
|
|
24
|
-
import * as i21 from "../../form-fields/url-fields/url-fields.component";
|
|
25
|
-
import * as i22 from "../../form-fields/section-fields/section-fields.component";
|
|
26
|
-
import * as i23 from "../../logic/first-child/first-child.component";
|
|
27
|
-
export class SubmissionModalComponent {
|
|
28
|
-
constructor(data, dialogRef) {
|
|
29
|
-
this.data = data;
|
|
30
|
-
this.dialogRef = dialogRef;
|
|
31
|
-
}
|
|
32
|
-
ngOnInit() {
|
|
33
|
-
this.subForm = this.data.subForm;
|
|
34
|
-
}
|
|
35
|
-
closeModal() {
|
|
36
|
-
this.dialogRef.close();
|
|
37
|
-
}
|
|
38
|
-
saveSubmission() {
|
|
39
|
-
this.dialogRef.close(this.subForm);
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubmissionModalComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SubmissionModalComponent, selector: "lib-submission-modal", ngImport: i0, template: "<div class=\"mb-5\">\r\n <div class=\"modalHeader mb-4\">\r\n <div class=\"title-div\">\r\n <p class=\"title\">{{subForm.title}}</p>\r\n </div>\r\n <div class=\"header-btn\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" (click)=\"closeModal()\">\r\n <path d=\"M8 8L16 16\" stroke=\"#1D252D\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M16 8L8 16\" stroke=\"#1D252D\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n </div>\r\n\r\n <div class=\"px-3\" *ngFor=\"let formElement of subForm.formElements\">\r\n <div *ngIf=\"formElement.entityType === 'QUESTION'\">\r\n <lib-check-box-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'CHECK_BOX'\"\r\n [question]=\"formElement.element\"\r\n ></lib-check-box-fields>\r\n <lib-date-time-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'DATE_TIME'\"\r\n [question]=\"formElement.element\"\r\n ></lib-date-time-fields>\r\n <lib-drop-down-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'DROP_DOWN'\"\r\n [question]=\"formElement.element\"\r\n ></lib-drop-down-fields>\r\n <lib-file-picker-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'FILE_PICKER'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-file-picker-fields>\r\n <lib-location-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'LOCATION'\"\r\n [question]=\"formElement.element\"\r\n ></lib-location-fields>\r\n\r\n <lib-mail-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'EMAIL'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-mail-fields>\r\n <lib-mobile-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'MOBILE'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-mobile-fields>\r\n <lib-number-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'NUMBER'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-number-fields>\r\n <lib-password-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'PASSWORD'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-password-fields>\r\n <lib-radio-button-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'RADIO_BUTTON'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-radio-button-fields>\r\n <lib-rich-text-editor-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'RICH_TEXT_EDITOR'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-rich-text-editor-fields>\r\n <lib-selection-matrix-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'SELECTION_MATRIX'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-selection-matrix-fields>\r\n <lib-signature-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'SIGNATURE'\"\r\n [question]=\"formElement.element\"\r\n ></lib-signature-fields>\r\n <lib-slider-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'SLIDER'\"\r\n [question]=\"formElement.element\"\r\n ></lib-slider-fields>\r\n <lib-terms-and-condition-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType ===\r\n 'TERMS_AND_CONDITION'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-terms-and-condition-fields>\r\n <lib-text-area-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'TEXT_AREA'\"\r\n [question]=\"formElement.element\"\r\n ></lib-text-area-fields>\r\n <lib-text-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'TEXT_BOX'\"\r\n [question]=\"formElement.element\"\r\n ></lib-text-fields>\r\n <lib-toggle-switch-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'TOGGLE_SWITCH'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-toggle-switch-fields>\r\n <lib-url-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'URL'\"\r\n [question]=\"formElement.element\"\r\n ></lib-url-fields>\r\n <lib-first-child\r\n *ngIf=\"formElement.element.childLogics\"\r\n [childLogics]=\"formElement.element.childLogics\"\r\n ></lib-first-child>\r\n </div>\r\n <div *ngIf=\"formElement.entityType === 'SECTION'\">\r\n <lib-section-fields\r\n [section]=\"formElement.element\"\r\n ></lib-section-fields>\r\n </div>\r\n </div>\r\n\r\n <div class=\"okBtn me-4\">\r\n <button\r\n class=\"submitBtn me-md-2 rounded-pill\"\r\n type=\"button\"\r\n (click)=\"saveSubmission()\">\r\n Ok\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".modalHeader{width:100%;display:flex;flex-direction:row}.modalHeader .title-div{width:90%;display:flex;justify-content:center;margin-top:5%}.modalHeader .title-div .title{height:24px;font-style:normal;font-weight:600;font-size:24px;font-weight:550;line-height:24px;text-align:center;color:#1d252d;letter-spacing:.5px}.modalHeader .header-btn{width:10%;margin-top:4%;display:flex;justify-content:center}.modalHeader .header-btn svg{font-size:20px;cursor:pointer}.submitBtn{background:#084fff;color:#fff;border:none;padding:10px 27px;width:auto}.okBtn{display:flex;justify-content:end;margin-left:auto;margin-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CheckBoxFieldsComponent, selector: "lib-check-box-fields", inputs: ["question"] }, { kind: "component", type: i4.DateTimeFieldsComponent, selector: "lib-date-time-fields", inputs: ["question"] }, { kind: "component", type: i5.DropDownFieldsComponent, selector: "lib-drop-down-fields", inputs: ["question"] }, { kind: "component", type: i6.FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: ["question"] }, { kind: "component", type: i7.LocationFieldsComponent, selector: "lib-location-fields", inputs: ["question"] }, { kind: "component", type: i8.MailFieldsComponent, selector: "lib-mail-fields", inputs: ["question"] }, { kind: "component", type: i9.MobileFieldsComponent, selector: "lib-mobile-fields", inputs: ["question"] }, { kind: "component", type: i10.NumberFieldsComponent, selector: "lib-number-fields", inputs: ["question"] }, { kind: "component", type: i11.PasswordFieldsComponent, selector: "lib-password-fields", inputs: ["question"] }, { kind: "component", type: i12.RadioButtonFieldsComponent, selector: "lib-radio-button-fields", inputs: ["question"] }, { kind: "component", type: i13.RichTextEditorFieldsComponent, selector: "lib-rich-text-editor-fields", inputs: ["question"] }, { kind: "component", type: i14.SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: ["question"] }, { kind: "component", type: i15.SignatureFieldsComponent, selector: "lib-signature-fields", inputs: ["question"] }, { kind: "component", type: i16.SliderFieldsComponent, selector: "lib-slider-fields", inputs: ["question"] }, { kind: "component", type: i17.TermsAndConditionFieldsComponent, selector: "lib-terms-and-condition-fields", inputs: ["question"] }, { kind: "component", type: i18.TextAreaFieldsComponent, selector: "lib-text-area-fields", inputs: ["question"] }, { kind: "component", type: i19.TextFieldsComponent, selector: "lib-text-fields", inputs: ["question"] }, { kind: "component", type: i20.ToggleSwitchFieldsComponent, selector: "lib-toggle-switch-fields", inputs: ["question"] }, { kind: "component", type: i21.UrlFieldsComponent, selector: "lib-url-fields", inputs: ["question"] }, { kind: "component", type: i22.SectionFieldsComponent, selector: "lib-section-fields", inputs: ["section"] }, { kind: "component", type: i23.FirstChildComponent, selector: "lib-first-child", inputs: ["childLogics"] }] }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubmissionModalComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{ selector: 'lib-submission-modal', template: "<div class=\"mb-5\">\r\n <div class=\"modalHeader mb-4\">\r\n <div class=\"title-div\">\r\n <p class=\"title\">{{subForm.title}}</p>\r\n </div>\r\n <div class=\"header-btn\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" (click)=\"closeModal()\">\r\n <path d=\"M8 8L16 16\" stroke=\"#1D252D\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M16 8L8 16\" stroke=\"#1D252D\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n </div>\r\n\r\n <div class=\"px-3\" *ngFor=\"let formElement of subForm.formElements\">\r\n <div *ngIf=\"formElement.entityType === 'QUESTION'\">\r\n <lib-check-box-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'CHECK_BOX'\"\r\n [question]=\"formElement.element\"\r\n ></lib-check-box-fields>\r\n <lib-date-time-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'DATE_TIME'\"\r\n [question]=\"formElement.element\"\r\n ></lib-date-time-fields>\r\n <lib-drop-down-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'DROP_DOWN'\"\r\n [question]=\"formElement.element\"\r\n ></lib-drop-down-fields>\r\n <lib-file-picker-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'FILE_PICKER'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-file-picker-fields>\r\n <lib-location-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'LOCATION'\"\r\n [question]=\"formElement.element\"\r\n ></lib-location-fields>\r\n\r\n <lib-mail-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'EMAIL'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-mail-fields>\r\n <lib-mobile-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'MOBILE'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-mobile-fields>\r\n <lib-number-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'NUMBER'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-number-fields>\r\n <lib-password-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'PASSWORD'\"\r\n [question]=\"formElement.element\"\r\n >\r\n </lib-password-fields>\r\n <lib-radio-button-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'RADIO_BUTTON'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-radio-button-fields>\r\n <lib-rich-text-editor-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'RICH_TEXT_EDITOR'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-rich-text-editor-fields>\r\n <lib-selection-matrix-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'SELECTION_MATRIX'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-selection-matrix-fields>\r\n <lib-signature-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'SIGNATURE'\"\r\n [question]=\"formElement.element\"\r\n ></lib-signature-fields>\r\n <lib-slider-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'SLIDER'\"\r\n [question]=\"formElement.element\"\r\n ></lib-slider-fields>\r\n <lib-terms-and-condition-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType ===\r\n 'TERMS_AND_CONDITION'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-terms-and-condition-fields>\r\n <lib-text-area-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'TEXT_AREA'\"\r\n [question]=\"formElement.element\"\r\n ></lib-text-area-fields>\r\n <lib-text-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'TEXT_BOX'\"\r\n [question]=\"formElement.element\"\r\n ></lib-text-fields>\r\n <lib-toggle-switch-fields\r\n *ngIf=\"\r\n formElement.element.formElement.elementType === 'TOGGLE_SWITCH'\r\n \"\r\n [question]=\"formElement.element\"\r\n ></lib-toggle-switch-fields>\r\n <lib-url-fields\r\n *ngIf=\"formElement.element.formElement.elementType === 'URL'\"\r\n [question]=\"formElement.element\"\r\n ></lib-url-fields>\r\n <lib-first-child\r\n *ngIf=\"formElement.element.childLogics\"\r\n [childLogics]=\"formElement.element.childLogics\"\r\n ></lib-first-child>\r\n </div>\r\n <div *ngIf=\"formElement.entityType === 'SECTION'\">\r\n <lib-section-fields\r\n [section]=\"formElement.element\"\r\n ></lib-section-fields>\r\n </div>\r\n </div>\r\n\r\n <div class=\"okBtn me-4\">\r\n <button\r\n class=\"submitBtn me-md-2 rounded-pill\"\r\n type=\"button\"\r\n (click)=\"saveSubmission()\">\r\n Ok\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".modalHeader{width:100%;display:flex;flex-direction:row}.modalHeader .title-div{width:90%;display:flex;justify-content:center;margin-top:5%}.modalHeader .title-div .title{height:24px;font-style:normal;font-weight:600;font-size:24px;font-weight:550;line-height:24px;text-align:center;color:#1d252d;letter-spacing:.5px}.modalHeader .header-btn{width:10%;margin-top:4%;display:flex;justify-content:center}.modalHeader .header-btn svg{font-size:20px;cursor:pointer}.submitBtn{background:#084fff;color:#fff;border:none;padding:10px 27px;width:auto}.okBtn{display:flex;justify-content:end;margin-left:auto;margin-bottom:5px}\n"] }]
|
|
47
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
48
|
-
type: Inject,
|
|
49
|
-
args: [MAT_DIALOG_DATA]
|
|
50
|
-
}] }, { type: i1.MatDialogRef }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWlzc2lvbi1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3N1Yi1mb3JtL3N1Ym1pc3Npb24tbW9kYWwvc3VibWlzc2lvbi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3N1Yi1mb3JtL3N1Ym1pc3Npb24tbW9kYWwvc3VibWlzc2lvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3pFLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsWUFDa0MsSUFBUyxFQUNqQyxTQUFpRDtRQUR6QixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQXdDO0lBQ3ZELENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0FsQlUsd0JBQXdCLGtCQUl6QixlQUFlO21HQUpkLHdCQUF3Qiw0RENSckMsa2xMQWtJQTs7NEZEMUhhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7OzBCQVE3QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zdWJtaXNzaW9uLW1vZGFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3VibWlzc2lvbi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3VibWlzc2lvbi1tb2RhbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdWJtaXNzaW9uTW9kYWxDb21wb25lbnQge1xyXG4gIHN1YkZvcm06YW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTdWJtaXNzaW9uTW9kYWxDb21wb25lbnQ+XHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuc3ViRm9ybSA9IHRoaXMuZGF0YS5zdWJGb3JtO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU3VibWlzc2lvbigpe1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5zdWJGb3JtKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1iLTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbEhlYWRlciBtYi00XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLWRpdlwiPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRpdGxlXCI+e3tzdWJGb3JtLnRpdGxlfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1idG5cIj5cclxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk04IDhMMTYgMTZcIiBzdHJva2U9XCIjMUQyNTJEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNiA4TDggMTZcIiBzdHJva2U9XCIjMUQyNTJEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz4gICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicHgtM1wiICpuZ0Zvcj1cImxldCBmb3JtRWxlbWVudCBvZiBzdWJGb3JtLmZvcm1FbGVtZW50c1wiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT04nXCI+XHJcbiAgICAgICAgICA8bGliLWNoZWNrLWJveC1maWVsZHNcclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtRWxlbWVudC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnQ0hFQ0tfQk9YJ1wiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID48L2xpYi1jaGVjay1ib3gtZmllbGRzPlxyXG4gICAgICAgICAgPGxpYi1kYXRlLXRpbWUtZmllbGRzXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybUVsZW1lbnQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0RBVEVfVElNRSdcIlxyXG4gICAgICAgICAgICBbcXVlc3Rpb25dPVwiZm9ybUVsZW1lbnQuZWxlbWVudFwiXHJcbiAgICAgICAgICA+PC9saWItZGF0ZS10aW1lLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItZHJvcC1kb3duLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdEUk9QX0RPV04nXCJcclxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImZvcm1FbGVtZW50LmVsZW1lbnRcIlxyXG4gICAgICAgICAgPjwvbGliLWRyb3AtZG93bi1maWVsZHM+XHJcbiAgICAgICAgICA8bGliLWZpbGUtcGlja2VyLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdGSUxFX1BJQ0tFUidcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImZvcm1FbGVtZW50LmVsZW1lbnRcIlxyXG4gICAgICAgICAgPjwvbGliLWZpbGUtcGlja2VyLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItbG9jYXRpb24tZmllbGRzXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybUVsZW1lbnQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0xPQ0FUSU9OJ1wiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID48L2xpYi1sb2NhdGlvbi1maWVsZHM+XHJcblxyXG4gICAgICAgICAgPGxpYi1tYWlsLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdFTUFJTCdcIlxyXG4gICAgICAgICAgICBbcXVlc3Rpb25dPVwiZm9ybUVsZW1lbnQuZWxlbWVudFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2xpYi1tYWlsLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItbW9iaWxlLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdNT0JJTEUnXCJcclxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImZvcm1FbGVtZW50LmVsZW1lbnRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9saWItbW9iaWxlLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItbnVtYmVyLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdOVU1CRVInXCJcclxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImZvcm1FbGVtZW50LmVsZW1lbnRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9saWItbnVtYmVyLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItcGFzc3dvcmQtZmllbGRzXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybUVsZW1lbnQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ1BBU1NXT1JEJ1wiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbGliLXBhc3N3b3JkLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItcmFkaW8tYnV0dG9uLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdSQURJT19CVVRUT04nXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID48L2xpYi1yYWRpby1idXR0b24tZmllbGRzPlxyXG4gICAgICAgICAgPGxpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdSSUNIX1RFWFRfRURJVE9SJ1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBbcXVlc3Rpb25dPVwiZm9ybUVsZW1lbnQuZWxlbWVudFwiXHJcbiAgICAgICAgICA+PC9saWItcmljaC10ZXh0LWVkaXRvci1maWVsZHM+XHJcbiAgICAgICAgICA8bGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ1NFTEVDVElPTl9NQVRSSVgnXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID48L2xpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItc2lnbmF0dXJlLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdTSUdOQVRVUkUnXCJcclxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImZvcm1FbGVtZW50LmVsZW1lbnRcIlxyXG4gICAgICAgICAgPjwvbGliLXNpZ25hdHVyZS1maWVsZHM+XHJcbiAgICAgICAgICA8bGliLXNsaWRlci1maWVsZHNcclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtRWxlbWVudC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnU0xJREVSJ1wiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID48L2xpYi1zbGlkZXItZmllbGRzPlxyXG4gICAgICAgICAgPGxpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09XHJcbiAgICAgICAgICAgICAgJ1RFUk1TX0FORF9DT05ESVRJT04nXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID48L2xpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItdGV4dC1hcmVhLWZpZWxkc1xyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdURVhUX0FSRUEnXCJcclxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImZvcm1FbGVtZW50LmVsZW1lbnRcIlxyXG4gICAgICAgICAgPjwvbGliLXRleHQtYXJlYS1maWVsZHM+XHJcbiAgICAgICAgICA8bGliLXRleHQtZmllbGRzXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybUVsZW1lbnQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ1RFWFRfQk9YJ1wiXHJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJmb3JtRWxlbWVudC5lbGVtZW50XCJcclxuICAgICAgICAgID48L2xpYi10ZXh0LWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItdG9nZ2xlLXN3aXRjaC1maWVsZHNcclxuICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnVE9HR0xFX1NXSVRDSCdcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImZvcm1FbGVtZW50LmVsZW1lbnRcIlxyXG4gICAgICAgICAgPjwvbGliLXRvZ2dsZS1zd2l0Y2gtZmllbGRzPlxyXG4gICAgICAgICAgPGxpYi11cmwtZmllbGRzXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybUVsZW1lbnQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ1VSTCdcIlxyXG4gICAgICAgICAgICBbcXVlc3Rpb25dPVwiZm9ybUVsZW1lbnQuZWxlbWVudFwiXHJcbiAgICAgICAgICA+PC9saWItdXJsLWZpZWxkcz5cclxuICAgICAgICAgIDxsaWItZmlyc3QtY2hpbGRcclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtRWxlbWVudC5lbGVtZW50LmNoaWxkTG9naWNzXCJcclxuICAgICAgICAgICAgW2NoaWxkTG9naWNzXT1cImZvcm1FbGVtZW50LmVsZW1lbnQuY2hpbGRMb2dpY3NcIlxyXG4gICAgICAgICAgPjwvbGliLWZpcnN0LWNoaWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRWxlbWVudC5lbnRpdHlUeXBlID09PSAnU0VDVElPTidcIj5cclxuICAgICAgICAgIDxsaWItc2VjdGlvbi1maWVsZHNcclxuICAgICAgICAgICAgW3NlY3Rpb25dPVwiZm9ybUVsZW1lbnQuZWxlbWVudFwiXHJcbiAgICAgICAgICA+PC9saWItc2VjdGlvbi1maWVsZHM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJva0J0biBtZS00XCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgY2xhc3M9XCJzdWJtaXRCdG4gbWUtbWQtMiByb3VuZGVkLXBpbGxcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2F2ZVN1Ym1pc3Npb24oKVwiPlxyXG4gICAgICAgICAgT2tcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
package/models/answer.model.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { Attachment } from '../../models/attachment.model';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
interface Answer {
|
|
6
|
-
questionId: string;
|
|
7
|
-
answer: any;
|
|
8
|
-
answerId?: string;
|
|
9
|
-
deleteFiles?: string[];
|
|
10
|
-
attachments: Attachment[];
|
|
11
|
-
}
|
|
12
|
-
interface Submission {
|
|
13
|
-
submissionId: string;
|
|
14
|
-
answers: Answer[];
|
|
15
|
-
}
|
|
16
|
-
export declare class MultipleSubformComponent {
|
|
17
|
-
dialog: MatDialog;
|
|
18
|
-
subForm: any;
|
|
19
|
-
subFormChange: EventEmitter<any>;
|
|
20
|
-
submissions: Submission[];
|
|
21
|
-
deletedSubmissions: string[];
|
|
22
|
-
constructor(dialog: MatDialog);
|
|
23
|
-
ngOnInit(): void;
|
|
24
|
-
subFormSubmission(subForm: any): void;
|
|
25
|
-
editSubFormSubmission(index: number, submission: Submission): void;
|
|
26
|
-
bindAnswers(subForm: any, submission: Submission): any;
|
|
27
|
-
deleteSubForm(index: number): void;
|
|
28
|
-
addNewSubmission(): void;
|
|
29
|
-
updateSubmission(result: any, index: number): void;
|
|
30
|
-
updateSubFormWithSubmissions(): void;
|
|
31
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MultipleSubformComponent, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MultipleSubformComponent, "lib-multiple-subform", never, { "subForm": { "alias": "subForm"; "required": false; }; }, { "subFormChange": "subFormChange"; }, never, never, false, never>;
|
|
33
|
-
}
|
|
34
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class SubmissionModalComponent {
|
|
4
|
-
data: any;
|
|
5
|
-
private dialogRef;
|
|
6
|
-
subForm: any;
|
|
7
|
-
constructor(data: any, dialogRef: MatDialogRef<SubmissionModalComponent>);
|
|
8
|
-
ngOnInit(): void;
|
|
9
|
-
closeModal(): void;
|
|
10
|
-
saveSubmission(): void;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SubmissionModalComponent, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SubmissionModalComponent, "lib-submission-modal", never, {}, {}, never, never, false, never>;
|
|
13
|
-
}
|