survery-lib 0.1.45 → 0.1.47
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-text-template/question-text-template.component.mjs +11 -8
- package/esm2022/lib/directives/masked-for-min-max.directive.mjs +45 -0
- package/esm2022/lib/survery-lib.component.mjs +3 -3
- package/esm2022/lib/survery-lib.module.mjs +6 -3
- package/esm2022/lib/usecases/check-rule-exps.usecase.mjs +2 -5
- package/esm2022/shared/form-interfaces/question-text-template.form-interface.mjs +1 -1
- package/fesm2022/survery-lib.mjs +61 -16
- package/fesm2022/survery-lib.mjs.map +1 -1
- package/lib/components/question-text-template/question-text-template.component.d.ts +5 -2
- package/lib/directives/masked-for-min-max.directive.d.ts +9 -0
- package/lib/survery-lib.module.d.ts +7 -6
- package/package.json +1 -1
- package/shared/form-interfaces/question-text-template.form-interface.d.ts +2 -0
|
@@ -24,12 +24,9 @@ export class CheckRuleExpsUsecase {
|
|
|
24
24
|
else {
|
|
25
25
|
result = this.checkRuleExpForAnswerId(ruleExp, questionGroupValue.answerId);
|
|
26
26
|
}
|
|
27
|
-
if (result != true && questionGroupValue.surveyPageIndex == params.currentPageIndex) {
|
|
28
|
-
var answers = ruleExp.ruleExpAnswers.map(x => x.answerId + '-' + x.answerTitle);
|
|
29
|
-
console.log(`Question ${questionGroupValue.questionId} type ${QuestionTypeEnum[questionGroupValue.questionType]} --- ${'not passed'} ---`, ` answers (${answers.join(' , ')}) logic (${LogicPropertyEnum[ruleExp.logicPropertyId]}) operator (${OperatorEnum[ruleExp.opporator]})`);
|
|
30
|
-
}
|
|
31
27
|
useCaseResult.exprestionResultArr.push(result);
|
|
32
28
|
});
|
|
29
|
+
console.log(`Questions not passed ${useCaseResult.exprestionResultArr.filter(x => x == false).length}`);
|
|
33
30
|
return of(useCaseResult);
|
|
34
31
|
}
|
|
35
32
|
checkRuleExpForAnswerId(ruleExp, answerId) {
|
|
@@ -153,4 +150,4 @@ export class CheckRulesUsecaseModel {
|
|
|
153
150
|
}
|
|
154
151
|
export class CheckRulesUsecaseResult {
|
|
155
152
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stcnVsZS1leHBzLnVzZWNhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3VzZWNhc2VzL2NoZWNrLXJ1bGUtZXhwcy51c2VjYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBS2hFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0I7SUFFQSxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQThCO1FBRXBDLElBQUksYUFBYSxHQUE0QjtZQUMzQyxtQkFBbUIsRUFBRSxFQUFFO1NBQ3hCLENBQUM7UUFFRixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xGLElBQUksa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFcEQsSUFBSSxNQUFlLENBQUM7WUFFcEIsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFO2dCQUNqRSxNQUFNLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTth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cnQgeyBVc2VDYXNlIH0gZnJvbSBcIi4vYmFzZS91c2UtY2FzZVwiO1xyXG5pbXBvcnQgeyBTdXJ2ZXlSdWxlRHRvIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1ydWxlLmR0b1wiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25DaGlsZE9mU3VydmVyeUxpYkZvcm1JbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9zdXJ2ZXJ5LWxpYi5mb3JtLWludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBSdWxlRXhwRHRvIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9kdG9zL3J1bGUtZXhwLmR0b1wiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgTG9naWNQcm9wZXJ0eUVudW0gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2VudW1zL0xvZ2ljLVByb3BlcnR5LmVudW1cIjtcclxuaW1wb3J0IHsgT3BlcmF0b3JFbnVtIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnVtcy9vcGVyYXRvci5lbnVtXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja1J1bGVFeHBzVXNlY2FzZSBpbXBsZW1lbnRzIFVzZUNhc2U8Q2hlY2tSdWxlc1VzZWNhc2VNb2RlbCwgQ2hlY2tSdWxlc1VzZWNhc2VSZXN1bHQ+e1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgfVxyXG5cclxuICBleGVjdXRlKHBhcmFtczogQ2hlY2tSdWxlc1VzZWNhc2VNb2RlbCk6IE9ic2VydmFibGU8Q2hlY2tSdWxlc1VzZWNhc2VSZXN1bHQ+IHtcclxuXHJcbiAgICB2YXIgdXNlQ2FzZVJlc3VsdDogQ2hlY2tSdWxlc1VzZWNhc2VSZXN1bHQgPSB7XHJcbiAgICAgIGV4cHJlc3Rpb25SZXN1bHRBcnI6IFtdXHJcbiAgICB9O1xyXG5cclxuICAgIHBhcmFtcy5ydWxlRXhwcy5mb3JFYWNoKHJ1bGVFeHAgPT4ge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHBhcmFtcy5xdWVzdGlvbnMuZmluZEluZGV4KHggPT4geC5xdWVzdGlvbklkID09IHJ1bGVFeHAucXVlc3Rpb25JZCk7XHJcbiAgICAgIHZhciBxdWVzdGlvbkdyb3VwVmFsdWUgPSBwYXJhbXMucXVlc3Rpb25zLmF0KGluZGV4KTtcclxuXHJcbiAgICAgIHZhciByZXN1bHQ6IGJvb2xlYW47XHJcblxyXG4gICAgICBpZiAocXVlc3Rpb25Hcm91cFZhbHVlLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCkge1xyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuY2hlY2tSdWxlRXhwRm9yQW5zd2VyVGV4dChydWxlRXhwLCBxdWVzdGlvbkdyb3VwVmFsdWUuYW5zd2VyVGV4dClcclxuICAgICAgfSBcclxuICAgICAgZWxzZSBpZiAocXVlc3Rpb25Hcm91cFZhbHVlLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkNoZWNrQm94IHx8IHF1ZXN0aW9uR3JvdXBWYWx1ZS5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5Ecm9wRG93bk11bHRpKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5jaGVja1J1bGVFeHBGb3JBbnN3ZXJJZEFycihydWxlRXhwLCBxdWVzdGlvbkdyb3VwVmFsdWUuYW5zd2VySWRBcnIpO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXN1bHQgPSB0aGlzLmNoZWNrUnVsZUV4cEZvckFuc3dlcklkKHJ1bGVFeHAsIHF1ZXN0aW9uR3JvdXBWYWx1ZS5hbnN3ZXJJZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmKHJlc3VsdCAhPSB0cnVlICAmJiBxdWVzdGlvbkdyb3VwVmFsdWUuc3VydmV5UGFnZUluZGV4ID09IHBhcmFtcy5jdXJyZW50UGFnZUluZGV4KXtcclxuICAgICAgICB2YXIgYW5zd2VycyA9cnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5tYXAoeD0+eC5hbnN3ZXJJZCsnLScreC5hbnN3ZXJUaXRsZSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coYFF1ZXN0aW9uICR7cXVlc3Rpb25Hcm91cFZhbHVlLnF1ZXN0aW9uSWR9IHR5cGUgJHtRdWVzdGlvblR5cGVFbnVtW3F1ZXN0aW9uR3JvdXBWYWx1ZS5xdWVzdGlvblR5cGVdfSAtLS0gJHsnbm90IHBhc3NlZCd9IC0tLWAsXHJcbiAgICAgICAgYCBhbnN3ZXJzICgke2Fuc3dlcnMuam9pbignICwgJyl9KSBsb2dpYyAoJHsgTG9naWNQcm9wZXJ0eUVudW1bcnVsZUV4cC5sb2dpY1Byb3BlcnR5SWRdfSkgb3BlcmF0b3IgKCR7T3BlcmF0b3JFbnVtIFtydWxlRXhwLm9wcG9yYXRvcl19KWApO1xyXG4gICAgICB9XHJcbiAgIFxyXG5cclxuICAgICAgdXNlQ2FzZVJlc3VsdC5leHByZXN0aW9uUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBvZih1c2VDYXNlUmVzdWx0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tSdWxlRXhwRm9yQW5zd2VySWQocnVsZUV4cDogUnVsZUV4cER0bywgYW5zd2VySWQ6IG51bWJlcikge1xyXG4gICAgdmFyIHJ1bGVFeHBSZXN1bHRBcnI6IGJvb2xlYW5bXSA9IFtdO1xyXG4gICAgaWYgKHJ1bGVFeHAubG9naWNQcm9wZXJ0eUlkID09IExvZ2ljUHJvcGVydHlFbnVtLkdyZWF0ZXJUaGFuKSB7XHJcblxyXG4gICAgICBydWxlRXhwLnJ1bGVFeHBBbnN3ZXJzLmZvckVhY2goYW5zd2VyID0+IHtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gYW5zd2VySWQgPiBhbnN3ZXIuYW5zd2VySWRcclxuICAgICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5HcmVhdGVyVGhhbk9yRXF1YWwpIHtcclxuXHJcbiAgICAgIHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMuZm9yRWFjaChhbnN3ZXIgPT4ge1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZCA+PSBhbnN3ZXIuYW5zd2VySWRcclxuICAgICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5MZXNzVGhhbikge1xyXG5cclxuICAgICAgcnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlcklkIDwgYW5zd2VyLmFuc3dlcklkXHJcbiAgICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uTGVzc1RoYW5PckVxdWFsKSB7XHJcblxyXG4gICAgICBydWxlRXhwLnJ1bGVFeHBBbnN3ZXJzLmZvckVhY2goYW5zd2VyID0+IHtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gYW5zd2VySWQgPD0gYW5zd2VyLmFuc3dlcklkXHJcbiAgICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uRXF1YWwpIHtcclxuXHJcbiAgICAgIHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMuZm9yRWFjaChhbnN3ZXIgPT4ge1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZCA9PSBhbnN3ZXIuYW5zd2VySWRcclxuICAgICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5Ob3RFcXVhbCkge1xyXG5cclxuICAgICAgcnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlcklkICE9IGFuc3dlci5hbnN3ZXJJZFxyXG4gICAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKHJ1bGVFeHAubG9naWNQcm9wZXJ0eUlkID09IExvZ2ljUHJvcGVydHlFbnVtLklzRW1wdHkpIHtcclxuXHJcbiAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZCA9PSBudWxsXHJcbiAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uSXNOb3RFbXB0eSkge1xyXG5cclxuICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlcklkICE9IG51bGxcclxuICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKHJlc3VsdCk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5BbnlPZikge1xyXG5cclxuICAgICAgdmFyIGFuc3dlcklkQXJyOiBudW1iZXJbXSA9IHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMubWFwKHggPT4geC5hbnN3ZXJJZCk7XHJcbiAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZEFyci5maW5kSW5kZXgoeCA9PiB4ID09IGFuc3dlcklkKSA+IC0xXHJcbiAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uVGhlbikge1xyXG5cclxuICAgICAgdmFyIGFuc3dlcklkQXJyOiBudW1iZXJbXSA9IHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMubWFwKHggPT4geC5hbnN3ZXJJZCk7XHJcbiAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZEFyci5maW5kSW5kZXgoeCA9PiB4ID09IGFuc3dlcklkKSA9PSAtMVxyXG4gICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJ1bGVFeHBSZXN1bHRBcnIubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAocnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5sZW5ndGggPT0gMSkge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJ1bGVFeHAub3Bwb3JhdG9yID09IE9wZXJhdG9yRW51bS5Pcikge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gZmFsc2UpLmxlbmd0aCA9PSAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUnVsZUV4cEZvckFuc3dlcklkQXJyKHJ1bGVFeHA6IFJ1bGVFeHBEdG8sIGFuc3dlcklkQXJyOiBudW1iZXJbXSkge1xyXG4gICAgdmFyIHJ1bGVFeHBSZXN1bHRBcnI6IGJvb2xlYW5bXSA9IFtdO1xyXG5cclxuICAgIGFuc3dlcklkQXJyPy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcbiAgICAgIHZhciBpc1Jlc3VsdCA9IHRoaXMuY2hlY2tSdWxlRXhwRm9yQW5zd2VySWQocnVsZUV4cCwgYW5zd2VyKTtcclxuICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKGlzUmVzdWx0KTtcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKHJ1bGVFeHBSZXN1bHRBcnIubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAocnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5sZW5ndGggPT0gMSkge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJ1bGVFeHAub3Bwb3JhdG9yID09IE9wZXJhdG9yRW51bS5Pcikge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gZmFsc2UpLmxlbmd0aCA9PSAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUnVsZUV4cEZvckFuc3dlclRleHQocnVsZUV4cDogUnVsZUV4cER0bywgYW5zd2VyOiBzdHJpbmcpIHtcclxuICAgIHZhciBydWxlRXhwUmVzdWx0QXJyOiBib29sZWFuW10gPSBbXTtcclxuICAgIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5Jc0VtcHR5KSB7XHJcblxyXG4gICAgICB2YXIgcmVzdWx0ID0gYW5zd2VyID09IG51bGwgfHwgYW5zd2VyID09ICcnXHJcbiAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uSXNOb3RFbXB0eSkge1xyXG5cclxuICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlciAhPSBudWxsICYmIGFuc3dlciAhPSAnJ1xyXG4gICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlmIChydWxlRXhwLnJ1bGVFeHBBbnN3ZXJzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gdHJ1ZSkubGVuZ3RoID4gMFxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAocnVsZUV4cC5vcHBvcmF0b3IgPT0gT3BlcmF0b3JFbnVtLk9yKSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gdHJ1ZSkubGVuZ3RoID4gMFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJ1bGVFeHBSZXN1bHRBcnIuZmlsdGVyKHggPT4geCA9PSBmYWxzZSkubGVuZ3RoID09IDBcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hlY2tSdWxlc1VzZWNhc2VNb2RlbCB7XHJcbiAgcnVsZUV4cHM6IFJ1bGVFeHBEdG9bXTtcclxuICBxdWVzdGlvbnM6IFF1ZXN0aW9uQ2hpbGRPZlN1cnZlcnlMaWJGb3JtSW50ZXJmYWNlW107XHJcbiAgY3VycmVudFBhZ2VJbmRleDpudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaGVja1J1bGVzVXNlY2FzZVJlc3VsdCB7XHJcbiAgZXhwcmVzdGlvblJlc3VsdEFycjogYm9vbGVhbltdO1xyXG59Il19
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stcnVsZS1leHBzLnVzZWNhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3VzZWNhc2VzL2NoZWNrLXJ1bGUtZXhwcy51c2VjYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBS2hFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0I7SUFFQSxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQThCO1FBRXBDLElBQUksYUFBYSxHQUE0QjtZQUMzQyxtQkFBbUIsRUFBRSxFQUFFO1NBQ3hCLENBQUM7UUFFRixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xGLElBQUksa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFcEQsSUFBSSxNQUFlLENBQUM7WUFFcEIsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFO2dCQUNqRSxNQUFNLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTthQUNoRjtpQkFDSSxJQUFJLGtCQUFrQixDQUFDLFlBQVksSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksa0JBQWtCLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLGFBQWEsRUFBRTtnQkFDMUksTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDbkY7aUJBQ0k7Z0JBQ0gsTUFBTSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0U7WUFFRCxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsSUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXBHLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxPQUFtQixFQUFFLFFBQWdCO1FBQ25FLElBQUksZ0JBQWdCLEdBQWMsRUFBRSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLEVBQUU7WUFFNUQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3RDLElBQUksTUFBTSxHQUFHLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO2dCQUN2QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7U0FFSjthQUFNLElBQUksT0FBTyxDQUFDLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRTtZQUUxRSxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxNQUFNLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUE7Z0JBQ3hDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUVKO2FBQU0sSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUVoRSxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxNQUFNLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUE7Z0JBQ3ZDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUVKO2FBQU0sSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLGVBQWUsRUFBRTtZQUV2RSxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxNQUFNLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUE7Z0JBQ3hDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUVKO2FBQU0sSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRTtZQUU3RCxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxNQUFNLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUE7Z0JBQ3hDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUVKO2FBQU0sSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUVoRSxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxNQUFNLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUE7Z0JBQ3hDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUVKO2FBQU0sSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRTtZQUUvRCxJQUFJLE1BQU0sR0FBRyxRQUFRLElBQUksSUFBSSxDQUFBO1lBQzdCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUUvQjthQUFNLElBQUksT0FBTyxDQUFDLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUU7WUFFbEUsSUFBSSxNQUFNLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQTtZQUM3QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FFL0I7YUFBTSxJQUFJLE9BQU8sQ0FBQyxlQUFlLElBQUksaUJBQWlCLENBQUMsS0FBSyxFQUFFO1lBRTdELElBQUksV0FBVyxHQUFhLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hFLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDM0QsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBRS9CO2FBQU0sSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRTtZQUU1RCxJQUFJLFdBQVcsR0FBYSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4RSxJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQzVELGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUUvQjtRQUVELElBQUksZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNoQyxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQ0ksSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDM0MsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtTQUMxRDthQUNJLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQzdDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7U0FDMUQ7YUFBTTtZQUNMLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUE7U0FDNUQ7SUFDSCxDQUFDO0lBRU8sMEJBQTBCLENBQUMsT0FBbUIsRUFBRSxXQUFxQjtRQUMzRSxJQUFJLGdCQUFnQixHQUFjLEVBQUUsQ0FBQztRQUVyQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzVCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDN0QsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFDSSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUMzQyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO1NBQzFEO2FBQ0ksSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtTQUMxRDthQUFNO1lBQ0wsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQTtTQUM1RDtJQUNILENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxPQUFtQixFQUFFLE1BQWM7UUFDbkUsSUFBSSxnQkFBZ0IsR0FBYyxFQUFFLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRTtZQUV4RCxJQUFJLE1BQU0sR0FBRyxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxFQUFFLENBQUE7WUFDM0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBRS9CO2FBQU0sSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUFDLFVBQVUsRUFBRTtZQUVsRSxJQUFJLE1BQU0sR0FBRyxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxFQUFFLENBQUE7WUFDM0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBRS9CO1FBR0QsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDdEMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtTQUMxRDthQUNJLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQzdDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7U0FDMUQ7YUFBTTtZQUNMLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUE7U0FDNUQ7SUFDSCxDQUFDOzhHQWpLVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQXNLRCxNQUFNLE9BQU8sc0JBQXNCO0NBSWxDO0FBRUQsTUFBTSxPQUFPLHVCQUF1QjtDQUVuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVXNlQ2FzZSB9IGZyb20gXCIuL2Jhc2UvdXNlLWNhc2VcIjtcclxuaW1wb3J0IHsgU3VydmV5UnVsZUR0byB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcnVsZS5kdG9cIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQ2hpbGRPZlN1cnZlcnlMaWJGb3JtSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvc3VydmVyeS1saWIuZm9ybS1pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgUnVsZUV4cER0byB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZHRvcy9ydWxlLWV4cC5kdG9cIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IExvZ2ljUHJvcGVydHlFbnVtIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnVtcy9Mb2dpYy1Qcm9wZXJ0eS5lbnVtXCI7XHJcbmltcG9ydCB7IE9wZXJhdG9yRW51bSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZW51bXMvb3BlcmF0b3IuZW51bVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tSdWxlRXhwc1VzZWNhc2UgaW1wbGVtZW50cyBVc2VDYXNlPENoZWNrUnVsZXNVc2VjYXNlTW9kZWwsIENoZWNrUnVsZXNVc2VjYXNlUmVzdWx0PntcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZShwYXJhbXM6IENoZWNrUnVsZXNVc2VjYXNlTW9kZWwpOiBPYnNlcnZhYmxlPENoZWNrUnVsZXNVc2VjYXNlUmVzdWx0PiB7XHJcblxyXG4gICAgdmFyIHVzZUNhc2VSZXN1bHQ6IENoZWNrUnVsZXNVc2VjYXNlUmVzdWx0ID0ge1xyXG4gICAgICBleHByZXN0aW9uUmVzdWx0QXJyOiBbXVxyXG4gICAgfTtcclxuXHJcbiAgICBwYXJhbXMucnVsZUV4cHMuZm9yRWFjaChydWxlRXhwID0+IHtcclxuICAgICAgY29uc3QgaW5kZXggPSBwYXJhbXMucXVlc3Rpb25zLmZpbmRJbmRleCh4ID0+IHgucXVlc3Rpb25JZCA9PSBydWxlRXhwLnF1ZXN0aW9uSWQpO1xyXG4gICAgICB2YXIgcXVlc3Rpb25Hcm91cFZhbHVlID0gcGFyYW1zLnF1ZXN0aW9ucy5hdChpbmRleCk7XHJcblxyXG4gICAgICB2YXIgcmVzdWx0OiBib29sZWFuO1xyXG5cclxuICAgICAgaWYgKHF1ZXN0aW9uR3JvdXBWYWx1ZS5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQpIHtcclxuICAgICAgICByZXN1bHQgPSB0aGlzLmNoZWNrUnVsZUV4cEZvckFuc3dlclRleHQocnVsZUV4cCwgcXVlc3Rpb25Hcm91cFZhbHVlLmFuc3dlclRleHQpXHJcbiAgICAgIH0gXHJcbiAgICAgIGVsc2UgaWYgKHF1ZXN0aW9uR3JvdXBWYWx1ZS5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5DaGVja0JveCB8fCBxdWVzdGlvbkdyb3VwVmFsdWUucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRHJvcERvd25NdWx0aSkge1xyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuY2hlY2tSdWxlRXhwRm9yQW5zd2VySWRBcnIocnVsZUV4cCwgcXVlc3Rpb25Hcm91cFZhbHVlLmFuc3dlcklkQXJyKTtcclxuICAgICAgfSBcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5jaGVja1J1bGVFeHBGb3JBbnN3ZXJJZChydWxlRXhwLCBxdWVzdGlvbkdyb3VwVmFsdWUuYW5zd2VySWQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1c2VDYXNlUmVzdWx0LmV4cHJlc3Rpb25SZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc29sZS5sb2coYFF1ZXN0aW9ucyBub3QgcGFzc2VkICR7dXNlQ2FzZVJlc3VsdC5leHByZXN0aW9uUmVzdWx0QXJyLmZpbHRlcih4PT54PT1mYWxzZSkubGVuZ3RofWApO1xyXG5cclxuICAgIHJldHVybiBvZih1c2VDYXNlUmVzdWx0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tSdWxlRXhwRm9yQW5zd2VySWQocnVsZUV4cDogUnVsZUV4cER0bywgYW5zd2VySWQ6IG51bWJlcikge1xyXG4gICAgdmFyIHJ1bGVFeHBSZXN1bHRBcnI6IGJvb2xlYW5bXSA9IFtdO1xyXG4gICAgaWYgKHJ1bGVFeHAubG9naWNQcm9wZXJ0eUlkID09IExvZ2ljUHJvcGVydHlFbnVtLkdyZWF0ZXJUaGFuKSB7XHJcblxyXG4gICAgICBydWxlRXhwLnJ1bGVFeHBBbnN3ZXJzLmZvckVhY2goYW5zd2VyID0+IHtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gYW5zd2VySWQgPiBhbnN3ZXIuYW5zd2VySWRcclxuICAgICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5HcmVhdGVyVGhhbk9yRXF1YWwpIHtcclxuXHJcbiAgICAgIHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMuZm9yRWFjaChhbnN3ZXIgPT4ge1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZCA+PSBhbnN3ZXIuYW5zd2VySWRcclxuICAgICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5MZXNzVGhhbikge1xyXG5cclxuICAgICAgcnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlcklkIDwgYW5zd2VyLmFuc3dlcklkXHJcbiAgICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uTGVzc1RoYW5PckVxdWFsKSB7XHJcblxyXG4gICAgICBydWxlRXhwLnJ1bGVFeHBBbnN3ZXJzLmZvckVhY2goYW5zd2VyID0+IHtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gYW5zd2VySWQgPD0gYW5zd2VyLmFuc3dlcklkXHJcbiAgICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uRXF1YWwpIHtcclxuXHJcbiAgICAgIHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMuZm9yRWFjaChhbnN3ZXIgPT4ge1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZCA9PSBhbnN3ZXIuYW5zd2VySWRcclxuICAgICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5Ob3RFcXVhbCkge1xyXG5cclxuICAgICAgcnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlcklkICE9IGFuc3dlci5hbnN3ZXJJZFxyXG4gICAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKHJ1bGVFeHAubG9naWNQcm9wZXJ0eUlkID09IExvZ2ljUHJvcGVydHlFbnVtLklzRW1wdHkpIHtcclxuXHJcbiAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZCA9PSBudWxsXHJcbiAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uSXNOb3RFbXB0eSkge1xyXG5cclxuICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlcklkICE9IG51bGxcclxuICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKHJlc3VsdCk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5BbnlPZikge1xyXG5cclxuICAgICAgdmFyIGFuc3dlcklkQXJyOiBudW1iZXJbXSA9IHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMubWFwKHggPT4geC5hbnN3ZXJJZCk7XHJcbiAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZEFyci5maW5kSW5kZXgoeCA9PiB4ID09IGFuc3dlcklkKSA+IC0xXHJcbiAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uVGhlbikge1xyXG5cclxuICAgICAgdmFyIGFuc3dlcklkQXJyOiBudW1iZXJbXSA9IHJ1bGVFeHAucnVsZUV4cEFuc3dlcnMubWFwKHggPT4geC5hbnN3ZXJJZCk7XHJcbiAgICAgIHZhciByZXN1bHQgPSBhbnN3ZXJJZEFyci5maW5kSW5kZXgoeCA9PiB4ID09IGFuc3dlcklkKSA9PSAtMVxyXG4gICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJ1bGVFeHBSZXN1bHRBcnIubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAocnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5sZW5ndGggPT0gMSkge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJ1bGVFeHAub3Bwb3JhdG9yID09IE9wZXJhdG9yRW51bS5Pcikge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gZmFsc2UpLmxlbmd0aCA9PSAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUnVsZUV4cEZvckFuc3dlcklkQXJyKHJ1bGVFeHA6IFJ1bGVFeHBEdG8sIGFuc3dlcklkQXJyOiBudW1iZXJbXSkge1xyXG4gICAgdmFyIHJ1bGVFeHBSZXN1bHRBcnI6IGJvb2xlYW5bXSA9IFtdO1xyXG5cclxuICAgIGFuc3dlcklkQXJyPy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcbiAgICAgIHZhciBpc1Jlc3VsdCA9IHRoaXMuY2hlY2tSdWxlRXhwRm9yQW5zd2VySWQocnVsZUV4cCwgYW5zd2VyKTtcclxuICAgICAgcnVsZUV4cFJlc3VsdEFyci5wdXNoKGlzUmVzdWx0KTtcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKHJ1bGVFeHBSZXN1bHRBcnIubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAocnVsZUV4cC5ydWxlRXhwQW5zd2Vycy5sZW5ndGggPT0gMSkge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJ1bGVFeHAub3Bwb3JhdG9yID09IE9wZXJhdG9yRW51bS5Pcikge1xyXG4gICAgICByZXR1cm4gcnVsZUV4cFJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IHRydWUpLmxlbmd0aCA+IDBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gZmFsc2UpLmxlbmd0aCA9PSAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUnVsZUV4cEZvckFuc3dlclRleHQocnVsZUV4cDogUnVsZUV4cER0bywgYW5zd2VyOiBzdHJpbmcpIHtcclxuICAgIHZhciBydWxlRXhwUmVzdWx0QXJyOiBib29sZWFuW10gPSBbXTtcclxuICAgIGlmIChydWxlRXhwLmxvZ2ljUHJvcGVydHlJZCA9PSBMb2dpY1Byb3BlcnR5RW51bS5Jc0VtcHR5KSB7XHJcblxyXG4gICAgICB2YXIgcmVzdWx0ID0gYW5zd2VyID09IG51bGwgfHwgYW5zd2VyID09ICcnXHJcbiAgICAgIHJ1bGVFeHBSZXN1bHRBcnIucHVzaChyZXN1bHQpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAocnVsZUV4cC5sb2dpY1Byb3BlcnR5SWQgPT0gTG9naWNQcm9wZXJ0eUVudW0uSXNOb3RFbXB0eSkge1xyXG5cclxuICAgICAgdmFyIHJlc3VsdCA9IGFuc3dlciAhPSBudWxsICYmIGFuc3dlciAhPSAnJ1xyXG4gICAgICBydWxlRXhwUmVzdWx0QXJyLnB1c2gocmVzdWx0KTtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlmIChydWxlRXhwLnJ1bGVFeHBBbnN3ZXJzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gdHJ1ZSkubGVuZ3RoID4gMFxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAocnVsZUV4cC5vcHBvcmF0b3IgPT0gT3BlcmF0b3JFbnVtLk9yKSB7XHJcbiAgICAgIHJldHVybiBydWxlRXhwUmVzdWx0QXJyLmZpbHRlcih4ID0+IHggPT0gdHJ1ZSkubGVuZ3RoID4gMFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJ1bGVFeHBSZXN1bHRBcnIuZmlsdGVyKHggPT4geCA9PSBmYWxzZSkubGVuZ3RoID09IDBcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hlY2tSdWxlc1VzZWNhc2VNb2RlbCB7XHJcbiAgcnVsZUV4cHM6IFJ1bGVFeHBEdG9bXTtcclxuICBxdWVzdGlvbnM6IFF1ZXN0aW9uQ2hpbGRPZlN1cnZlcnlMaWJGb3JtSW50ZXJmYWNlW107XHJcbiAgY3VycmVudFBhZ2VJbmRleDpudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaGVja1J1bGVzVXNlY2FzZVJlc3VsdCB7XHJcbiAgZXhwcmVzdGlvblJlc3VsdEFycjogYm9vbGVhbltdO1xyXG59Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5mb3JtLWludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tIFwiLi4vZW51bXMvaW5wdXQtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tIFwiLi4vZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uVGV4dFRlbXBsYXRlRm9ybUludGVyZmFjZSB7XHJcbiAgICBpZDtcclxuICAgIHR5cGVJZDpRdWVzdGlvblR5cGVFbnVtO1xyXG4gICAgbmFtZTtcclxuICAgIHRpdGxlO1xyXG4gICAgZGVzY3JpcHRpb247XHJcbiAgICBhbnN3ZXI7XHJcbiAgICBzdXJ2ZXlBbnN3ZXJJZDtcclxuICAgIGlzU2hvdztcclxuICAgIGlzRGlzYWJsZWQ7XHJcbiAgICBpbnB1dFR5cGVJZCA6IElucHV0VHlwZUVudW07XHJcbiAgICBpbnB1dE1pbjtcclxuICAgIGlucHV0TWF4O1xyXG59Il19
|
package/fesm2022/survery-lib.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Pipe, EventEmitter, Component, Output, Input, InjectionToken, Inject, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, Pipe, EventEmitter, Component, Output, Input, InjectionToken, Inject, Directive, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import { v4 } from 'uuid';
|
|
4
4
|
import { Subject, of, debounceTime, map, filter, distinctUntilChanged } from 'rxjs';
|
|
5
5
|
import * as i1 from '@ng-stack/forms';
|
|
@@ -136,12 +136,9 @@ class CheckRuleExpsUsecase {
|
|
|
136
136
|
else {
|
|
137
137
|
result = this.checkRuleExpForAnswerId(ruleExp, questionGroupValue.answerId);
|
|
138
138
|
}
|
|
139
|
-
if (result != true && questionGroupValue.surveyPageIndex == params.currentPageIndex) {
|
|
140
|
-
var answers = ruleExp.ruleExpAnswers.map(x => x.answerId + '-' + x.answerTitle);
|
|
141
|
-
console.log(`Question ${questionGroupValue.questionId} type ${QuestionTypeEnum[questionGroupValue.questionType]} --- ${'not passed'} ---`, ` answers (${answers.join(' , ')}) logic (${LogicPropertyEnum[ruleExp.logicPropertyId]}) operator (${OperatorEnum[ruleExp.opporator]})`);
|
|
142
|
-
}
|
|
143
139
|
useCaseResult.exprestionResultArr.push(result);
|
|
144
140
|
});
|
|
141
|
+
console.log(`Questions not passed ${useCaseResult.exprestionResultArr.filter(x => x == false).length}`);
|
|
145
142
|
return of(useCaseResult);
|
|
146
143
|
}
|
|
147
144
|
checkRuleExpForAnswerId(ruleExp, answerId) {
|
|
@@ -318,10 +315,6 @@ class QuestionTextTemplateComponent {
|
|
|
318
315
|
get questionTypeEnum() {
|
|
319
316
|
return QuestionTypeEnum;
|
|
320
317
|
}
|
|
321
|
-
get isShowTextArea() {
|
|
322
|
-
const fromValue = this.rForm.value;
|
|
323
|
-
return fromValue.inputTypeId != InputTypeEnum.Number;
|
|
324
|
-
}
|
|
325
318
|
set setQuestion(value) {
|
|
326
319
|
this.surveyQuestion = value;
|
|
327
320
|
this.rForm.patchValue({
|
|
@@ -341,9 +334,11 @@ class QuestionTextTemplateComponent {
|
|
|
341
334
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
342
335
|
if (value.surveyAnswers[0].inputTypeId == InputTypeEnum.Number) {
|
|
343
336
|
if (value.surveyAnswers[0].inputMin != null) {
|
|
337
|
+
this.fCtrls.inputMin.setValue(value.surveyAnswers[0].inputMin);
|
|
344
338
|
this.fCtrls.answer.addValidators([Validators.min(value.surveyAnswers[0].inputMin)]);
|
|
345
339
|
}
|
|
346
340
|
if (value.surveyAnswers[0].inputMax != null) {
|
|
341
|
+
this.fCtrls.inputMax.setValue(value.surveyAnswers[0].inputMax);
|
|
347
342
|
this.fCtrls.answer.addValidators([Validators.max(value.surveyAnswers[0].inputMax)]);
|
|
348
343
|
}
|
|
349
344
|
}
|
|
@@ -361,6 +356,7 @@ class QuestionTextTemplateComponent {
|
|
|
361
356
|
this._formBuilder = _formBuilder;
|
|
362
357
|
this._surveyLibService = _surveyLibService;
|
|
363
358
|
this.emitter = new EventEmitter();
|
|
359
|
+
this.isArabicLang = false;
|
|
364
360
|
this.isTextArea = false;
|
|
365
361
|
this.rForm = this._formBuilder.group({
|
|
366
362
|
id: [null],
|
|
@@ -372,7 +368,9 @@ class QuestionTextTemplateComponent {
|
|
|
372
368
|
answer: [null],
|
|
373
369
|
isDisabled: [false],
|
|
374
370
|
isShow: [true],
|
|
375
|
-
inputTypeId: [null]
|
|
371
|
+
inputTypeId: [null],
|
|
372
|
+
inputMin: [null],
|
|
373
|
+
inputMax: [null]
|
|
376
374
|
});
|
|
377
375
|
}
|
|
378
376
|
ngOnInit() {
|
|
@@ -411,13 +409,15 @@ class QuestionTextTemplateComponent {
|
|
|
411
409
|
this.fCtrls.answer.updateValueAndValidity();
|
|
412
410
|
}
|
|
413
411
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
414
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isTextArea: "isTextArea", setQuestion: "setQuestion", isDisabled: "isDisabled" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion\">\n <ng-container *ngIf=\"
|
|
412
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isArabicLang: "isArabicLang", isTextArea: "isTextArea", setQuestion: "setQuestion", isDisabled: "isDisabled" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n <p *ngIf=\"fCtrls.inputMin.value != null || fCtrls.inputMax.value != null\" class=\"text-danger\">\n <small>{{isArabicLang == true ? ' \u0627\u0644\u0642\u064A\u0645\u0629 \u064A\u062C\u0628 \u0627\u0646 \u062A\u0643\u0648\u0646' :'The value must be '}}</small>\n <small *ngIf=\"fCtrls.inputMin.value\">{{isArabicLang == true ? ' \u0645\u0646' : 'from'}} {{fCtrls.inputMin.value}} </small>\n <small *ngIf=\"fCtrls.inputMax.value\">{{isArabicLang == true ? '\u0627\u0644\u0649' : 'to'}} {{fCtrls.inputMax.value}} </small>\n </p>\n </h3>\n <div class=\"text-quastion\">\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\n <input class=\"form-control\" [attr.min]=\"fCtrls.inputMin.value\"\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\n </ng-container>\n <ng-template #textAreaTemplate>\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\"></textarea>\n </ng-template>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: TextBoxTypeAttrPipe, name: "textBoxTypeAttr" }] }); }
|
|
415
413
|
}
|
|
416
414
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, decorators: [{
|
|
417
415
|
type: Component,
|
|
418
|
-
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion\">\n <ng-container *ngIf=\"
|
|
416
|
+
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n <p *ngIf=\"fCtrls.inputMin.value != null || fCtrls.inputMax.value != null\" class=\"text-danger\">\n <small>{{isArabicLang == true ? ' \u0627\u0644\u0642\u064A\u0645\u0629 \u064A\u062C\u0628 \u0627\u0646 \u062A\u0643\u0648\u0646' :'The value must be '}}</small>\n <small *ngIf=\"fCtrls.inputMin.value\">{{isArabicLang == true ? ' \u0645\u0646' : 'from'}} {{fCtrls.inputMin.value}} </small>\n <small *ngIf=\"fCtrls.inputMax.value\">{{isArabicLang == true ? '\u0627\u0644\u0649' : 'to'}} {{fCtrls.inputMax.value}} </small>\n </p>\n </h3>\n <div class=\"text-quastion\">\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\n <input class=\"form-control\" [attr.min]=\"fCtrls.inputMin.value\"\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\n </ng-container>\n <ng-template #textAreaTemplate>\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\"></textarea>\n </ng-template>\n </div>" }]
|
|
419
417
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
420
418
|
type: Output
|
|
419
|
+
}], isArabicLang: [{
|
|
420
|
+
type: Input
|
|
421
421
|
}], isTextArea: [{
|
|
422
422
|
type: Input
|
|
423
423
|
}], setQuestion: [{
|
|
@@ -1406,11 +1406,11 @@ class SurveryLibComponent {
|
|
|
1406
1406
|
});
|
|
1407
1407
|
}
|
|
1408
1408
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibComponent, deps: [{ token: SurveyLibService }, { token: i1.FormBuilder }, { token: CheckRuleExpsUsecase }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1409
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SurveryLibComponent, selector: "lib-survery-lib", inputs: { isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey", isArabicLang: "isArabicLang" }, outputs: { surveyResultEmit: "surveyResultEmit", selectLanguageEmit: "selectLanguageEmit" }, ngImport: i0, template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\" [ngClass]=\"{'d-none': surveyPageIndex != fCtrls.currentPageIndex.value}\">\r\n <ng-container *ngFor=\"let item of surveyPage.surveyQuestionGroups\">\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 *ngFor=\"let question of item.surveyQuestions\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.TextInput\"\r\n [isTextArea]=\"question.isAdvanceTextArea\"></lib-question-text-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Cascade\"\r\n [applicantKey]=\"applicantKey\" [isPre]=\"isPre\" [surveyLanguageId]=\"surveyLanguageId\"\r\n [pageIndex]=\"surveyPageIndex\"></lib-question-cascade-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=\"surveyData != null\">\r\n <div class=\"container\" style=\" justify-content: start;\">\r\n <div class=\"survay-pagination fw-bold\">\r\n <span>{{curruntShowedSurveyPages}}</span>\r\n <span class=\"ms-2 me-2\">{{isArabicLang ? '\u0645\u0646' : 'of'}} </span>\r\n <span>{{showedSurveyPages?.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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isTextArea", "setQuestion", "isDisabled"], outputs: ["emitter"] }, { kind: "component", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionMatrixTemplateComponent, selector: "lib-question-matrix-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionBooleanTemplateComponent, selector: "lib-question-boolean-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionDropdownMultiTemplateComponent, selector: "lib-question-dropdown-multi-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: ["pageIndex", "isPre", "surveyLanguageId", "applicantKey", "setQuestion"], outputs: ["emitter"] }] }); }
|
|
1409
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SurveryLibComponent, selector: "lib-survery-lib", inputs: { isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey", isArabicLang: "isArabicLang" }, outputs: { surveyResultEmit: "surveyResultEmit", selectLanguageEmit: "selectLanguageEmit" }, ngImport: i0, template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\" [ngClass]=\"{'d-none': surveyPageIndex != fCtrls.currentPageIndex.value}\">\r\n <ng-container *ngFor=\"let item of surveyPage.surveyQuestionGroups\">\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 *ngFor=\"let question of item.surveyQuestions\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.TextInput\"\r\n [isTextArea]=\"question.isAdvanceTextArea\" [isArabicLang]=\"isArabicLang\"></lib-question-text-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Cascade\"\r\n [applicantKey]=\"applicantKey\" [isPre]=\"isPre\" [surveyLanguageId]=\"surveyLanguageId\"\r\n [pageIndex]=\"surveyPageIndex\"></lib-question-cascade-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=\"surveyData != null\">\r\n <div class=\"container\" style=\" justify-content: start;\">\r\n <div class=\"survay-pagination fw-bold\">\r\n <span>{{curruntShowedSurveyPages}}</span>\r\n <span class=\"ms-2 me-2\">{{isArabicLang ? '\u0645\u0646' : 'of'}} </span>\r\n <span>{{showedSurveyPages?.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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isArabicLang", "isTextArea", "setQuestion", "isDisabled"], outputs: ["emitter"] }, { kind: "component", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionMatrixTemplateComponent, selector: "lib-question-matrix-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionBooleanTemplateComponent, selector: "lib-question-boolean-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionDropdownMultiTemplateComponent, selector: "lib-question-dropdown-multi-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: ["pageIndex", "isPre", "surveyLanguageId", "applicantKey", "setQuestion"], outputs: ["emitter"] }] }); }
|
|
1410
1410
|
}
|
|
1411
1411
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibComponent, decorators: [{
|
|
1412
1412
|
type: Component,
|
|
1413
|
-
args: [{ selector: 'lib-survery-lib', template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\" [ngClass]=\"{'d-none': surveyPageIndex != fCtrls.currentPageIndex.value}\">\r\n <ng-container *ngFor=\"let item of surveyPage.surveyQuestionGroups\">\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 *ngFor=\"let question of item.surveyQuestions\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.TextInput\"\r\n [isTextArea]=\"question.isAdvanceTextArea\"></lib-question-text-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Cascade\"\r\n [applicantKey]=\"applicantKey\" [isPre]=\"isPre\" [surveyLanguageId]=\"surveyLanguageId\"\r\n [pageIndex]=\"surveyPageIndex\"></lib-question-cascade-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=\"surveyData != null\">\r\n <div class=\"container\" style=\" justify-content: start;\">\r\n <div class=\"survay-pagination fw-bold\">\r\n <span>{{curruntShowedSurveyPages}}</span>\r\n <span class=\"ms-2 me-2\">{{isArabicLang ? '\u0645\u0646' : 'of'}} </span>\r\n <span>{{showedSurveyPages?.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"] }]
|
|
1413
|
+
args: [{ selector: 'lib-survery-lib', template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\">\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\" [ngClass]=\"{'d-none': surveyPageIndex != fCtrls.currentPageIndex.value}\">\r\n <ng-container *ngFor=\"let item of surveyPage.surveyQuestionGroups\">\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 *ngFor=\"let question of item.surveyQuestions\">\r\n <lib-question-boolean-template #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.TextInput\"\r\n [isTextArea]=\"question.isAdvanceTextArea\" [isArabicLang]=\"isArabicLang\"></lib-question-text-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Cascade\"\r\n [applicantKey]=\"applicantKey\" [isPre]=\"isPre\" [surveyLanguageId]=\"surveyLanguageId\"\r\n [pageIndex]=\"surveyPageIndex\"></lib-question-cascade-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=\"surveyData != null\">\r\n <div class=\"container\" style=\" justify-content: start;\">\r\n <div class=\"survay-pagination fw-bold\">\r\n <span>{{curruntShowedSurveyPages}}</span>\r\n <span class=\"ms-2 me-2\">{{isArabicLang ? '\u0645\u0646' : 'of'}} </span>\r\n <span>{{showedSurveyPages?.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"] }]
|
|
1414
1414
|
}], ctorParameters: function () { return [{ type: SurveyLibService }, { type: i1.FormBuilder }, { type: CheckRuleExpsUsecase }]; }, propDecorators: { isPre: [{
|
|
1415
1415
|
type: Input
|
|
1416
1416
|
}], surveyLanguageId: [{
|
|
@@ -1473,6 +1473,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
1473
1473
|
}]
|
|
1474
1474
|
}] });
|
|
1475
1475
|
|
|
1476
|
+
class MaskedForMinMaxDirective {
|
|
1477
|
+
constructor(el) {
|
|
1478
|
+
this.el = el;
|
|
1479
|
+
}
|
|
1480
|
+
onKeyUp(event) {
|
|
1481
|
+
let ele = this.el.nativeElement;
|
|
1482
|
+
const input = event.target;
|
|
1483
|
+
if (input.type === 'number') {
|
|
1484
|
+
var min = null;
|
|
1485
|
+
var max = null;
|
|
1486
|
+
if (input.getAttribute('min') !== null) {
|
|
1487
|
+
min = parseInt(input.getAttribute('min'));
|
|
1488
|
+
}
|
|
1489
|
+
if (input.getAttribute('max') !== null) {
|
|
1490
|
+
max = parseInt(input.getAttribute('max'));
|
|
1491
|
+
}
|
|
1492
|
+
if (min != null) {
|
|
1493
|
+
var newInputValue = input.value + event.key;
|
|
1494
|
+
if (parseInt(newInputValue) < min) {
|
|
1495
|
+
event.preventDefault();
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
if (max !== null) {
|
|
1499
|
+
var newInputValue = input.value + event.key;
|
|
1500
|
+
if (parseInt(newInputValue) > max) {
|
|
1501
|
+
event.preventDefault();
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
}
|
|
1505
|
+
}
|
|
1506
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MaskedForMinMaxDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1507
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]", host: { listeners: { "keypress": "onKeyUp($event)" } }, ngImport: i0 }); }
|
|
1508
|
+
}
|
|
1509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MaskedForMinMaxDirective, decorators: [{
|
|
1510
|
+
type: Directive,
|
|
1511
|
+
args: [{
|
|
1512
|
+
selector: '[libMaskedForMinMax]'
|
|
1513
|
+
}]
|
|
1514
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onKeyUp: [{
|
|
1515
|
+
type: HostListener,
|
|
1516
|
+
args: ['keypress', ['$event']]
|
|
1517
|
+
}] } });
|
|
1518
|
+
|
|
1476
1519
|
class SurveryLibModule {
|
|
1477
1520
|
static forRoot(config) {
|
|
1478
1521
|
return {
|
|
@@ -1500,7 +1543,8 @@ class SurveryLibModule {
|
|
|
1500
1543
|
DefaultQuestionAnswerPipe,
|
|
1501
1544
|
DefaultQuestionAnswersPipe,
|
|
1502
1545
|
TextBoxTypeAttrPipe,
|
|
1503
|
-
QuestionCascadeTemplateComponent
|
|
1546
|
+
QuestionCascadeTemplateComponent,
|
|
1547
|
+
MaskedForMinMaxDirective], imports: [CommonModule, HttpClientModule, ReactiveFormsModule, FormsModule, NgsFormsModule, NgSelectModule], exports: [SurveryLibComponent] }); }
|
|
1504
1548
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibModule, imports: [CommonModule, HttpClientModule, ReactiveFormsModule, FormsModule, NgsFormsModule, NgSelectModule] }); }
|
|
1505
1549
|
}
|
|
1506
1550
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibModule, decorators: [{
|
|
@@ -1519,7 +1563,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
1519
1563
|
DefaultQuestionAnswerPipe,
|
|
1520
1564
|
DefaultQuestionAnswersPipe,
|
|
1521
1565
|
TextBoxTypeAttrPipe,
|
|
1522
|
-
QuestionCascadeTemplateComponent
|
|
1566
|
+
QuestionCascadeTemplateComponent,
|
|
1567
|
+
MaskedForMinMaxDirective
|
|
1523
1568
|
],
|
|
1524
1569
|
imports: [
|
|
1525
1570
|
CommonModule, HttpClientModule, ReactiveFormsModule, FormsModule, NgsFormsModule, NgSelectModule
|