@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.
Files changed (204) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/collection-editor-cursor.service.mjs +3 -0
  3. package/esm2022/lib/collection-editor-library.component.mjs +16 -0
  4. package/esm2022/lib/collection-editor-library.module.mjs +137 -0
  5. package/esm2022/lib/components/answer/answer.component.mjs +43 -0
  6. package/esm2022/lib/components/asset-browser/asset-browser.component.mjs +325 -0
  7. package/esm2022/lib/components/asset-browser/asset-browser.data.mjs +53 -0
  8. package/esm2022/lib/components/assign-page-number/assign-page-number.component.mjs +191 -0
  9. package/esm2022/lib/components/ckeditor-tool/ckeditor-tool.component.mjs +895 -0
  10. package/esm2022/lib/components/collection-icon/collection-icon.component.mjs +43 -0
  11. package/esm2022/lib/components/contentplayer-page/contentplayer-page.component.mjs +351 -0
  12. package/esm2022/lib/components/csv-upload/csv-upload.component.mjs +178 -0
  13. package/esm2022/lib/components/dialcode/dialcode.component.mjs +182 -0
  14. package/esm2022/lib/components/editor/editor.component.mjs +1125 -0
  15. package/esm2022/lib/components/fancy-tree/fancy-tree.component.mjs +529 -0
  16. package/esm2022/lib/components/header/header.component.mjs +123 -0
  17. package/esm2022/lib/components/library/library.component.mjs +242 -0
  18. package/esm2022/lib/components/library-filter/library-filter.component.mjs +149 -0
  19. package/esm2022/lib/components/library-list/library-list.component.mjs +92 -0
  20. package/esm2022/lib/components/library-player/library-player.component.mjs +62 -0
  21. package/esm2022/lib/components/manage-collaborator/manage-collaborator.component.mjs +256 -0
  22. package/esm2022/lib/components/meta-form/meta-form.component.mjs +377 -0
  23. package/esm2022/lib/components/options/options.component.mjs +144 -0
  24. package/esm2022/lib/components/plain-tree/plain-tree.component.mjs +125 -0
  25. package/esm2022/lib/components/progress-status/progress-status.component.mjs +46 -0
  26. package/esm2022/lib/components/publish-checklist/publish-checklist.component.mjs +67 -0
  27. package/esm2022/lib/components/quality-params-modal/quality-params-modal.component.mjs +52 -0
  28. package/esm2022/lib/components/question/question.component.mjs +1360 -0
  29. package/esm2022/lib/components/quml-player/quml-player.component.mjs +73 -0
  30. package/esm2022/lib/components/qumlplayer-page/qumlplayer-page.component.mjs +84 -0
  31. package/esm2022/lib/components/resource-reorder/resource-reorder.component.mjs +143 -0
  32. package/esm2022/lib/components/skeleton-loader/skeleton-loader.component.mjs +26 -0
  33. package/esm2022/lib/components/template/template.component.mjs +42 -0
  34. package/esm2022/lib/components/term-and-condition/term-and-condition.component.mjs +68 -0
  35. package/esm2022/lib/directives/telemetry-interact/telemetry-interact.directive.mjs +33 -0
  36. package/esm2022/lib/interfaces/McqForm.mjs +29 -0
  37. package/esm2022/lib/interfaces/editor.mjs +2 -0
  38. package/esm2022/lib/interfaces/framework.mjs +2 -0
  39. package/esm2022/lib/interfaces/httpOptions.mjs +2 -0
  40. package/esm2022/lib/interfaces/requestParam.mjs +2 -0
  41. package/esm2022/lib/interfaces/serverResponse.mjs +2 -0
  42. package/esm2022/lib/pipes/sanitize-html.pipe.mjs +20 -0
  43. package/esm2022/lib/services/config/category.config.json +8 -0
  44. package/esm2022/lib/services/config/config.service.mjs +27 -0
  45. package/esm2022/lib/services/config/editor.config.json +31 -0
  46. package/esm2022/lib/services/config/label.config.json +314 -0
  47. package/esm2022/lib/services/config/player.config.json +96 -0
  48. package/esm2022/lib/services/config/url.config.json +69 -0
  49. package/esm2022/lib/services/data/data.service.mjs +192 -0
  50. package/esm2022/lib/services/dialcode/dialcode.service.mjs +309 -0
  51. package/esm2022/lib/services/editor/editor.service.mjs +682 -0
  52. package/esm2022/lib/services/framework/framework.service.mjs +106 -0
  53. package/esm2022/lib/services/helper/helper.service.mjs +160 -0
  54. package/esm2022/lib/services/player/player.service.mjs +99 -0
  55. package/esm2022/lib/services/public-data/public-data.service.mjs +21 -0
  56. package/esm2022/lib/services/question/question.service.mjs +167 -0
  57. package/esm2022/lib/services/telemetry/telemetry.service.mjs +120 -0
  58. package/esm2022/lib/services/toaster/toaster.service.mjs +105 -0
  59. package/esm2022/lib/services/tree/tree.service.mjs +284 -0
  60. package/esm2022/project-sunbird-sunbird-collection-editor.mjs +5 -0
  61. package/esm2022/public-api.mjs +4 -0
  62. package/fesm2022/project-sunbird-sunbird-collection-editor.mjs +10138 -0
  63. package/fesm2022/project-sunbird-sunbird-collection-editor.mjs.map +1 -0
  64. package/index.d.ts +6 -0
  65. package/lib/assets/.gitkeep +0 -0
  66. package/lib/assets/images/MCQ.png +0 -0
  67. package/lib/assets/images/Spin.gif +0 -0
  68. package/lib/assets/images/bulkuploadfile.png +0 -0
  69. package/lib/assets/images/cancel-sign copy.png +0 -0
  70. package/lib/assets/images/cancel-sign.png +0 -0
  71. package/lib/assets/images/emptyResult.svg +1 -0
  72. package/lib/assets/images/icons-rtl.gif +0 -0
  73. package/lib/assets/images/icons.gif +0 -0
  74. package/lib/assets/images/imageicon.svg +16 -0
  75. package/lib/assets/images/imageicon_blue.svg +16 -0
  76. package/lib/assets/images/layoutoneicon.svg +16 -0
  77. package/lib/assets/images/layoutoneicon_blue.svg +16 -0
  78. package/lib/assets/images/layoutthreeicon.svg +18 -0
  79. package/lib/assets/images/layoutthreeicon_blue.svg +18 -0
  80. package/lib/assets/images/layouttwoicon.svg +18 -0
  81. package/lib/assets/images/layouttwoicon_blue.svg +18 -0
  82. package/lib/assets/images/leftalignicon.svg +17 -0
  83. package/lib/assets/images/leftalignicon_blue.svg +17 -0
  84. package/lib/assets/images/loader.gif +0 -0
  85. package/lib/assets/images/loader.svg +1 -0
  86. package/lib/assets/images/loading.gif +0 -0
  87. package/lib/assets/images/middlealignicon.svg +17 -0
  88. package/lib/assets/images/middlealignicon_blue.svg +17 -0
  89. package/lib/assets/images/question_collection.svg +18 -0
  90. package/lib/assets/images/rightalignicon.svg +17 -0
  91. package/lib/assets/images/rightalignicon_blue.svg +17 -0
  92. package/lib/assets/images/vline-rtl.gif +0 -0
  93. package/lib/assets/images/vline.gif +0 -0
  94. package/lib/assets/images/writing.png +0 -0
  95. package/lib/collection-editor-cursor.service.d.ts +5 -0
  96. package/lib/collection-editor-cursor.service.d.ts.map +1 -0
  97. package/lib/collection-editor-library.component.d.ts +9 -0
  98. package/lib/collection-editor-library.component.d.ts.map +1 -0
  99. package/lib/collection-editor-library.module.d.ts +50 -0
  100. package/lib/collection-editor-library.module.d.ts.map +1 -0
  101. package/lib/components/answer/answer.component.d.ts +24 -0
  102. package/lib/components/answer/answer.component.d.ts.map +1 -0
  103. package/lib/components/asset-browser/asset-browser.component.d.ts +81 -0
  104. package/lib/components/asset-browser/asset-browser.component.d.ts.map +1 -0
  105. package/lib/components/asset-browser/asset-browser.data.d.ts +52 -0
  106. package/lib/components/asset-browser/asset-browser.data.d.ts.map +1 -0
  107. package/lib/components/assign-page-number/assign-page-number.component.d.ts +38 -0
  108. package/lib/components/assign-page-number/assign-page-number.component.d.ts.map +1 -0
  109. package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts +161 -0
  110. package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts.map +1 -0
  111. package/lib/components/collection-icon/collection-icon.component.d.ts +18 -0
  112. package/lib/components/collection-icon/collection-icon.component.d.ts.map +1 -0
  113. package/lib/components/contentplayer-page/contentplayer-page.component.d.ts +54 -0
  114. package/lib/components/contentplayer-page/contentplayer-page.component.d.ts.map +1 -0
  115. package/lib/components/csv-upload/csv-upload.component.d.ts +42 -0
  116. package/lib/components/csv-upload/csv-upload.component.d.ts.map +1 -0
  117. package/lib/components/dialcode/dialcode.component.d.ts +48 -0
  118. package/lib/components/dialcode/dialcode.component.d.ts.map +1 -0
  119. package/lib/components/editor/editor.component.d.ts +146 -0
  120. package/lib/components/editor/editor.component.d.ts.map +1 -0
  121. package/lib/components/fancy-tree/fancy-tree.component.d.ts +77 -0
  122. package/lib/components/fancy-tree/fancy-tree.component.d.ts.map +1 -0
  123. package/lib/components/header/header.component.d.ts +46 -0
  124. package/lib/components/header/header.component.d.ts.map +1 -0
  125. package/lib/components/library/library.component.d.ts +69 -0
  126. package/lib/components/library/library.component.d.ts.map +1 -0
  127. package/lib/components/library-filter/library-filter.component.d.ts +47 -0
  128. package/lib/components/library-filter/library-filter.component.d.ts.map +1 -0
  129. package/lib/components/library-list/library-list.component.d.ts +32 -0
  130. package/lib/components/library-list/library-list.component.d.ts.map +1 -0
  131. package/lib/components/library-player/library-player.component.d.ts +24 -0
  132. package/lib/components/library-player/library-player.component.d.ts.map +1 -0
  133. package/lib/components/manage-collaborator/manage-collaborator.component.d.ts +75 -0
  134. package/lib/components/manage-collaborator/manage-collaborator.component.d.ts.map +1 -0
  135. package/lib/components/meta-form/meta-form.component.d.ts +51 -0
  136. package/lib/components/meta-form/meta-form.component.d.ts.map +1 -0
  137. package/lib/components/options/options.component.d.ts +53 -0
  138. package/lib/components/options/options.component.d.ts.map +1 -0
  139. package/lib/components/plain-tree/plain-tree.component.d.ts +20 -0
  140. package/lib/components/plain-tree/plain-tree.component.d.ts.map +1 -0
  141. package/lib/components/progress-status/progress-status.component.d.ts +25 -0
  142. package/lib/components/progress-status/progress-status.component.d.ts.map +1 -0
  143. package/lib/components/publish-checklist/publish-checklist.component.d.ts +23 -0
  144. package/lib/components/publish-checklist/publish-checklist.component.d.ts.map +1 -0
  145. package/lib/components/quality-params-modal/quality-params-modal.component.d.ts +24 -0
  146. package/lib/components/quality-params-modal/quality-params-modal.component.d.ts.map +1 -0
  147. package/lib/components/question/question.component.d.ts +215 -0
  148. package/lib/components/question/question.component.d.ts.map +1 -0
  149. package/lib/components/quml-player/quml-player.component.d.ts +26 -0
  150. package/lib/components/quml-player/quml-player.component.d.ts.map +1 -0
  151. package/lib/components/qumlplayer-page/qumlplayer-page.component.d.ts +31 -0
  152. package/lib/components/qumlplayer-page/qumlplayer-page.component.d.ts.map +1 -0
  153. package/lib/components/resource-reorder/resource-reorder.component.d.ts +45 -0
  154. package/lib/components/resource-reorder/resource-reorder.component.d.ts.map +1 -0
  155. package/lib/components/skeleton-loader/skeleton-loader.component.d.ts +13 -0
  156. package/lib/components/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
  157. package/lib/components/template/template.component.d.ts +21 -0
  158. package/lib/components/template/template.component.d.ts.map +1 -0
  159. package/lib/components/term-and-condition/term-and-condition.component.d.ts +26 -0
  160. package/lib/components/term-and-condition/term-and-condition.component.d.ts.map +1 -0
  161. package/lib/directives/telemetry-interact/telemetry-interact.directive.d.ts +27 -0
  162. package/lib/directives/telemetry-interact/telemetry-interact.directive.d.ts.map +1 -0
  163. package/lib/interfaces/McqForm.d.ts +32 -0
  164. package/lib/interfaces/McqForm.d.ts.map +1 -0
  165. package/lib/interfaces/editor.d.ts +78 -0
  166. package/lib/interfaces/editor.d.ts.map +1 -0
  167. package/lib/interfaces/framework.d.ts +46 -0
  168. package/lib/interfaces/framework.d.ts.map +1 -0
  169. package/lib/interfaces/httpOptions.d.ts +35 -0
  170. package/lib/interfaces/httpOptions.d.ts.map +1 -0
  171. package/lib/interfaces/requestParam.d.ts +24 -0
  172. package/lib/interfaces/requestParam.d.ts.map +1 -0
  173. package/lib/interfaces/serverResponse.d.ts +38 -0
  174. package/lib/interfaces/serverResponse.d.ts.map +1 -0
  175. package/lib/pipes/sanitize-html.pipe.d.ts +11 -0
  176. package/lib/pipes/sanitize-html.pipe.d.ts.map +1 -0
  177. package/lib/services/config/config.service.d.ts +13 -0
  178. package/lib/services/config/config.service.d.ts.map +1 -0
  179. package/lib/services/data/data.service.d.ts +85 -0
  180. package/lib/services/data/data.service.d.ts.map +1 -0
  181. package/lib/services/dialcode/dialcode.service.d.ts +36 -0
  182. package/lib/services/dialcode/dialcode.service.d.ts.map +1 -0
  183. package/lib/services/editor/editor.service.d.ts +150 -0
  184. package/lib/services/editor/editor.service.d.ts.map +1 -0
  185. package/lib/services/framework/framework.service.d.ts +35 -0
  186. package/lib/services/framework/framework.service.d.ts.map +1 -0
  187. package/lib/services/helper/helper.service.d.ts +41 -0
  188. package/lib/services/helper/helper.service.d.ts.map +1 -0
  189. package/lib/services/player/player.service.d.ts +33 -0
  190. package/lib/services/player/player.service.d.ts.map +1 -0
  191. package/lib/services/public-data/public-data.service.d.ts +15 -0
  192. package/lib/services/public-data/public-data.service.d.ts.map +1 -0
  193. package/lib/services/question/question.service.d.ts +30 -0
  194. package/lib/services/question/question.service.d.ts.map +1 -0
  195. package/lib/services/telemetry/telemetry.service.d.ts +45 -0
  196. package/lib/services/telemetry/telemetry.service.d.ts.map +1 -0
  197. package/lib/services/toaster/toaster.service.d.ts +50 -0
  198. package/lib/services/toaster/toaster.service.d.ts.map +1 -0
  199. package/lib/services/tree/tree.service.d.ts +51 -0
  200. package/lib/services/tree/tree.service.d.ts.map +1 -0
  201. package/package.json +32 -0
  202. package/project-sunbird-sunbird-collection-editor.d.ts.map +1 -0
  203. package/public-api.d.ts +4 -0
  204. package/public-api.d.ts.map +1 -0
