survery-lib 2.1.26 → 2.1.29
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-cascade-template/question-cascade-template.component.mjs +116 -32
- package/esm2022/lib/components/question-dropdown-template/question-dropdown-template.component.mjs +4 -3
- package/esm2022/lib/services/api.service.mjs +12 -8
- package/esm2022/shared/dtos/survey-answer.dto.mjs +1 -1
- package/esm2022/shared/results/api.result.mjs +1 -1
- package/fesm2022/survery-lib.mjs +126 -38
- package/fesm2022/survery-lib.mjs.map +1 -1
- package/lib/services/api.service.d.ts +5 -1
- package/package.json +1 -1
- package/shared/dtos/survey-answer.dto.d.ts +1 -0
- package/shared/results/api.result.d.ts +28 -0
package/fesm2022/survery-lib.mjs
CHANGED
|
@@ -12,6 +12,7 @@ import { CommonModule } from '@angular/common';
|
|
|
12
12
|
import { SubSink } from 'subsink';
|
|
13
13
|
import * as i5 from '@ng-select/ng-select';
|
|
14
14
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
15
|
+
import { InputTypeEnum as InputTypeEnum$1 } from 'projects/survery-lib/src/shared/enums/input-type.enum';
|
|
15
16
|
import * as i1$1 from '@angular/common/http';
|
|
16
17
|
import { HttpHeaders, HttpClientModule } from '@angular/common/http';
|
|
17
18
|
import * as i5$1 from 'ngx-bootstrap/rating';
|
|
@@ -1123,12 +1124,13 @@ class QuestionDropdownTemplateComponent {
|
|
|
1123
1124
|
this._Store.dispatch(surveyActions.updateQuestionAnswer({
|
|
1124
1125
|
questionId: formValue.id,
|
|
1125
1126
|
answer: value,
|
|
1126
|
-
isValid: this.fCtrls.answer.valid
|
|
1127
|
+
isValid: this.fCtrls.answer.valid,
|
|
1127
1128
|
}));
|
|
1128
1129
|
this.emitter.emit({
|
|
1129
1130
|
QuestionId: formValue.id,
|
|
1130
1131
|
IsValid: this.fCtrls.answer.valid,
|
|
1131
|
-
Answer: value
|
|
1132
|
+
Answer: value,
|
|
1133
|
+
SurveyAnswerId: this.fCtrls.answer.value
|
|
1132
1134
|
});
|
|
1133
1135
|
});
|
|
1134
1136
|
this.subs.sink = this._Store.select(questionSelectors.pageQuestions).pipe(map(arr => arr.find(x => x.questionId == this.fCtrls.id.value)))
|
|
@@ -1502,30 +1504,34 @@ class ApiService {
|
|
|
1502
1504
|
}
|
|
1503
1505
|
getNextQuestion(filter) {
|
|
1504
1506
|
var queryString = $.param(filter);
|
|
1505
|
-
return this._HttpClient.get(`${this.url}/
|
|
1507
|
+
return this._HttpClient.get(`${this.url}/Survey/GetNextQuestion?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1508
|
+
}
|
|
1509
|
+
getIsOtherQuestion(filter) {
|
|
1510
|
+
var queryString = $.param(filter);
|
|
1511
|
+
return this._HttpClient.get(`${this.url}/Survey/GetIsOtherQuestion?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1506
1512
|
}
|
|
1507
1513
|
getAllInstitutions() {
|
|
1508
|
-
return this._HttpClient.get(`${this.url}/
|
|
1514
|
+
return this._HttpClient.get(`${this.url}/Institutions/GetAllInstitutions`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1509
1515
|
}
|
|
1510
1516
|
getAllProgramsRelatedToInstitutions(filter) {
|
|
1511
1517
|
var queryString = $.param(filter);
|
|
1512
|
-
return this._HttpClient.get(`${this.url}/
|
|
1518
|
+
return this._HttpClient.get(`${this.url}/Institutions/GetProgramsForInstitution?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1513
1519
|
}
|
|
1514
1520
|
getAllBranches(filter) {
|
|
1515
1521
|
var queryString = $.param(filter);
|
|
1516
|
-
return this._HttpClient.get(`${this.url}/
|
|
1522
|
+
return this._HttpClient.get(`${this.url}/Institutions/GetBranches?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1517
1523
|
}
|
|
1518
1524
|
getAllCollages(filter) {
|
|
1519
1525
|
var queryString = $.param(filter);
|
|
1520
|
-
return this._HttpClient.get(`${this.url}/
|
|
1526
|
+
return this._HttpClient.get(`${this.url}/Institutions/GetCollages?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1521
1527
|
}
|
|
1522
1528
|
getAllSections(filter) {
|
|
1523
1529
|
var queryString = $.param(filter);
|
|
1524
|
-
return this._HttpClient.get(`${this.url}/
|
|
1530
|
+
return this._HttpClient.get(`${this.url}/Institutions/GetSections?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1525
1531
|
}
|
|
1526
1532
|
getAllPrograms(filter) {
|
|
1527
1533
|
var queryString = $.param(filter);
|
|
1528
|
-
return this._HttpClient.get(`${this.url}/
|
|
1534
|
+
return this._HttpClient.get(`${this.url}/Institutions/GetPrograms?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
|
|
1529
1535
|
}
|
|
1530
1536
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ApiService, deps: [{ token: i1$1.HttpClient }, { token: LibConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1531
1537
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ApiService, providedIn: 'root' }); }
|
|
@@ -1618,35 +1624,117 @@ class QuestionCascadeTemplateComponent {
|
|
|
1618
1624
|
}
|
|
1619
1625
|
}
|
|
1620
1626
|
if (model.Answer) {
|
|
1621
|
-
this.
|
|
1622
|
-
answerId
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1627
|
+
var selectedAnswerObj = this.surveyQuestionArr
|
|
1628
|
+
.find(x => x.questionId == model.QuestionId)?.surveyAnswers.find(x => x.answerId === model.SurveyAnswerId);
|
|
1629
|
+
if (selectedAnswerObj?.isOther == true) {
|
|
1630
|
+
this._ApiService.getIsOtherQuestion({
|
|
1631
|
+
parentQId: model.QuestionId,
|
|
1632
|
+
groupId: this.questionGroupId
|
|
1633
|
+
}).subscribe(res => {
|
|
1634
|
+
if (res.errors.filter(x => x.code == 17).length == 0) {
|
|
1635
|
+
res.questionTypeId = QuestionTypeEnum.TextInput;
|
|
1636
|
+
this._Store.dispatch(surveyActions.addQuestion({
|
|
1637
|
+
question: {
|
|
1638
|
+
surveyPageId: this.pageId,
|
|
1639
|
+
questionId: res.questionId,
|
|
1640
|
+
questionType: res.questionTypeId,
|
|
1641
|
+
inputTypeId: InputTypeEnum$1.Text,
|
|
1642
|
+
isQuestionGroup: false,
|
|
1643
|
+
answerId: null,
|
|
1644
|
+
answerIdArr: null,
|
|
1645
|
+
answerText: null,
|
|
1646
|
+
isRequired: res.isRequired,
|
|
1647
|
+
isValid: null,
|
|
1648
|
+
isDisabled: res.isReadOnly,
|
|
1649
|
+
isShow: res.isVisable,
|
|
1650
|
+
isDisabled_default: res.isReadOnly,
|
|
1651
|
+
isShow_default: res.isVisable,
|
|
1652
|
+
questionGroupId: this.questionGroupId,
|
|
1653
|
+
parentQuestionId: model.QuestionId,
|
|
1654
|
+
questionAllInfo: {
|
|
1655
|
+
questionId: res.questionId,
|
|
1656
|
+
questionTypeId: res.questionTypeId,
|
|
1657
|
+
questionName: res.questionName,
|
|
1658
|
+
questionTitle: res.questionTitle,
|
|
1659
|
+
questionDescription: res.questionDescription,
|
|
1660
|
+
isRequired: res.isRequired,
|
|
1661
|
+
isVisable: res.isVisable,
|
|
1662
|
+
isEditable: res.isEditable,
|
|
1663
|
+
isOTPOption: res.isOtpOption,
|
|
1664
|
+
isAdvanceTextArea: res.isAdvanceTextArea,
|
|
1665
|
+
isReadOnly: res.isReadOnly,
|
|
1666
|
+
isPreDefine: res.isPreDefine,
|
|
1667
|
+
maxLevelValue: res.maxLevelValue,
|
|
1668
|
+
surveyAnswers: [
|
|
1669
|
+
{
|
|
1670
|
+
answerId: res.answerId,
|
|
1671
|
+
inputTypeId: InputTypeEnum$1.Text
|
|
1672
|
+
}
|
|
1673
|
+
],
|
|
1674
|
+
surveySubQuestions: res.surveySubQuestions,
|
|
1675
|
+
surveySubQuestionLevels: res.surveySubQuestionLevels
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
}));
|
|
1679
|
+
this.setQuestions({
|
|
1630
1680
|
questionId: res.questionId,
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
answerIdArr: null,
|
|
1636
|
-
answerText: null,
|
|
1681
|
+
questionTypeId: res.questionTypeId,
|
|
1682
|
+
questionName: res.questionName,
|
|
1683
|
+
questionTitle: res.questionTitle,
|
|
1684
|
+
questionDescription: res.questionDescription,
|
|
1637
1685
|
isRequired: res.isRequired,
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1686
|
+
isVisable: res.isVisable,
|
|
1687
|
+
isEditable: res.isEditable,
|
|
1688
|
+
isOTPOption: res.isOtpOption,
|
|
1689
|
+
isAdvanceTextArea: res.isAdvanceTextArea,
|
|
1690
|
+
isReadOnly: res.isReadOnly,
|
|
1691
|
+
isPreDefine: res.isPreDefine,
|
|
1692
|
+
maxLevelValue: res.maxLevelValue,
|
|
1693
|
+
surveyAnswers: [
|
|
1694
|
+
{
|
|
1695
|
+
answerId: res.answerId,
|
|
1696
|
+
inputTypeId: InputTypeEnum$1.Text
|
|
1697
|
+
}
|
|
1698
|
+
],
|
|
1699
|
+
surveySubQuestions: res.surveySubQuestions,
|
|
1700
|
+
surveySubQuestionLevels: res.surveySubQuestionLevels
|
|
1701
|
+
});
|
|
1702
|
+
}
|
|
1703
|
+
});
|
|
1704
|
+
}
|
|
1705
|
+
else {
|
|
1706
|
+
this._ApiService.getNextQuestion({
|
|
1707
|
+
answerId: model.Answer,
|
|
1708
|
+
applicantKey: this.applicantKey,
|
|
1709
|
+
isPre: this.isPre,
|
|
1710
|
+
surveyLanguageId: this.surveyLanguageId
|
|
1711
|
+
}).subscribe(res => {
|
|
1712
|
+
if (res.errors.filter(x => x.code == 17).length == 0) {
|
|
1713
|
+
this._Store.dispatch(surveyActions.addQuestion({
|
|
1714
|
+
question: {
|
|
1715
|
+
surveyPageId: this.pageId,
|
|
1716
|
+
questionId: res.questionId,
|
|
1717
|
+
questionType: res.questionTypeId,
|
|
1718
|
+
inputTypeId: res.surveyAnswers[0].inputTypeId,
|
|
1719
|
+
isQuestionGroup: false,
|
|
1720
|
+
answerId: null,
|
|
1721
|
+
answerIdArr: null,
|
|
1722
|
+
answerText: null,
|
|
1723
|
+
isRequired: res.isRequired,
|
|
1724
|
+
isValid: null,
|
|
1725
|
+
isDisabled: res.isReadOnly,
|
|
1726
|
+
isShow: res.isVisable,
|
|
1727
|
+
isDisabled_default: res.isReadOnly,
|
|
1728
|
+
isShow_default: res.isVisable,
|
|
1729
|
+
questionGroupId: this.questionGroupId,
|
|
1730
|
+
parentQuestionId: model.QuestionId,
|
|
1731
|
+
questionAllInfo: res
|
|
1732
|
+
}
|
|
1733
|
+
}));
|
|
1734
|
+
this.setQuestions(res);
|
|
1735
|
+
}
|
|
1736
|
+
});
|
|
1737
|
+
}
|
|
1650
1738
|
}
|
|
1651
1739
|
}
|
|
1652
1740
|
identify(index, item) {
|
|
@@ -1666,11 +1754,11 @@ class QuestionCascadeTemplateComponent {
|
|
|
1666
1754
|
this.fCtrls.questionArr.push(group);
|
|
1667
1755
|
}
|
|
1668
1756
|
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 }); }
|
|
1669
|
-
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", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n
|
|
1757
|
+
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", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<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>", styles: [""], 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: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "pipe", type: FindQuestionPipe, name: "findQuestion" }] }); }
|
|
1670
1758
|
}
|
|
1671
1759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, decorators: [{
|
|
1672
1760
|
type: Component,
|
|
1673
|
-
args: [{ selector: 'lib-question-cascade-template', template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n
|
|
1761
|
+
args: [{ selector: 'lib-question-cascade-template', template: "<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>" }]
|
|
1674
1762
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }, { type: ApiService }, { type: i3.Store }]; }, propDecorators: { pageId: [{
|
|
1675
1763
|
type: Input
|
|
1676
1764
|
}], questionGroupId: [{
|