survery-lib 2.1.33 → 2.1.35
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/esm2022/lib/components/question-boolean-template/question-boolean-template.component.mjs +5 -1
- package/esm2022/lib/components/question-cascade-template/question-cascade-template.component.mjs +11 -3
- package/esm2022/lib/components/question-check-box-template/question-check-box-template.component.mjs +6 -3
- package/esm2022/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.mjs +4 -1
- package/esm2022/lib/components/question-dropdown-template/question-dropdown-template.component.mjs +4 -1
- package/esm2022/lib/components/question-feedback-template/question-feedback-template.component.mjs +4 -1
- package/esm2022/lib/components/question-institutions-template/question-institutions-template.component.mjs +1 -2
- package/esm2022/lib/components/question-matrix-template/question-matrix-template.component.mjs +4 -1
- package/esm2022/lib/components/question-radio-button-template/question-radio-button-template.component.mjs +4 -1
- package/esm2022/lib/core/states/entites/question.entity.mjs +1 -1
- package/esm2022/lib/pipes/filter-question.pipe.mjs +3 -2
- package/esm2022/lib/services/survey-lib.service.mjs +4 -8
- package/esm2022/lib/survery-lib.component.mjs +3 -3
- package/esm2022/shared/dtos/survey-question.dto.mjs +1 -1
- package/esm2022/shared/dtos/survey-sub-question.dto.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-cascade.form-interface.mjs +1 -1
- package/fesm2022/survery-lib.mjs +41 -15
- package/fesm2022/survery-lib.mjs.map +1 -1
- package/lib/core/states/entites/question.entity.d.ts +1 -0
- package/lib/services/survey-lib.service.d.ts +0 -1
- package/package.json +1 -1
- package/shared/dtos/survey-question.dto.d.ts +1 -0
- package/shared/dtos/survey-sub-question.dto.d.ts +1 -0
- package/shared/form-interfaces/question-cascade.form-interface.d.ts +1 -0
package/fesm2022/survery-lib.mjs
CHANGED
|
@@ -186,7 +186,6 @@ class SurveyLibService {
|
|
|
186
186
|
constructor(_Store) {
|
|
187
187
|
this._Store = _Store;
|
|
188
188
|
this.reloadSurveySubject = new Subject();
|
|
189
|
-
this.questionsWithErrors = [];
|
|
190
189
|
}
|
|
191
190
|
setSurveyData(survey) {
|
|
192
191
|
var questionArr = [];
|
|
@@ -254,12 +253,6 @@ class SurveyLibService {
|
|
|
254
253
|
}
|
|
255
254
|
addQuestion(question, pageIndex, questionGroupId) {
|
|
256
255
|
var questionArr = [];
|
|
257
|
-
if (question.surveyAnswers?.length == 0 || question.surveyAnswers == null) {
|
|
258
|
-
debugger;
|
|
259
|
-
this.questionsWithErrors.push(question);
|
|
260
|
-
console.error("Question has no erros", this.questionsWithErrors);
|
|
261
|
-
return questionArr;
|
|
262
|
-
}
|
|
263
256
|
var questionNgrxModel = {
|
|
264
257
|
surveyPageId: pageIndex,
|
|
265
258
|
questionId: question.questionId,
|
|
@@ -275,6 +268,7 @@ class SurveyLibService {
|
|
|
275
268
|
isShow: question.isVisable,
|
|
276
269
|
isDisabled_default: question.isReadOnly,
|
|
277
270
|
isShow_default: question.isVisable,
|
|
271
|
+
order: question.order,
|
|
278
272
|
questionGroupId: questionGroupId,
|
|
279
273
|
parentQuestionId: null,
|
|
280
274
|
maxLevelValue: null,
|
|
@@ -302,6 +296,7 @@ class SurveyLibService {
|
|
|
302
296
|
answerText: null,
|
|
303
297
|
isRequired: question.isRequired,
|
|
304
298
|
isValid: null,
|
|
299
|
+
order: question.order,
|
|
305
300
|
isDisabled: question.isReadOnly,
|
|
306
301
|
isShow: question.isVisable,
|
|
307
302
|
isDisabled_default: question.isReadOnly,
|
|
@@ -328,6 +323,7 @@ class SurveyLibService {
|
|
|
328
323
|
isRequired: subQuestion.level == 1 ? question.isRequired : false,
|
|
329
324
|
isValid: null,
|
|
330
325
|
isDisabled: question.isReadOnly,
|
|
326
|
+
order: question.order,
|
|
331
327
|
isShow: question.isVisable,
|
|
332
328
|
isDisabled_default: question.isReadOnly,
|
|
333
329
|
isShow_default: question.isVisable,
|
|
@@ -867,6 +863,9 @@ class QuestionRadioButtonTemplateComponent {
|
|
|
867
863
|
isSelected: new FormControl(false)
|
|
868
864
|
}));
|
|
869
865
|
});
|
|
866
|
+
if (value.isShow == true) {
|
|
867
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
868
|
+
}
|
|
870
869
|
if (value.isRequired == true) {
|
|
871
870
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
872
871
|
this.fCtrls.answer.updateValueAndValidity();
|
|
@@ -975,6 +974,9 @@ class QuestionCheckBoxTemplateComponent {
|
|
|
975
974
|
isSelected: new FormControl(false)
|
|
976
975
|
}));
|
|
977
976
|
});
|
|
977
|
+
if (value.isShow == true) {
|
|
978
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
979
|
+
}
|
|
978
980
|
if (value.isRequired == true) {
|
|
979
981
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
980
982
|
this.fCtrls.answer.updateValueAndValidity();
|
|
@@ -1065,11 +1067,11 @@ class QuestionCheckBoxTemplateComponent {
|
|
|
1065
1067
|
return element;
|
|
1066
1068
|
}
|
|
1067
1069
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCheckBoxTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1068
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: { setQuestion: "setQuestion" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"fCtrls.title.value\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n\r\n <div class=\"checkbox-button-quastion\">\r\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" [disabled]=\"fCtrls.isDisabled.value\"\r\n (change)=\"onChangeAnswer(item ,$event)\" [checked]=\"item.value.isSelected == true? true : null\">\r\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\" [innerHTML]=\"item.value.title\"></label>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1070
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: { setQuestion: "setQuestion" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" \r\n[ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"fCtrls.title.value\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n\r\n <div class=\"checkbox-button-quastion\">\r\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" [disabled]=\"fCtrls.isDisabled.value\"\r\n (change)=\"onChangeAnswer(item ,$event)\" [checked]=\"item.value.isSelected == true? true : null\">\r\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\" [innerHTML]=\"item.value.title\"></label>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1069
1071
|
}
|
|
1070
1072
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCheckBoxTemplateComponent, decorators: [{
|
|
1071
1073
|
type: Component,
|
|
1072
|
-
args: [{ selector: 'lib-question-check-box-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"fCtrls.title.value\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n\r\n <div class=\"checkbox-button-quastion\">\r\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" [disabled]=\"fCtrls.isDisabled.value\"\r\n (change)=\"onChangeAnswer(item ,$event)\" [checked]=\"item.value.isSelected == true? true : null\">\r\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\" [innerHTML]=\"item.value.title\"></label>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
1074
|
+
args: [{ selector: 'lib-question-check-box-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" \r\n[ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"fCtrls.title.value\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n\r\n <div class=\"checkbox-button-quastion\">\r\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" [disabled]=\"fCtrls.isDisabled.value\"\r\n (change)=\"onChangeAnswer(item ,$event)\" [checked]=\"item.value.isSelected == true? true : null\">\r\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\" [innerHTML]=\"item.value.title\"></label>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
1073
1075
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }, { type: i3.Store }]; }, propDecorators: { setQuestion: [{
|
|
1074
1076
|
type: Input
|
|
1075
1077
|
}] } });
|
|
@@ -1093,6 +1095,9 @@ class QuestionDropdownTemplateComponent {
|
|
|
1093
1095
|
isDisabled: value.questionAllInfo.isReadOnly,
|
|
1094
1096
|
isShow: value.questionAllInfo.isVisable
|
|
1095
1097
|
});
|
|
1098
|
+
if (value.isShow == true) {
|
|
1099
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
1100
|
+
}
|
|
1096
1101
|
if (value.isRequired == true) {
|
|
1097
1102
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
1098
1103
|
this.fCtrls.answer.updateValueAndValidity();
|
|
@@ -1197,6 +1202,9 @@ class QuestionMatrixTemplateComponent {
|
|
|
1197
1202
|
questionTitle: new FormControl(x.questionTitle),
|
|
1198
1203
|
answer: new FormControl(null),
|
|
1199
1204
|
});
|
|
1205
|
+
if (value.isShow == true) {
|
|
1206
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
1207
|
+
}
|
|
1200
1208
|
if (value.isRequired == true) {
|
|
1201
1209
|
group.controls.answer.addValidators([Validators.required]);
|
|
1202
1210
|
group.controls.answer.updateValueAndValidity();
|
|
@@ -1315,6 +1323,9 @@ class QuestionBooleanTemplateComponent {
|
|
|
1315
1323
|
isSelected: new FormControl(false)
|
|
1316
1324
|
}));
|
|
1317
1325
|
});
|
|
1326
|
+
if (value.isShow == true) {
|
|
1327
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
1328
|
+
}
|
|
1318
1329
|
if (value.isRequired == true) {
|
|
1319
1330
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
1320
1331
|
this.fCtrls.answer.updateValueAndValidity();
|
|
@@ -1373,6 +1384,7 @@ class QuestionBooleanTemplateComponent {
|
|
|
1373
1384
|
if (oldValue?.isDisabled != newValue?.isDisabled) {
|
|
1374
1385
|
this.fCtrls.isDisabled.setValue(newValue?.isDisabled);
|
|
1375
1386
|
}
|
|
1387
|
+
console.log("newValue?.isShow", newValue?.isShow);
|
|
1376
1388
|
//updated isShow
|
|
1377
1389
|
if (oldValue?.isShow != newValue?.isShow) {
|
|
1378
1390
|
this.fCtrls.isShow.setValue(newValue?.isShow);
|
|
@@ -1424,6 +1436,9 @@ class QuestionDropdownMultiTemplateComponent {
|
|
|
1424
1436
|
isSelected: new FormControl(false)
|
|
1425
1437
|
}));
|
|
1426
1438
|
});
|
|
1439
|
+
if (value.isShow == true) {
|
|
1440
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
1441
|
+
}
|
|
1427
1442
|
if (value.isRequired == true) {
|
|
1428
1443
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
1429
1444
|
this.fCtrls.answer.updateValueAndValidity();
|
|
@@ -1582,6 +1597,9 @@ class QuestionCascadeTemplateComponent {
|
|
|
1582
1597
|
set setQuestion(value) {
|
|
1583
1598
|
if (this.surveyQuestionArr?.length == 0) {
|
|
1584
1599
|
this.setQuestions(value.questionAllInfo);
|
|
1600
|
+
if (value.isShow == true) {
|
|
1601
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
1602
|
+
}
|
|
1585
1603
|
var childQuestion1 = this.pageQuestions$().find(x => x.parentQuestionId == value.questionId);
|
|
1586
1604
|
if (childQuestion1) {
|
|
1587
1605
|
this.setQuestions(childQuestion1.questionAllInfo);
|
|
@@ -1606,6 +1624,7 @@ class QuestionCascadeTemplateComponent {
|
|
|
1606
1624
|
this.surveyKey = null;
|
|
1607
1625
|
this.applicantKey = null;
|
|
1608
1626
|
this.rForm = this._formBuilder.group({
|
|
1627
|
+
isShow: new FormControl(false),
|
|
1609
1628
|
questionArr: this._formBuilder.array([])
|
|
1610
1629
|
});
|
|
1611
1630
|
}
|
|
@@ -1678,6 +1697,7 @@ class QuestionCascadeTemplateComponent {
|
|
|
1678
1697
|
answerText: null,
|
|
1679
1698
|
isRequired: res.isRequired,
|
|
1680
1699
|
isValid: null,
|
|
1700
|
+
order: res.order,
|
|
1681
1701
|
isDisabled: res.isReadOnly,
|
|
1682
1702
|
isShow: res.isVisable,
|
|
1683
1703
|
isDisabled_default: res.isReadOnly,
|
|
@@ -1696,6 +1716,7 @@ class QuestionCascadeTemplateComponent {
|
|
|
1696
1716
|
isOTPOption: res.isOtpOption,
|
|
1697
1717
|
isAdvanceTextArea: res.isAdvanceTextArea,
|
|
1698
1718
|
isReadOnly: res.isReadOnly,
|
|
1719
|
+
order: res.order,
|
|
1699
1720
|
isPreDefine: res.isPreDefine,
|
|
1700
1721
|
maxLevelValue: res.maxLevelValue,
|
|
1701
1722
|
surveyAnswers: [
|
|
@@ -1719,6 +1740,7 @@ class QuestionCascadeTemplateComponent {
|
|
|
1719
1740
|
isVisable: res.isVisable,
|
|
1720
1741
|
isEditable: res.isEditable,
|
|
1721
1742
|
isOTPOption: res.isOtpOption,
|
|
1743
|
+
order: res.order,
|
|
1722
1744
|
isAdvanceTextArea: res.isAdvanceTextArea,
|
|
1723
1745
|
isReadOnly: res.isReadOnly,
|
|
1724
1746
|
isPreDefine: res.isPreDefine,
|
|
@@ -1755,6 +1777,7 @@ class QuestionCascadeTemplateComponent {
|
|
|
1755
1777
|
answerIdArr: null,
|
|
1756
1778
|
answerText: null,
|
|
1757
1779
|
isRequired: res.isRequired,
|
|
1780
|
+
order: res.order,
|
|
1758
1781
|
isValid: null,
|
|
1759
1782
|
isDisabled: res.isReadOnly,
|
|
1760
1783
|
isShow: res.isVisable,
|
|
@@ -1770,11 +1793,11 @@ class QuestionCascadeTemplateComponent {
|
|
|
1770
1793
|
});
|
|
1771
1794
|
}
|
|
1772
1795
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }, { token: ApiService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1773
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageId: "pageId", questionGroupId: "questionGroupId", isPre: "isPre", surveyLanguageId: "surveyLanguageId", surveyKey: "surveyKey", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n
|
|
1796
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageId: "pageId", questionGroupId: "questionGroupId", isPre: "isPre", surveyLanguageId: "surveyLanguageId", surveyKey: "surveyKey", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<div [ngClass]=\"{'d-none':fCtrls.isShow.value != true}\">\r\n <ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n <lib-question-dropdown-template #questionDropdownTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType != questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \" (emitter)=\"onUpdateAnswer($event)\">\r\n </lib-question-dropdown-template>\r\n\r\n <lib-question-text-template #questionTextTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType == questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \"\r\n [isArabicLang]=\"true\"></lib-question-text-template>\r\n\r\n </ng-container>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isArabicLang", "setQuestion", "isDisabled"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "pipe", type: FindQuestionPipe, name: "findQuestion" }] }); }
|
|
1774
1797
|
}
|
|
1775
1798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, decorators: [{
|
|
1776
1799
|
type: Component,
|
|
1777
|
-
args: [{ selector: 'lib-question-cascade-template', template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n
|
|
1800
|
+
args: [{ selector: 'lib-question-cascade-template', template: "<div [ngClass]=\"{'d-none':fCtrls.isShow.value != true}\">\r\n <ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n <lib-question-dropdown-template #questionDropdownTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType != questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \" (emitter)=\"onUpdateAnswer($event)\">\r\n </lib-question-dropdown-template>\r\n\r\n <lib-question-text-template #questionTextTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType == questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \"\r\n [isArabicLang]=\"true\"></lib-question-text-template>\r\n\r\n </ng-container>\r\n</div>" }]
|
|
1778
1801
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }, { type: ApiService }, { type: i3.Store }]; }, propDecorators: { pageId: [{
|
|
1779
1802
|
type: Input
|
|
1780
1803
|
}], questionGroupId: [{
|
|
@@ -1822,6 +1845,9 @@ class QuestionFeedbackTemplateComponent {
|
|
|
1822
1845
|
this.fCtrls.inputTypeId.setValue(InputTypeEnum.Pagination);
|
|
1823
1846
|
}
|
|
1824
1847
|
}
|
|
1848
|
+
if (value.isShow == true) {
|
|
1849
|
+
this.fCtrls.isShow.setValue(value.isShow);
|
|
1850
|
+
}
|
|
1825
1851
|
if (value.isRequired == true) {
|
|
1826
1852
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
1827
1853
|
this.fCtrls.answer.updateValueAndValidity();
|
|
@@ -1936,7 +1962,6 @@ class QuestionInstitutionsTemplateComponent {
|
|
|
1936
1962
|
isShow: value.isShow
|
|
1937
1963
|
});
|
|
1938
1964
|
value.questionAllInfo.surveySubQuestionLevels.forEach(surveySubQuestionLevel => {
|
|
1939
|
-
console.log(surveySubQuestionLevel);
|
|
1940
1965
|
var question = this.pageQuestions$().find(x => x.questionId == value.questionId);
|
|
1941
1966
|
this.setQuestionFormGroup(surveySubQuestionLevel, question?.isRequired, question?.answerId);
|
|
1942
1967
|
});
|
|
@@ -2169,7 +2194,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
2169
2194
|
|
|
2170
2195
|
class FilterQuestionPipe {
|
|
2171
2196
|
transform(arr, questionGroupId) {
|
|
2172
|
-
return arr.filter(x => x.questionGroupId == questionGroupId && x.parentQuestionId == null)
|
|
2197
|
+
return arr.filter(x => x.questionGroupId == questionGroupId && x.parentQuestionId == null)
|
|
2198
|
+
.sort((a, b) => a.order - b.order);
|
|
2173
2199
|
}
|
|
2174
2200
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
2175
2201
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, name: "filterQuestion" }); }
|
|
@@ -2314,11 +2340,11 @@ class SurveryLibComponent {
|
|
|
2314
2340
|
return null;
|
|
2315
2341
|
}
|
|
2316
2342
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibComponent, deps: [{ token: SurveyLibService }, { token: i3.Store }, { token: i1.FormBuilder }, { token: CheckRuleExpsUsecase }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SurveryLibComponent, selector: "lib-survery-lib", inputs: { isPre: "isPre", surveyLanguageId: "surveyLanguageId", surveyKey: "surveyKey", applicantKey: "applicantKey", isArabicLang: "isArabicLang" }, outputs: { surveyResultEmit: "surveyResultEmit", selectLanguageEmit: "selectLanguageEmit" }, ngImport: i0, template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div [attr.id]=\"'survey-page_'+fCtrls.currentPageId.value\">\r\n <ng-container *ngFor=\"let item of pageQuestionGroups$(); trackBy:questionGroupIdentify\">\r\n <div class=\"survay-card\">\r\n <div class=\"survay-card-body\">\r\n <div class=\"survay-group\">\r\n <div class=\"title\">\r\n <h2 class=\"group-title\" [innerHTML]=\"item.questionGroupName\">\r\n </h2>\r\n <span class=\"group-sub-title \" [innerHTML]=\"item.questionGroupDescription\">\r\n </span>\r\n </div>\r\n <ng-container\r\n *ngFor=\"let question of (pageQuestions$() |filterQuestion : item.questionGroupId); trackBy:questionIdentify\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.TextInput\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-text-template>\r\n\r\n
|
|
2343
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SurveryLibComponent, selector: "lib-survery-lib", inputs: { isPre: "isPre", surveyLanguageId: "surveyLanguageId", surveyKey: "surveyKey", applicantKey: "applicantKey", isArabicLang: "isArabicLang" }, outputs: { surveyResultEmit: "surveyResultEmit", selectLanguageEmit: "selectLanguageEmit" }, ngImport: i0, template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div [attr.id]=\"'survey-page_'+fCtrls.currentPageId.value\">\r\n <ng-container *ngFor=\"let item of pageQuestionGroups$(); trackBy:questionGroupIdentify\">\r\n <div class=\"survay-card\">\r\n <div class=\"survay-card-body\">\r\n <div class=\"survay-group\">\r\n <div class=\"title\">\r\n <h2 class=\"group-title\" [innerHTML]=\"item.questionGroupName\">\r\n </h2>\r\n <span class=\"group-sub-title \" [innerHTML]=\"item.questionGroupDescription\">\r\n </span>\r\n </div>\r\n <ng-container\r\n *ngFor=\"let question of (pageQuestions$() |filterQuestion : item.questionGroupId); trackBy:questionIdentify\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.TextInput\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-text-template>\r\n\r\n <lib-question-feedback-template #questionFeedTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.FeedBack\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-feedback-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Cascade\" [applicantKey]=\"applicantKey\" [isPre]=\"isPre\"\r\n [surveyLanguageId]=\"surveyLanguageId\" [pageId]=\"question.surveyPageId\"\r\n [questionGroupId]=\"question.questionGroupId\" [surveyKey]=\"surveyKey\"\r\n [surveyLanguageId]=\"surveyLanguageId\"></lib-question-cascade-template>\r\n\r\n <lib-question-institutions-template #questionInstitutionsTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Institutions\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-institutions-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"survay-card-footr\" *ngIf=\"fCtrls.showedSurveyPages.value.length > 0\">\r\n <div class=\"container\" style=\" justify-content: start;\">\r\n <div class=\"survay-pagination fw-bold\">\r\n <span>{{ curruntShowedSurveyPages$ | async}}</span>\r\n <span class=\"ms-2 me-2\">{{isArabicLang ? '\u0645\u0646' : 'of'}} </span>\r\n <span>{{fCtrls.showedSurveyPages.value.length}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".disable__btn{background-color:gray!important;cursor:not-allowed}.quastion{padding:10px}.quastion .quastion-title{color:var(--dark-100, #363636);text-align:right;font-family:Almarai;font-size:18px;font-style:normal;font-weight:700;line-height:20.6px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isArabicLang", "setQuestion", "isDisabled"] }, { kind: "component", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: ["setQuestion"] }, { kind: "component", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: ["setQuestion"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionMatrixTemplateComponent, selector: "lib-question-matrix-template", inputs: ["setQuestion"] }, { kind: "component", type: QuestionBooleanTemplateComponent, selector: "lib-question-boolean-template", inputs: ["setQuestion"] }, { kind: "component", type: QuestionDropdownMultiTemplateComponent, selector: "lib-question-dropdown-multi-template", inputs: ["setQuestion"] }, { kind: "component", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: ["pageId", "questionGroupId", "isPre", "surveyLanguageId", "surveyKey", "applicantKey", "setQuestion"] }, { kind: "component", type: QuestionFeedbackTemplateComponent, selector: "lib-question-feedback-template", inputs: ["isArabicLang", "setQuestion", "isDisabled"] }, { kind: "component", type: QuestionInstitutionsTemplateComponent, selector: "lib-question-institutions-template", inputs: ["isArabicLang", "setQuestion"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: FilterQuestionPipe, name: "filterQuestion" }] }); }
|
|
2318
2344
|
}
|
|
2319
2345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibComponent, decorators: [{
|
|
2320
2346
|
type: Component,
|
|
2321
|
-
args: [{ selector: 'lib-survery-lib', template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div [attr.id]=\"'survey-page_'+fCtrls.currentPageId.value\">\r\n <ng-container *ngFor=\"let item of pageQuestionGroups$(); trackBy:questionGroupIdentify\">\r\n <div class=\"survay-card\">\r\n <div class=\"survay-card-body\">\r\n <div class=\"survay-group\">\r\n <div class=\"title\">\r\n <h2 class=\"group-title\" [innerHTML]=\"item.questionGroupName\">\r\n </h2>\r\n <span class=\"group-sub-title \" [innerHTML]=\"item.questionGroupDescription\">\r\n </span>\r\n </div>\r\n <ng-container\r\n *ngFor=\"let question of (pageQuestions$() |filterQuestion : item.questionGroupId); trackBy:questionIdentify\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.TextInput\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-text-template>\r\n\r\n
|
|
2347
|
+
args: [{ selector: 'lib-survery-lib', template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div [attr.id]=\"'survey-page_'+fCtrls.currentPageId.value\">\r\n <ng-container *ngFor=\"let item of pageQuestionGroups$(); trackBy:questionGroupIdentify\">\r\n <div class=\"survay-card\">\r\n <div class=\"survay-card-body\">\r\n <div class=\"survay-group\">\r\n <div class=\"title\">\r\n <h2 class=\"group-title\" [innerHTML]=\"item.questionGroupName\">\r\n </h2>\r\n <span class=\"group-sub-title \" [innerHTML]=\"item.questionGroupDescription\">\r\n </span>\r\n </div>\r\n <ng-container\r\n *ngFor=\"let question of (pageQuestions$() |filterQuestion : item.questionGroupId); trackBy:questionIdentify\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.TextInput\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-text-template>\r\n\r\n <lib-question-feedback-template #questionFeedTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.FeedBack\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-feedback-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Cascade\" [applicantKey]=\"applicantKey\" [isPre]=\"isPre\"\r\n [surveyLanguageId]=\"surveyLanguageId\" [pageId]=\"question.surveyPageId\"\r\n [questionGroupId]=\"question.questionGroupId\" [surveyKey]=\"surveyKey\"\r\n [surveyLanguageId]=\"surveyLanguageId\"></lib-question-cascade-template>\r\n\r\n <lib-question-institutions-template #questionInstitutionsTemplate [setQuestion]=\"question\"\r\n *ngIf=\"question.questionType == questionTypeEnum.Institutions\"\r\n [isArabicLang]=\"isArabicLang\"></lib-question-institutions-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"survay-card-footr\" *ngIf=\"fCtrls.showedSurveyPages.value.length > 0\">\r\n <div class=\"container\" style=\" justify-content: start;\">\r\n <div class=\"survay-pagination fw-bold\">\r\n <span>{{ curruntShowedSurveyPages$ | async}}</span>\r\n <span class=\"ms-2 me-2\">{{isArabicLang ? '\u0645\u0646' : 'of'}} </span>\r\n <span>{{fCtrls.showedSurveyPages.value.length}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".disable__btn{background-color:gray!important;cursor:not-allowed}.quastion{padding:10px}.quastion .quastion-title{color:var(--dark-100, #363636);text-align:right;font-family:Almarai;font-size:18px;font-style:normal;font-weight:700;line-height:20.6px}\n"] }]
|
|
2322
2348
|
}], ctorParameters: function () { return [{ type: SurveyLibService }, { type: i3.Store }, { type: i1.FormBuilder }, { type: CheckRuleExpsUsecase }]; }, propDecorators: { isPre: [{
|
|
2323
2349
|
type: Input
|
|
2324
2350
|
}], surveyLanguageId: [{
|