@@ -0,0 +1,144 @@
1
+ import { Component, Input, EventEmitter, Output } from '@angular/core';
2
+ import * as _ from 'lodash-es';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/telemetry/telemetry.service";
5
+ import * as i2 from "../../services/config/config.service";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "@project-sunbird/ng2-semantic-ui";
9
+ import * as i6 from "../ckeditor-tool/ckeditor-tool.component";
10
+ import * as i7 from "../../directives/telemetry-interact/telemetry-interact.directive";
11
+ import * as i8 from "../../pipes/sanitize-html.pipe";
12
+ export class OptionsComponent {
13
+ constructor(telemetryService, configService) {
14
+ this.telemetryService = telemetryService;
15
+ this.configService = configService;
16
+ this.showSubMenu = false;
17
+ this.editorDataOutput = new EventEmitter();
18
+ this.setCharacterLimit = 160;
19
+ this.setImageLimit = 1;
20
+ this.templateType = 'mcq-vertical';
21
+ this.subMenus = [];
22
+ this.mapping = {};
23
+ }
24
+ ngOnInit() {
25
+ if (!_.isUndefined(this.editorState.templateId)) {
26
+ this.templateType = this.editorState.templateId;
27
+ }
28
+ this.editorDataHandler();
29
+ }
30
+ editorDataHandler(event) {
31
+ const body = this.prepareMcqBody(this.editorState);
32
+ this.editorDataOutput.emit({ body, mediaobj: event ? event.mediaobj : undefined });
33
+ }
34
+ prepareMcqBody(editorState) {
35
+ let metadata;
36
+ const correctAnswer = editorState.answer;
37
+ let resindex;
38
+ const options = _.map(editorState.options, (opt, key) => {
39
+ resindex = Number(key);
40
+ if (Number(correctAnswer) === key) {
41
+ return { answer: true, value: { body: opt.body, value: resindex } };
42
+ }
43
+ else {
44
+ return { answer: false, value: { body: opt.body, value: resindex } };
45
+ }
46
+ });
47
+ metadata = {
48
+ templateId: this.templateType,
49
+ name: 'Multiple Choice Question',
50
+ responseDeclaration: this.getResponseDeclaration(editorState),
51
+ interactionTypes: ['choice'],
52
+ interactions: this.getInteractions(editorState.options),
53
+ editorState: {
54
+ options
55
+ },
56
+ qType: 'MCQ',
57
+ primaryCategory: 'Multiple Choice Question'
58
+ };
59
+ return metadata;
60
+ }
61
+ getResponseDeclaration(editorState) {
62
+ const responseDeclaration = {
63
+ response1: {
64
+ maxScore: 1,
65
+ cardinality: 'single',
66
+ type: 'integer',
67
+ correctResponse: {
68
+ value: editorState.answer,
69
+ outcomes: { SCORE: 1 }
70
+ }
71
+ }
72
+ };
73
+ return responseDeclaration;
74
+ }
75
+ getInteractions(options) {
76
+ let index;
77
+ const interactOptions = _.map(options, (opt, key) => {
78
+ index = Number(key);
79
+ return { label: opt.body, value: index };
80
+ });
81
+ const interactions = {
82
+ response1: {
83
+ type: 'choice',
84
+ options: interactOptions
85
+ }
86
+ };
87
+ return interactions;
88
+ }
89
+ setTemplete(template) {
90
+ this.templateType = template;
91
+ this.editorDataHandler();
92
+ }
93
+ subMenuChange({ index, value }, optionIndex) {
94
+ _.set(this.editorState, `interactions.response1.options[${optionIndex}].hints.en`, value);
95
+ }
96
+ subMenuConfig(options) {
97
+ this.subMenus = [];
98
+ options.map((opt, index) => {
99
+ const value = _.get(this.editorState, `interactions.response1.options[${index}].hints.en`);
100
+ this.subMenus[index] = [
101
+ {
102
+ id: 'addHint',
103
+ name: 'Add Hint',
104
+ value,
105
+ label: 'Hint',
106
+ enabled: value ? true : false,
107
+ type: 'input',
108
+ show: _.get(this.sourcingSettings, 'showAddHints'),
109
+ },
110
+ ];
111
+ });
112
+ }
113
+ setScore(value, scoreIndex) {
114
+ const obj = {
115
+ response: scoreIndex,
116
+ outcomes: {
117
+ score: value,
118
+ },
119
+ };
120
+ this.mapping[scoreIndex] = obj;
121
+ this.editorDataHandler();
122
+ }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OptionsComponent, deps: [{ token: i1.EditorTelemetryService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OptionsComponent, selector: "lib-options", inputs: { editorState: "editorState", showFormError: "showFormError", sourcingSettings: "sourcingSettings", isReadOnlyMode: "isReadOnlyMode", showSubMenu: "showSubMenu", parentMeta: "parentMeta" }, outputs: { editorDataOutput: "editorDataOutput" }, ngImport: i0, template: "<ng-container *ngIf=\"!isReadOnlyMode; else readOnlyContainer\">\n <div class=\"pt-10 fs-0-92 sb-w-85\">\n <label class=\"fs-0-92 font-weight-bold\">{{configService.labelConfig?.lbl?.options}}<span class=\"sb-required\">*</span></label>\n <label class=\"fs-0-92 d-inline-block\">{{configService.labelConfig?.lbl?.selectLayout}}</label>\n <i class=\"icon info circle ml-8\" suiPopup popupDelay=\"500\" popupText={{configService.labelConfig?.lbl?.optionsPopupText}}></i>\n <span class=\"divider mr-8\"></span>\n <span><button class=\"sb-btn sb-btn-xs sb-btn-outline-gray mr-5 q-sb-layout-single\" [ngClass]=\"{active: 'mcq-vertical' === templateType}\" (click)=\"setTemplete('mcq-vertical')\"><i class=\"mr-10 h-7\"></i> {{configService.labelConfig?.lbl?.vertical}}</button></span>\n <span><button class=\"sb-btn sb-btn-xs sb-btn-outline-gray mr-5 q-sb-layout-two\" [ngClass]=\"{active: 'mcq-vertical-split' === templateType}\" (click)=\"setTemplete('mcq-vertical-split')\"><i class=\"mr-10 h-7 w-20\"></i>{{configService.labelConfig?.lbl?.grid}}</button></span>\n <span><button class=\"sb-btn sb-btn-xs sb-btn-outline-gray q-sb-layout-three\" [ngClass]=\"{active: 'mcq-horizontal' === templateType}\" (click)=\"setTemplete('mcq-horizontal')\"> <i class=\"mr-10 h-7\"></i> {{configService.labelConfig?.lbl?.horizontal}}</button></span>\n </div>\n <label *ngIf=\"showFormError && !editorState.answer && sourcingSettings?.enforceCorrectAnswer\" class=\"ui basic red error label pt-1 mt-10\">\n {{configService.labelConfig?.lbl?.selectOneAns}}</label>\n <div class=\"d-flex pt-10 flex-dc sb-mcq-form\">\n <div class=\"d-flex sb-mcq-item flex-w-wrap\" *ngFor=\"let option of editorState.options; let i = index\">\n <div class=\"sb-w-85 sb-ckeditor relative mb-15\">\n <button [disabled]=\"editorState.options.length < 3\" class=\"sb-btn sb-ckeditor-close absolute\"\n (click)=\"editorState.deleteOption(i);editorDataHandler($event);\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('delete_option','click','submit',telemetryService.telemetryPageId)\">\n <i class=\"icon close\"></i>\n </button>\n <lib-ckeditor-tool [setCharacterLimit]=\"setCharacterLimit\" (editorDataOutput)=\"option.body = $event.body; option.length = $event.length; editorDataHandler($event)\"\n [editorDataInput]=\"option.body\" class=\"ckeditor-tool__option mb-10\"\n [class.mb-5]=\"showFormError && ([undefined, ''].includes(option.body) || option.length > setCharacterLimit)\">\n </lib-ckeditor-tool>\n <label *ngIf=\"\n showFormError && (option.body === undefined || option.body === '')\n \" class=\"sb-color-error fs-0-785\">{{configService.labelConfig?.lbl?.fillThisOption}}</label>\n <label *ngIf=\"option.length > setCharacterLimit\" class=\"ui basic red error label pt-1\">\n {{configService.labelConfig?.lbl?.reduceSize}}</label>\n </div>\n <div class=\"sb-checkbox sb-checkbox-primary pl-10 mt-0 pt-0\" [class.selected]=\"editorState.answer === i.toString()\" *ngIf=\"sourcingSettings?.enforceCorrectAnswer !== false\">\n <input type=\"radio\" id=\"answer_{{ i + 1 }}\" name=\"example\" value=\"{{ i }}\" (change)=\"editorDataHandler($event);\"\n [(ngModel)]=\"editorState.answer\" [ngModelOptions]=\"{ standalone: true }\" [checked]=\"editorState.answer === i.toString()\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('mark_as_right_anwser','click',undefined,telemetryService.telemetryPageId,{answer:i.toString()})\" />\n <label for=\"answer_{{ i + 1 }}\" class=\"mr-0 fs-0-785\">{{configService.labelConfig?.lbl?.correctAns}}</label>\n </div>\n <div class=\"w-100\" *ngIf=\"showSubMenu\">\n <lib-question-option-sub-menu [subMenus]=\"subMenus[i]\" (onChange)=\"subMenuChange($event,i)\"></lib-question-option-sub-menu>\n <div *ngIf=\"parentMeta?.allowScoring === 'Yes'\">\n <label for=\"score\" class=\"d-block mt-10 optionLabel\">Score <span class=\"sb-required\">*</span></label>\n <input\n class=\"sb-textbox false mb-30\"\n [placeholder]=\"'Add score here'\"\n (change)=\"setScore($event.target.value,i)\"\n *ngIf=\"sourcingSettings.showAddScore\"\n type=\"number\"\n [value]=\"mapping[i]?.outcomes?.score\"\n />\n </div>\n </div>\n </div>\n <div class=\"d-flex\">\n <button *ngIf=\"editorState.options.length < editorState.maximumOptions\"\n class=\"sb-btn sb-btn-outline-primary sb-btn-xs sb-left-icon-btn text-inherit b-0 bg-none no-hover p-0 mb-10 mt-10\"\n (click)=\"editorState.addOptions();editorDataHandler($event);\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('add_option','click','submit',telemetryService.telemetryPageId)\" >\n <i class=\"plus circle icon fs-1-286 pull-left mr-0\" aria-hidden=\"true\"></i><span class=\"sb-line-height-24\">{{configService.labelConfig?.lbl?.addOption}}</span>\n </button>\n </div>\n </div>\n</ng-container>\n\n<ng-template #readOnlyContainer>\n <div class=\"row mb-0 p-0\" *ngFor=\"let option of editorState.options; let i=index\">\n <div class=\"twelve wide column p-0\">\n <div class=\"ckeditor-tool width-100\">\n <div class=\"ckeditor-tool__question-readonly mb-24\">\n <label class=\"px-16 py-8 fs-0-92 mb-0 ckeditor-tool__label width-100\">Option {{ i+1 }}</label>\n <div class=\"ckeditor-tool__solution__body\">\n <p class=\"fs-0-785 p-16\" [innerHTML]=\"option.body | sanitizeHtml\"></p>\n <div class=\"mcq-checkbox-answer\" *ngIf=\"editorState.answer === i.toString()\">\n <div class=\"sb-checkbox sb-checkbox-primary mr-auto selected\">\n <input type=\"checkbox\" id=\"check1\" name=\"example\" disabled checked>\n <label for=\"check1\">{{configService.labelConfig?.lbl?.correctAns}}</label>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-100\" *ngIf=\"showSubMenu\">\n <lib-question-option-sub-menu [subMenus]=\"subMenus[i]\" (onChange)=\"subMenuChange($event,i)\"></lib-question-option-sub-menu>\n <div *ngIf=\"parentMeta?.allowScoring === 'Yes'\">\n <label for=\"score\" class=\"d-block mt-10 optionLabel\">Score</label>\n <input\n class=\"sb-textbox false mb-30\"\n [placeholder]=\"'Add score here'\"\n (change)=\"setScore($event.target.value,i)\"\n *ngIf=\"sourcingSettings.showAddScore\"\n type=\"number\"\n [value]=\"mapping[i]?.outcomes?.score\" \n disabled\n />\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".q-sb-layout-single:before{content:url(/assets/images/layoutoneicon.svg)}.q-sb-layout-single.active,.q-sb-layout-single:hover{border-color:var(--primary-400);background-color:#fff;color:var(--primary-400)}.q-sb-layout-single.active:before,.q-sb-layout-single:hover:before{content:url(/assets/images/layoutoneicon_blue.svg)}.q-sb-layout-two:before{content:url(/assets/images/layouttwoicon.svg)}.q-sb-layout-two.active,.q-sb-layout-two:hover{border-color:var(--primary-400);background-color:#fff;color:var(--primary-400)}.q-sb-layout-two.active:before,.q-sb-layout-two:hover:before{content:url(/assets/images/layouttwoicon_blue.svg)}.q-sb-layout-three:before{content:url(/assets/images/layoutthreeicon.svg);top:-2px;position:relative}.q-sb-layout-three.active,.q-sb-layout-three:hover{border-color:var(--primary-400);background-color:#fff;color:var(--primary-400)}.q-sb-layout-three.active:before,.q-sb-layout-three:hover:before{content:url(/assets/images/layoutthreeicon_blue.svg)}.q-sb-layout-imgoption:before{content:url(/assets/images/imageicon.svg)}.q-sb-layout-imgoption.active:before,.q-sb-layout-imgoption:hover:before{content:url(/assets/images/imageicon_blue.svg)}.q-sb-layout-alignleft:before{content:url(/assets/images/leftalignicon.svg)}.q-sb-layout-alignleft.active:before,.q-sb-layout-alignleft:hover:before{content:url(/assets/images/leftalignicon_blue.svg)}.q-sb-layout-aligncenter:before{content:url(/assets/images/middlealignicon.svg)}.q-sb-layout-aligncenter.active:before,.q-sb-layout-aligncenter:hover:before{content:url(/assets/images/middlealignicon_blue.svg)}.q-sb-layout-alignright:before{content:url(/assets/images/rightalignicon.svg)}.q-sb-layout-alignright.active:before,.q-sb-layout-alignright:hover:before{content:url(/assets/images/rightalignicon_blue.svg)}.h-7{height:7px}.w-20{width:20px}.b-0{border:0!important}.sb-line-height-24{line-height:24px}.bg-none{background-color:transparent!important}.bg-none:hover,.bg-none:focus{background-color:transparent!important}.sb-w-85 div[data-title]:hover:before{left:0%;top:-122%!important;width:256px}.sb-field-group .sb-left-icon-btn.sb-btn-xs{padding:0!important;margin-top:-10px}\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: "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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.SuiPopupDirective, selector: "[suiPopup]", inputs: ["popupHeader", "popupText", "popupInverted", "popupBasic", "popupInline", "popupFlowing", "popupTransition", "popupTransitionDuration", "popupPlacement", "popupWidth", "popupSize", "popupDelay", "popupTrigger", "popupTemplate", "popupTemplateContext", "popupConfig"], exportAs: ["suiPopup"] }, { kind: "component", type: i6.CkeditorToolComponent, selector: "lib-ckeditor-tool", inputs: ["editorDataInput", "videoShow", "setCharacterLimit", "setImageLimit"], outputs: ["editorDataOutput", "hasError", "videoDataOutput"] }, { kind: "directive", type: i7.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }, { kind: "pipe", type: i8.SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
125
+ }
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OptionsComponent, decorators: [{
127
+ type: Component,
128
+ args: [{ selector: 'lib-options', template: "<ng-container *ngIf=\"!isReadOnlyMode; else readOnlyContainer\">\n <div class=\"pt-10 fs-0-92 sb-w-85\">\n <label class=\"fs-0-92 font-weight-bold\">{{configService.labelConfig?.lbl?.options}}<span class=\"sb-required\">*</span></label>\n <label class=\"fs-0-92 d-inline-block\">{{configService.labelConfig?.lbl?.selectLayout}}</label>\n <i class=\"icon info circle ml-8\" suiPopup popupDelay=\"500\" popupText={{configService.labelConfig?.lbl?.optionsPopupText}}></i>\n <span class=\"divider mr-8\"></span>\n <span><button class=\"sb-btn sb-btn-xs sb-btn-outline-gray mr-5 q-sb-layout-single\" [ngClass]=\"{active: 'mcq-vertical' === templateType}\" (click)=\"setTemplete('mcq-vertical')\"><i class=\"mr-10 h-7\"></i> {{configService.labelConfig?.lbl?.vertical}}</button></span>\n <span><button class=\"sb-btn sb-btn-xs sb-btn-outline-gray mr-5 q-sb-layout-two\" [ngClass]=\"{active: 'mcq-vertical-split' === templateType}\" (click)=\"setTemplete('mcq-vertical-split')\"><i class=\"mr-10 h-7 w-20\"></i>{{configService.labelConfig?.lbl?.grid}}</button></span>\n <span><button class=\"sb-btn sb-btn-xs sb-btn-outline-gray q-sb-layout-three\" [ngClass]=\"{active: 'mcq-horizontal' === templateType}\" (click)=\"setTemplete('mcq-horizontal')\"> <i class=\"mr-10 h-7\"></i> {{configService.labelConfig?.lbl?.horizontal}}</button></span>\n </div>\n <label *ngIf=\"showFormError && !editorState.answer && sourcingSettings?.enforceCorrectAnswer\" class=\"ui basic red error label pt-1 mt-10\">\n {{configService.labelConfig?.lbl?.selectOneAns}}</label>\n <div class=\"d-flex pt-10 flex-dc sb-mcq-form\">\n <div class=\"d-flex sb-mcq-item flex-w-wrap\" *ngFor=\"let option of editorState.options; let i = index\">\n <div class=\"sb-w-85 sb-ckeditor relative mb-15\">\n <button [disabled]=\"editorState.options.length < 3\" class=\"sb-btn sb-ckeditor-close absolute\"\n (click)=\"editorState.deleteOption(i);editorDataHandler($event);\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('delete_option','click','submit',telemetryService.telemetryPageId)\">\n <i class=\"icon close\"></i>\n </button>\n <lib-ckeditor-tool [setCharacterLimit]=\"setCharacterLimit\" (editorDataOutput)=\"option.body = $event.body; option.length = $event.length; editorDataHandler($event)\"\n [editorDataInput]=\"option.body\" class=\"ckeditor-tool__option mb-10\"\n [class.mb-5]=\"showFormError && ([undefined, ''].includes(option.body) || option.length > setCharacterLimit)\">\n </lib-ckeditor-tool>\n <label *ngIf=\"\n showFormError && (option.body === undefined || option.body === '')\n \" class=\"sb-color-error fs-0-785\">{{configService.labelConfig?.lbl?.fillThisOption}}</label>\n <label *ngIf=\"option.length > setCharacterLimit\" class=\"ui basic red error label pt-1\">\n {{configService.labelConfig?.lbl?.reduceSize}}</label>\n </div>\n <div class=\"sb-checkbox sb-checkbox-primary pl-10 mt-0 pt-0\" [class.selected]=\"editorState.answer === i.toString()\" *ngIf=\"sourcingSettings?.enforceCorrectAnswer !== false\">\n <input type=\"radio\" id=\"answer_{{ i + 1 }}\" name=\"example\" value=\"{{ i }}\" (change)=\"editorDataHandler($event);\"\n [(ngModel)]=\"editorState.answer\" [ngModelOptions]=\"{ standalone: true }\" [checked]=\"editorState.answer === i.toString()\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('mark_as_right_anwser','click',undefined,telemetryService.telemetryPageId,{answer:i.toString()})\" />\n <label for=\"answer_{{ i + 1 }}\" class=\"mr-0 fs-0-785\">{{configService.labelConfig?.lbl?.correctAns}}</label>\n </div>\n <div class=\"w-100\" *ngIf=\"showSubMenu\">\n <lib-question-option-sub-menu [subMenus]=\"subMenus[i]\" (onChange)=\"subMenuChange($event,i)\"></lib-question-option-sub-menu>\n <div *ngIf=\"parentMeta?.allowScoring === 'Yes'\">\n <label for=\"score\" class=\"d-block mt-10 optionLabel\">Score <span class=\"sb-required\">*</span></label>\n <input\n class=\"sb-textbox false mb-30\"\n [placeholder]=\"'Add score here'\"\n (change)=\"setScore($event.target.value,i)\"\n *ngIf=\"sourcingSettings.showAddScore\"\n type=\"number\"\n [value]=\"mapping[i]?.outcomes?.score\"\n />\n </div>\n </div>\n </div>\n <div class=\"d-flex\">\n <button *ngIf=\"editorState.options.length < editorState.maximumOptions\"\n class=\"sb-btn sb-btn-outline-primary sb-btn-xs sb-left-icon-btn text-inherit b-0 bg-none no-hover p-0 mb-10 mt-10\"\n (click)=\"editorState.addOptions();editorDataHandler($event);\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('add_option','click','submit',telemetryService.telemetryPageId)\" >\n <i class=\"plus circle icon fs-1-286 pull-left mr-0\" aria-hidden=\"true\"></i><span class=\"sb-line-height-24\">{{configService.labelConfig?.lbl?.addOption}}</span>\n </button>\n </div>\n </div>\n</ng-container>\n\n<ng-template #readOnlyContainer>\n <div class=\"row mb-0 p-0\" *ngFor=\"let option of editorState.options; let i=index\">\n <div class=\"twelve wide column p-0\">\n <div class=\"ckeditor-tool width-100\">\n <div class=\"ckeditor-tool__question-readonly mb-24\">\n <label class=\"px-16 py-8 fs-0-92 mb-0 ckeditor-tool__label width-100\">Option {{ i+1 }}</label>\n <div class=\"ckeditor-tool__solution__body\">\n <p class=\"fs-0-785 p-16\" [innerHTML]=\"option.body | sanitizeHtml\"></p>\n <div class=\"mcq-checkbox-answer\" *ngIf=\"editorState.answer === i.toString()\">\n <div class=\"sb-checkbox sb-checkbox-primary mr-auto selected\">\n <input type=\"checkbox\" id=\"check1\" name=\"example\" disabled checked>\n <label for=\"check1\">{{configService.labelConfig?.lbl?.correctAns}}</label>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-100\" *ngIf=\"showSubMenu\">\n <lib-question-option-sub-menu [subMenus]=\"subMenus[i]\" (onChange)=\"subMenuChange($event,i)\"></lib-question-option-sub-menu>\n <div *ngIf=\"parentMeta?.allowScoring === 'Yes'\">\n <label for=\"score\" class=\"d-block mt-10 optionLabel\">Score</label>\n <input\n class=\"sb-textbox false mb-30\"\n [placeholder]=\"'Add score here'\"\n (change)=\"setScore($event.target.value,i)\"\n *ngIf=\"sourcingSettings.showAddScore\"\n type=\"number\"\n [value]=\"mapping[i]?.outcomes?.score\" \n disabled\n />\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".q-sb-layout-single:before{content:url(/assets/images/layoutoneicon.svg)}.q-sb-layout-single.active,.q-sb-layout-single:hover{border-color:var(--primary-400);background-color:#fff;color:var(--primary-400)}.q-sb-layout-single.active:before,.q-sb-layout-single:hover:before{content:url(/assets/images/layoutoneicon_blue.svg)}.q-sb-layout-two:before{content:url(/assets/images/layouttwoicon.svg)}.q-sb-layout-two.active,.q-sb-layout-two:hover{border-color:var(--primary-400);background-color:#fff;color:var(--primary-400)}.q-sb-layout-two.active:before,.q-sb-layout-two:hover:before{content:url(/assets/images/layouttwoicon_blue.svg)}.q-sb-layout-three:before{content:url(/assets/images/layoutthreeicon.svg);top:-2px;position:relative}.q-sb-layout-three.active,.q-sb-layout-three:hover{border-color:var(--primary-400);background-color:#fff;color:var(--primary-400)}.q-sb-layout-three.active:before,.q-sb-layout-three:hover:before{content:url(/assets/images/layoutthreeicon_blue.svg)}.q-sb-layout-imgoption:before{content:url(/assets/images/imageicon.svg)}.q-sb-layout-imgoption.active:before,.q-sb-layout-imgoption:hover:before{content:url(/assets/images/imageicon_blue.svg)}.q-sb-layout-alignleft:before{content:url(/assets/images/leftalignicon.svg)}.q-sb-layout-alignleft.active:before,.q-sb-layout-alignleft:hover:before{content:url(/assets/images/leftalignicon_blue.svg)}.q-sb-layout-aligncenter:before{content:url(/assets/images/middlealignicon.svg)}.q-sb-layout-aligncenter.active:before,.q-sb-layout-aligncenter:hover:before{content:url(/assets/images/middlealignicon_blue.svg)}.q-sb-layout-alignright:before{content:url(/assets/images/rightalignicon.svg)}.q-sb-layout-alignright.active:before,.q-sb-layout-alignright:hover:before{content:url(/assets/images/rightalignicon_blue.svg)}.h-7{height:7px}.w-20{width:20px}.b-0{border:0!important}.sb-line-height-24{line-height:24px}.bg-none{background-color:transparent!important}.bg-none:hover,.bg-none:focus{background-color:transparent!important}.sb-w-85 div[data-title]:hover:before{left:0%;top:-122%!important;width:256px}.sb-field-group .sb-left-icon-btn.sb-btn-xs{padding:0!important;margin-top:-10px}\n"] }]
129
+ }], ctorParameters: function () { return [{ type: i1.EditorTelemetryService }, { type: i2.ConfigService }]; }, propDecorators: { editorState: [{
130
+ type: Input
131
+ }], showFormError: [{
132
+ type: Input
133
+ }], sourcingSettings: [{
134
+ type: Input
135
+ }], isReadOnlyMode: [{
136
+ type: Input
137
+ }], showSubMenu: [{
138
+ type: Input
139
+ }], parentMeta: [{
140
+ type: Input
141
+ }], editorDataOutput: [{
142
+ type: Output
143
+ }] } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xsZWN0aW9uLWVkaXRvci1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vcHRpb25zL29wdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sS0FBSyxDQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBUS9CLE1BQU0sT0FBTyxnQkFBZ0I7SUFhM0IsWUFBbUIsZ0JBQXdDLEVBQVMsYUFBNEI7UUFBN0UscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBUnZGLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTVCLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pFLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUN4QixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixpQkFBWSxHQUFHLGNBQWMsQ0FBQztRQUM5QixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBUSxFQUFFLENBQUM7SUFDMkUsQ0FBQztJQUVyRyxRQUFRO1FBQ04sSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxDQUFDLGlC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QUcsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQXhIVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw0U0NUN0IsNDFOQW9HQTs7NEZEM0ZhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO3lJQUtkLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEVkaXRvclRlbGVtZXRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZWxlbWV0cnkvdGVsZW1ldHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItb3B0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcHRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3B0aW9ucy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZWRpdG9yU3RhdGU6IGFueTtcbiAgQElucHV0KCkgc2hvd0Zvcm1FcnJvcjtcbiAgQElucHV0KCkgc291cmNpbmdTZXR0aW5nczogYW55O1xuICBASW5wdXQoKSBpc1JlYWRPbmx5TW9kZTogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd1N1Yk1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcGFyZW50TWV0YTogYW55O1xuICBAT3V0cHV0KCkgZWRpdG9yRGF0YU91dHB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIHNldENoYXJhY3RlckxpbWl0ID0gMTYwO1xuICBwdWJsaWMgc2V0SW1hZ2VMaW1pdCA9IDE7XG4gIHB1YmxpYyB0ZW1wbGF0ZVR5cGUgPSAnbWNxLXZlcnRpY2FsJztcbiAgcHVibGljIHN1Yk1lbnVzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgbWFwcGluZzogYW55ID0ge307XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZWxlbWV0cnlTZXJ2aWNlOiBFZGl0b3JUZWxlbWV0cnlTZXJ2aWNlLCBwdWJsaWMgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuZWRpdG9yU3RhdGUudGVtcGxhdGVJZCkpIHtcbiAgICAgIHRoaXMudGVtcGxhdGVUeXBlID0gdGhpcy5lZGl0b3JTdGF0ZS50ZW1wbGF0ZUlkO1xuICAgIH1cbiAgICB0aGlzLmVkaXRvckRhdGFIYW5kbGVyKCk7XG4gIH1cblxuICBlZGl0b3JEYXRhSGFuZGxlcihldmVudD8pIHtcbiAgICBjb25zdCBib2R5ID0gdGhpcy5wcmVwYXJlTWNxQm9keSh0aGlzLmVkaXRvclN0YXRlKTtcbiAgICB0aGlzLmVkaXRvckRhdGFPdXRwdXQuZW1pdCh7IGJvZHksIG1lZGlhb2JqOiBldmVudCA/IGV2ZW50Lm1lZGlhb2JqIDogdW5kZWZpbmVkIH0pO1xuICB9XG5cbiAgcHJlcGFyZU1jcUJvZHkoZWRpdG9yU3RhdGUpIHtcbiAgICBsZXQgbWV0YWRhdGE6IGFueTtcbiAgICBjb25zdCBjb3JyZWN0QW5zd2VyID0gZWRpdG9yU3RhdGUuYW5zd2VyO1xuICAgIGxldCByZXNpbmRleDtcbiAgICBjb25zdCBvcHRpb25zID0gXy5tYXAoZWRpdG9yU3RhdGUub3B0aW9ucywgKG9wdCwga2V5KSA9PiB7XG4gICAgICByZXNpbmRleCA9IE51bWJlcihrZXkpO1xuICAgICAgaWYgKE51bWJlcihjb3JyZWN0QW5zd2VyKSA9PT0ga2V5KSB7XG4gICAgICAgIHJldHVybiB7IGFuc3dlcjogdHJ1ZSwgdmFsdWU6IHsgYm9keTogb3B0LmJvZHksIHZhbHVlOiByZXNpbmRleCB9IH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4geyBhbnN3ZXI6IGZhbHNlLCB2YWx1ZTogeyBib2R5OiBvcHQuYm9keSwgdmFsdWU6IHJlc2luZGV4IH0gfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBtZXRhZGF0YSA9IHtcbiAgICAgIHRlbXBsYXRlSWQ6IHRoaXMudGVtcGxhdGVUeXBlLFxuICAgICAgbmFtZTogJ011bHRpcGxlIENob2ljZSBRdWVzdGlvbicsXG4gICAgICByZXNwb25zZURlY2xhcmF0aW9uOiB0aGlzLmdldFJlc3BvbnNlRGVjbGFyYXRpb24oZWRpdG9yU3RhdGUpLFxuICAgICAgaW50ZXJhY3Rpb25UeXBlczogWydjaG9pY2UnXSxcbiAgICAgIGludGVyYWN0aW9uczogdGhpcy5nZXRJbnRlcmFjdGlvbnMoZWRpdG9yU3RhdGUub3B0aW9ucyksXG4gICAgICBlZGl0b3JTdGF0ZToge1xuICAgICAgICBvcHRpb25zXG4gICAgICB9LFxuICAgICAgcVR5cGU6ICdNQ1EnLFxuICAgICAgcHJpbWFyeUNhdGVnb3J5OiAnTXVsdGlwbGUgQ2hvaWNlIFF1ZXN0aW9uJ1xuICAgIH07XG4gICAgcmV0dXJuIG1ldGFkYXRhO1xuICB9XG5cbiAgZ2V0UmVzcG9uc2VEZWNsYXJhdGlvbihlZGl0b3JTdGF0ZSkge1xuICAgIGNvbnN0IHJlc3BvbnNlRGVjbGFyYXRpb24gPSB7XG4gICAgICByZXNwb25zZTE6IHtcbiAgICAgICAgbWF4U2NvcmU6IDEsXG4gICAgICAgIGNhcmRpbmFsaXR5OiAnc2luZ2xlJyxcbiAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICBjb3JyZWN0UmVzcG9uc2U6IHtcbiAgICAgICAgICB2YWx1ZTogZWRpdG9yU3RhdGUuYW5zd2VyLFxuICAgICAgICAgIG91dGNvbWVzOiB7IFNDT1JFOiAxIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHJlc3BvbnNlRGVjbGFyYXRpb247XG4gIH1cblxuICBnZXRJbnRlcmFjdGlvbnMob3B0aW9ucykge1xuICAgIGxldCBpbmRleDtcbiAgICBjb25zdCBpbnRlcmFjdE9wdGlvbnMgPSBfLm1hcChvcHRpb25zLCAob3B0LCBrZXkpID0+IHtcbiAgICAgIGluZGV4ID0gTnVtYmVyKGtleSk7XG4gICAgICByZXR1cm4geyBsYWJlbDogb3B0LmJvZHksIHZhbHVlOiBpbmRleCB9O1xuICAgIH0pO1xuICAgIGNvbnN0IGludGVyYWN0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNlMToge1xuICAgICAgICB0eXBlOiAnY2hvaWNlJyxcbiAgICAgICAgb3B0aW9uczogaW50ZXJhY3RPcHRpb25zXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gaW50ZXJhY3Rpb25zO1xuICB9XG5cbiAgc2V0VGVtcGxldGUodGVtcGxhdGUpIHtcbiAgICB0aGlzLnRlbXBsYXRlVHlwZSA9IHRlbXBsYXRlO1xuICAgIHRoaXMuZWRpdG9yRGF0YUhhbmRsZXIoKTtcbiAgfVxuXG4gIHN1Yk1lbnVDaGFuZ2UoeyBpbmRleCwgdmFsdWUgfSwgb3B0aW9uSW5kZXgpIHtcbiAgICBfLnNldCh0aGlzLmVkaXRvclN0YXRlLCBgaW50ZXJhY3Rpb25zLnJlc3BvbnNlMS5vcHRpb25zWyR7b3B0aW9uSW5kZXh9XS5oaW50cy5lbmAsIHZhbHVlKVxuICB9XG5cbiAgc3ViTWVudUNvbmZpZyhvcHRpb25zKSB7XG4gICAgdGhpcy5zdWJNZW51cyA9IFtdXG4gICAgb3B0aW9ucy5tYXAoKG9wdCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gXy5nZXQodGhpcy5lZGl0b3JTdGF0ZSwgYGludGVyYWN0aW9ucy5yZXNwb25zZTEub3B0aW9uc1ske2luZGV4fV0uaGludHMuZW5gKVxuICAgICAgdGhpcy5zdWJNZW51c1tpbmRleF0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ2FkZEhpbnQnLFxuICAgICAgICAgIG5hbWU6ICdBZGQgSGludCcsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgbGFiZWw6ICdIaW50JyxcbiAgICAgICAgICBlbmFibGVkOiB2YWx1ZSA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICAgIHNob3c6IF8uZ2V0KHRoaXMuc291cmNpbmdTZXR0aW5ncywgJ3Nob3dBZGRIaW50cycpLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFNjb3JlKHZhbHVlLCBzY29yZUluZGV4KSB7XG4gICAgY29uc3Qgb2JqID0ge1xuICAgICAgcmVzcG9uc2U6IHNjb3JlSW5kZXgsXG4gICAgICBvdXRjb21lczoge1xuICAgICAgICBzY29yZTogdmFsdWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5tYXBwaW5nW3Njb3JlSW5kZXhdID0gb2JqO1xuICAgIHRoaXMuZWRpdG9yRGF0YUhhbmRsZXIoKTtcbiAgfVxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmVhZE9ubHlNb2RlOyBlbHNlIHJlYWRPbmx5Q29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJwdC0xMCBmcy0wLTkyIHNiLXctODVcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmcy0wLTkyIGZvbnQtd2VpZ2h0LWJvbGRcIj57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8ub3B0aW9uc319PHNwYW4gY2xhc3M9XCJzYi1yZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cbiAgICA8bGFiZWwgY2xhc3M9XCJmcy0wLTkyIGQtaW5saW5lLWJsb2NrXCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LnNlbGVjdExheW91dH19PC9sYWJlbD5cbiAgICA8aSBjbGFzcz1cImljb24gaW5mbyBjaXJjbGUgbWwtOFwiIHN1aVBvcHVwIHBvcHVwRGVsYXk9XCI1MDBcIiBwb3B1cFRleHQ9e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/Lm9wdGlvbnNQb3B1cFRleHR9fT48L2k+XG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyIG1yLThcIj48L3NwYW4+XG4gICAgPHNwYW4+PGJ1dHRvbiBjbGFzcz1cInNiLWJ0biBzYi1idG4teHMgc2ItYnRuLW91dGxpbmUtZ3JheSBtci01IHEtc2ItbGF5b3V0LXNpbmdsZVwiIFtuZ0NsYXNzXT1cInthY3RpdmU6ICdtY3EtdmVydGljYWwnID09PSB0ZW1wbGF0ZVR5cGV9XCIgKGNsaWNrKT1cInNldFRlbXBsZXRlKCdtY3EtdmVydGljYWwnKVwiPjxpIGNsYXNzPVwibXItMTAgaC03XCI+PC9pPiB7e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8udmVydGljYWx9fTwvYnV0dG9uPjwvc3Bhbj5cbiAgICA8c3Bhbj48YnV0dG9uIGNsYXNzPVwic2ItYnRuIHNiLWJ0bi14cyBzYi1idG4tb3V0bGluZS1ncmF5IG1yLTUgcS1zYi1sYXlvdXQtdHdvXCIgW25nQ2xhc3NdPVwie2FjdGl2ZTogJ21jcS12ZXJ0aWNhbC1zcGxpdCcgPT09IHRlbXBsYXRlVHlwZX1cIiAoY2xpY2spPVwic2V0VGVtcGxldGUoJ21jcS12ZXJ0aWNhbC1zcGxpdCcpXCI+PGkgY2xhc3M9XCJtci0xMCBoLTcgdy0yMFwiPjwvaT57e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uZ3JpZH19PC9idXR0b24+PC9zcGFuPlxuICAgIDxzcGFuPjxidXR0b24gY2xhc3M9XCJzYi1idG4gc2ItYnRuLXhzIHNiLWJ0bi1vdXRsaW5lLWdyYXkgcS1zYi1sYXlvdXQtdGhyZWVcIiBbbmdDbGFzc109XCJ7YWN0aXZlOiAnbWNxLWhvcml6b250YWwnID09PSB0ZW1wbGF0ZVR5cGV9XCIgKGNsaWNrKT1cInNldFRlbXBsZXRlKCdtY3EtaG9yaXpvbnRhbCcpXCI+IDxpIGNsYXNzPVwibXItMTAgaC03XCI+PC9pPiB7e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uaG9yaXpvbnRhbH19PC9idXR0b24+PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGxhYmVsICpuZ0lmPVwic2hvd0Zvcm1FcnJvciAmJiAhZWRpdG9yU3RhdGUuYW5zd2VyICYmIHNvdXJjaW5nU2V0dGluZ3M/LmVuZm9yY2VDb3JyZWN0QW5zd2VyXCIgY2xhc3M9XCJ1aSBiYXNpYyByZWQgZXJyb3IgbGFiZWwgcHQtMSBtdC0xMFwiPlxuICAgIHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5zZWxlY3RPbmVBbnN9fTwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggcHQtMTAgZmxleC1kYyBzYi1tY3EtZm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggc2ItbWNxLWl0ZW0gZmxleC13LXdyYXBcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGVkaXRvclN0YXRlLm9wdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYi13LTg1IHNiLWNrZWRpdG9yIHJlbGF0aXZlIG1iLTE1XCI+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImVkaXRvclN0YXRlLm9wdGlvbnMubGVuZ3RoIDwgM1wiIGNsYXNzPVwic2ItYnRuIHNiLWNrZWRpdG9yLWNsb3NlIGFic29sdXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yU3RhdGUuZGVsZXRlT3B0aW9uKGkpO2VkaXRvckRhdGFIYW5kbGVyKCRldmVudCk7XCJcbiAgICAgICAgICBsaWJUZWxlbWV0cnlJbnRlcmFjdFxuICAgICAgICAgIFt0ZWxlbWV0cnlJbnRlcmFjdEVkYXRhXT1cInRlbGVtZXRyeVNlcnZpY2UuZ2V0VGVsZW1ldHJ5SW50ZXJhY3RFZGF0YSgnZGVsZXRlX29wdGlvbicsJ2NsaWNrJywnc3VibWl0Jyx0ZWxlbWV0cnlTZXJ2aWNlLnRlbGVtZXRyeVBhZ2VJZClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImljb24gY2xvc2VcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bGliLWNrZWRpdG9yLXRvb2wgW3NldENoYXJhY3RlckxpbWl0XT1cInNldENoYXJhY3RlckxpbWl0XCIgKGVkaXRvckRhdGFPdXRwdXQpPVwib3B0aW9uLmJvZHkgPSAkZXZlbnQuYm9keTsgb3B0aW9uLmxlbmd0aCA9ICRldmVudC5sZW5ndGg7IGVkaXRvckRhdGFIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgIFtlZGl0b3JEYXRhSW5wdXRdPVwib3B0aW9uLmJvZHlcIiBjbGFzcz1cImNrZWRpdG9yLXRvb2xfX29wdGlvbiBtYi0xMFwiXG4gICAgICAgICAgW2NsYXNzLm1iLTVdPVwic2hvd0Zvcm1FcnJvciAmJiAoW3VuZGVmaW5lZCwgJyddLmluY2x1ZGVzKG9wdGlvbi5ib2R5KSB8fCBvcHRpb24ubGVuZ3RoID4gc2V0Q2hhcmFjdGVyTGltaXQpXCI+XG4gICAgICAgIDwvbGliLWNrZWRpdG9yLXRvb2w+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cIlxuICAgICAgICAgICAgc2hvd0Zvcm1FcnJvciAmJiAob3B0aW9uLmJvZHkgPT09IHVuZGVmaW5lZCB8fCBvcHRpb24uYm9keSA9PT0gJycpXG4gICAgICAgICAgXCIgY2xhc3M9XCJzYi1jb2xvci1lcnJvciBmcy0wLTc4NVwiPnt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5maWxsVGhpc09wdGlvbn19PC9sYWJlbD5cbiAgICAgICAgPGxhYmVsICpuZ0lmPVwib3B0aW9uLmxlbmd0aCA+IHNldENoYXJhY3RlckxpbWl0XCIgY2xhc3M9XCJ1aSBiYXNpYyByZWQgZXJyb3IgbGFiZWwgcHQtMVwiPlxuICAgICAgICAgIHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5yZWR1Y2VTaXplfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2ItY2hlY2tib3ggc2ItY2hlY2tib3gtcHJpbWFyeSBwbC0xMCBtdC0wIHB0LTBcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiZWRpdG9yU3RhdGUuYW5zd2VyID09PSBpLnRvU3RyaW5nKClcIiAqbmdJZj1cInNvdXJjaW5nU2V0dGluZ3M/LmVuZm9yY2VDb3JyZWN0QW5zd2VyICE9PSBmYWxzZVwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgaWQ9XCJhbnN3ZXJfe3sgaSArIDEgfX1cIiBuYW1lPVwiZXhhbXBsZVwiIHZhbHVlPVwie3sgaSB9fVwiICAoY2hhbmdlKT1cImVkaXRvckRhdGFIYW5kbGVyKCRldmVudCk7XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJlZGl0b3JTdGF0ZS5hbnN3ZXJcIiBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIiBbY2hlY2tlZF09XCJlZGl0b3JTdGF0ZS5hbnN3ZXIgPT09IGkudG9TdHJpbmcoKVwiXG4gICAgICAgIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICAgIFt0ZWxlbWV0cnlJbnRlcmFjdEVkYXRhXT1cInRlbGVtZXRyeVNlcnZpY2UuZ2V0VGVsZW1ldHJ5SW50ZXJhY3RFZGF0YSgnbWFya19hc19yaWdodF9hbndzZXInLCdjbGljaycsdW5kZWZpbmVkLHRlbGVtZXRyeVNlcnZpY2UudGVsZW1ldHJ5UGFnZUlkLHthbnN3ZXI6aS50b1N0cmluZygpfSlcIiAvPlxuICAgICAgICA8bGFiZWwgZm9yPVwiYW5zd2VyX3t7IGkgKyAxIH19XCIgY2xhc3M9XCJtci0wIGZzLTAtNzg1XCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LmNvcnJlY3RBbnN9fTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiICpuZ0lmPVwic2hvd1N1Yk1lbnVcIj5cbiAgICAgICAgPGxpYi1xdWVzdGlvbi1vcHRpb24tc3ViLW1lbnUgW3N1Yk1lbnVzXT1cInN1Yk1lbnVzW2ldXCIgKG9uQ2hhbmdlKT1cInN1Yk1lbnVDaGFuZ2UoJGV2ZW50LGkpXCI+PC9saWItcXVlc3Rpb24tb3B0aW9uLXN1Yi1tZW51PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicGFyZW50TWV0YT8uYWxsb3dTY29yaW5nID09PSAnWWVzJ1wiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJzY29yZVwiIGNsYXNzPVwiZC1ibG9jayBtdC0xMCBvcHRpb25MYWJlbFwiPlNjb3JlIDxzcGFuIGNsYXNzPVwic2ItcmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cInNiLXRleHRib3ggZmFsc2UgbWItMzBcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBZGQgc2NvcmUgaGVyZSdcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXRTY29yZSgkZXZlbnQudGFyZ2V0LnZhbHVlLGkpXCJcbiAgICAgICAgICAgICpuZ0lmPVwic291cmNpbmdTZXR0aW5ncy5zaG93QWRkU2NvcmVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbdmFsdWVdPVwibWFwcGluZ1tpXT8ub3V0Y29tZXM/LnNjb3JlXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0b3JTdGF0ZS5vcHRpb25zLmxlbmd0aCA8IGVkaXRvclN0YXRlLm1heGltdW1PcHRpb25zXCJcbiAgICAgICAgY2xhc3M9XCJzYi1idG4gc2ItYnRuLW91dGxpbmUtcHJpbWFyeSBzYi1idG4teHMgc2ItbGVmdC1pY29uLWJ0biB0ZXh0LWluaGVyaXQgYi0wIGJnLW5vbmUgbm8taG92ZXIgcC0wIG1iLTEwIG10LTEwXCJcbiAgICAgICAgKGNsaWNrKT1cImVkaXRvclN0YXRlLmFkZE9wdGlvbnMoKTtlZGl0b3JEYXRhSGFuZGxlcigkZXZlbnQpO1wiXG4gICAgICAgIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICAgIFt0ZWxlbWV0cnlJbnRlcmFjdEVkYXRhXT1cInRlbGVtZXRyeVNlcnZpY2UuZ2V0VGVsZW1ldHJ5SW50ZXJhY3RFZGF0YSgnYWRkX29wdGlvbicsJ2NsaWNrJywnc3VibWl0Jyx0ZWxlbWV0cnlTZXJ2aWNlLnRlbGVtZXRyeVBhZ2VJZClcIiA+XG4gICAgICAgIDxpIGNsYXNzPVwicGx1cyBjaXJjbGUgaWNvbiBmcy0xLTI4NiBwdWxsLWxlZnQgbXItMFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48c3BhbiBjbGFzcz1cInNiLWxpbmUtaGVpZ2h0LTI0XCI+e3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5sYmw/LmFkZE9wdGlvbn19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcmVhZE9ubHlDb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJyb3cgbWItMCBwLTBcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGVkaXRvclN0YXRlLm9wdGlvbnM7IGxldCBpPWluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cInR3ZWx2ZSB3aWRlIGNvbHVtbiBwLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJja2VkaXRvci10b29sIHdpZHRoLTEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2tlZGl0b3ItdG9vbF9fcXVlc3Rpb24tcmVhZG9ubHkgbWItMjRcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJweC0xNiBweS04IGZzLTAtOTIgbWItMCBja2VkaXRvci10b29sX19sYWJlbCB3aWR0aC0xMDBcIj5PcHRpb24ge3sgaSsxIH19PC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2tlZGl0b3ItdG9vbF9fc29sdXRpb25fX2JvZHlcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZnMtMC03ODUgcC0xNlwiIFtpbm5lckhUTUxdPVwib3B0aW9uLmJvZHkgIHwgc2FuaXRpemVIdG1sXCI+PC9wPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1jcS1jaGVja2JveC1hbnN3ZXJcIiAqbmdJZj1cImVkaXRvclN0YXRlLmFuc3dlciA9PT0gaS50b1N0cmluZygpXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYi1jaGVja2JveCBzYi1jaGVja2JveC1wcmltYXJ5IG1yLWF1dG8gc2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJjaGVjazFcIiBuYW1lPVwiZXhhbXBsZVwiIGRpc2FibGVkIGNoZWNrZWQ+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNoZWNrMVwiPnt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5jb3JyZWN0QW5zfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCIgKm5nSWY9XCJzaG93U3ViTWVudVwiPlxuICAgICAgICA8bGliLXF1ZXN0aW9uLW9wdGlvbi1zdWItbWVudSBbc3ViTWVudXNdPVwic3ViTWVudXNbaV1cIiAob25DaGFuZ2UpPVwic3ViTWVudUNoYW5nZSgkZXZlbnQsaSlcIj48L2xpYi1xdWVzdGlvbi1vcHRpb24tc3ViLW1lbnU+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJwYXJlbnRNZXRhPy5hbGxvd1Njb3JpbmcgPT09ICdZZXMnXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cInNjb3JlXCIgY2xhc3M9XCJkLWJsb2NrIG10LTEwIG9wdGlvbkxhYmVsXCI+U2NvcmU8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJzYi10ZXh0Ym94IGZhbHNlIG1iLTMwXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQWRkIHNjb3JlIGhlcmUnXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U2NvcmUoJGV2ZW50LnRhcmdldC52YWx1ZSxpKVwiXG4gICAgICAgICAgICAqbmdJZj1cInNvdXJjaW5nU2V0dGluZ3Muc2hvd0FkZFNjb3JlXCJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIm1hcHBpbmdbaV0/Lm91dGNvbWVzPy5zY29yZVwiIFxuICAgICAgICAgICAgZGlzYWJsZWRcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,125 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import 'jquery.fancytree';
3
+ import * as _ from 'lodash-es';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/editor/editor.service";
6
+ export class PlainTreeComponent {
7
+ constructor(editorService) {
8
+ this.editorService = editorService;
9
+ this.treeEmitter = new EventEmitter();
10
+ }
11
+ ngOnInit() { }
12
+ ngAfterViewInit() {
13
+ this.renderTree(this.getTreeConfig());
14
+ }
15
+ renderTree(options) {
16
+ $(this.tree.nativeElement).fancytree(options);
17
+ }
18
+ buildTreeData(data) {
19
+ let tree = [];
20
+ _.forEach(data, (child) => {
21
+ if (child.children) {
22
+ _.forEach(child.children, (data) => {
23
+ tree.push({
24
+ id: data?.id,
25
+ title: data?.title,
26
+ tooltip: data?.title,
27
+ primaryCategory: _.get(this.editorService, 'editorConfig.config.primaryCategory'),
28
+ metadata: {
29
+ objectType: _.get(this.editorService, 'editorConfig.config.objectType'),
30
+ name: data?.title,
31
+ },
32
+ folder: true,
33
+ root: false,
34
+ icon: 'fa fa-folder-o',
35
+ });
36
+ });
37
+ }
38
+ });
39
+ return tree;
40
+ }
41
+ getQuestionsList(data) {
42
+ this.treeEmitter.emit({
43
+ identifier: _.get(data, 'id'),
44
+ criteriaName: _.get(data, 'metadata.name')
45
+ });
46
+ }
47
+ getTreeConfig() {
48
+ const rootNode = [
49
+ {
50
+ title: 'Criteria Name',
51
+ key: '2',
52
+ folder: true,
53
+ expanded: true,
54
+ root: true,
55
+ icon: 'fa fa-folder-o',
56
+ children: this.buildTreeData(this.treeData),
57
+ },
58
+ ];
59
+ const options = {
60
+ extensions: ['glyph', 'dnd5'],
61
+ clickFolderMode: 3,
62
+ source: rootNode,
63
+ escapeTitles: true,
64
+ glyph: {
65
+ preset: 'awesome4',
66
+ map: {
67
+ folder: 'icon folder sb-fancyTree-icon',
68
+ folderOpen: 'icon folder outline sb-fancyTree-icon',
69
+ },
70
+ },
71
+ dnd5: {
72
+ autoExpandMS: 400,
73
+ // focusOnClick: true,
74
+ preventVoidMoves: true,
75
+ preventRecursion: true,
76
+ filter: {
77
+ autoApply: true,
78
+ autoExpand: false,
79
+ counter: true,
80
+ fuzzy: false,
81
+ hideExpandedCounter: true,
82
+ hideExpanders: false,
83
+ highlight: true,
84
+ leavesOnly: false,
85
+ nodata: true,
86
+ mode: 'dimm',
87
+ },
88
+ },
89
+ init: (event, data) => { },
90
+ click: (event, data) => {
91
+ this.tree.nativeElement.click();
92
+ return true;
93
+ },
94
+ activate: (event, data) => {
95
+ if (!_.isUndefined(data.node.data.id)) {
96
+ this.getQuestionsList(_.get(data, 'node.data'));
97
+ }
98
+ },
99
+ renderNode: (event, data) => {
100
+ const node = data.node;
101
+ const $nodeSpan = $(node.span);
102
+ // check if span of node already rendered
103
+ if (!$nodeSpan.data('rendered')) {
104
+ // span rendered
105
+ $nodeSpan.data('rendered', true);
106
+ }
107
+ },
108
+ };
109
+ return options;
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlainTreeComponent, deps: [{ token: i1.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PlainTreeComponent, selector: "lib-plain-tree", inputs: { treeData: "treeData" }, outputs: { treeEmitter: "treeEmitter" }, viewQueries: [{ propertyName: "tree", first: true, predicate: ["plainTree"], descendants: true }], ngImport: i0, template: "<div #plainTree></div>\n", styles: [""] }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlainTreeComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'lib-plain-tree', template: "<div #plainTree></div>\n" }]
117
+ }], ctorParameters: function () { return [{ type: i1.EditorService }]; }, propDecorators: { tree: [{
118
+ type: ViewChild,
119
+ args: ['plainTree']
120
+ }], treeData: [{
121
+ type: Input
122
+ }], treeEmitter: [{
123
+ type: Output
124
+ }] } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaW4tdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xsZWN0aW9uLWVkaXRvci1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9wbGFpbi10cmVlL3BsYWluLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvcGxhaW4tdHJlZS9wbGFpbi10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7OztBQVUvQixNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRnRDLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFaEIsQ0FBQztJQUVwRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU87UUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBSTtRQUNoQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzdCLElBQUksS0FB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O2dCQUN4QixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQztvQkFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQ2pEO1lBQ0gsQ0FBQztZQUNELFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDdkIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFL0IseUNBQXlDO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDL0IsZ0JBQWdCO29CQUNoQixTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDbEM7WUFDSCxDQUFDO1NBQ0YsQ0FBQztRQUNGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBdEhVLGtCQUFrQjttR0FBbEIsa0JBQWtCLG9PQ3JCL0IsMEJBQ0E7OzRGRG9CYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO29HQUtLLElBQUk7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVztnQkFDYixRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICdqcXVlcnkuZmFuY3l0cmVlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0b3IvZWRpdG9yLnNlcnZpY2UnO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wbGFpbi10cmVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYWluLXRyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFpbi10cmVlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBsYWluVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3BsYWluVHJlZScpIHB1YmxpYyB0cmVlOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSB0cmVlRGF0YTtcbiAgQE91dHB1dCgpIHRyZWVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMucmVuZGVyVHJlZSh0aGlzLmdldFRyZWVDb25maWcoKSk7XG4gIH1cblxuICByZW5kZXJUcmVlKG9wdGlvbnMpIHtcbiAgICAkKHRoaXMudHJlZS5uYXRpdmVFbGVtZW50KS5mYW5jeXRyZWUob3B0aW9ucyk7XG4gIH1cblxuICBidWlsZFRyZWVEYXRhKGRhdGEpIHtcbiAgICBsZXQgdHJlZSA9IFtdO1xuICAgIF8uZm9yRWFjaChkYXRhLCAoY2hpbGQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGNoaWxkLmNoaWxkcmVuKSB7XG4gICAgICAgIF8uZm9yRWFjaChjaGlsZC5jaGlsZHJlbiwgKGRhdGEpID0+IHtcbiAgICAgICAgICB0cmVlLnB1c2goe1xuICAgICAgICAgICAgaWQ6IGRhdGE/LmlkLFxuICAgICAgICAgICAgdGl0bGU6IGRhdGE/LnRpdGxlLFxuICAgICAgICAgICAgdG9vbHRpcDogZGF0YT8udGl0bGUsXG4gICAgICAgICAgICBwcmltYXJ5Q2F0ZWdvcnk6IF8uZ2V0KFxuICAgICAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UsXG4gICAgICAgICAgICAgICdlZGl0b3JDb25maWcuY29uZmlnLnByaW1hcnlDYXRlZ29yeSdcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICBvYmplY3RUeXBlOiBfLmdldChcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgJ2VkaXRvckNvbmZpZy5jb25maWcub2JqZWN0VHlwZSdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgbmFtZTogZGF0YT8udGl0bGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9sZGVyOiB0cnVlLFxuICAgICAgICAgICAgcm9vdDogZmFsc2UsXG4gICAgICAgICAgICBpY29uOiAnZmEgZmEtZm9sZGVyLW8nLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdHJlZTtcbiAgfVxuXG4gIGdldFF1ZXN0aW9uc0xpc3QoZGF0YSkge1xuICAgIHRoaXMudHJlZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBpZGVudGlmaWVyOiBfLmdldChkYXRhLCAnaWQnKSxcbiAgICAgIGNyaXRlcmlhTmFtZTogXy5nZXQoZGF0YSwgJ21ldGFkYXRhLm5hbWUnKVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0VHJlZUNvbmZpZygpIHtcbiAgICBjb25zdCByb290Tm9kZSA9IFtcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6ICdDcml0ZXJpYSBOYW1lJyxcbiAgICAgICAga2V5OiAnMicsXG4gICAgICAgIGZvbGRlcjogdHJ1ZSxcbiAgICAgICAgZXhwYW5kZWQ6IHRydWUsXG4gICAgICAgIHJvb3Q6IHRydWUsXG4gICAgICAgIGljb246ICdmYSBmYS1mb2xkZXItbycsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmJ1aWxkVHJlZURhdGEodGhpcy50cmVlRGF0YSksXG4gICAgICB9LFxuICAgIF07XG4gICAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgICAgZXh0ZW5zaW9uczogWydnbHlwaCcsICdkbmQ1J10sXG4gICAgICBjbGlja0ZvbGRlck1vZGU6IDMsXG4gICAgICBzb3VyY2U6IHJvb3ROb2RlLFxuICAgICAgZXNjYXBlVGl0bGVzOiB0cnVlLFxuICAgICAgZ2x5cGg6IHtcbiAgICAgICAgcHJlc2V0OiAnYXdlc29tZTQnLFxuICAgICAgICBtYXA6IHtcbiAgICAgICAgICBmb2xkZXI6ICdpY29uIGZvbGRlciBzYi1mYW5jeVRyZWUtaWNvbicsXG4gICAgICAgICAgZm9sZGVyT3BlbjogJ2ljb24gZm9sZGVyIG91dGxpbmUgc2ItZmFuY3lUcmVlLWljb24nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRuZDU6IHtcbiAgICAgICAgYXV0b0V4cGFuZE1TOiA0MDAsXG4gICAgICAgIC8vIGZvY3VzT25DbGljazogdHJ1ZSxcbiAgICAgICAgcHJldmVudFZvaWRNb3ZlczogdHJ1ZSwgLy8gUHJldmVudCBkcm9wcGluZyBub2RlcyAnYmVmb3JlIHNlbGYnLCBldGMuXG4gICAgICAgIHByZXZlbnRSZWN1cnNpb246IHRydWUsIC8vIFByZXZlbnQgZHJvcHBpbmcgbm9kZXMgb24gb3duIGRlc2NlbmRhbnRzXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIGF1dG9BcHBseTogdHJ1ZSxcbiAgICAgICAgICBhdXRvRXhwYW5kOiBmYWxzZSxcbiAgICAgICAgICBjb3VudGVyOiB0cnVlLFxuICAgICAgICAgIGZ1enp5OiBmYWxzZSxcbiAgICAgICAgICBoaWRlRXhwYW5kZWRDb3VudGVyOiB0cnVlLFxuICAgICAgICAgIGhpZGVFeHBhbmRlcnM6IGZhbHNlLFxuICAgICAgICAgIGhpZ2hsaWdodDogdHJ1ZSxcbiAgICAgICAgICBsZWF2ZXNPbmx5OiBmYWxzZSxcbiAgICAgICAgICBub2RhdGE6IHRydWUsXG4gICAgICAgICAgbW9kZTogJ2RpbW0nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGluaXQ6IChldmVudCwgZGF0YSkgPT4ge30sXG4gICAgICBjbGljazogKGV2ZW50LCBkYXRhKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHRoaXMudHJlZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICAgIGFjdGl2YXRlOiAoZXZlbnQsIGRhdGEpID0+IHtcbiAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGRhdGEubm9kZS5kYXRhLmlkKSl7XG4gICAgICAgICAgdGhpcy5nZXRRdWVzdGlvbnNMaXN0KF8uZ2V0KGRhdGEsICdub2RlLmRhdGEnKSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZW5kZXJOb2RlOiAoZXZlbnQsIGRhdGEpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IGRhdGEubm9kZTtcbiAgICAgICAgY29uc3QgJG5vZGVTcGFuID0gJChub2RlLnNwYW4pO1xuXG4gICAgICAgIC8vIGNoZWNrIGlmIHNwYW4gb2Ygbm9kZSBhbHJlYWR5IHJlbmRlcmVkXG4gICAgICAgIGlmICghJG5vZGVTcGFuLmRhdGEoJ3JlbmRlcmVkJykpIHtcbiAgICAgICAgICAvLyBzcGFuIHJlbmRlcmVkXG4gICAgICAgICAgJG5vZGVTcGFuLmRhdGEoJ3JlbmRlcmVkJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG59XG4iLCI8ZGl2ICNwbGFpblRyZWU+PC9kaXY+XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/editor/editor.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../header/header.component";
6
+ export class ProgressStatusComponent {
7
+ constructor(editorService) {
8
+ this.editorService = editorService;
9
+ this.toolbarConfig = {};
10
+ this.pageId = 'progressStatus';
11
+ this.data = [{ criteria: "Classrooms", maxScore: 10, minScore: 10, questionsCreated: 10, isExpanded: false },
12
+ { criteria: "Toilets", maxScore: 10, minScore: 10, questionsCreated: 10, isExpanded: false },
13
+ { criteria: "Assembly", maxScore: 10, minScore: 10, questionsCreated: 10, isExpanded: false },
14
+ { criteria: "Teaching and Learning", maxScore: 10, minScore: 10, questionsCreated: 10, isExpanded: false }];
15
+ this.expandedElement = "";
16
+ this.assignPageEmitter = new EventEmitter();
17
+ }
18
+ ngOnInit() {
19
+ this.toolbarConfig = this.editorService.getToolbarConfig();
20
+ this.toolbarConfig.title = 'Observation Form';
21
+ }
22
+ toolbarEventListener(event) {
23
+ switch (event.button) {
24
+ case 'backContent':
25
+ this.redirectToQuestionSet();
26
+ break;
27
+ default:
28
+ break;
29
+ }
30
+ }
31
+ redirectToQuestionSet() {
32
+ this.assignPageEmitter.emit({ status: false });
33
+ }
34
+ expand(event) {
35
+ this.expandedElement = (this.expandedElement == event.criteria) ? "" : event.criteria;
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressStatusComponent, deps: [{ token: i1.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgressStatusComponent, selector: "lib-progress-status", 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 </div>\n <!-- Right Player Sections -->\n <div class=\"eight wide column bg-white pl-40 mb-10 w-73\">\n <table aria-describedby=\"progress\">\n <thead>\n <tr>\n <th class=\"width-40\">Criteria</th>\n <th class=\"width-13\">Max Score</th>\n <th class=\"width-13\">Min Score</th>\n <th class=\"width-24\">Questions Created</th>\n <th class=\"width-10\"></th>\n </tr>\n </thead>\n <tbody *ngFor=\"let item of data;let i=index\">\n <tr>\n <td class=\"padding-x-25 font-blue font-bold\">{{item.criteria}}</td>\n <td><input type=\"number\" value=\"{{item.maxScore}}\" disabled></td>\n <td><input type=\"number\" value=\"{{item.minScore}}\" disabled></td>\n <td><input type=\"number\" value=\"{{item.questionsCreated}}\" disabled></td>\n <td class=\"border flex\" (click)=\"expand(item)\"><i [class]=\"expandedElement==item?.criteria ? 'chevron up icon font-blue' : 'chevron down icon font-blue'\"></i></td>\n </tr>\n <tr *ngIf=\"expandedElement==item?.criteria\" class=\"hidden-block\">\n <td class=\"padding-x-20\"></td>\n <td><div><label class=\"label\">Level 1</label></div><input class=\"hidden-input\" type=\"number\" value=\"{{item.maxScore}}\" disabled></td>\n <td><div><label class=\"label\">Level 2</label></div><input class=\"hidden-input\" type=\"number\" value=\"{{item.minScore}}\" disabled></td>\n <td><div><label class=\"label\">Level 3</label></div><input class=\"hidden-input\" type=\"number\" value=\"{{item.questionsCreated}}\" disabled></td>\n <td class=\"flex\"></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;width:97%;border-collapse:collapse}table thead tr .width-40{width:40%}table thead tr .width-13{width:13%}table thead tr .width-24{width:24%}table thead tr .width-10{width:10%}table tbody{border-top:15px solid white;font-family:arial,sans-serif}table tbody tr{height:60px;background:#e9e8e8}table tbody tr td input{max-width:37%;box-sizing:border-box;height:43px;border-radius:6px;text-align:center;background:#fff}table tbody tr td .hidden-input{margin-bottom:10px}table tbody tr td .label{font-size:18px!important;margin-top:5px}table tbody tr .padding-x-25{padding:0 25px}table tbody tr .font-blue{color:#2f2fb0}table tbody tr .font-bold{font-weight:700}.border{border-left:1px solid rgb(126,126,126)}.flex{display:flex;justify-content:center;height:inherit;align-items:center}.hidden-block{display:table-row;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.HeaderComponent, selector: "lib-header", inputs: ["pageId", "labelConfigData", "buttonLoaders", "showComment", "publishchecklist", "requestChange"], outputs: ["toolbarEmitter", "qualityParamEmitter"] }] }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressStatusComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'lib-progress-status', 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 </div>\n <!-- Right Player Sections -->\n <div class=\"eight wide column bg-white pl-40 mb-10 w-73\">\n <table aria-describedby=\"progress\">\n <thead>\n <tr>\n <th class=\"width-40\">Criteria</th>\n <th class=\"width-13\">Max Score</th>\n <th class=\"width-13\">Min Score</th>\n <th class=\"width-24\">Questions Created</th>\n <th class=\"width-10\"></th>\n </tr>\n </thead>\n <tbody *ngFor=\"let item of data;let i=index\">\n <tr>\n <td class=\"padding-x-25 font-blue font-bold\">{{item.criteria}}</td>\n <td><input type=\"number\" value=\"{{item.maxScore}}\" disabled></td>\n <td><input type=\"number\" value=\"{{item.minScore}}\" disabled></td>\n <td><input type=\"number\" value=\"{{item.questionsCreated}}\" disabled></td>\n <td class=\"border flex\" (click)=\"expand(item)\"><i [class]=\"expandedElement==item?.criteria ? 'chevron up icon font-blue' : 'chevron down icon font-blue'\"></i></td>\n </tr>\n <tr *ngIf=\"expandedElement==item?.criteria\" class=\"hidden-block\">\n <td class=\"padding-x-20\"></td>\n <td><div><label class=\"label\">Level 1</label></div><input class=\"hidden-input\" type=\"number\" value=\"{{item.maxScore}}\" disabled></td>\n <td><div><label class=\"label\">Level 2</label></div><input class=\"hidden-input\" type=\"number\" value=\"{{item.minScore}}\" disabled></td>\n <td><div><label class=\"label\">Level 3</label></div><input class=\"hidden-input\" type=\"number\" value=\"{{item.questionsCreated}}\" disabled></td>\n <td class=\"flex\"></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;width:97%;border-collapse:collapse}table thead tr .width-40{width:40%}table thead tr .width-13{width:13%}table thead tr .width-24{width:24%}table thead tr .width-10{width:10%}table tbody{border-top:15px solid white;font-family:arial,sans-serif}table tbody tr{height:60px;background:#e9e8e8}table tbody tr td input{max-width:37%;box-sizing:border-box;height:43px;border-radius:6px;text-align:center;background:#fff}table tbody tr td .hidden-input{margin-bottom:10px}table tbody tr td .label{font-size:18px!important;margin-top:5px}table tbody tr .padding-x-25{padding:0 25px}table tbody tr .font-blue{color:#2f2fb0}table tbody tr .font-bold{font-weight:700}.border{border-left:1px solid rgb(126,126,126)}.flex{display:flex;justify-content:center;height:inherit;align-items:center}.hidden-block{display:table-row;background:#fff!important}\n"] }]
43
+ }], ctorParameters: function () { return [{ type: i1.EditorService }]; }, propDecorators: { assignPageEmitter: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbGxlY3Rpb24tZWRpdG9yLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzLXN0YXR1cy9wcm9ncmVzcy1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZ3Jlc3Mtc3RhdHVzL3Byb2dyZXNzLXN0YXR1cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXhFLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFUaEQsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFDeEIsV0FBTSxHQUFHLGdCQUFnQixDQUFDO1FBQzFCLFNBQUksR0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLFlBQVksRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsRUFBRSxFQUFDLFVBQVUsRUFBQyxLQUFLLEVBQUM7WUFDcEYsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxnQkFBZ0IsRUFBQyxFQUFFLEVBQUMsVUFBVSxFQUFDLEtBQUssRUFBQztZQUNqRixFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLGdCQUFnQixFQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUMsS0FBSyxFQUFDO1lBQ2xGLEVBQUMsUUFBUSxFQUFDLHVCQUF1QixFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxnQkFBZ0IsRUFBQyxFQUFFLEVBQUMsVUFBVSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDdEcsb0JBQWUsR0FBQyxFQUFFLENBQUM7UUFDVCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRUYsQ0FBQztJQUVyRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQUs7UUFDeEIsUUFBUSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3BCLEtBQUssYUFBYTtnQkFDaEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdCLE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNsRixDQUFDOytHQWpDVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixnSENScEMsZzdGQTJDTTs7NEZEbkNPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7b0dBWXJCLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkaXRvci9lZGl0b3Iuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wcm9ncmVzcy1zdGF0dXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3Mtc3RhdHVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3Mtc3RhdHVzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NTdGF0dXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB0b29sYmFyQ29uZmlnOiBhbnkgPSB7fTtcbiAgcGFnZUlkID0gJ3Byb2dyZXNzU3RhdHVzJztcbiAgZGF0YT1be2NyaXRlcmlhOlwiQ2xhc3Nyb29tc1wiLG1heFNjb3JlOjEwLG1pblNjb3JlOjEwLHF1ZXN0aW9uc0NyZWF0ZWQ6MTAsaXNFeHBhbmRlZDpmYWxzZX0sXG4gICAgICAgIHtjcml0ZXJpYTpcIlRvaWxldHNcIixtYXhTY29yZToxMCxtaW5TY29yZToxMCxxdWVzdGlvbnNDcmVhdGVkOjEwLGlzRXhwYW5kZWQ6ZmFsc2V9LFxuICAgICAgICB7Y3JpdGVyaWE6XCJBc3NlbWJseVwiLG1heFNjb3JlOjEwLG1pblNjb3JlOjEwLHF1ZXN0aW9uc0NyZWF0ZWQ6MTAsaXNFeHBhbmRlZDpmYWxzZX0sXG4gICAgICAgIHtjcml0ZXJpYTpcIlRlYWNoaW5nIGFuZCBMZWFybmluZ1wiLG1heFNjb3JlOjEwLG1pblNjb3JlOjEwLHF1ZXN0aW9uc0NyZWF0ZWQ6MTAsaXNFeHBhbmRlZDpmYWxzZX1dXG4gIGV4cGFuZGVkRWxlbWVudD1cIlwiO1xuICBAT3V0cHV0KCkgYXNzaWduUGFnZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b29sYmFyQ29uZmlnID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmdldFRvb2xiYXJDb25maWcoKTtcbiAgICB0aGlzLnRvb2xiYXJDb25maWcudGl0bGUgPSAnT2JzZXJ2YXRpb24gRm9ybSc7XG4gIH1cblxuICB0b29sYmFyRXZlbnRMaXN0ZW5lcihldmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQuYnV0dG9uKSB7XG4gICAgICBjYXNlICdiYWNrQ29udGVudCc6XG4gICAgICAgIHRoaXMucmVkaXJlY3RUb1F1ZXN0aW9uU2V0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdCA6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJlZGlyZWN0VG9RdWVzdGlvblNldCgpIHtcbiAgICAgIHRoaXMuYXNzaWduUGFnZUVtaXR0ZXIuZW1pdCh7IHN0YXR1czogZmFsc2UgfSk7XG4gIH1cblxuICBleHBhbmQoZXZlbnQpe1xuICAgIHRoaXMuZXhwYW5kZWRFbGVtZW50ID0gKHRoaXMuZXhwYW5kZWRFbGVtZW50PT1ldmVudC5jcml0ZXJpYSk/XCJcIjpldmVudC5jcml0ZXJpYTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2ItZWRpdG9yLWNvbnRhaW5lciBtYi0wXCI+XG4gICAgPGxpYi1oZWFkZXIgW2xhYmVsQ29uZmlnRGF0YV09XCJ0b29sYmFyQ29uZmlnXCIgW3BhZ2VJZF09XCJwYWdlSWRcIiAodG9vbGJhckVtaXR0ZXIpPVwidG9vbGJhckV2ZW50TGlzdGVuZXIoJGV2ZW50KVwiPlxuICAgIDwvbGliLWhlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXRvLWxpYnJhcnkgbWItMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDB2aCBzYi1iZy13aGl0ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVpIHR3ZWx2ZSBjb2x1bW4gZ3JpZCBtLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRocmVlIHdpZGUgY29sdW1uIHAtMCBvdmVyZmxvdy15ICBtYi00MCBoLTEwMHZoXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFJpZ2h0IFBsYXllciBTZWN0aW9ucyAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVpZ2h0IHdpZGUgY29sdW1uIGJnLXdoaXRlIHBsLTQwIG1iLTEwIHctNzNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBhcmlhLWRlc2NyaWJlZGJ5PVwicHJvZ3Jlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIndpZHRoLTQwXCI+Q3JpdGVyaWE8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwid2lkdGgtMTNcIj5NYXggU2NvcmU8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwid2lkdGgtMTNcIj5NaW4gU2NvcmU8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwid2lkdGgtMjRcIj5RdWVzdGlvbnMgQ3JlYXRlZDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ3aWR0aC0xMFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YTtsZXQgaT1pbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwYWRkaW5nLXgtMjUgZm9udC1ibHVlIGZvbnQtYm9sZFwiPnt7aXRlbS5jcml0ZXJpYX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT1cIm51bWJlclwiIHZhbHVlPVwie3tpdGVtLm1heFNjb3JlfX1cIiBkaXNhYmxlZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgdmFsdWU9XCJ7e2l0ZW0ubWluU2NvcmV9fVwiIGRpc2FibGVkPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9XCJudW1iZXJcIiB2YWx1ZT1cInt7aXRlbS5xdWVzdGlvbnNDcmVhdGVkfX1cIiBkaXNhYmxlZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9yZGVyIGZsZXhcIiAoY2xpY2spPVwiZXhwYW5kKGl0ZW0pXCI+PGkgW2NsYXNzXT1cImV4cGFuZGVkRWxlbWVudD09aXRlbT8uY3JpdGVyaWEgPyAnY2hldnJvbiB1cCBpY29uIGZvbnQtYmx1ZScgOiAnY2hldnJvbiBkb3duIGljb24gZm9udC1ibHVlJ1wiPjwvaT48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJleHBhbmRlZEVsZW1lbnQ9PWl0ZW0/LmNyaXRlcmlhXCIgY2xhc3M9XCJoaWRkZW4tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInBhZGRpbmcteC0yMFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGRpdj48bGFiZWwgY2xhc3M9XCJsYWJlbFwiPkxldmVsIDE8L2xhYmVsPjwvZGl2PjxpbnB1dCBjbGFzcz1cImhpZGRlbi1pbnB1dFwiIHR5cGU9XCJudW1iZXJcIiB2YWx1ZT1cInt7aXRlbS5tYXhTY29yZX19XCIgZGlzYWJsZWQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48ZGl2PjxsYWJlbCBjbGFzcz1cImxhYmVsXCI+TGV2ZWwgMjwvbGFiZWw+PC9kaXY+PGlucHV0IGNsYXNzPVwiaGlkZGVuLWlucHV0XCIgdHlwZT1cIm51bWJlclwiIHZhbHVlPVwie3tpdGVtLm1pblNjb3JlfX1cIiBkaXNhYmxlZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxkaXY+PGxhYmVsIGNsYXNzPVwibGFiZWxcIj5MZXZlbCAzPC9sYWJlbD48L2Rpdj48aW5wdXQgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiB0eXBlPVwibnVtYmVyXCIgdmFsdWU9XCJ7e2l0ZW0ucXVlc3Rpb25zQ3JlYXRlZH19XCIgZGlzYWJsZWQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImZsZXhcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,67 @@
1
+ import { Component, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';
2
+ import * as _ from 'lodash-es';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/telemetry/telemetry.service";
5
+ import * as i2 from "../../services/config/config.service";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@project-sunbird/ng2-semantic-ui";
8
+ import * as i5 from "@project-sunbird/common-form-elements-full";
9
+ import * as i6 from "../../directives/telemetry-interact/telemetry-interact.directive";
10
+ export class PublishChecklistComponent {
11
+ constructor(telemetryService, configService) {
12
+ this.telemetryService = telemetryService;
13
+ this.configService = configService;
14
+ this.publishEmitter = new EventEmitter();
15
+ this.isButtonEnable = false;
16
+ this.isClosable = false;
17
+ }
18
+ ngOnInit() {
19
+ this.isButtonEnable = _.isEmpty(this.publishchecklist) ? true : false;
20
+ }
21
+ handlePopUpEvents(type, modal) {
22
+ this.isClosable = true;
23
+ if (type === 'submit' && _.isEmpty(this.publishchecklist)) {
24
+ this.publishEmitter.emit({ button: this.actionType });
25
+ }
26
+ else if (type === 'submit' && this.publishchecklist && !_.isEmpty(this.publishchecklist)) {
27
+ let checkBoxData = [];
28
+ let publishData = {};
29
+ _.forEach(_.flattenDeep(_.map(this.publishchecklist, 'fields')), field => {
30
+ if (this.fieldsAvailable && this.fieldsAvailable[field.code] === true && field.inputType === 'checkbox') {
31
+ checkBoxData.push(field.name);
32
+ }
33
+ else {
34
+ publishData[field.code] = this.fieldsAvailable[field.code]; // asign value to field other than checkbox's example publishComment = 'some comment'
35
+ }
36
+ });
37
+ if (checkBoxData && checkBoxData.length) {
38
+ publishData['publishChecklist'] = checkBoxData;
39
+ }
40
+ this.publishEmitter.emit({ button: this.actionType, publishData: publishData });
41
+ }
42
+ else if (type === 'closeModal') {
43
+ this.publishEmitter.emit({ button: type });
44
+ }
45
+ modal.deny();
46
+ }
47
+ outputData(eventData) { }
48
+ onStatusChanges(event) {
49
+ this.isButtonEnable = event.isValid;
50
+ }
51
+ valueChanges(event) {
52
+ this.fieldsAvailable = event;
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PublishChecklistComponent, deps: [{ token: i1.EditorTelemetryService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PublishChecklistComponent, selector: "lib-publish-checklist", inputs: { publishchecklist: "publishchecklist", actionType: "actionType" }, outputs: { publishEmitter: "publishEmitter" }, ngImport: i0, template: "<sui-modal [mustScroll]=\"true\" [isClosable]=\"isClosable\" [transitionDuration]=\"0\" [size]=\"'normal'\"\n class=\"sb-modal bx-none overflow-modal publish-checklist\" appBodyScroll (dismissed)=\"isClosable = false\" #modal>\n <div class=\"sb-modal-header\">\n {{configService.labelConfig?.lbl?.publishCollection}}\n </div>\n <div class=\"sb-modal-content\">\n <span *ngIf=\"!publishchecklist?.length\"> {{configService.labelConfig?.lbl?.confirmPublishCollection}} </span>\n <div class=\"sectionTitle\" *ngIf=\"publishchecklist?.length\">{{configService.labelConfig?.lbl?.publishchecklistTitle}}</div>\n <sb-dynamic-form *ngIf=\"publishchecklist?.length\" [config]=\"publishchecklist\"\n (initialize)=\"outputData($event)\" (statusChanges)=\"onStatusChanges($event)\" (valueChanges)=\"valueChanges($event)\">\n </sb-dynamic-form>\n </div>\n <div class=\"sb-modal-actions\">\n <button class=\"sb-btn sb-btn-normal\"\n [ngClass]=\"{'sb-btn-primary': isButtonEnable, 'sb-btn-disabled': !isButtonEnable}\" [disabled]=\"!isButtonEnable\"\n (click)=\"handlePopUpEvents('submit', modal)\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('yes','click','submit', telemetryService.telemetryPageId, {key: 'dialog_id', value: 'publish_collection'})\">\n {{configService.labelConfig?.button_labels?.yes_btn_label}}\n </button>\n <button class=\"sb-btn sb-btn-normal sb-btn-outline-primary\" (click)=\"handlePopUpEvents('closeModal', modal)\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('no','click','cancel', telemetryService.telemetryPageId, {key: 'dialog_id', value: 'add_review_comments'})\">\n {{configService.labelConfig?.button_labels?.no_btn_label}}\n </button>\n </div>\n</sui-modal>", styles: [".sb-modal-content sb-dynamic-checkbox{margin:0!important}.sb-modal-content .sb-checkbox{padding:0!important;margin:0!important}.sectionTitle{font-size:1rem;font-weight:600;line-height:1.4;padding:7px 0 20px}.formSection{padding:0!important}.display-sectionName .sectionName{display:block}.hidden-sectionName .sectionName,.two-column-grid .sectionName{display:none}.sectionName{font-size:1rem!important;font-weight:600}.d-grid{display:grid;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-2{display:grid;grid-template-columns:auto auto;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-3{display:grid;grid-template-columns:auto auto auto;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-1{display:inline-grid;width:100%;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-2{display:inline-grid;width:50%;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-3{display:inline-grid;width:33.3%;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-4{display:inline-grid;width:25%;grid-column-gap:1rem;grid-row-gap:1rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SuiModal, selector: "sui-modal", inputs: ["isClosable", "closeResult", "size", "isCentered", "isFullScreen", "isBasic", "mustScroll", "isInverted", "transition", "transitionDuration"], outputs: ["approved", "denied", "dismissed"] }, { kind: "component", type: i5.DynamicFormComponent, selector: "sb-dynamic-form", inputs: ["config", "dataLoadStatusDelegate"], outputs: ["initialize", "finalize", "valueChanges", "statusChanges"] }, { kind: "directive", type: i6.TelemetryInteractDirective, selector: "[libTelemetryInteract]", inputs: ["telemetryInteractEdata"] }], encapsulation: i0.ViewEncapsulation.None }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PublishChecklistComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'lib-publish-checklist', encapsulation: ViewEncapsulation.None, template: "<sui-modal [mustScroll]=\"true\" [isClosable]=\"isClosable\" [transitionDuration]=\"0\" [size]=\"'normal'\"\n class=\"sb-modal bx-none overflow-modal publish-checklist\" appBodyScroll (dismissed)=\"isClosable = false\" #modal>\n <div class=\"sb-modal-header\">\n {{configService.labelConfig?.lbl?.publishCollection}}\n </div>\n <div class=\"sb-modal-content\">\n <span *ngIf=\"!publishchecklist?.length\"> {{configService.labelConfig?.lbl?.confirmPublishCollection}} </span>\n <div class=\"sectionTitle\" *ngIf=\"publishchecklist?.length\">{{configService.labelConfig?.lbl?.publishchecklistTitle}}</div>\n <sb-dynamic-form *ngIf=\"publishchecklist?.length\" [config]=\"publishchecklist\"\n (initialize)=\"outputData($event)\" (statusChanges)=\"onStatusChanges($event)\" (valueChanges)=\"valueChanges($event)\">\n </sb-dynamic-form>\n </div>\n <div class=\"sb-modal-actions\">\n <button class=\"sb-btn sb-btn-normal\"\n [ngClass]=\"{'sb-btn-primary': isButtonEnable, 'sb-btn-disabled': !isButtonEnable}\" [disabled]=\"!isButtonEnable\"\n (click)=\"handlePopUpEvents('submit', modal)\" libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('yes','click','submit', telemetryService.telemetryPageId, {key: 'dialog_id', value: 'publish_collection'})\">\n {{configService.labelConfig?.button_labels?.yes_btn_label}}\n </button>\n <button class=\"sb-btn sb-btn-normal sb-btn-outline-primary\" (click)=\"handlePopUpEvents('closeModal', modal)\"\n libTelemetryInteract\n [telemetryInteractEdata]=\"telemetryService.getTelemetryInteractEdata('no','click','cancel', telemetryService.telemetryPageId, {key: 'dialog_id', value: 'add_review_comments'})\">\n {{configService.labelConfig?.button_labels?.no_btn_label}}\n </button>\n </div>\n</sui-modal>", styles: [".sb-modal-content sb-dynamic-checkbox{margin:0!important}.sb-modal-content .sb-checkbox{padding:0!important;margin:0!important}.sectionTitle{font-size:1rem;font-weight:600;line-height:1.4;padding:7px 0 20px}.formSection{padding:0!important}.display-sectionName .sectionName{display:block}.hidden-sectionName .sectionName,.two-column-grid .sectionName{display:none}.sectionName{font-size:1rem!important;font-weight:600}.d-grid{display:grid;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-2{display:grid;grid-template-columns:auto auto;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-3{display:grid;grid-template-columns:auto auto auto;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-1{display:inline-grid;width:100%;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-2{display:inline-grid;width:50%;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-3{display:inline-grid;width:33.3%;grid-column-gap:1rem;grid-row-gap:1rem}.d-grid-inline-4{display:inline-grid;width:25%;grid-column-gap:1rem;grid-row-gap:1rem}\n"] }]
60
+ }], ctorParameters: function () { return [{ type: i1.EditorTelemetryService }, { type: i2.ConfigService }]; }, propDecorators: { publishchecklist: [{
61
+ type: Input
62
+ }], actionType: [{
63
+ type: Input
64
+ }], publishEmitter: [{
65
+ type: Output
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC1jaGVja2xpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvcHVibGlzaC1jaGVja2xpc3QvcHVibGlzaC1jaGVja2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvcHVibGlzaC1jaGVja2xpc3QvcHVibGlzaC1jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRyxPQUFPLEtBQUssQ0FBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLHlCQUF5QjtJQU9wQyxZQUNTLGdCQUF3QyxFQUN4QyxhQUE0QjtRQUQ1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTjNCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2QixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBR2UsQ0FBQztJQUUxQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUMxRixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUE7WUFDckIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFBO1lBQ3BCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUN2RSxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFO29CQUN2RyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDL0I7cUJBQU07b0JBQ0wsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHFGQUFxRjtpQkFDbEo7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFlBQVksQ0FBQzthQUNoRDtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7U0FDaEY7YUFBTSxJQUFJLElBQUksS0FBSyxZQUFZLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUNELEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRCxVQUFVLENBQUMsU0FBYyxJQUFJLENBQUM7SUFFOUIsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDOytHQTlDVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix3TENWdEMsOHpEQXlCWTs7NEZEZkMseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSTt5SUFHNUIsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3JUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVsZW1ldHJ5L3RlbGVtZXRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gtZXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXB1Ymxpc2gtY2hlY2tsaXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3B1Ymxpc2gtY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHVibGlzaC1jaGVja2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUHVibGlzaENoZWNrbGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1Ymxpc2hjaGVja2xpc3Q6IGFueTtcbiAgQElucHV0KCkgYWN0aW9uVHlwZTogYW55O1xuICBAT3V0cHV0KCkgcHVibGlzaEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIGlzQnV0dG9uRW5hYmxlID0gZmFsc2U7XG4gIHB1YmxpYyBmaWVsZHNBdmFpbGFibGU6IGFueTtcbiAgcHVibGljIGlzQ2xvc2FibGUgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbGVtZXRyeVNlcnZpY2U6IEVkaXRvclRlbGVtZXRyeVNlcnZpY2UsXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNCdXR0b25FbmFibGUgPSBfLmlzRW1wdHkodGhpcy5wdWJsaXNoY2hlY2tsaXN0KSA/IHRydWUgOiBmYWxzZTtcbiAgfVxuXG4gIGhhbmRsZVBvcFVwRXZlbnRzKHR5cGUsIG1vZGFsKSB7XG4gICAgdGhpcy5pc0Nsb3NhYmxlID0gdHJ1ZTtcbiAgICBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgJiYgXy5pc0VtcHR5KHRoaXMucHVibGlzaGNoZWNrbGlzdCkpIHtcbiAgICAgIHRoaXMucHVibGlzaEVtaXR0ZXIuZW1pdCh7IGJ1dHRvbjogdGhpcy5hY3Rpb25UeXBlIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgJiYgdGhpcy5wdWJsaXNoY2hlY2tsaXN0ICYmICFfLmlzRW1wdHkodGhpcy5wdWJsaXNoY2hlY2tsaXN0KSkge1xuICAgICAgbGV0IGNoZWNrQm94RGF0YSA9IFtdXG4gICAgICBsZXQgcHVibGlzaERhdGEgPSB7fVxuICAgICAgXy5mb3JFYWNoKF8uZmxhdHRlbkRlZXAoXy5tYXAodGhpcy5wdWJsaXNoY2hlY2tsaXN0LCAnZmllbGRzJykpLCBmaWVsZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkc0F2YWlsYWJsZSAmJiB0aGlzLmZpZWxkc0F2YWlsYWJsZVtmaWVsZC5jb2RlXSA9PT0gdHJ1ZSAmJiBmaWVsZC5pbnB1dFR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgICBjaGVja0JveERhdGEucHVzaChmaWVsZC5uYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwdWJsaXNoRGF0YVtmaWVsZC5jb2RlXSA9IHRoaXMuZmllbGRzQXZhaWxhYmxlW2ZpZWxkLmNvZGVdOyAvLyBhc2lnbiB2YWx1ZSB0byBmaWVsZCBvdGhlciB0aGFuIGNoZWNrYm94J3MgZXhhbXBsZSBwdWJsaXNoQ29tbWVudCA9ICdzb21lIGNvbW1lbnQnXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKGNoZWNrQm94RGF0YSAmJiBjaGVja0JveERhdGEubGVuZ3RoKSB7XG4gICAgICAgIHB1Ymxpc2hEYXRhWydwdWJsaXNoQ2hlY2tsaXN0J10gPSBjaGVja0JveERhdGE7XG4gICAgICB9XG4gICAgICB0aGlzLnB1Ymxpc2hFbWl0dGVyLmVtaXQoeyBidXR0b246IHRoaXMuYWN0aW9uVHlwZSwgcHVibGlzaERhdGE6IHB1Ymxpc2hEYXRhfSk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnY2xvc2VNb2RhbCcpIHtcbiAgICAgIHRoaXMucHVibGlzaEVtaXR0ZXIuZW1pdCh7IGJ1dHRvbjogdHlwZSB9KTtcbiAgICB9XG4gICAgbW9kYWwuZGVueSgpO1xuICB9XG4gIG91dHB1dERhdGEoZXZlbnREYXRhOiBhbnkpIHsgfVxuXG4gIG9uU3RhdHVzQ2hhbmdlcyhldmVudCkge1xuICAgIHRoaXMuaXNCdXR0b25FbmFibGUgPSBldmVudC5pc1ZhbGlkO1xuICB9XG5cbiAgdmFsdWVDaGFuZ2VzKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpZWxkc0F2YWlsYWJsZSA9IGV2ZW50O1xuICB9XG59IiwiPHN1aS1tb2RhbCBbbXVzdFNjcm9sbF09XCJ0cnVlXCIgW2lzQ2xvc2FibGVdPVwiaXNDbG9zYWJsZVwiIFt0cmFuc2l0aW9uRHVyYXRpb25dPVwiMFwiIFtzaXplXT1cIidub3JtYWwnXCJcbiAgY2xhc3M9XCJzYi1tb2RhbCBieC1ub25lIG92ZXJmbG93LW1vZGFsIHB1Ymxpc2gtY2hlY2tsaXN0XCIgYXBwQm9keVNjcm9sbCAoZGlzbWlzc2VkKT1cImlzQ2xvc2FibGUgPSBmYWxzZVwiICNtb2RhbD5cbiAgPGRpdiBjbGFzcz1cInNiLW1vZGFsLWhlYWRlclwiPlxuICAgIHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5wdWJsaXNoQ29sbGVjdGlvbn19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2ItbW9kYWwtY29udGVudFwiPlxuICAgIDxzcGFuICpuZ0lmPVwiIXB1Ymxpc2hjaGVja2xpc3Q/Lmxlbmd0aFwiPiB7e2NvbmZpZ1NlcnZpY2UubGFiZWxDb25maWc/LmxibD8uY29uZmlybVB1Ymxpc2hDb2xsZWN0aW9ufX0gPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uVGl0bGVcIiAqbmdJZj1cInB1Ymxpc2hjaGVja2xpc3Q/Lmxlbmd0aFwiPnt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8ubGJsPy5wdWJsaXNoY2hlY2tsaXN0VGl0bGV9fTwvZGl2PlxuICAgIDxzYi1keW5hbWljLWZvcm0gKm5nSWY9XCJwdWJsaXNoY2hlY2tsaXN0Py5sZW5ndGhcIiBbY29uZmlnXT1cInB1Ymxpc2hjaGVja2xpc3RcIlxuICAgICAgKGluaXRpYWxpemUpPVwib3V0cHV0RGF0YSgkZXZlbnQpXCIgKHN0YXR1c0NoYW5nZXMpPVwib25TdGF0dXNDaGFuZ2VzKCRldmVudClcIiAodmFsdWVDaGFuZ2VzKT1cInZhbHVlQ2hhbmdlcygkZXZlbnQpXCI+XG4gICAgPC9zYi1keW5hbWljLWZvcm0+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2ItbW9kYWwtYWN0aW9uc1wiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzYi1idG4gc2ItYnRuLW5vcm1hbFwiXG4gICAgICBbbmdDbGFzc109XCJ7J3NiLWJ0bi1wcmltYXJ5JzogaXNCdXR0b25FbmFibGUsICdzYi1idG4tZGlzYWJsZWQnOiAhaXNCdXR0b25FbmFibGV9XCIgW2Rpc2FibGVkXT1cIiFpc0J1dHRvbkVuYWJsZVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlUG9wVXBFdmVudHMoJ3N1Ym1pdCcsIG1vZGFsKVwiIGxpYlRlbGVtZXRyeUludGVyYWN0XG4gICAgICBbdGVsZW1ldHJ5SW50ZXJhY3RFZGF0YV09XCJ0ZWxlbWV0cnlTZXJ2aWNlLmdldFRlbGVtZXRyeUludGVyYWN0RWRhdGEoJ3llcycsJ2NsaWNrJywnc3VibWl0JywgdGVsZW1ldHJ5U2VydmljZS50ZWxlbWV0cnlQYWdlSWQsICB7a2V5OiAnZGlhbG9nX2lkJywgdmFsdWU6ICdwdWJsaXNoX2NvbGxlY3Rpb24nfSlcIj5cbiAgICAgIHt7Y29uZmlnU2VydmljZS5sYWJlbENvbmZpZz8uYnV0dG9uX2xhYmVscz8ueWVzX2J0bl9sYWJlbH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNiLWJ0biBzYi1idG4tbm9ybWFsIHNiLWJ0bi1vdXRsaW5lLXByaW1hcnlcIiAoY2xpY2spPVwiaGFuZGxlUG9wVXBFdmVudHMoJ2Nsb3NlTW9kYWwnLCBtb2RhbClcIlxuICAgICAgbGliVGVsZW1ldHJ5SW50ZXJhY3RcbiAgICAgIFt0ZWxlbWV0cnlJbnRlcmFjdEVkYXRhXT1cInRlbGVtZXRyeVNlcnZpY2UuZ2V0VGVsZW1ldHJ5SW50ZXJhY3RFZGF0YSgnbm8nLCdjbGljaycsJ2NhbmNlbCcsIHRlbGVtZXRyeVNlcnZpY2UudGVsZW1ldHJ5UGFnZUlkLCAge2tleTogJ2RpYWxvZ19pZCcsIHZhbHVlOiAnYWRkX3Jldmlld19jb21tZW50cyd9KVwiPlxuICAgICAge3tjb25maWdTZXJ2aWNlLmxhYmVsQ29uZmlnPy5idXR0b25fbGFiZWxzPy5ub19idG5fbGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvc3VpLW1vZGFsPiJdfQ==