survery-lib 0.1.9 → 0.1.11
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/assets/style.css +325 -0
- package/assets/style.css.map +1 -1
- package/ng-package.json +11 -0
- package/package.json +15 -27
- package/scss/style.scss +88 -0
- package/src/lib/components/question-boolean-template/question-boolean-template.component.html +13 -0
- package/src/lib/components/question-boolean-template/question-boolean-template.component.scss +0 -0
- package/src/lib/components/question-boolean-template/question-boolean-template.component.spec.ts +21 -0
- package/src/lib/components/question-boolean-template/question-boolean-template.component.ts +109 -0
- package/src/lib/components/question-check-box-template/question-check-box-template.component.html +13 -0
- package/src/lib/components/question-check-box-template/question-check-box-template.component.scss +0 -0
- package/src/lib/components/question-check-box-template/question-check-box-template.component.spec.ts +21 -0
- package/src/lib/components/question-check-box-template/question-check-box-template.component.ts +124 -0
- package/src/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.html +10 -0
- package/src/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.scss +3 -0
- package/src/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.spec.ts +21 -0
- package/src/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.ts +100 -0
- package/src/lib/components/question-dropdown-template/question-dropdown-template.component.html +10 -0
- package/src/lib/components/question-dropdown-template/question-dropdown-template.component.scss +0 -0
- package/src/lib/components/question-dropdown-template/question-dropdown-template.component.spec.ts +21 -0
- package/src/lib/components/question-dropdown-template/question-dropdown-template.component.ts +87 -0
- package/src/lib/components/question-matrix-template/question-matrix-template.component.html +36 -0
- package/src/lib/components/question-matrix-template/question-matrix-template.component.scss +0 -0
- package/src/lib/components/question-matrix-template/question-matrix-template.component.spec.ts +21 -0
- package/src/lib/components/question-matrix-template/question-matrix-template.component.ts +110 -0
- package/src/lib/components/question-radio-button-template/question-radio-button-template.component.html +13 -0
- package/src/lib/components/question-radio-button-template/question-radio-button-template.component.scss +0 -0
- package/src/lib/components/question-radio-button-template/question-radio-button-template.component.spec.ts +21 -0
- package/src/lib/components/question-radio-button-template/question-radio-button-template.component.ts +111 -0
- package/src/lib/components/question-text-template/question-text-template.component.html +13 -0
- package/src/lib/components/question-text-template/question-text-template.component.scss +0 -0
- package/src/lib/components/question-text-template/question-text-template.component.spec.ts +21 -0
- package/src/lib/components/question-text-template/question-text-template.component.ts +105 -0
- package/src/lib/pipes/default-question-answer.pipe.spec.ts +8 -0
- package/src/lib/pipes/default-question-answer.pipe.ts +18 -0
- package/src/lib/pipes/default-question-answers.pipe.spec.ts +8 -0
- package/src/lib/pipes/default-question-answers.pipe.ts +17 -0
- package/src/lib/pipes/filter-question.pipe.spec.ts +8 -0
- package/src/lib/pipes/filter-question.pipe.ts +14 -0
- package/src/lib/services/survey-lib.service.spec.ts +16 -0
- package/src/lib/services/survey-lib.service.ts +31 -0
- package/src/lib/survery-lib.component.spec.ts +21 -0
- package/src/lib/survery-lib.component.ts +308 -0
- package/src/lib/survery-lib.module.ts +47 -0
- package/src/lib/survey-lib.component.html +67 -0
- package/src/lib/survey-lib.component.scss +4 -0
- package/{lib/usecases/base/use-case.d.ts → src/lib/usecases/base/use-case.ts} +9 -7
- package/src/lib/usecases/check-rule-exps.usecase.ts +188 -0
- package/{public-api.d.ts → src/public-api.ts} +5 -1
- package/src/shared/dtos/default-question-answers.dto.ts +10 -0
- package/{shared/dtos/rule-exp-answer.dto.d.ts → src/shared/dtos/rule-exp-answer.dto.ts} +5 -5
- package/{shared/dtos/rule-exp.dto.d.ts → src/shared/dtos/rule-exp.dto.ts} +14 -13
- package/{shared/dtos/rule-result-question.dto.d.ts → src/shared/dtos/rule-result-question.dto.ts} +5 -4
- package/{shared/dtos/survey-answer.dto.d.ts → src/shared/dtos/survey-answer.dto.ts} +16 -16
- package/{shared/dtos/survey-answers-subject.dto.d.ts → src/shared/dtos/survey-answers-subject.dto.ts} +6 -5
- package/{shared/dtos/survey-page.dto.d.ts → src/shared/dtos/survey-page.dto.ts} +10 -9
- package/{shared/dtos/survey-question-group.dto.d.ts → src/shared/dtos/survey-question-group.dto.ts} +9 -8
- package/{shared/dtos/survey-question.dto.d.ts → src/shared/dtos/survey-question.dto.ts} +19 -18
- package/{shared/dtos/survey-rule.dto.d.ts → src/shared/dtos/survey-rule.dto.ts} +11 -10
- package/{shared/dtos/survey-sub-question.dto.d.ts → src/shared/dtos/survey-sub-question.dto.ts} +9 -9
- package/{shared/dtos/survey.dto.d.ts → src/shared/dtos/survey.dto.ts} +17 -16
- package/{shared/enums/logic-action.enum.d.ts → src/shared/enums/logic-action.enum.ts} +7 -7
- package/src/shared/enums/logic-property.enum.ts +12 -0
- package/src/shared/enums/operator.enum.ts +4 -0
- package/{shared/enums/question-type.enum.d.ts → src/shared/enums/question-type.enum.ts} +9 -8
- package/src/shared/form-interfaces/question-boolean-template.form-interface.ts +17 -0
- package/src/shared/form-interfaces/question-check-box-template.form-interface.ts +18 -0
- package/src/shared/form-interfaces/question-dropdown-multi-template.form-interface.ts +17 -0
- package/src/shared/form-interfaces/question-dropdown-template.form-interface.ts +10 -0
- package/{shared/form-interfaces/question-matrix-template.form-interface.d.ts → src/shared/form-interfaces/question-matrix-template.form-interface.ts} +13 -11
- package/src/shared/form-interfaces/question-radio-button-template.form-interface.ts +17 -0
- package/src/shared/form-interfaces/question-text-template.form-interface.ts +11 -0
- package/src/shared/form-interfaces/survery-lib.form-interface.ts +27 -0
- package/src/shared/models/question-answer.model.ts +6 -0
- package/src/shared/models/survery-question-result.model.ts +8 -0
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/components/question-boolean-template/question-boolean-template.component.mjs +0 -97
- package/esm2022/lib/components/question-check-box-template/question-check-box-template.component.mjs +0 -108
- package/esm2022/lib/components/question-dropdown-template/question-dropdown-template.component.mjs +0 -83
- package/esm2022/lib/components/question-matrix-template/question-matrix-template.component.mjs +0 -101
- package/esm2022/lib/components/question-radio-button-template/question-radio-button-template.component.mjs +0 -97
- package/esm2022/lib/components/question-text-template/question-text-template.component.mjs +0 -99
- package/esm2022/lib/pipes/default-question-answer.pipe.mjs +0 -19
- package/esm2022/lib/pipes/default-question-answers.pipe.mjs +0 -19
- package/esm2022/lib/pipes/filter-question.pipe.mjs +0 -16
- package/esm2022/lib/services/survey-lib.service.mjs +0 -30
- package/esm2022/lib/survery-lib.component.mjs +0 -270
- package/esm2022/lib/survery-lib.module.mjs +0 -59
- package/esm2022/lib/usecases/base/use-case.mjs +0 -2
- package/esm2022/lib/usecases/check-rule-exps.usecase.mjs +0 -154
- package/esm2022/public-api.mjs +0 -8
- package/esm2022/shared/dtos/default-question-answers.dto.mjs +0 -3
- package/esm2022/shared/dtos/rule-exp-answer.dto.mjs +0 -2
- package/esm2022/shared/dtos/rule-exp.dto.mjs +0 -2
- package/esm2022/shared/dtos/rule-result-question.dto.mjs +0 -2
- package/esm2022/shared/dtos/survey-answer.dto.mjs +0 -2
- package/esm2022/shared/dtos/survey-answers-subject.dto.mjs +0 -3
- package/esm2022/shared/dtos/survey-page.dto.mjs +0 -2
- package/esm2022/shared/dtos/survey-question-group.dto.mjs +0 -2
- package/esm2022/shared/dtos/survey-question.dto.mjs +0 -2
- package/esm2022/shared/dtos/survey-rule.dto.mjs +0 -2
- package/esm2022/shared/dtos/survey-sub-question.dto.mjs +0 -2
- package/esm2022/shared/dtos/survey.dto.mjs +0 -2
- package/esm2022/shared/enums/Logic-Property.enum.mjs +0 -14
- package/esm2022/shared/enums/logic-action.enum.mjs +0 -9
- package/esm2022/shared/enums/operator.enum.mjs +0 -6
- package/esm2022/shared/enums/question-type.enum.mjs +0 -10
- package/esm2022/shared/form-interfaces/question-boolean-template.form-interface.mjs +0 -2
- package/esm2022/shared/form-interfaces/question-check-box-template.form-interface.mjs +0 -3
- package/esm2022/shared/form-interfaces/question-dropdown-template.form-interface.mjs +0 -3
- package/esm2022/shared/form-interfaces/question-matrix-template.form-interface.mjs +0 -2
- package/esm2022/shared/form-interfaces/question-radio-button-template.form-interface.mjs +0 -3
- package/esm2022/shared/form-interfaces/question-text-template.form-interface.mjs +0 -2
- package/esm2022/shared/form-interfaces/survery-lib.form-interface.mjs +0 -2
- package/esm2022/shared/models/question-answer.model.mjs +0 -3
- package/esm2022/shared/models/survery-question-result.model.mjs +0 -3
- package/esm2022/survery-lib.mjs +0 -5
- package/fesm2022/survery-lib.mjs +0 -1114
- package/fesm2022/survery-lib.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/question-boolean-template/question-boolean-template.component.d.ts +0 -36
- package/lib/components/question-check-box-template/question-check-box-template.component.d.ts +0 -37
- package/lib/components/question-dropdown-template/question-dropdown-template.component.d.ts +0 -33
- package/lib/components/question-matrix-template/question-matrix-template.component.d.ts +0 -33
- package/lib/components/question-radio-button-template/question-radio-button-template.component.d.ts +0 -36
- package/lib/components/question-text-template/question-text-template.component.d.ts +0 -35
- package/lib/pipes/default-question-answer.pipe.d.ts +0 -8
- package/lib/pipes/default-question-answers.pipe.d.ts +0 -8
- package/lib/pipes/filter-question.pipe.d.ts +0 -9
- package/lib/services/survey-lib.service.d.ts +0 -14
- package/lib/survery-lib.component.d.ts +0 -45
- package/lib/survery-lib.module.d.ts +0 -22
- package/lib/usecases/check-rule-exps.usecase.d.ts +0 -21
- package/shared/dtos/default-question-answers.dto.d.ts +0 -9
- package/shared/enums/Logic-Property.enum.d.ts +0 -12
- package/shared/enums/operator.enum.d.ts +0 -4
- package/shared/form-interfaces/question-boolean-template.form-interface.d.ts +0 -15
- package/shared/form-interfaces/question-check-box-template.form-interface.d.ts +0 -15
- package/shared/form-interfaces/question-dropdown-template.form-interface.d.ts +0 -9
- package/shared/form-interfaces/question-radio-button-template.form-interface.d.ts +0 -15
- package/shared/form-interfaces/question-text-template.form-interface.d.ts +0 -10
- package/shared/form-interfaces/survery-lib.form-interface.d.ts +0 -24
- package/shared/models/question-answer.model.d.ts +0 -6
- package/shared/models/survery-question-result.model.d.ts +0 -8
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { LogicPropertyEnum } from "../enums/Logic-Property.enum";
|
|
2
|
-
import { OperatorEnum } from "../enums/operator.enum";
|
|
3
|
-
import { RuleExpAnswerDto } from "./rule-exp-answer.dto";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { LogicPropertyEnum } from "../enums/Logic-Property.enum";
|
|
2
|
+
import { OperatorEnum } from "../enums/operator.enum";
|
|
3
|
+
import { RuleExpAnswerDto } from "./rule-exp-answer.dto";
|
|
4
|
+
|
|
5
|
+
export interface RuleExpDto {
|
|
6
|
+
ruleExpId: number;
|
|
7
|
+
questionId: number;
|
|
8
|
+
logicPropertyId: LogicPropertyEnum;
|
|
9
|
+
questionTitle: string;
|
|
10
|
+
questionTypeId: number;
|
|
11
|
+
opporator: OperatorEnum;
|
|
12
|
+
isComplete: boolean;
|
|
13
|
+
ruleExpAnswers: RuleExpAnswerDto[];
|
|
14
|
+
}
|
package/{shared/dtos/rule-result-question.dto.d.ts → src/shared/dtos/rule-result-question.dto.ts}
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export interface RuleResultQuestionDto {
|
|
2
|
-
questionId: number;
|
|
3
|
-
questionTitle: string;
|
|
4
|
-
}
|
|
1
|
+
export interface RuleResultQuestionDto {
|
|
2
|
+
questionId: number;
|
|
3
|
+
questionTitle: string;
|
|
4
|
+
}
|
|
5
|
+
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export interface SurveyAnswerDto {
|
|
2
|
-
answerId: number;
|
|
3
|
-
score: number;
|
|
4
|
-
inputMax: number[];
|
|
5
|
-
inputMin: number[];
|
|
6
|
-
isSelected: boolean;
|
|
7
|
-
isAddByPreDefine: boolean;
|
|
8
|
-
selectedAnswer: string;
|
|
9
|
-
answerTitle?: string;
|
|
10
|
-
answerName: string;
|
|
11
|
-
questionTitle: string;
|
|
12
|
-
regex?: any;
|
|
13
|
-
answerDescription?: string;
|
|
14
|
-
placeHolder?: any;
|
|
15
|
-
inputTypeId?: number;
|
|
16
|
-
}
|
|
1
|
+
export interface SurveyAnswerDto {
|
|
2
|
+
answerId: number;
|
|
3
|
+
score: number;
|
|
4
|
+
inputMax: number[];
|
|
5
|
+
inputMin: number[];
|
|
6
|
+
isSelected: boolean;
|
|
7
|
+
isAddByPreDefine: boolean;
|
|
8
|
+
selectedAnswer: string;
|
|
9
|
+
answerTitle?: string;
|
|
10
|
+
answerName: string;
|
|
11
|
+
questionTitle: string;
|
|
12
|
+
regex?: any;
|
|
13
|
+
answerDescription?: string;
|
|
14
|
+
placeHolder?: any;
|
|
15
|
+
inputTypeId?: number;
|
|
16
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { DefaultQuestionAnswerDto } from "./default-question-answers.dto";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { DefaultQuestionAnswerDto } from "./default-question-answers.dto";
|
|
2
|
+
|
|
3
|
+
export class surveyAnswersSubjectDto {
|
|
4
|
+
currentpage: number;
|
|
5
|
+
defaultAnswers: DefaultQuestionAnswerDto[];
|
|
6
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { SurveyQuestionGroupDto } from "./survey-question-group.dto";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { SurveyQuestionGroupDto } from "./survey-question-group.dto";
|
|
2
|
+
|
|
3
|
+
export interface SurveyPageDto {
|
|
4
|
+
pageId: number;
|
|
5
|
+
pageTypeId: number;
|
|
6
|
+
pageTitle?: any;
|
|
7
|
+
pageDescription?: any;
|
|
8
|
+
isAllHidden: boolean;
|
|
9
|
+
surveyQuestionGroups: SurveyQuestionGroupDto[];
|
|
10
|
+
}
|
package/{shared/dtos/survey-question-group.dto.d.ts → src/shared/dtos/survey-question-group.dto.ts}
RENAMED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { SurveyQuestionDto } from "./survey-question.dto";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { SurveyQuestionDto } from "./survey-question.dto";
|
|
2
|
+
|
|
3
|
+
export interface SurveyQuestionGroupDto {
|
|
4
|
+
isMatrix:boolean;
|
|
5
|
+
questionGroupId: number;
|
|
6
|
+
questionGroupName: string;
|
|
7
|
+
questionGroupDescription: string ;
|
|
8
|
+
surveyQuestions: SurveyQuestionDto[];
|
|
9
|
+
}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { SurveyAnswerDto } from "./survey-answer.dto";
|
|
2
|
-
import { SurveySubQuestionDto } from "./survey-sub-question.dto";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import { SurveyAnswerDto } from "./survey-answer.dto";
|
|
2
|
+
import { SurveySubQuestionDto } from "./survey-sub-question.dto";
|
|
3
|
+
|
|
4
|
+
export interface SurveyQuestionDto{
|
|
5
|
+
questionId: number;
|
|
6
|
+
questionTypeId: number;
|
|
7
|
+
questionName: string;
|
|
8
|
+
questionTitle: string;
|
|
9
|
+
questionDescription:string;
|
|
10
|
+
isRequired: boolean;
|
|
11
|
+
isVisable: boolean;
|
|
12
|
+
isEditable: boolean;
|
|
13
|
+
isOTPOption: boolean;
|
|
14
|
+
isReadOnly: boolean;
|
|
15
|
+
isPreDefine: boolean;
|
|
16
|
+
isAdvanceTextArea: boolean;
|
|
17
|
+
surveyAnswers: SurveyAnswerDto[];
|
|
18
|
+
surveySubQuestions: SurveySubQuestionDto[];
|
|
19
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { RuleExpDto } from "./rule-exp.dto";
|
|
2
|
-
import { RuleResultQuestionDto } from "./rule-result-question.dto";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { RuleExpDto } from "./rule-exp.dto";
|
|
2
|
+
import { RuleResultQuestionDto } from "./rule-result-question.dto";
|
|
3
|
+
|
|
4
|
+
export interface SurveyRuleDto {
|
|
5
|
+
ruleId: number;
|
|
6
|
+
expression?: any;
|
|
7
|
+
isComplete: boolean;
|
|
8
|
+
ruleExps: RuleExpDto[];
|
|
9
|
+
ruleResultQuestions: RuleResultQuestionDto[];
|
|
10
|
+
logicActionId: number;
|
|
11
|
+
}
|
package/{shared/dtos/survey-sub-question.dto.d.ts → src/shared/dtos/survey-sub-question.dto.ts}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export interface SurveySubQuestionDto {
|
|
2
|
-
questionId: number;
|
|
3
|
-
questionTypeId: number;
|
|
4
|
-
questionTitle: string;
|
|
5
|
-
questionName: string;
|
|
6
|
-
isVisable: boolean;
|
|
7
|
-
isReadOnly: boolean;
|
|
8
|
-
questionDescription: string;
|
|
9
|
-
}
|
|
1
|
+
export interface SurveySubQuestionDto {
|
|
2
|
+
questionId: number;
|
|
3
|
+
questionTypeId: number;
|
|
4
|
+
questionTitle: string;
|
|
5
|
+
questionName: string;
|
|
6
|
+
isVisable: boolean;
|
|
7
|
+
isReadOnly: boolean;
|
|
8
|
+
questionDescription: string;
|
|
9
|
+
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { SurveyPageDto } from "./survey-page.dto";
|
|
2
|
-
import { SurveyRuleDto } from "./survey-rule.dto";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { SurveyPageDto } from "./survey-page.dto";
|
|
2
|
+
import { SurveyRuleDto } from "./survey-rule.dto";
|
|
3
|
+
|
|
4
|
+
export interface SurveyDto {
|
|
5
|
+
surveyId: number;
|
|
6
|
+
surveyTitle: string;
|
|
7
|
+
applicantKey: any;
|
|
8
|
+
applicantKeyTitle?: any;
|
|
9
|
+
surveyPages: SurveyPageDto[];
|
|
10
|
+
surveyRules: SurveyRuleDto[];
|
|
11
|
+
isSuccess: boolean;
|
|
12
|
+
errors: any[];
|
|
13
|
+
code?: any;
|
|
14
|
+
message?: any;
|
|
15
|
+
languageTypeId?: any;
|
|
16
|
+
returnUrl?: any;
|
|
17
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
Show = 1,
|
|
3
|
-
Hide = 2,
|
|
4
|
-
Enable = 3,
|
|
5
|
-
Disable = 4,
|
|
6
|
-
SetAnswer = 5
|
|
7
|
-
}
|
|
1
|
+
export enum LogicActionEnum {
|
|
2
|
+
Show = 1,
|
|
3
|
+
Hide = 2,
|
|
4
|
+
Enable = 3,
|
|
5
|
+
Disable = 4,
|
|
6
|
+
SetAnswer = 5
|
|
7
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export
|
|
2
|
-
RadioButton = 1,
|
|
3
|
-
CheckBox = 2,
|
|
4
|
-
DropDown = 3,
|
|
5
|
-
Boolean = 4,
|
|
6
|
-
TextInput = 5,
|
|
7
|
-
Matrix = 6
|
|
8
|
-
|
|
1
|
+
export enum QuestionTypeEnum {
|
|
2
|
+
RadioButton = 1,
|
|
3
|
+
CheckBox = 2,
|
|
4
|
+
DropDown = 3,
|
|
5
|
+
Boolean = 4,
|
|
6
|
+
TextInput = 5,
|
|
7
|
+
Matrix = 6,
|
|
8
|
+
DropDownMulti = 7
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { QuestionTypeEnum } from "../enums/question-type.enum";
|
|
2
|
+
|
|
3
|
+
export interface QuestionBooleanTemplateFormInterface{
|
|
4
|
+
id;
|
|
5
|
+
typeId:QuestionTypeEnum;
|
|
6
|
+
name;
|
|
7
|
+
title;
|
|
8
|
+
description;
|
|
9
|
+
answer;
|
|
10
|
+
answerArray:AnswerChildOfQuestionBooleanTemplateFormInterface[];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface AnswerChildOfQuestionBooleanTemplateFormInterface{
|
|
14
|
+
id;
|
|
15
|
+
title;
|
|
16
|
+
isSelected;
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { QuestionTypeEnum } from "../enums/question-type.enum";
|
|
2
|
+
|
|
3
|
+
export class QuestionCheckBoxTemplateFormInterface{
|
|
4
|
+
id;
|
|
5
|
+
typeId:QuestionTypeEnum;
|
|
6
|
+
name;
|
|
7
|
+
title;
|
|
8
|
+
description;
|
|
9
|
+
answer;
|
|
10
|
+
answerArray:AnswerChildOfQuestionCheckBoxTemplateFormInterface[];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface AnswerChildOfQuestionCheckBoxTemplateFormInterface{
|
|
14
|
+
id;
|
|
15
|
+
title;
|
|
16
|
+
isSelected;
|
|
17
|
+
}
|
|
18
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { QuestionTypeEnum } from "../enums/question-type.enum";
|
|
2
|
+
|
|
3
|
+
export class QuestionDropDownMultiTemplateFormInterface{
|
|
4
|
+
id;
|
|
5
|
+
typeId:QuestionTypeEnum;
|
|
6
|
+
name;
|
|
7
|
+
title;
|
|
8
|
+
description;
|
|
9
|
+
answer;
|
|
10
|
+
answerArray:AnswerChildOfQuestionDropDownMultiTemplateFormInterface[];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface AnswerChildOfQuestionDropDownMultiTemplateFormInterface{
|
|
14
|
+
id;
|
|
15
|
+
title;
|
|
16
|
+
isSelected;
|
|
17
|
+
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { QuestionTypeEnum } from "../enums/question-type.enum";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { QuestionTypeEnum } from "../enums/question-type.enum";
|
|
2
|
+
|
|
3
|
+
export interface QuestionMatrixTemplateFormInterface {
|
|
4
|
+
id;
|
|
5
|
+
typeId: QuestionTypeEnum;
|
|
6
|
+
subQuestionArray: SubQuestionChildOfQuestionMatrixTemplateFormInterface[];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface SubQuestionChildOfQuestionMatrixTemplateFormInterface {
|
|
10
|
+
subQuestionId;
|
|
11
|
+
questionTitle;
|
|
12
|
+
answer;
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { QuestionTypeEnum } from "../enums/question-type.enum";
|
|
2
|
+
|
|
3
|
+
export class QuestionRadioButtonTemplateFormInterface{
|
|
4
|
+
id;
|
|
5
|
+
typeId:QuestionTypeEnum;
|
|
6
|
+
name;
|
|
7
|
+
title;
|
|
8
|
+
description;
|
|
9
|
+
answer;
|
|
10
|
+
answerArray:AnswerChildOfQuestionRadioButtonTemplateFormInterface[]
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface AnswerChildOfQuestionRadioButtonTemplateFormInterface{
|
|
14
|
+
id;
|
|
15
|
+
title;
|
|
16
|
+
isSelected;
|
|
17
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { QuestionTypeEnum } from "../enums/question-type.enum";
|
|
2
|
+
|
|
3
|
+
export interface SurveryLibFormInterface {
|
|
4
|
+
currentPageIndex: number;
|
|
5
|
+
questionArray:QuestionChildOfSurveryLibFormInterface[];
|
|
6
|
+
ruleQuestionArray :RuleQuestionChildOfSurveryLibFormInterface[];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface QuestionChildOfSurveryLibFormInterface {
|
|
10
|
+
surveyPageIndex:number;
|
|
11
|
+
questionId;
|
|
12
|
+
questionType:QuestionTypeEnum;
|
|
13
|
+
isMatrixGroup:boolean;
|
|
14
|
+
answerId;
|
|
15
|
+
answerIdArr;
|
|
16
|
+
answerText;
|
|
17
|
+
isRequired:boolean;
|
|
18
|
+
isValid:boolean;
|
|
19
|
+
isDisabled :boolean;
|
|
20
|
+
isShow:boolean;
|
|
21
|
+
isDisabled_default :boolean;
|
|
22
|
+
isShow_default:boolean;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface RuleQuestionChildOfSurveryLibFormInterface {
|
|
26
|
+
questionId;
|
|
27
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/lib",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"declarationMap": true,
|
|
8
|
+
"inlineSources": true,
|
|
9
|
+
"types": []
|
|
10
|
+
},
|
|
11
|
+
"exclude": [
|
|
12
|
+
"**/*.spec.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/spec",
|
|
6
|
+
"types": [
|
|
7
|
+
"jasmine"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"include": [
|
|
11
|
+
"**/*.spec.ts",
|
|
12
|
+
"**/*.d.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
package/esm2022/lib/components/question-boolean-template/question-boolean-template.component.mjs
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
3
|
-
import { QuestionTypeEnum } from '../../../shared/enums/question-type.enum';
|
|
4
|
-
import { debounceTime, filter, map } from 'rxjs';
|
|
5
|
-
import { v4 as guidGenerator } from 'uuid';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ng-stack/forms";
|
|
8
|
-
import * as i2 from "../../services/survey-lib.service";
|
|
9
|
-
import * as i3 from "@angular/common";
|
|
10
|
-
export class QuestionBooleanTemplateComponent {
|
|
11
|
-
get fCtrls() {
|
|
12
|
-
return this.rForm.controls;
|
|
13
|
-
}
|
|
14
|
-
get questionTypeEnum() {
|
|
15
|
-
return QuestionTypeEnum;
|
|
16
|
-
}
|
|
17
|
-
set setQuestion(value) {
|
|
18
|
-
this.surveyQuestion = value;
|
|
19
|
-
this.rForm.patchValue({
|
|
20
|
-
id: value.questionId,
|
|
21
|
-
name: value.questionName,
|
|
22
|
-
title: value.questionTitle,
|
|
23
|
-
typeId: value.questionTypeId,
|
|
24
|
-
description: value.questionDescription
|
|
25
|
-
});
|
|
26
|
-
value.surveyAnswers.forEach(surveryAnswer => {
|
|
27
|
-
this.fCtrls.answerArray.push(this._formBuilder.group({
|
|
28
|
-
id: [surveryAnswer.answerId],
|
|
29
|
-
title: [surveryAnswer.answerTitle],
|
|
30
|
-
isSelected: [false]
|
|
31
|
-
}));
|
|
32
|
-
});
|
|
33
|
-
if (value.isRequired == true) {
|
|
34
|
-
this.fCtrls.answer.addValidators([Validators.required]);
|
|
35
|
-
this.fCtrls.answer.updateValueAndValidity();
|
|
36
|
-
}
|
|
37
|
-
this.isShow = value.isVisable;
|
|
38
|
-
this.isDisabled = value.isReadOnly;
|
|
39
|
-
}
|
|
40
|
-
constructor(_formBuilder, _surveyLibService) {
|
|
41
|
-
this._formBuilder = _formBuilder;
|
|
42
|
-
this._surveyLibService = _surveyLibService;
|
|
43
|
-
this.elemId = guidGenerator();
|
|
44
|
-
this.emitter = new EventEmitter();
|
|
45
|
-
this.isShow = true;
|
|
46
|
-
this.isDisabled = false;
|
|
47
|
-
this.rForm = this._formBuilder.group({
|
|
48
|
-
id: [null],
|
|
49
|
-
name: [null],
|
|
50
|
-
title: [null],
|
|
51
|
-
typeId: [null],
|
|
52
|
-
description: [null],
|
|
53
|
-
answer: [null],
|
|
54
|
-
answerArray: this._formBuilder.array([])
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
ngOnInit() {
|
|
58
|
-
this.fCtrls.answer.valueChanges.pipe().pipe(debounceTime(200)).subscribe(value => {
|
|
59
|
-
const formValue = this.rForm.value;
|
|
60
|
-
this.emitter.emit({
|
|
61
|
-
QuestionId: formValue.id,
|
|
62
|
-
IsValid: this.fCtrls.answer.valid,
|
|
63
|
-
Answer: value
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
this.fCtrls.answer.setValue(null);
|
|
67
|
-
this._surveyLibService.surveyAnswersObsrv
|
|
68
|
-
.pipe(map(x => x.defaultAnswers.filter(x => x.QuestionId == this.fCtrls.id.value)))
|
|
69
|
-
.pipe(filter(x => x.length > 0)).pipe(map(x => x.at(0)))
|
|
70
|
-
.subscribe(answer => {
|
|
71
|
-
this.fCtrls.answer.setValue(answer.AnswerId);
|
|
72
|
-
const groupIndex = this.fCtrls.answerArray.value.findIndex(x => x.id == answer.AnswerId);
|
|
73
|
-
this.fCtrls.answerArray.at(groupIndex).controls.isSelected.setValue(true);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
onChangeAnswer(item) {
|
|
77
|
-
this.fCtrls.answer.setValue(item.id);
|
|
78
|
-
}
|
|
79
|
-
convertToFormControl(element) {
|
|
80
|
-
return element;
|
|
81
|
-
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionBooleanTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionBooleanTemplateComponent, selector: "lib-question-boolean-template", inputs: { isShow: "isShow", isDisabled: "isDisabled", setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"isDisabled\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionBooleanTemplateComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{ selector: 'lib-question-boolean-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"isDisabled\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n" }]
|
|
88
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
89
|
-
type: Output
|
|
90
|
-
}], isShow: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], isDisabled: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], setQuestion: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlL3F1ZXN0aW9uLWJvb2xlYW4tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHNUUsT0FBTyxFQUFFLFlBQVksRUFBd0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2RSxPQUFPLEVBQUUsRUFBRSxJQUFJLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFVM0MsTUFBTSxPQUFPLGdDQUFnQztJQUszQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFPRCxJQUFhLFdBQVcsQ0FBQyxLQUF3QjtRQUMvQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUNwQixFQUFFLEVBQUUsS0FBSyxD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QkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25BbnN3ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvcXVlc3Rpb24tYW5zd2VyLm1vZGVsJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbnN3ZXJDaGlsZE9mUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlLCBRdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZUZvcm1JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3F1ZXN0aW9uLWJvb2xlYW4tdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0BuZy1zdGFjay9mb3Jtcyc7XG5pbXBvcnQgeyB2NCBhcyBndWlkR2VuZXJhdG9yIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBTdXJ2ZXlBbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2VyLmR0byc7XG5pbXBvcnQgeyBEZWZhdWx0UXVlc3Rpb25BbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9kZWZhdWx0LXF1ZXN0aW9uLWFuc3dlcnMuZHRvJztcbmltcG9ydCB7IFN1cnZleUxpYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZWxlbUlkID0gZ3VpZEdlbmVyYXRvcigpIGFzIHN0cmluZztcbiAgc3VydmV5UXVlc3Rpb246IFN1cnZleVF1ZXN0aW9uRHRvO1xuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlRm9ybUludGVyZmFjZT47XG5cbiAgZ2V0IGZDdHJscygpIHtcbiAgICByZXR1cm4gdGhpcy5yRm9ybS5jb250cm9scztcbiAgfVxuXG4gIGdldCBxdWVzdGlvblR5cGVFbnVtKCkge1xuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xuICB9XG5cbiAgQE91dHB1dCgpIGVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFF1ZXN0aW9uQW5zd2VyTW9kZWw+KCk7XG5cbiAgQElucHV0KCkgaXNTaG93OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBzZXRRdWVzdGlvbih2YWx1ZTogU3VydmV5UXVlc3Rpb25EdG8pIHtcbiAgICB0aGlzLnN1cnZleVF1ZXN0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIGlkOiB2YWx1ZS5xdWVzdGlvbklkLFxuICAgICAgbmFtZTogdmFsdWUucXVlc3Rpb25OYW1lLFxuICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uVGl0bGUsXG4gICAgICB0eXBlSWQ6IHZhbHVlLnF1ZXN0aW9uVHlwZUlkLFxuICAgICAgZGVzY3JpcHRpb246IHZhbHVlLnF1ZXN0aW9uRGVzY3JpcHRpb25cbiAgICB9KTtcblxuICAgIHZhbHVlLnN1cnZleUFuc3dlcnMuZm9yRWFjaChzdXJ2ZXJ5QW5zd2VyID0+IHtcbiAgICAgIHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LnB1c2godGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8QW5zd2VyQ2hpbGRPZlF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xuICAgICAgICBpZDogW3N1cnZlcnlBbnN3ZXIuYW5zd2VySWRdLFxuICAgICAgICB0aXRsZTogW3N1cnZlcnlBbnN3ZXIuYW5zd2VyVGl0bGVdLFxuICAgICAgICBpc1NlbGVjdGVkOiBbZmFsc2VdXG4gICAgICB9KSlcbiAgICB9KVxuXG4gICAgaWYgKHZhbHVlLmlzUmVxdWlyZWQgPT0gdHJ1ZSkge1xuICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc1Nob3cgPSB2YWx1ZS5pc1Zpc2FibGU7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWUuaXNSZWFkT25seTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciAgLCBwcml2YXRlIF9zdXJ2ZXlMaWJTZXJ2aWNlOlN1cnZleUxpYlNlcnZpY2UpIHtcbiAgICB0aGlzLnJGb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XG4gICAgICBpZDogW251bGxdLFxuICAgICAgbmFtZTogW251bGxdLFxuICAgICAgdGl0bGU6IFtudWxsXSxcbiAgICAgIHR5cGVJZDogW251bGxdLFxuICAgICAgZGVzY3JpcHRpb246IFtudWxsXSxcbiAgICAgIGFuc3dlcjogW251bGxdLFxuICAgICAgYW5zd2VyQXJyYXk6IHRoaXMuX2Zvcm1CdWlsZGVyLmFycmF5PEFuc3dlckNoaWxkT2ZRdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KFtdKVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnZhbHVlQ2hhbmdlcy5waXBlKCkucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XG4gICAgICB0aGlzLmVtaXR0ZXIuZW1pdCh7XG4gICAgICAgIFF1ZXN0aW9uSWQ6IGZvcm1WYWx1ZS5pZCxcbiAgICAgICAgSXNWYWxpZDogdGhpcy5mQ3RybHMuYW5zd2VyLnZhbGlkLFxuICAgICAgICBBbnN3ZXI6IHZhbHVlXG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKG51bGwpO1xuXG4gICAgdGhpcy5fc3VydmV5TGliU2VydmljZS5zdXJ2ZXlBbnN3ZXJzT2JzcnZcbiAgICAucGlwZShtYXAoeD0+IHguZGVmYXVsdEFuc3dlcnMuZmlsdGVyKHg9PnguUXVlc3Rpb25JZCA9PSB0aGlzLmZDdHJscy5pZC52YWx1ZSkpKVxuICAgIC5waXBlKGZpbHRlcih4PT54Lmxlbmd0aCAgPiAwKSkucGlwZShtYXAoeD0+IHguYXQoMCkpKVxuICAgIC5zdWJzY3JpYmUoYW5zd2VyPT57XG4gICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUoYW5zd2VyLkFuc3dlcklkKTtcblxuICAgICAgY29uc3QgZ3JvdXBJbmRleCA9IHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LnZhbHVlLmZpbmRJbmRleCh4ID0+IHguaWQgPT0gYW5zd2VyLkFuc3dlcklkKTtcbiAgICAgIHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LmF0KGdyb3VwSW5kZXgpLmNvbnRyb2xzLmlzU2VsZWN0ZWQuc2V0VmFsdWUodHJ1ZSk7XG4gICAgfSlcbiAgfVxuXG4gIG9uQ2hhbmdlQW5zd2VyKGl0ZW06IEFuc3dlckNoaWxkT2ZRdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZUZvcm1JbnRlcmZhY2UpIHtcbiAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUoaXRlbS5pZCk7XG4gIH1cblxuICBjb252ZXJ0VG9Gb3JtQ29udHJvbChlbGVtZW50OiBhbnkpIHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2F0dHIuaWRdPVwiJ3F1ZXN0aW9uXycrZkN0cmxzLmlkLnZhbHVlXCIgIFtuZ0NsYXNzXT1cInsnaW52YWxpZC1xdWVzdGlvbic6IGZDdHJscy5hbnN3ZXIuaW52YWxpZCAgLCAnZC1ub25lJzppc1Nob3cgIT0gdHJ1ZX1cIj5cbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cbiAgICAgICAge3tmQ3RybHMudGl0bGUudmFsdWV9fVxuICAgIDwvaDM+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvLWJ1dHRvbi1xdWFzdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLXJhZGlvIGZvcm0tY2hlY2staW5saW5lXCIgXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZDdHJscy5hbnN3ZXJBcnJheS5jb250cm9scyA7bGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIChjaGFuZ2UpPVwib25DaGFuZ2VBbnN3ZXIoaXRlbS52YWx1ZSlcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7ZWxlbUlkfX1fX3JhZGlvLWJ0bi1vcHRpb25cIiBpZD1cInt7ZWxlbUlkfX1fX3JhZGlvLWJ0bl97e2l9fVwiIFtjaGVja2VkXT1cIml0ZW0udmFsdWUuaXNTZWxlY3RlZCA9PSB0cnVlPyB0cnVlIDogbnVsbFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInt7ZWxlbUlkfX1fX3JhZGlvLWJ0bl97e2l9fVwiPnt7aXRlbS52YWx1ZS50aXRsZX19PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|