@deeksha2309/sunbird-collection-editor 8.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2022/lib/collection-editor-cursor.service.mjs +3 -0
- package/esm2022/lib/collection-editor-library.component.mjs +16 -0
- package/esm2022/lib/collection-editor-library.module.mjs +137 -0
- package/esm2022/lib/components/answer/answer.component.mjs +43 -0
- package/esm2022/lib/components/asset-browser/asset-browser.component.mjs +325 -0
- package/esm2022/lib/components/asset-browser/asset-browser.data.mjs +53 -0
- package/esm2022/lib/components/assign-page-number/assign-page-number.component.mjs +191 -0
- package/esm2022/lib/components/ckeditor-tool/ckeditor-tool.component.mjs +895 -0
- package/esm2022/lib/components/collection-icon/collection-icon.component.mjs +43 -0
- package/esm2022/lib/components/contentplayer-page/contentplayer-page.component.mjs +351 -0
- package/esm2022/lib/components/csv-upload/csv-upload.component.mjs +178 -0
- package/esm2022/lib/components/dialcode/dialcode.component.mjs +182 -0
- package/esm2022/lib/components/editor/editor.component.mjs +1125 -0
- package/esm2022/lib/components/fancy-tree/fancy-tree.component.mjs +529 -0
- package/esm2022/lib/components/header/header.component.mjs +123 -0
- package/esm2022/lib/components/library/library.component.mjs +242 -0
- package/esm2022/lib/components/library-filter/library-filter.component.mjs +149 -0
- package/esm2022/lib/components/library-list/library-list.component.mjs +92 -0
- package/esm2022/lib/components/library-player/library-player.component.mjs +62 -0
- package/esm2022/lib/components/manage-collaborator/manage-collaborator.component.mjs +256 -0
- package/esm2022/lib/components/meta-form/meta-form.component.mjs +377 -0
- package/esm2022/lib/components/options/options.component.mjs +144 -0
- package/esm2022/lib/components/plain-tree/plain-tree.component.mjs +125 -0
- package/esm2022/lib/components/progress-status/progress-status.component.mjs +46 -0
- package/esm2022/lib/components/publish-checklist/publish-checklist.component.mjs +67 -0
- package/esm2022/lib/components/quality-params-modal/quality-params-modal.component.mjs +52 -0
- package/esm2022/lib/components/question/question.component.mjs +1360 -0
- package/esm2022/lib/components/quml-player/quml-player.component.mjs +73 -0
- package/esm2022/lib/components/qumlplayer-page/qumlplayer-page.component.mjs +84 -0
- package/esm2022/lib/components/resource-reorder/resource-reorder.component.mjs +143 -0
- package/esm2022/lib/components/skeleton-loader/skeleton-loader.component.mjs +26 -0
- package/esm2022/lib/components/template/template.component.mjs +42 -0
- package/esm2022/lib/components/term-and-condition/term-and-condition.component.mjs +68 -0
- package/esm2022/lib/directives/telemetry-interact/telemetry-interact.directive.mjs +33 -0
- package/esm2022/lib/interfaces/McqForm.mjs +29 -0
- package/esm2022/lib/interfaces/editor.mjs +2 -0
- package/esm2022/lib/interfaces/framework.mjs +2 -0
- package/esm2022/lib/interfaces/httpOptions.mjs +2 -0
- package/esm2022/lib/interfaces/requestParam.mjs +2 -0
- package/esm2022/lib/interfaces/serverResponse.mjs +2 -0
- package/esm2022/lib/pipes/sanitize-html.pipe.mjs +20 -0
- package/esm2022/lib/services/config/category.config.json +8 -0
- package/esm2022/lib/services/config/config.service.mjs +27 -0
- package/esm2022/lib/services/config/editor.config.json +31 -0
- package/esm2022/lib/services/config/label.config.json +314 -0
- package/esm2022/lib/services/config/player.config.json +96 -0
- package/esm2022/lib/services/config/url.config.json +69 -0
- package/esm2022/lib/services/data/data.service.mjs +192 -0
- package/esm2022/lib/services/dialcode/dialcode.service.mjs +309 -0
- package/esm2022/lib/services/editor/editor.service.mjs +682 -0
- package/esm2022/lib/services/framework/framework.service.mjs +106 -0
- package/esm2022/lib/services/helper/helper.service.mjs +160 -0
- package/esm2022/lib/services/player/player.service.mjs +99 -0
- package/esm2022/lib/services/public-data/public-data.service.mjs +21 -0
- package/esm2022/lib/services/question/question.service.mjs +167 -0
- package/esm2022/lib/services/telemetry/telemetry.service.mjs +120 -0
- package/esm2022/lib/services/toaster/toaster.service.mjs +105 -0
- package/esm2022/lib/services/tree/tree.service.mjs +284 -0
- package/esm2022/project-sunbird-sunbird-collection-editor.mjs +5 -0
- package/esm2022/public-api.mjs +4 -0
- package/fesm2022/project-sunbird-sunbird-collection-editor.mjs +10138 -0
- package/fesm2022/project-sunbird-sunbird-collection-editor.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/assets/.gitkeep +0 -0
- package/lib/assets/images/MCQ.png +0 -0
- package/lib/assets/images/Spin.gif +0 -0
- package/lib/assets/images/bulkuploadfile.png +0 -0
- package/lib/assets/images/cancel-sign copy.png +0 -0
- package/lib/assets/images/cancel-sign.png +0 -0
- package/lib/assets/images/emptyResult.svg +1 -0
- package/lib/assets/images/icons-rtl.gif +0 -0
- package/lib/assets/images/icons.gif +0 -0
- package/lib/assets/images/imageicon.svg +16 -0
- package/lib/assets/images/imageicon_blue.svg +16 -0
- package/lib/assets/images/layoutoneicon.svg +16 -0
- package/lib/assets/images/layoutoneicon_blue.svg +16 -0
- package/lib/assets/images/layoutthreeicon.svg +18 -0
- package/lib/assets/images/layoutthreeicon_blue.svg +18 -0
- package/lib/assets/images/layouttwoicon.svg +18 -0
- package/lib/assets/images/layouttwoicon_blue.svg +18 -0
- package/lib/assets/images/leftalignicon.svg +17 -0
- package/lib/assets/images/leftalignicon_blue.svg +17 -0
- package/lib/assets/images/loader.gif +0 -0
- package/lib/assets/images/loader.svg +1 -0
- package/lib/assets/images/loading.gif +0 -0
- package/lib/assets/images/middlealignicon.svg +17 -0
- package/lib/assets/images/middlealignicon_blue.svg +17 -0
- package/lib/assets/images/question_collection.svg +18 -0
- package/lib/assets/images/rightalignicon.svg +17 -0
- package/lib/assets/images/rightalignicon_blue.svg +17 -0
- package/lib/assets/images/vline-rtl.gif +0 -0
- package/lib/assets/images/vline.gif +0 -0
- package/lib/assets/images/writing.png +0 -0
- package/lib/collection-editor-cursor.service.d.ts +5 -0
- package/lib/collection-editor-cursor.service.d.ts.map +1 -0
- package/lib/collection-editor-library.component.d.ts +9 -0
- package/lib/collection-editor-library.component.d.ts.map +1 -0
- package/lib/collection-editor-library.module.d.ts +50 -0
- package/lib/collection-editor-library.module.d.ts.map +1 -0
- package/lib/components/answer/answer.component.d.ts +24 -0
- package/lib/components/answer/answer.component.d.ts.map +1 -0
- package/lib/components/asset-browser/asset-browser.component.d.ts +81 -0
- package/lib/components/asset-browser/asset-browser.component.d.ts.map +1 -0
- package/lib/components/asset-browser/asset-browser.data.d.ts +52 -0
- package/lib/components/asset-browser/asset-browser.data.d.ts.map +1 -0
- package/lib/components/assign-page-number/assign-page-number.component.d.ts +38 -0
- package/lib/components/assign-page-number/assign-page-number.component.d.ts.map +1 -0
- package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts +161 -0
- package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts.map +1 -0
- package/lib/components/collection-icon/collection-icon.component.d.ts +18 -0
- package/lib/components/collection-icon/collection-icon.component.d.ts.map +1 -0
- package/lib/components/contentplayer-page/contentplayer-page.component.d.ts +54 -0
- package/lib/components/contentplayer-page/contentplayer-page.component.d.ts.map +1 -0
- package/lib/components/csv-upload/csv-upload.component.d.ts +42 -0
- package/lib/components/csv-upload/csv-upload.component.d.ts.map +1 -0
- package/lib/components/dialcode/dialcode.component.d.ts +48 -0
- package/lib/components/dialcode/dialcode.component.d.ts.map +1 -0
- package/lib/components/editor/editor.component.d.ts +146 -0
- package/lib/components/editor/editor.component.d.ts.map +1 -0
- package/lib/components/fancy-tree/fancy-tree.component.d.ts +77 -0
- package/lib/components/fancy-tree/fancy-tree.component.d.ts.map +1 -0
- package/lib/components/header/header.component.d.ts +46 -0
- package/lib/components/header/header.component.d.ts.map +1 -0
- package/lib/components/library/library.component.d.ts +69 -0
- package/lib/components/library/library.component.d.ts.map +1 -0
- package/lib/components/library-filter/library-filter.component.d.ts +47 -0
- package/lib/components/library-filter/library-filter.component.d.ts.map +1 -0
- package/lib/components/library-list/library-list.component.d.ts +32 -0
- package/lib/components/library-list/library-list.component.d.ts.map +1 -0
- package/lib/components/library-player/library-player.component.d.ts +24 -0
- package/lib/components/library-player/library-player.component.d.ts.map +1 -0
- package/lib/components/manage-collaborator/manage-collaborator.component.d.ts +75 -0
- package/lib/components/manage-collaborator/manage-collaborator.component.d.ts.map +1 -0
- package/lib/components/meta-form/meta-form.component.d.ts +51 -0
- package/lib/components/meta-form/meta-form.component.d.ts.map +1 -0
- package/lib/components/options/options.component.d.ts +53 -0
- package/lib/components/options/options.component.d.ts.map +1 -0
- package/lib/components/plain-tree/plain-tree.component.d.ts +20 -0
- package/lib/components/plain-tree/plain-tree.component.d.ts.map +1 -0
- package/lib/components/progress-status/progress-status.component.d.ts +25 -0
- package/lib/components/progress-status/progress-status.component.d.ts.map +1 -0
- package/lib/components/publish-checklist/publish-checklist.component.d.ts +23 -0
- package/lib/components/publish-checklist/publish-checklist.component.d.ts.map +1 -0
- package/lib/components/quality-params-modal/quality-params-modal.component.d.ts +24 -0
- package/lib/components/quality-params-modal/quality-params-modal.component.d.ts.map +1 -0
- package/lib/components/question/question.component.d.ts +215 -0
- package/lib/components/question/question.component.d.ts.map +1 -0
- package/lib/components/quml-player/quml-player.component.d.ts +26 -0
- package/lib/components/quml-player/quml-player.component.d.ts.map +1 -0
- package/lib/components/qumlplayer-page/qumlplayer-page.component.d.ts +31 -0
- package/lib/components/qumlplayer-page/qumlplayer-page.component.d.ts.map +1 -0
- package/lib/components/resource-reorder/resource-reorder.component.d.ts +45 -0
- package/lib/components/resource-reorder/resource-reorder.component.d.ts.map +1 -0
- package/lib/components/skeleton-loader/skeleton-loader.component.d.ts +13 -0
- package/lib/components/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
- package/lib/components/template/template.component.d.ts +21 -0
- package/lib/components/template/template.component.d.ts.map +1 -0
- package/lib/components/term-and-condition/term-and-condition.component.d.ts +26 -0
- package/lib/components/term-and-condition/term-and-condition.component.d.ts.map +1 -0
- package/lib/directives/telemetry-interact/telemetry-interact.directive.d.ts +27 -0
- package/lib/directives/telemetry-interact/telemetry-interact.directive.d.ts.map +1 -0
- package/lib/interfaces/McqForm.d.ts +32 -0
- package/lib/interfaces/McqForm.d.ts.map +1 -0
- package/lib/interfaces/editor.d.ts +78 -0
- package/lib/interfaces/editor.d.ts.map +1 -0
- package/lib/interfaces/framework.d.ts +46 -0
- package/lib/interfaces/framework.d.ts.map +1 -0
- package/lib/interfaces/httpOptions.d.ts +35 -0
- package/lib/interfaces/httpOptions.d.ts.map +1 -0
- package/lib/interfaces/requestParam.d.ts +24 -0
- package/lib/interfaces/requestParam.d.ts.map +1 -0
- package/lib/interfaces/serverResponse.d.ts +38 -0
- package/lib/interfaces/serverResponse.d.ts.map +1 -0
- package/lib/pipes/sanitize-html.pipe.d.ts +11 -0
- package/lib/pipes/sanitize-html.pipe.d.ts.map +1 -0
- package/lib/services/config/config.service.d.ts +13 -0
- package/lib/services/config/config.service.d.ts.map +1 -0
- package/lib/services/data/data.service.d.ts +85 -0
- package/lib/services/data/data.service.d.ts.map +1 -0
- package/lib/services/dialcode/dialcode.service.d.ts +36 -0
- package/lib/services/dialcode/dialcode.service.d.ts.map +1 -0
- package/lib/services/editor/editor.service.d.ts +150 -0
- package/lib/services/editor/editor.service.d.ts.map +1 -0
- package/lib/services/framework/framework.service.d.ts +35 -0
- package/lib/services/framework/framework.service.d.ts.map +1 -0
- package/lib/services/helper/helper.service.d.ts +41 -0
- package/lib/services/helper/helper.service.d.ts.map +1 -0
- package/lib/services/player/player.service.d.ts +33 -0
- package/lib/services/player/player.service.d.ts.map +1 -0
- package/lib/services/public-data/public-data.service.d.ts +15 -0
- package/lib/services/public-data/public-data.service.d.ts.map +1 -0
- package/lib/services/question/question.service.d.ts +30 -0
- package/lib/services/question/question.service.d.ts.map +1 -0
- package/lib/services/telemetry/telemetry.service.d.ts +45 -0
- package/lib/services/telemetry/telemetry.service.d.ts.map +1 -0
- package/lib/services/toaster/toaster.service.d.ts +50 -0
- package/lib/services/toaster/toaster.service.d.ts.map +1 -0
- package/lib/services/tree/tree.service.d.ts +51 -0
- package/lib/services/tree/tree.service.d.ts.map +1 -0
- package/package.json +32 -0
- package/project-sunbird-sunbird-collection-editor.d.ts.map +1 -0
- package/public-api.d.ts +4 -0
- package/public-api.d.ts.map +1 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash-es';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/editor/editor.service";
|
|
5
|
+
import * as i2 from "../../services/tree/tree.service";
|
|
6
|
+
import * as i3 from "../../services/question/question.service";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "../header/header.component";
|
|
9
|
+
import * as i6 from "../plain-tree/plain-tree.component";
|
|
10
|
+
export class AssignPageNumberComponent {
|
|
11
|
+
constructor(editorService, treeService, questionService) {
|
|
12
|
+
this.editorService = editorService;
|
|
13
|
+
this.treeService = treeService;
|
|
14
|
+
this.questionService = questionService;
|
|
15
|
+
this.toolbarConfig = {};
|
|
16
|
+
this.pageId = 'pagination';
|
|
17
|
+
this.questions = [];
|
|
18
|
+
this.assignPageEmitter = new EventEmitter();
|
|
19
|
+
this.createArray = [];
|
|
20
|
+
this.pageNumArray = [];
|
|
21
|
+
this.numArray = [];
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.toolbarConfig = this.editorService.getToolbarConfig();
|
|
25
|
+
this.toolbarConfig.title = 'Observation Form';
|
|
26
|
+
this.treeData = this.editorService.treeData;
|
|
27
|
+
this.createSequence(this.treeData);
|
|
28
|
+
this.treeEventListener({
|
|
29
|
+
identifier: _.get(this.treeData[0], 'children[0].id'),
|
|
30
|
+
criteriaName: _.get(this.treeData[0], 'children[0].title')
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
toolbarEventListener(event) {
|
|
34
|
+
switch (event.button) {
|
|
35
|
+
case 'backContent':
|
|
36
|
+
this.redirectToQuestionSet();
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
redirectToQuestionSet() {
|
|
41
|
+
this.assignPageEmitter.emit({ status: false });
|
|
42
|
+
}
|
|
43
|
+
treeEventListener(event) {
|
|
44
|
+
this.createArray = [];
|
|
45
|
+
this.criteriaId = event?.identifier;
|
|
46
|
+
const data = this.treeService.getFirstChild();
|
|
47
|
+
const hierarchy = this.editorService.getHierarchyObj(data, '', event?.identifier);
|
|
48
|
+
this.questionService.getQuestionList(_.get(hierarchy[event?.identifier], 'children'), 'editorState')
|
|
49
|
+
.subscribe((response) => {
|
|
50
|
+
this.questions = [];
|
|
51
|
+
const questionsArray = _.get(response, 'result.questions');
|
|
52
|
+
questionsArray.forEach(element => {
|
|
53
|
+
this.questions.push({
|
|
54
|
+
question: element?.editorState?.question,
|
|
55
|
+
identifier: element?.identifier,
|
|
56
|
+
page_no: null,
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
this.setPageNumber(event);
|
|
60
|
+
}, (error) => {
|
|
61
|
+
console.log(error);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
setPageNumber(event) {
|
|
65
|
+
this.pageNumArray = this.findSequenceCriteria().pages;
|
|
66
|
+
this.pageNumArray.forEach((entry, index) => {
|
|
67
|
+
if (!_.isEmpty(entry)) {
|
|
68
|
+
entry.forEach((identifier) => {
|
|
69
|
+
const getQuestion = this.questions.find((el) => el.identifier === identifier);
|
|
70
|
+
getQuestion.page_no = index + 1;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
updateRenderingSequence() {
|
|
76
|
+
let newArray;
|
|
77
|
+
if (this.createArray.length === this.pageNumArray.length) {
|
|
78
|
+
this.createArray = this.pageNumArray;
|
|
79
|
+
}
|
|
80
|
+
else if (this.pageNumArray.length > this.createArray.length) {
|
|
81
|
+
const result = this.pageNumArray.slice(0);
|
|
82
|
+
newArray = result.splice.apply(result, [0, this.createArray.length].concat(this.createArray));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
newArray = [...this.pageNumArray, ...this.createArray.slice(this.pageNumArray.length)];
|
|
86
|
+
}
|
|
87
|
+
this.createArray = newArray ? newArray : this.pageNumArray;
|
|
88
|
+
}
|
|
89
|
+
onValueChange(event, question, index) {
|
|
90
|
+
if (+event === 0) {
|
|
91
|
+
this.createArrayBySubjects(index, question);
|
|
92
|
+
this.setNewArrayToCreateArray();
|
|
93
|
+
this.pageNumArray = this.findSequenceCriteria().pages;
|
|
94
|
+
this.updateRenderingSequence();
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
question.page_no = +event;
|
|
98
|
+
this.addArrayToPage();
|
|
99
|
+
this.pageNumArray = this.findSequenceCriteria().pages;
|
|
100
|
+
if (this.pageNumArray.length !== 0) {
|
|
101
|
+
this.setNewArrayToCreateArray();
|
|
102
|
+
this.updateRenderingSequence();
|
|
103
|
+
this.pageNumArray = [];
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.setNewArrayToCreateArray();
|
|
107
|
+
}
|
|
108
|
+
_.forEach(this.rendering_sequence?.sequence, (data) => {
|
|
109
|
+
if (data.value === this.criteriaId) {
|
|
110
|
+
this.createArray.filter((arr, index1) => arr.some((e, index2) => {
|
|
111
|
+
if (e === question.identifier) {
|
|
112
|
+
this.createArray[index1].splice(index2, 1);
|
|
113
|
+
}
|
|
114
|
+
}));
|
|
115
|
+
this.createArray[Number(event) - 1].push(question.identifier);
|
|
116
|
+
data.pages = this.createArray;
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
setNewArrayToCreateArray() {
|
|
121
|
+
for (let i = 0; i < Math.max(...this.numArray); i++) {
|
|
122
|
+
if (!this.createArray[i]) {
|
|
123
|
+
this.createArray[i] = new Array();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
createArrayBySubjects(index, question) {
|
|
128
|
+
const subjectObject = this.findSequenceCriteria();
|
|
129
|
+
if (subjectObject) {
|
|
130
|
+
const questionsIdArray = subjectObject.pages[question.page_no - 1];
|
|
131
|
+
const questionIndex = questionsIdArray.indexOf(question.identifier);
|
|
132
|
+
questionsIdArray.splice(questionIndex, 1);
|
|
133
|
+
}
|
|
134
|
+
this.questions[index].page_no = null;
|
|
135
|
+
this.addArrayToPage();
|
|
136
|
+
this.createArray = [];
|
|
137
|
+
}
|
|
138
|
+
addArrayToPage() {
|
|
139
|
+
this.numArray = [];
|
|
140
|
+
// tslint:disable-nevxt-line:no-shadowed-variable
|
|
141
|
+
_.forEach(this.questions, (data) => {
|
|
142
|
+
this.numArray.push(data.page_no);
|
|
143
|
+
});
|
|
144
|
+
this.createArray = [];
|
|
145
|
+
}
|
|
146
|
+
clearInput(event, question, index) {
|
|
147
|
+
this.createArrayBySubjects(index, question);
|
|
148
|
+
this.setNewArrayToCreateArray();
|
|
149
|
+
this.pageNumArray = this.findSequenceCriteria().pages;
|
|
150
|
+
this.updateRenderingSequence();
|
|
151
|
+
}
|
|
152
|
+
findSequenceCriteria() {
|
|
153
|
+
return _.find(this.rendering_sequence?.sequence, (data) => {
|
|
154
|
+
return data.value === this.criteriaId;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
createSequence(data) {
|
|
158
|
+
this.recordedBy = _.get(this.treeService.getFirstChild(), 'data.metadata.recordedBy');
|
|
159
|
+
// tslint:disable-next-line:variable-name
|
|
160
|
+
const dataArray = [];
|
|
161
|
+
// tslint:disable-next-line:variable-name
|
|
162
|
+
this.rendering_sequence = {
|
|
163
|
+
name: this.recordedBy === 'Self' ? 'Criteria' : 'Ecm',
|
|
164
|
+
sequence: []
|
|
165
|
+
};
|
|
166
|
+
_.forEach(data, (child) => {
|
|
167
|
+
if (child.children) {
|
|
168
|
+
_.forEach(child.children, (seq) => {
|
|
169
|
+
dataArray.push(seq);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
_.forEach(dataArray, (seq, i) => {
|
|
174
|
+
this.rendering_sequence.sequence.push({
|
|
175
|
+
value: seq?.id,
|
|
176
|
+
name: seq?.title,
|
|
177
|
+
pages: [],
|
|
178
|
+
index: i
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssignPageNumberComponent, deps: [{ token: i1.EditorService }, { token: i2.TreeService }, { token: i3.QuestionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AssignPageNumberComponent, selector: "lib-assign-page-number", outputs: { assignPageEmitter: "assignPageEmitter" }, ngImport: i0, template: "<div class=\"sb-editor-container mb-0\">\n <lib-header [labelConfigData]=\"toolbarConfig\" [pageId]=\"pageId\" (toolbarEmitter)=\"toolbarEventListener($event)\">\n </lib-header>\n <div class=\"add-to-library mb-0\">\n <div class=\"h-100vh sb-bg-white\">\n <div class=\"ui\">\n <div class=\"ui twelve column grid m-0\">\n <div class=\"three wide column p-0 overflow-y mb-40 h-100vh\">\n <lib-plain-tree class=\"sb-collectionTree-fancyTree sb-collectionTree-fancyTreelist sb-questionset-scroll\"\n [treeData]=\"treeData\" (treeEmitter)=\"treeEventListener($event)\">\n </lib-plain-tree>\n </div>\n <!-- Right Player Sections -->\n <div class=\"eight wide column bg-white pl-40 mb-10 w-73\">\n <table aria-describedby=\"pagination\">\n <thead>\n <tr>\n <th>Questions</th>\n <th class=\"right\">Page no</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let question of questions; let i=index\">\n <td innerHtml=\"{{question?.question}}\"></td>\n <td><i [ngStyle]=\"{'visibility:hidden':question?.page_no > 0 && question?.page_no}\" [ngClass]=\"{'close-button-dynamic':question?.page_no > 0 }\" class=\"close icon close-button\" (click)=\"clearInput($event.target.value, question, i)\"></i>\n <input type=\"number\" name=\"pageNo\" pattern=\"^[1-9][0-9]*$\" oninput=\"if(!this.value.match('^[1-9][0-9]*$'))this.value='';\"\n (input)=\"onValueChange($event.target.value,question, i)\" value=\"{{question?.page_no}}\" /></td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: ["table{font-family:arial,sans-serif;border-collapse:collapse;width:97%;border:1px solid #cccccc;margin:15px 25px 15px 15px}table thead tr{background-color:#ededed}table thead tr th{margin-right:86px}td,th{text-align:left;padding:15px}tr:nth-child(2n){background-color:#f3f7fa}tr{border:2px solid #cccccc}tr td input{float:right;width:14%;border-radius:6px;border-width:1px;height:42px;text-align:center;margin-right:10px}tr .right{float:right}h2{margin-left:15px}.close-button{opacity:0;float:right;margin-top:5px;margin-right:15px;color:#8b8080;font-size:20px}.close-button-dynamic{opacity:1;color:#8b8080;float:right;margin-top:5px;margin-right:15px;font-size:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.HeaderComponent, selector: "lib-header", inputs: ["pageId", "labelConfigData", "buttonLoaders", "showComment", "publishchecklist", "requestChange"], outputs: ["toolbarEmitter", "qualityParamEmitter"] }, { kind: "component", type: i6.PlainTreeComponent, selector: "lib-plain-tree", inputs: ["treeData"], outputs: ["treeEmitter"] }] }); }
|
|
184
|
+
}
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssignPageNumberComponent, decorators: [{
|
|
186
|
+
type: Component,
|
|
187
|
+
args: [{ selector: 'lib-assign-page-number', template: "<div class=\"sb-editor-container mb-0\">\n <lib-header [labelConfigData]=\"toolbarConfig\" [pageId]=\"pageId\" (toolbarEmitter)=\"toolbarEventListener($event)\">\n </lib-header>\n <div class=\"add-to-library mb-0\">\n <div class=\"h-100vh sb-bg-white\">\n <div class=\"ui\">\n <div class=\"ui twelve column grid m-0\">\n <div class=\"three wide column p-0 overflow-y mb-40 h-100vh\">\n <lib-plain-tree class=\"sb-collectionTree-fancyTree sb-collectionTree-fancyTreelist sb-questionset-scroll\"\n [treeData]=\"treeData\" (treeEmitter)=\"treeEventListener($event)\">\n </lib-plain-tree>\n </div>\n <!-- Right Player Sections -->\n <div class=\"eight wide column bg-white pl-40 mb-10 w-73\">\n <table aria-describedby=\"pagination\">\n <thead>\n <tr>\n <th>Questions</th>\n <th class=\"right\">Page no</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let question of questions; let i=index\">\n <td innerHtml=\"{{question?.question}}\"></td>\n <td><i [ngStyle]=\"{'visibility:hidden':question?.page_no > 0 && question?.page_no}\" [ngClass]=\"{'close-button-dynamic':question?.page_no > 0 }\" class=\"close icon close-button\" (click)=\"clearInput($event.target.value, question, i)\"></i>\n <input type=\"number\" name=\"pageNo\" pattern=\"^[1-9][0-9]*$\" oninput=\"if(!this.value.match('^[1-9][0-9]*$'))this.value='';\"\n (input)=\"onValueChange($event.target.value,question, i)\" value=\"{{question?.page_no}}\" /></td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: ["table{font-family:arial,sans-serif;border-collapse:collapse;width:97%;border:1px solid #cccccc;margin:15px 25px 15px 15px}table thead tr{background-color:#ededed}table thead tr th{margin-right:86px}td,th{text-align:left;padding:15px}tr:nth-child(2n){background-color:#f3f7fa}tr{border:2px solid #cccccc}tr td input{float:right;width:14%;border-radius:6px;border-width:1px;height:42px;text-align:center;margin-right:10px}tr .right{float:right}h2{margin-left:15px}.close-button{opacity:0;float:right;margin-top:5px;margin-right:15px;color:#8b8080;font-size:20px}.close-button-dynamic{opacity:1;color:#8b8080;float:right;margin-top:5px;margin-right:15px;font-size:20px}\n"] }]
|
|
188
|
+
}], ctorParameters: function () { return [{ type: i1.EditorService }, { type: i2.TreeService }, { type: i3.QuestionService }]; }, propDecorators: { assignPageEmitter: [{
|
|
189
|
+
type: Output
|
|
190
|
+
}] } });
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXBhZ2UtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbGxlY3Rpb24tZWRpdG9yLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2Fzc2lnbi1wYWdlLW51bWJlci9hc3NpZ24tcGFnZS1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvYXNzaWduLXBhZ2UtbnVtYmVyL2Fzc2lnbi1wYWdlLW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJeEUsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7O0FBTy9CLE1BQU0sT0FBTyx5QkFBeUI7SUFlcEMsWUFBb0IsYUFBNEIsRUFBVSxXQUF3QixFQUM5RCxlQUFnQztRQURoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzlELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWRwRCxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixXQUFNLEdBQUcsWUFBWSxDQUFDO1FBRXRCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFHTCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3RELGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxFQUFFLENBQUM7SUFHMEMsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFD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TSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDckQsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM3QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNoQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDcEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNkLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSztnQkFDaEIsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBL0xVLHlCQUF5QjttR0FBekIseUJBQXlCLG1IQ1h0QyxvMERBbUNNOzs0RkR4Qk8seUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3Qjs0SkFZeEIsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9uL3F1ZXN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJlZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmVlL3RyZWUuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hc3NpZ24tcGFnZS1udW1iZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzaWduLXBhZ2UtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzaWduLXBhZ2UtbnVtYmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXNzaWduUGFnZU51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgdG9vbGJhckNvbmZpZzogYW55ID0ge307XG4gIHBhZ2VJZCA9ICdwYWdpbmF0aW9uJztcbiAgdHJlZURhdGE6IGFueTtcbiAgcXVlc3Rpb25zID0gW107XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHJlbmRlcmluZ19zZXF1ZW5jZTogYW55O1xuICBAT3V0cHV0KCkgYXNzaWduUGFnZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcmVjb3JkZWRCeTogYW55O1xuICBjcml0ZXJpYUlkOiBhbnk7XG4gIGNyZWF0ZUFycmF5ID0gW107XG4gIHBhZ2VOdW1BcnJheSA9IFtdO1xuICBudW1BcnJheSA9IFtdO1xu4oCLXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSwgcHJpdmF0ZSB0cmVlU2VydmljZTogVHJlZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcXVlc3Rpb25TZXJ2aWNlOiBRdWVzdGlvblNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRUb29sYmFyQ29uZmlnKCk7XG4gICAgdGhpcy50b29sYmFyQ29uZmlnLnRpdGxlID0gJ09ic2VydmF0aW9uIEZvcm0nO1xuICAgIHRoaXMudHJlZURhdGEgPSB0aGlzLmVkaXRvclNlcnZpY2UudHJlZURhdGE7XG4gICAgdGhpcy5jcmVhdGVTZXF1ZW5jZSh0aGlzLnRyZWVEYXRhKTtcbiAgICB0aGlzLnRyZWVFdmVudExpc3RlbmVyKHtcbiAgICAgIGlkZW50aWZpZXI6IF8uZ2V0KHRoaXMudHJlZURhdGFbMF0sICdjaGlsZHJlblswXS5pZCcpLFxuICAgICAgY3JpdGVyaWFOYW1lOiBfLmdldCh0aGlzLnRyZWVEYXRhWzBdLCAnY2hpbGRyZW5bMF0udGl0bGUnKVxuICAgIH0pO1xuICB9XG5cbiAgdG9vbGJhckV2ZW50TGlzdGVuZXIoZXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmJ1dHRvbikge1xuICAgICAgY2FzZSAnYmFja0NvbnRlbnQnOlxuICAgICAgICB0aGlzLnJlZGlyZWN0VG9RdWVzdGlvblNldCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZWRpcmVjdFRvUXVlc3Rpb25TZXQoKSB7XG4gICAgICB0aGlzLmFzc2lnblBhZ2VFbWl0dGVyLmVtaXQoeyBzdGF0dXM6IGZhbHNlIH0pO1xuICB9XG5cbiAgdHJlZUV2ZW50TGlzdGVuZXIoZXZlbnQpIHtcbiAgICB0aGlzLmNyZWF0ZUFycmF5ID0gW107XG4gICAgdGhpcy5jcml0ZXJpYUlkID0gZXZlbnQ/LmlkZW50aWZpZXI7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMudHJlZVNlcnZpY2UuZ2V0Rmlyc3RDaGlsZCgpO1xuICAgIGNvbnN0IGhpZXJhcmNoeSA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRIaWVyYXJjaHlPYmooZGF0YSwgJycsIGV2ZW50Py5pZGVudGlmaWVyKTtcbiAgICB0aGlzLnF1ZXN0aW9uU2VydmljZS5nZXRRdWVzdGlvbkxpc3QoXy5nZXQoaGllcmFyY2h5W2V2ZW50Py5pZGVudGlmaWVyXSwgJ2NoaWxkcmVuJyksICdlZGl0b3JTdGF0ZScpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucXVlc3Rpb25zID0gW107XG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uc0FycmF5ID0gXy5nZXQocmVzcG9uc2UsICdyZXN1bHQucXVlc3Rpb25zJyk7XG4gICAgICAgIHF1ZXN0aW9uc0FycmF5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgdGhpcy5xdWVzdGlvbnMucHVzaCh7XG4gICAgICAgICAgICBxdWVzdGlvbjogZWxlbWVudD8uZWRpdG9yU3RhdGU/LnF1ZXN0aW9uLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogZWxlbWVudD8uaWRlbnRpZmllcixcbiAgICAgICAgICAgIHBhZ2Vfbm86IG51bGwsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNldFBhZ2VOdW1iZXIoZXZlbnQpO1xuICAgICAgfSwgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgfSk7XG4gIH1cbuKAi1xuICBzZXRQYWdlTnVtYmVyKGV2ZW50KSB7XG4gICAgdGhpcy5wYWdlTnVtQXJyYXkgPSB0aGlzLmZpbmRTZXF1ZW5jZUNyaXRlcmlhKCkucGFnZXM7XG4gICAgdGhpcy5wYWdlTnVtQXJyYXkuZm9yRWFjaCgoZW50cnksIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIV8uaXNFbXB0eShlbnRyeSkpIHtcbiAgICAgICAgZW50cnkuZm9yRWFjaCgoaWRlbnRpZmllcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGdldFF1ZXN0aW9uID0gdGhpcy5xdWVzdGlvbnMuZmluZCgoZWwpID0+IGVsLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpO1xuICAgICAgICAgIGdldFF1ZXN0aW9uLnBhZ2Vfbm8gPSBpbmRleCArIDE7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG7igItcbnVwZGF0ZVJlbmRlcmluZ1NlcXVlbmNlKCkge1xuICAgIGxldCBuZXdBcnJheTtcbiAgICBpZiAodGhpcy5jcmVhdGVBcnJheS5sZW5ndGggPT09IHRoaXMucGFnZU51bUFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jcmVhdGVBcnJheSA9IHRoaXMucGFnZU51bUFycmF5O1xuICAgIH0gZWxzZSBpZiAodGhpcy5wYWdlTnVtQXJyYXkubGVuZ3RoID4gdGhpcy5jcmVhdGVBcnJheS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMucGFnZU51bUFycmF5LnNsaWNlKDApO1xuICAgICAgbmV3QXJyYXkgPSByZXN1bHQuc3BsaWNlLmFwcGx5KHJlc3VsdCwgWzAsIHRoaXMuY3JlYXRlQXJyYXkubGVuZ3RoXS5jb25jYXQodGhpcy5jcmVhdGVBcnJheSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdBcnJheSA9IFsuLi50aGlzLnBhZ2VOdW1BcnJheSwgLi4udGhpcy5jcmVhdGVBcnJheS5zbGljZSh0aGlzLnBhZ2VOdW1BcnJheS5sZW5ndGgpXTtcbiAgICB9XG4gICAgdGhpcy5jcmVhdGVBcnJheSA9IG5ld0FycmF5ID8gbmV3QXJyYXkgOiB0aGlzLnBhZ2VOdW1BcnJheTtcbiAgfVxu4oCLXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQsIHF1ZXN0aW9uLCBpbmRleCkge1xuICAgIGlmICgrZXZlbnQgPT09IDApIHtcbiAgICAgIHRoaXMuY3JlYXRlQXJyYXlCeVN1YmplY3RzKGluZGV4LCBxdWVzdGlvbik7XG4gICAgICB0aGlzLnNldE5ld0FycmF5VG9DcmVhdGVBcnJheSgpO1xuICAgICAgdGhpcy5wYWdlTnVtQXJyYXkgPSB0aGlzLmZpbmRTZXF1ZW5jZUNyaXRlcmlhKCkucGFnZXM7XG4gICAgICB0aGlzLnVwZGF0ZVJlbmRlcmluZ1NlcXVlbmNlKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG7igItcbiAgICBxdWVzdGlvbi5wYWdlX25vID0gK2V2ZW50O1xuICAgIHRoaXMuYWRkQXJyYXlUb1BhZ2UoKTtcbiAgICB0aGlzLnBhZ2VOdW1BcnJheSA9IHRoaXMuZmluZFNlcXVlbmNlQ3JpdGVyaWEoKS5wYWdlcztcbuKAi1xuICAgIGlmICh0aGlzLnBhZ2VOdW1BcnJheS5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMuc2V0TmV3QXJyYXlUb0NyZWF0ZUFycmF5KCk7XG4gICAgICB0aGlzLnVwZGF0ZVJlbmRlcmluZ1NlcXVlbmNlKCk7XG4gICAgICB0aGlzLnBhZ2VOdW1BcnJheSA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldE5ld0FycmF5VG9DcmVhdGVBcnJheSgpO1xuICAgIH1cbuKAi1xuICAgIF8uZm9yRWFjaCh0aGlzLnJlbmRlcmluZ19zZXF1ZW5jZT8uc2VxdWVuY2UsIChkYXRhKSA9PiB7XG4gICAgICBpZiAoZGF0YS52YWx1ZSA9PT0gdGhpcy5jcml0ZXJpYUlkKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlQXJyYXkuZmlsdGVyKChhcnIsIGluZGV4MSkgPT4gYXJyLnNvbWUoKGUsIGluZGV4MikgPT4ge1xuICAgICAgICAgIGlmIChlID09PSBxdWVzdGlvbi5pZGVudGlmaWVyKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFycmF5W2luZGV4MV0uc3BsaWNlKGluZGV4MiwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuY3JlYXRlQXJyYXlbTnVtYmVyKGV2ZW50KSAtIDFdLnB1c2gocXVlc3Rpb24uaWRlbnRpZmllcik7XG4gICAgICAgIGRhdGEucGFnZXMgPSB0aGlzLmNyZWF0ZUFycmF5O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0TmV3QXJyYXlUb0NyZWF0ZUFycmF5KCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5tYXgoLi4udGhpcy5udW1BcnJheSk7IGkrKykge1xuICAgICAgaWYgKCF0aGlzLmNyZWF0ZUFycmF5W2ldKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlQXJyYXlbaV0gPSBuZXcgQXJyYXkoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjcmVhdGVBcnJheUJ5U3ViamVjdHMoaW5kZXgsIHF1ZXN0aW9uKSB7XG4gICAgY29uc3Qgc3ViamVjdE9iamVjdCA9IHRoaXMuZmluZFNlcXVlbmNlQ3JpdGVyaWEoKTtcbiAgICDigItcbiAgICBpZiAoc3ViamVjdE9iamVjdCkge1xuICAgICAgY29uc3QgcXVlc3Rpb25zSWRBcnJheSA9IHN1YmplY3RPYmplY3QucGFnZXNbcXVlc3Rpb24ucGFnZV9ubyAtIDFdO1xuICAgICAgY29uc3QgcXVlc3Rpb25JbmRleCA9IHF1ZXN0aW9uc0lkQXJyYXkuaW5kZXhPZihxdWVzdGlvbi5pZGVudGlmaWVyKTtcbiAgICAgIHF1ZXN0aW9uc0lkQXJyYXkuc3BsaWNlKHF1ZXN0aW9uSW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLnF1ZXN0aW9uc1tpbmRleF0ucGFnZV9ubyA9IG51bGw7XG4gICAgdGhpcy5hZGRBcnJheVRvUGFnZSgpO1xuICAgIHRoaXMuY3JlYXRlQXJyYXkgPSBbXTtcblxuICB9XG5cbiAgYWRkQXJyYXlUb1BhZ2UoKSB7XG4gICAgdGhpcy5udW1BcnJheSA9IFtdO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5ldnh0LWxpbmU6bm8tc2hhZG93ZWQtdmFyaWFibGVcbiAgICBfLmZvckVhY2godGhpcy5xdWVzdGlvbnMsIChkYXRhKSA9PiB7XG4gICAgICB0aGlzLm51bUFycmF5LnB1c2goZGF0YS5wYWdlX25vKTtcbiAgICB9KTtcbuKAi1xuICAgIHRoaXMuY3JlYXRlQXJyYXkgPSBbXTtcbiAgfVxuXG4gIGNsZWFySW5wdXQoZXZlbnQsIHF1ZXN0aW9uLCBpbmRleCkge1xuICAgIHRoaXMuY3JlYXRlQXJyYXlCeVN1YmplY3RzKGluZGV4LCBxdWVzdGlvbik7XG4gICAgdGhpcy5zZXROZXdBcnJheVRvQ3JlYXRlQXJyYXkoKTtcbiAgICB0aGlzLnBhZ2VOdW1BcnJheSA9IHRoaXMuZmluZFNlcXVlbmNlQ3JpdGVyaWEoKS5wYWdlcztcbiAgICB0aGlzLnVwZGF0ZVJlbmRlcmluZ1NlcXVlbmNlKCk7XG4gIH1cblxuICBmaW5kU2VxdWVuY2VDcml0ZXJpYSgpIHtcbiAgICByZXR1cm4gXy5maW5kKHRoaXMucmVuZGVyaW5nX3NlcXVlbmNlPy5zZXF1ZW5jZSwgKGRhdGEpID0+IHtcbiAgICAgIHJldHVybiBkYXRhLnZhbHVlID09PSB0aGlzLmNyaXRlcmlhSWQ7XG4gICAgfSk7XG4gIH1cbuKAi1xuICBjcmVhdGVTZXF1ZW5jZShkYXRhKSB7XG4gICAgdGhpcy5yZWNvcmRlZEJ5ID0gXy5nZXQodGhpcy50cmVlU2VydmljZS5nZXRGaXJzdENoaWxkKCksICdkYXRhLm1ldGFkYXRhLnJlY29yZGVkQnknKTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICAgIGNvbnN0IGRhdGFBcnJheSA9IFtdO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gICAgdGhpcy5yZW5kZXJpbmdfc2VxdWVuY2UgPSB7XG4gICAgICBuYW1lOiB0aGlzLnJlY29yZGVkQnkgPT09ICdTZWxmJyA/ICdDcml0ZXJpYScgOiAnRWNtJyxcbiAgICAgIHNlcXVlbmNlOiBbXVxuICAgIH07XG4gICAgXy5mb3JFYWNoKGRhdGEsIChjaGlsZDogYW55KSA9PiB7XG4gICAgICBpZiAoY2hpbGQuY2hpbGRyZW4pIHtcbiAgICAgICAgXy5mb3JFYWNoKGNoaWxkLmNoaWxkcmVuLCAoc2VxKSA9PiB7XG4gICAgICAgICAgZGF0YUFycmF5LnB1c2goc2VxKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgXy5mb3JFYWNoKGRhdGFBcnJheSwgKHNlcSwgaSkgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJpbmdfc2VxdWVuY2Uuc2VxdWVuY2UucHVzaCh7XG4gICAgICAgIHZhbHVlOiBzZXE/LmlkLFxuICAgICAgICBuYW1lOiBzZXE/LnRpdGxlLFxuICAgICAgICBwYWdlczogW10sXG4gICAgICAgIGluZGV4OiBpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNiLWVkaXRvci1jb250YWluZXIgbWItMFwiPlxuICA8bGliLWhlYWRlciBbbGFiZWxDb25maWdEYXRhXT1cInRvb2xiYXJDb25maWdcIiBbcGFnZUlkXT1cInBhZ2VJZFwiICh0b29sYmFyRW1pdHRlcik9XCJ0b29sYmFyRXZlbnRMaXN0ZW5lcigkZXZlbnQpXCI+XG4gIDwvbGliLWhlYWRlcj5cbiAgPGRpdiBjbGFzcz1cImFkZC10by1saWJyYXJ5IG1iLTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaC0xMDB2aCBzYi1iZy13aGl0ZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInVpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1aSB0d2VsdmUgY29sdW1uIGdyaWQgbS0wXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRocmVlIHdpZGUgY29sdW1uIHAtMCBvdmVyZmxvdy15ICBtYi00MCBoLTEwMHZoXCI+XG4gICAgICAgICAgICA8bGliLXBsYWluLXRyZWUgY2xhc3M9XCJzYi1jb2xsZWN0aW9uVHJlZS1mYW5jeVRyZWUgc2ItY29sbGVjdGlvblRyZWUtZmFuY3lUcmVlbGlzdCBzYi1xdWVzdGlvbnNldC1zY3JvbGxcIlxuICAgICAgICAgICAgICBbdHJlZURhdGFdPVwidHJlZURhdGFcIiAodHJlZUVtaXR0ZXIpPVwidHJlZUV2ZW50TGlzdGVuZXIoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9saWItcGxhaW4tdHJlZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIFJpZ2h0IFBsYXllciBTZWN0aW9ucyAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWlnaHQgd2lkZSBjb2x1bW4gYmctd2hpdGUgcGwtNDAgbWItMTAgdy03M1wiPlxuICAgICAgICAgICAgPHRhYmxlIGFyaWEtZGVzY3JpYmVkYnk9XCJwYWdpbmF0aW9uXCI+XG4gICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICA8dGg+UXVlc3Rpb25zPC90aD5cbiAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInJpZ2h0XCI+UGFnZSBubzwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2YgcXVlc3Rpb25zOyBsZXQgaT1pbmRleFwiPlxuICAgICAgICAgICAgICAgICAgPHRkIGlubmVySHRtbD1cInt7cXVlc3Rpb24/LnF1ZXN0aW9ufX1cIj48L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkPjxpIFtuZ1N0eWxlXT1cInsndmlzaWJpbGl0eTpoaWRkZW4nOnF1ZXN0aW9uPy5wYWdlX25vID4gMCAmJiBxdWVzdGlvbj8ucGFnZV9ub31cIiBbbmdDbGFzc109XCJ7J2Nsb3NlLWJ1dHRvbi1keW5hbWljJzpxdWVzdGlvbj8ucGFnZV9ubyA+IDAgfVwiIGNsYXNzPVwiY2xvc2UgaWNvbiBjbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xlYXJJbnB1dCgkZXZlbnQudGFyZ2V0LnZhbHVlLCBxdWVzdGlvbiwgaSlcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbmFtZT1cInBhZ2VOb1wiIHBhdHRlcm49XCJeWzEtOV1bMC05XSokXCIgb25pbnB1dD1cImlmKCF0aGlzLnZhbHVlLm1hdGNoKCdeWzEtOV1bMC05XSokJykpdGhpcy52YWx1ZT0nJztcIlxuICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUscXVlc3Rpb24sIGkpXCIgdmFsdWU9XCJ7e3F1ZXN0aW9uPy5wYWdlX25vfX1cIiAgLz48L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|