@deeksha2309/sunbird-collection-editor 8.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2022/lib/collection-editor-cursor.service.mjs +3 -0
- package/esm2022/lib/collection-editor-library.component.mjs +16 -0
- package/esm2022/lib/collection-editor-library.module.mjs +137 -0
- package/esm2022/lib/components/answer/answer.component.mjs +43 -0
- package/esm2022/lib/components/asset-browser/asset-browser.component.mjs +325 -0
- package/esm2022/lib/components/asset-browser/asset-browser.data.mjs +53 -0
- package/esm2022/lib/components/assign-page-number/assign-page-number.component.mjs +191 -0
- package/esm2022/lib/components/ckeditor-tool/ckeditor-tool.component.mjs +895 -0
- package/esm2022/lib/components/collection-icon/collection-icon.component.mjs +43 -0
- package/esm2022/lib/components/contentplayer-page/contentplayer-page.component.mjs +351 -0
- package/esm2022/lib/components/csv-upload/csv-upload.component.mjs +178 -0
- package/esm2022/lib/components/dialcode/dialcode.component.mjs +182 -0
- package/esm2022/lib/components/editor/editor.component.mjs +1125 -0
- package/esm2022/lib/components/fancy-tree/fancy-tree.component.mjs +529 -0
- package/esm2022/lib/components/header/header.component.mjs +123 -0
- package/esm2022/lib/components/library/library.component.mjs +242 -0
- package/esm2022/lib/components/library-filter/library-filter.component.mjs +149 -0
- package/esm2022/lib/components/library-list/library-list.component.mjs +92 -0
- package/esm2022/lib/components/library-player/library-player.component.mjs +62 -0
- package/esm2022/lib/components/manage-collaborator/manage-collaborator.component.mjs +256 -0
- package/esm2022/lib/components/meta-form/meta-form.component.mjs +377 -0
- package/esm2022/lib/components/options/options.component.mjs +144 -0
- package/esm2022/lib/components/plain-tree/plain-tree.component.mjs +125 -0
- package/esm2022/lib/components/progress-status/progress-status.component.mjs +46 -0
- package/esm2022/lib/components/publish-checklist/publish-checklist.component.mjs +67 -0
- package/esm2022/lib/components/quality-params-modal/quality-params-modal.component.mjs +52 -0
- package/esm2022/lib/components/question/question.component.mjs +1360 -0
- package/esm2022/lib/components/quml-player/quml-player.component.mjs +73 -0
- package/esm2022/lib/components/qumlplayer-page/qumlplayer-page.component.mjs +84 -0
- package/esm2022/lib/components/resource-reorder/resource-reorder.component.mjs +143 -0
- package/esm2022/lib/components/skeleton-loader/skeleton-loader.component.mjs +26 -0
- package/esm2022/lib/components/template/template.component.mjs +42 -0
- package/esm2022/lib/components/term-and-condition/term-and-condition.component.mjs +68 -0
- package/esm2022/lib/directives/telemetry-interact/telemetry-interact.directive.mjs +33 -0
- package/esm2022/lib/interfaces/McqForm.mjs +29 -0
- package/esm2022/lib/interfaces/editor.mjs +2 -0
- package/esm2022/lib/interfaces/framework.mjs +2 -0
- package/esm2022/lib/interfaces/httpOptions.mjs +2 -0
- package/esm2022/lib/interfaces/requestParam.mjs +2 -0
- package/esm2022/lib/interfaces/serverResponse.mjs +2 -0
- package/esm2022/lib/pipes/sanitize-html.pipe.mjs +20 -0
- package/esm2022/lib/services/config/category.config.json +8 -0
- package/esm2022/lib/services/config/config.service.mjs +27 -0
- package/esm2022/lib/services/config/editor.config.json +31 -0
- package/esm2022/lib/services/config/label.config.json +314 -0
- package/esm2022/lib/services/config/player.config.json +96 -0
- package/esm2022/lib/services/config/url.config.json +69 -0
- package/esm2022/lib/services/data/data.service.mjs +192 -0
- package/esm2022/lib/services/dialcode/dialcode.service.mjs +309 -0
- package/esm2022/lib/services/editor/editor.service.mjs +682 -0
- package/esm2022/lib/services/framework/framework.service.mjs +106 -0
- package/esm2022/lib/services/helper/helper.service.mjs +160 -0
- package/esm2022/lib/services/player/player.service.mjs +99 -0
- package/esm2022/lib/services/public-data/public-data.service.mjs +21 -0
- package/esm2022/lib/services/question/question.service.mjs +167 -0
- package/esm2022/lib/services/telemetry/telemetry.service.mjs +120 -0
- package/esm2022/lib/services/toaster/toaster.service.mjs +105 -0
- package/esm2022/lib/services/tree/tree.service.mjs +284 -0
- package/esm2022/project-sunbird-sunbird-collection-editor.mjs +5 -0
- package/esm2022/public-api.mjs +4 -0
- package/fesm2022/project-sunbird-sunbird-collection-editor.mjs +10138 -0
- package/fesm2022/project-sunbird-sunbird-collection-editor.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/assets/.gitkeep +0 -0
- package/lib/assets/images/MCQ.png +0 -0
- package/lib/assets/images/Spin.gif +0 -0
- package/lib/assets/images/bulkuploadfile.png +0 -0
- package/lib/assets/images/cancel-sign copy.png +0 -0
- package/lib/assets/images/cancel-sign.png +0 -0
- package/lib/assets/images/emptyResult.svg +1 -0
- package/lib/assets/images/icons-rtl.gif +0 -0
- package/lib/assets/images/icons.gif +0 -0
- package/lib/assets/images/imageicon.svg +16 -0
- package/lib/assets/images/imageicon_blue.svg +16 -0
- package/lib/assets/images/layoutoneicon.svg +16 -0
- package/lib/assets/images/layoutoneicon_blue.svg +16 -0
- package/lib/assets/images/layoutthreeicon.svg +18 -0
- package/lib/assets/images/layoutthreeicon_blue.svg +18 -0
- package/lib/assets/images/layouttwoicon.svg +18 -0
- package/lib/assets/images/layouttwoicon_blue.svg +18 -0
- package/lib/assets/images/leftalignicon.svg +17 -0
- package/lib/assets/images/leftalignicon_blue.svg +17 -0
- package/lib/assets/images/loader.gif +0 -0
- package/lib/assets/images/loader.svg +1 -0
- package/lib/assets/images/loading.gif +0 -0
- package/lib/assets/images/middlealignicon.svg +17 -0
- package/lib/assets/images/middlealignicon_blue.svg +17 -0
- package/lib/assets/images/question_collection.svg +18 -0
- package/lib/assets/images/rightalignicon.svg +17 -0
- package/lib/assets/images/rightalignicon_blue.svg +17 -0
- package/lib/assets/images/vline-rtl.gif +0 -0
- package/lib/assets/images/vline.gif +0 -0
- package/lib/assets/images/writing.png +0 -0
- package/lib/collection-editor-cursor.service.d.ts +5 -0
- package/lib/collection-editor-cursor.service.d.ts.map +1 -0
- package/lib/collection-editor-library.component.d.ts +9 -0
- package/lib/collection-editor-library.component.d.ts.map +1 -0
- package/lib/collection-editor-library.module.d.ts +50 -0
- package/lib/collection-editor-library.module.d.ts.map +1 -0
- package/lib/components/answer/answer.component.d.ts +24 -0
- package/lib/components/answer/answer.component.d.ts.map +1 -0
- package/lib/components/asset-browser/asset-browser.component.d.ts +81 -0
- package/lib/components/asset-browser/asset-browser.component.d.ts.map +1 -0
- package/lib/components/asset-browser/asset-browser.data.d.ts +52 -0
- package/lib/components/asset-browser/asset-browser.data.d.ts.map +1 -0
- package/lib/components/assign-page-number/assign-page-number.component.d.ts +38 -0
- package/lib/components/assign-page-number/assign-page-number.component.d.ts.map +1 -0
- package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts +161 -0
- package/lib/components/ckeditor-tool/ckeditor-tool.component.d.ts.map +1 -0
- package/lib/components/collection-icon/collection-icon.component.d.ts +18 -0
- package/lib/components/collection-icon/collection-icon.component.d.ts.map +1 -0
- package/lib/components/contentplayer-page/contentplayer-page.component.d.ts +54 -0
- package/lib/components/contentplayer-page/contentplayer-page.component.d.ts.map +1 -0
- package/lib/components/csv-upload/csv-upload.component.d.ts +42 -0
- package/lib/components/csv-upload/csv-upload.component.d.ts.map +1 -0
- package/lib/components/dialcode/dialcode.component.d.ts +48 -0
- package/lib/components/dialcode/dialcode.component.d.ts.map +1 -0
- package/lib/components/editor/editor.component.d.ts +146 -0
- package/lib/components/editor/editor.component.d.ts.map +1 -0
- package/lib/components/fancy-tree/fancy-tree.component.d.ts +77 -0
- package/lib/components/fancy-tree/fancy-tree.component.d.ts.map +1 -0
- package/lib/components/header/header.component.d.ts +46 -0
- package/lib/components/header/header.component.d.ts.map +1 -0
- package/lib/components/library/library.component.d.ts +69 -0
- package/lib/components/library/library.component.d.ts.map +1 -0
- package/lib/components/library-filter/library-filter.component.d.ts +47 -0
- package/lib/components/library-filter/library-filter.component.d.ts.map +1 -0
- package/lib/components/library-list/library-list.component.d.ts +32 -0
- package/lib/components/library-list/library-list.component.d.ts.map +1 -0
- package/lib/components/library-player/library-player.component.d.ts +24 -0
- package/lib/components/library-player/library-player.component.d.ts.map +1 -0
- package/lib/components/manage-collaborator/manage-collaborator.component.d.ts +75 -0
- package/lib/components/manage-collaborator/manage-collaborator.component.d.ts.map +1 -0
- package/lib/components/meta-form/meta-form.component.d.ts +51 -0
- package/lib/components/meta-form/meta-form.component.d.ts.map +1 -0
- package/lib/components/options/options.component.d.ts +53 -0
- package/lib/components/options/options.component.d.ts.map +1 -0
- package/lib/components/plain-tree/plain-tree.component.d.ts +20 -0
- package/lib/components/plain-tree/plain-tree.component.d.ts.map +1 -0
- package/lib/components/progress-status/progress-status.component.d.ts +25 -0
- package/lib/components/progress-status/progress-status.component.d.ts.map +1 -0
- package/lib/components/publish-checklist/publish-checklist.component.d.ts +23 -0
- package/lib/components/publish-checklist/publish-checklist.component.d.ts.map +1 -0
- package/lib/components/quality-params-modal/quality-params-modal.component.d.ts +24 -0
- package/lib/components/quality-params-modal/quality-params-modal.component.d.ts.map +1 -0
- package/lib/components/question/question.component.d.ts +215 -0
- package/lib/components/question/question.component.d.ts.map +1 -0
- package/lib/components/quml-player/quml-player.component.d.ts +26 -0
- package/lib/components/quml-player/quml-player.component.d.ts.map +1 -0
- package/lib/components/qumlplayer-page/qumlplayer-page.component.d.ts +31 -0
- package/lib/components/qumlplayer-page/qumlplayer-page.component.d.ts.map +1 -0
- package/lib/components/resource-reorder/resource-reorder.component.d.ts +45 -0
- package/lib/components/resource-reorder/resource-reorder.component.d.ts.map +1 -0
- package/lib/components/skeleton-loader/skeleton-loader.component.d.ts +13 -0
- package/lib/components/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
- package/lib/components/template/template.component.d.ts +21 -0
- package/lib/components/template/template.component.d.ts.map +1 -0
- package/lib/components/term-and-condition/term-and-condition.component.d.ts +26 -0
- package/lib/components/term-and-condition/term-and-condition.component.d.ts.map +1 -0
- package/lib/directives/telemetry-interact/telemetry-interact.directive.d.ts +27 -0
- package/lib/directives/telemetry-interact/telemetry-interact.directive.d.ts.map +1 -0
- package/lib/interfaces/McqForm.d.ts +32 -0
- package/lib/interfaces/McqForm.d.ts.map +1 -0
- package/lib/interfaces/editor.d.ts +78 -0
- package/lib/interfaces/editor.d.ts.map +1 -0
- package/lib/interfaces/framework.d.ts +46 -0
- package/lib/interfaces/framework.d.ts.map +1 -0
- package/lib/interfaces/httpOptions.d.ts +35 -0
- package/lib/interfaces/httpOptions.d.ts.map +1 -0
- package/lib/interfaces/requestParam.d.ts +24 -0
- package/lib/interfaces/requestParam.d.ts.map +1 -0
- package/lib/interfaces/serverResponse.d.ts +38 -0
- package/lib/interfaces/serverResponse.d.ts.map +1 -0
- package/lib/pipes/sanitize-html.pipe.d.ts +11 -0
- package/lib/pipes/sanitize-html.pipe.d.ts.map +1 -0
- package/lib/services/config/config.service.d.ts +13 -0
- package/lib/services/config/config.service.d.ts.map +1 -0
- package/lib/services/data/data.service.d.ts +85 -0
- package/lib/services/data/data.service.d.ts.map +1 -0
- package/lib/services/dialcode/dialcode.service.d.ts +36 -0
- package/lib/services/dialcode/dialcode.service.d.ts.map +1 -0
- package/lib/services/editor/editor.service.d.ts +150 -0
- package/lib/services/editor/editor.service.d.ts.map +1 -0
- package/lib/services/framework/framework.service.d.ts +35 -0
- package/lib/services/framework/framework.service.d.ts.map +1 -0
- package/lib/services/helper/helper.service.d.ts +41 -0
- package/lib/services/helper/helper.service.d.ts.map +1 -0
- package/lib/services/player/player.service.d.ts +33 -0
- package/lib/services/player/player.service.d.ts.map +1 -0
- package/lib/services/public-data/public-data.service.d.ts +15 -0
- package/lib/services/public-data/public-data.service.d.ts.map +1 -0
- package/lib/services/question/question.service.d.ts +30 -0
- package/lib/services/question/question.service.d.ts.map +1 -0
- package/lib/services/telemetry/telemetry.service.d.ts +45 -0
- package/lib/services/telemetry/telemetry.service.d.ts.map +1 -0
- package/lib/services/toaster/toaster.service.d.ts +50 -0
- package/lib/services/toaster/toaster.service.d.ts.map +1 -0
- package/lib/services/tree/tree.service.d.ts +51 -0
- package/lib/services/tree/tree.service.d.ts.map +1 -0
- package/package.json +32 -0
- package/project-sunbird-sunbird-collection-editor.d.ts.map +1 -0
- package/public-api.d.ts +4 -0
- package/public-api.d.ts.map +1 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash-es';
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/data/data.service";
|
|
6
|
+
import * as i2 from "@angular/common/http";
|
|
7
|
+
import * as i3 from "../config/config.service";
|
|
8
|
+
import * as i4 from "../../services/public-data/public-data.service";
|
|
9
|
+
import * as i5 from "../editor/editor.service";
|
|
10
|
+
export class QuestionService {
|
|
11
|
+
constructor(dataService, http, configService, publicDataService, editorService) {
|
|
12
|
+
this.dataService = dataService;
|
|
13
|
+
this.configService = configService;
|
|
14
|
+
this.publicDataService = publicDataService;
|
|
15
|
+
this.editorService = editorService;
|
|
16
|
+
this.http = http;
|
|
17
|
+
}
|
|
18
|
+
readQuestion(questionId, leafFormConfigfields) {
|
|
19
|
+
// tslint:disable-next-line:max-line-length
|
|
20
|
+
let field = this.configService.editorConfig.readQuestionFields;
|
|
21
|
+
field = leafFormConfigfields ? field + leafFormConfigfields : field;
|
|
22
|
+
const option = {
|
|
23
|
+
url: `${this.configService.urlConFig.URLS.QUESTION.READ}${questionId}`,
|
|
24
|
+
param: {
|
|
25
|
+
fields: field
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
return this.publicDataService.get(option);
|
|
29
|
+
}
|
|
30
|
+
updateHierarchyQuestionCreate(hierarchyBody) {
|
|
31
|
+
const requestObj = {
|
|
32
|
+
data: hierarchyBody
|
|
33
|
+
};
|
|
34
|
+
const req = {
|
|
35
|
+
url: this.configService.urlConFig.URLS[this.editorService.editorConfig.config.objectType].HIERARCHY_UPDATE,
|
|
36
|
+
data: {
|
|
37
|
+
request: requestObj
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
return this.publicDataService.patch(req);
|
|
41
|
+
}
|
|
42
|
+
updateHierarchyQuestionUpdate(hierarchyBody) {
|
|
43
|
+
const requestObj = {
|
|
44
|
+
data: hierarchyBody
|
|
45
|
+
};
|
|
46
|
+
const req = {
|
|
47
|
+
url: this.configService.urlConFig.URLS[this.editorService.editorConfig.config.objectType].HIERARCHY_UPDATE,
|
|
48
|
+
data: {
|
|
49
|
+
request: requestObj
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
return this.publicDataService.patch(req);
|
|
53
|
+
}
|
|
54
|
+
getAssetMedia(req) {
|
|
55
|
+
const reqParam = {
|
|
56
|
+
url: _.get(this.configService.urlConFig, 'URLS.compositSearch'),
|
|
57
|
+
data: {
|
|
58
|
+
request: {
|
|
59
|
+
filters: {
|
|
60
|
+
contentType: 'Asset',
|
|
61
|
+
compatibilityLevel: {
|
|
62
|
+
min: 1,
|
|
63
|
+
max: 2
|
|
64
|
+
},
|
|
65
|
+
status: ['Live'],
|
|
66
|
+
},
|
|
67
|
+
limit: 50,
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
reqParam.data.request = req ? _.merge({}, reqParam.data.request, req) : reqParam;
|
|
72
|
+
return this.publicDataService.post(reqParam);
|
|
73
|
+
}
|
|
74
|
+
createMediaAsset(req) {
|
|
75
|
+
const reqParam = {
|
|
76
|
+
url: _.get(this.configService.urlConFig, 'URLS.CONTENT.CREATE'),
|
|
77
|
+
data: {
|
|
78
|
+
request: {
|
|
79
|
+
content: {
|
|
80
|
+
contentType: 'Asset',
|
|
81
|
+
language: ['English'],
|
|
82
|
+
code: uuidv4(),
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
reqParam.data.request = req ? _.merge({}, reqParam.data.request, req) : reqParam;
|
|
88
|
+
return this.publicDataService.post(reqParam);
|
|
89
|
+
}
|
|
90
|
+
uploadMedia(req, assetId) {
|
|
91
|
+
let reqParam = {
|
|
92
|
+
url: `${this.configService.urlConFig.URLS.CONTENT.UPLOAD}${assetId}`,
|
|
93
|
+
data: req.data
|
|
94
|
+
};
|
|
95
|
+
reqParam = req ? _.merge({}, reqParam, req) : reqParam;
|
|
96
|
+
return this.publicDataService.post(reqParam);
|
|
97
|
+
}
|
|
98
|
+
generatePreSignedUrl(req, contentId) {
|
|
99
|
+
const reqParam = {
|
|
100
|
+
url: `${this.configService.urlConFig.URLS.CONTENT.UPLOAD_URL}${contentId}`,
|
|
101
|
+
data: {
|
|
102
|
+
request: req
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
return this.publicDataService.post(reqParam);
|
|
106
|
+
}
|
|
107
|
+
getVideo(videoId) {
|
|
108
|
+
const reqParam = {
|
|
109
|
+
url: `${this.configService.urlConFig.URLS.CONTENT.READ}${videoId}`
|
|
110
|
+
};
|
|
111
|
+
return this.publicDataService.get(reqParam);
|
|
112
|
+
}
|
|
113
|
+
getQuestionList(req, field) {
|
|
114
|
+
const reqParam = {
|
|
115
|
+
url: this.configService.urlConFig.URLS.QuestionSet.QUESTION_LIST,
|
|
116
|
+
data: {
|
|
117
|
+
request: {
|
|
118
|
+
search: {
|
|
119
|
+
identifier: req
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
if (field) {
|
|
125
|
+
reqParam.param = { fields: field };
|
|
126
|
+
}
|
|
127
|
+
return this.publicDataService.post(reqParam);
|
|
128
|
+
}
|
|
129
|
+
updateQuestion(questionId, requestBody) {
|
|
130
|
+
const req = {
|
|
131
|
+
url: `${this.configService.urlConFig.URLS.QUESTION.UPDATE}${questionId}`,
|
|
132
|
+
data: {
|
|
133
|
+
request: requestBody
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
return this.publicDataService.patch(req);
|
|
137
|
+
}
|
|
138
|
+
upsertQuestion(questionId, requestBody) {
|
|
139
|
+
if (questionId) {
|
|
140
|
+
const req = {
|
|
141
|
+
url: `${this.configService.urlConFig.URLS.QUESTION.UPDATE}${questionId}`,
|
|
142
|
+
data: {
|
|
143
|
+
request: requestBody
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
return this.publicDataService.patch(req);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
const req = {
|
|
150
|
+
url: this.configService.urlConFig.URLS.QUESTION.CREATE,
|
|
151
|
+
data: {
|
|
152
|
+
request: requestBody
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
return this.publicDataService.post(req);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionService, deps: [{ token: i1.DataService }, { token: i2.HttpClient }, { token: i3.ConfigService }, { token: i4.PublicDataService }, { token: i5.EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
159
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionService, providedIn: 'root' }); }
|
|
160
|
+
}
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionService, decorators: [{
|
|
162
|
+
type: Injectable,
|
|
163
|
+
args: [{
|
|
164
|
+
providedIn: 'root'
|
|
165
|
+
}]
|
|
166
|
+
}], ctorParameters: function () { return [{ type: i1.DataService }, { type: i2.HttpClient }, { type: i3.ConfigService }, { type: i4.PublicDataService }, { type: i5.EditorService }]; } });
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbGxlY3Rpb24tZWRpdG9yLWxpYnJhcnkvc3JjL2xpYi9zZXJ2aWNlcy9xdWVzdGlvbi9xdWVzdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDL0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBbUIsV0FBd0IsRUFBRSxJQUFnQixFQUFVLGFBQTRCLEVBQ3pGLGlCQUFvQyxFQUFVLGFBQTRCO1FBRGpFLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQTRCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3pGLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNsRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQVUsRUFBRSxvQkFBcUI7UUFDNUMsMkNBQTJDO1FBQzNDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1FBQy9ELEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEUsTUFBTSxNQUFNLEdBQUc7WUFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxVQUFVLEVBQUU7WUFDdEUsS0FBSyxFQUFFO2dCQUNMLE1BQU0sRUFB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QWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2dCQUN0RCxJQUFJLEVBQUU7b0JBQ0osT0FBTyxFQUFFLFdBQVc7aUJBQ3JCO2FBQ0YsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7K0dBM0pVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBQdWJsaWNEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3B1YmxpYy1kYXRhL3B1YmxpYy1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmVyUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NlcnZlclJlc3BvbnNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL2VkaXRvci9lZGl0b3Iuc2VydmljZSc7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblNlcnZpY2Uge1xuICBwdWJsaWMgaHR0cDogSHR0cENsaWVudDtcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSwgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHVibGljRGF0YVNlcnZpY2U6IFB1YmxpY0RhdGFTZXJ2aWNlLCBwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpIHtcbiAgICB0aGlzLmh0dHAgPSBodHRwO1xuICB9XG5cbiAgcmVhZFF1ZXN0aW9uKHF1ZXN0aW9uSWQsIGxlYWZGb3JtQ29uZmlnZmllbGRzPykge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICBsZXQgZmllbGQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZWRpdG9yQ29uZmlnLnJlYWRRdWVzdGlvbkZpZWxkcztcbiAgICBmaWVsZCA9IGxlYWZGb3JtQ29uZmlnZmllbGRzID8gZmllbGQgKyBsZWFmRm9ybUNvbmZpZ2ZpZWxkcyA6IGZpZWxkO1xuICAgIGNvbnN0IG9wdGlvbiA9IHtcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWdTZXJ2aWNlLnVybENvbkZpZy5VUkxTLlFVRVNUSU9OLlJFQUR9JHtxdWVzdGlvbklkfWAsXG4gICAgICBwYXJhbToge1xuICAgICAgICBmaWVsZHM6IGZpZWxkXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNEYXRhU2VydmljZS5nZXQob3B0aW9uKTtcbiAgfVxuXG4gIHVwZGF0ZUhpZXJhcmNoeVF1ZXN0aW9uQ3JlYXRlKGhpZXJhcmNoeUJvZHkpOiBPYnNlcnZhYmxlPFNlcnZlclJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdE9iaiA9IHtcbiAgICAgIGRhdGE6IGhpZXJhcmNoeUJvZHlcbiAgICB9O1xuICAgIGNvbnN0IHJlcSA9IHtcbiAgICAgIHVybDogdGhpcy5jb25maWdTZXJ2aWNlLnVybENvbkZpZy5VUkxTW3RoaXMuZWRpdG9yU2VydmljZS5lZGl0b3JDb25maWcuY29uZmlnLm9iamVjdFR5cGVdLkhJRVJBUkNIWV9VUERBVEUsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHJlcXVlc3Q6IHJlcXVlc3RPYmpcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnB1YmxpY0RhdGFTZXJ2aWNlLnBhdGNoKHJlcSk7XG4gIH1cblxuICB1cGRhdGVIaWVyYXJjaHlRdWVzdGlvblVwZGF0ZShoaWVyYXJjaHlCb2R5KTogT2JzZXJ2YWJsZTxTZXJ2ZXJSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3RPYmogPSB7XG4gICAgICBkYXRhOiBoaWVyYXJjaHlCb2R5XG4gICAgfTtcbiAgICBjb25zdCByZXEgPSB7XG4gICAgICB1cmw6IHRoaXMuY29uZmlnU2VydmljZS51cmxDb25GaWcuVVJMU1t0aGlzLmVkaXRvclNlcnZpY2UuZWRpdG9yQ29uZmlnLmNvbmZpZy5vYmplY3RUeXBlXS5ISUVSQVJDSFlfVVBEQVRFLFxuICAgICAgZGF0YToge1xuICAgICAgICByZXF1ZXN0OiByZXF1ZXN0T2JqXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNEYXRhU2VydmljZS5wYXRjaChyZXEpO1xuICB9XG5cbiAgZ2V0QXNzZXRNZWRpYShyZXE/OiBvYmplY3QpIHtcbiAgICBjb25zdCByZXFQYXJhbSA9IHtcbiAgICAgIHVybDogXy5nZXQodGhpcy5jb25maWdTZXJ2aWNlLnVybENvbkZpZywgJ1VSTFMuY29tcG9zaXRTZWFyY2gnKSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVxdWVzdDoge1xuICAgICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnQXNzZXQnLFxuICAgICAgICAgICAgY29tcGF0aWJpbGl0eUxldmVsOiB7XG4gICAgICAgICAgICAgIG1pbjogMSxcbiAgICAgICAgICAgICAgbWF4OiAyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhdHVzOiBbJ0xpdmUnXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxpbWl0OiA1MCxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgcmVxUGFyYW0uZGF0YS5yZXF1ZXN0ID0gcmVxID8gXy5tZXJnZSh7fSwgcmVxUGFyYW0uZGF0YS5yZXF1ZXN0LCByZXEpIDogcmVxUGFyYW07XG4gICAgcmV0dXJuIHRoaXMucHVibGljRGF0YVNlcnZpY2UucG9zdChyZXFQYXJhbSk7XG4gIH1cblxuICBjcmVhdGVNZWRpYUFzc2V0KHJlcT86IG9iamVjdCkge1xuICAgIGNvbnN0IHJlcVBhcmFtID0ge1xuICAgICAgdXJsOiBfLmdldCh0aGlzLmNvbmZpZ1NlcnZpY2UudXJsQ29uRmlnLCAnVVJMUy5DT05URU5ULkNSRUFURScpLFxuICAgICAgZGF0YToge1xuICAgICAgICByZXF1ZXN0OiB7XG4gICAgICAgICAgY29udGVudDoge1xuICAgICAgICAgICAgY29udGVudFR5cGU6ICdBc3NldCcsXG4gICAgICAgICAgICBsYW5ndWFnZTogWydFbmdsaXNoJ10sXG4gICAgICAgICAgICBjb2RlOiB1dWlkdjQoKSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJlcVBhcmFtLmRhdGEucmVxdWVzdCA9IHJlcSA/IF8ubWVyZ2Uoe30sIHJlcVBhcmFtLmRhdGEucmVxdWVzdCwgcmVxKSA6IHJlcVBhcmFtO1xuICAgIHJldHVybiB0aGlzLnB1YmxpY0RhdGFTZXJ2aWNlLnBvc3QocmVxUGFyYW0pO1xuICB9XG5cbiAgdXBsb2FkTWVkaWEocmVxLCBhc3NldElkOiBhbnkpIHtcbiAgICBsZXQgcmVxUGFyYW0gPSB7XG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnU2VydmljZS51cmxDb25GaWcuVVJMUy5DT05URU5ULlVQTE9BRH0ke2Fzc2V0SWR9YCxcbiAgICAgIGRhdGE6IHJlcS5kYXRhXG4gICAgfTtcbiAgICByZXFQYXJhbSA9IHJlcSA/IF8ubWVyZ2Uoe30sIHJlcVBhcmFtLCByZXEpIDogcmVxUGFyYW07XG4gICAgcmV0dXJuIHRoaXMucHVibGljRGF0YVNlcnZpY2UucG9zdChyZXFQYXJhbSk7XG4gIH1cblxuICBnZW5lcmF0ZVByZVNpZ25lZFVybChyZXEsIGNvbnRlbnRJZDogYW55KSB7XG4gICAgY29uc3QgcmVxUGFyYW0gPSB7XG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnU2VydmljZS51cmxDb25GaWcuVVJMUy5DT05URU5ULlVQTE9BRF9VUkx9JHtjb250ZW50SWR9YCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVxdWVzdDogcmVxXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNEYXRhU2VydmljZS5wb3N0KHJlcVBhcmFtKTtcbiAgfVxuXG4gIGdldFZpZGVvKHZpZGVvSWQpIHtcbiAgICBjb25zdCByZXFQYXJhbSA9IHtcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWdTZXJ2aWNlLnVybENvbkZpZy5VUkxTLkNPTlRFTlQuUkVBRH0ke3ZpZGVvSWR9YFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucHVibGljRGF0YVNlcnZpY2UuZ2V0KHJlcVBhcmFtKTtcbiAgfVxuXG4gIGdldFF1ZXN0aW9uTGlzdChyZXEsIGZpZWxkPzogYW55KSB7XG4gICAgY29uc3QgcmVxUGFyYW06IGFueSA9IHtcbiAgICAgIHVybDogdGhpcy5jb25maWdTZXJ2aWNlLnVybENvbkZpZy5VUkxTLlF1ZXN0aW9uU2V0LlFVRVNUSU9OX0xJU1QsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgICBzZWFyY2g6IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXI6IHJlcVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgaWYgKGZpZWxkKSB7XG4gICAgICByZXFQYXJhbS5wYXJhbSA9IHsgZmllbGRzOiBmaWVsZCB9O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wdWJsaWNEYXRhU2VydmljZS5wb3N0KHJlcVBhcmFtKTtcbiAgfVxuXG4gIHVwZGF0ZVF1ZXN0aW9uKHF1ZXN0aW9uSWQsIHJlcXVlc3RCb2R5KTogT2JzZXJ2YWJsZTxTZXJ2ZXJSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcSA9IHtcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWdTZXJ2aWNlLnVybENvbkZpZy5VUkxTLlFVRVNUSU9OLlVQREFURX0ke3F1ZXN0aW9uSWR9YCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVxdWVzdDogcmVxdWVzdEJvZHlcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnB1YmxpY0RhdGFTZXJ2aWNlLnBhdGNoKHJlcSk7XG4gIH1cblxuICB1cHNlcnRRdWVzdGlvbihxdWVzdGlvbklkLCByZXF1ZXN0Qm9keSk6IE9ic2VydmFibGU8U2VydmVyUmVzcG9uc2U+IHtcbiAgICBpZiAocXVlc3Rpb25JZCkge1xuICAgICAgY29uc3QgcmVxID0ge1xuICAgICAgICB1cmw6IGAke3RoaXMuY29uZmlnU2VydmljZS51cmxDb25GaWcuVVJMUy5RVUVTVElPTi5VUERBVEV9JHtxdWVzdGlvbklkfWAsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICByZXF1ZXN0OiByZXF1ZXN0Qm9keVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMucHVibGljRGF0YVNlcnZpY2UucGF0Y2gocmVxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcmVxID0ge1xuICAgICAgICB1cmw6IHRoaXMuY29uZmlnU2VydmljZS51cmxDb25GaWcuVVJMUy5RVUVTVElPTi5DUkVBVEUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICByZXF1ZXN0OiByZXF1ZXN0Qm9keVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMucHVibGljRGF0YVNlcnZpY2UucG9zdChyZXEpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash-es';
|
|
3
|
+
import { CsTelemetryModule } from '@project-sunbird/client-services/telemetry';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../helper/helper.service";
|
|
6
|
+
import * as i2 from "../config/config.service";
|
|
7
|
+
export class EditorTelemetryService {
|
|
8
|
+
constructor(helperService, configService) {
|
|
9
|
+
this.helperService = helperService;
|
|
10
|
+
this.configService = configService;
|
|
11
|
+
this.telemetryEvent = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
initializeTelemetry(config) {
|
|
14
|
+
this.duration = new Date().getTime();
|
|
15
|
+
this.context = config.context;
|
|
16
|
+
this.channel = config.context.channel;
|
|
17
|
+
this.pdata = this.context.pdata;
|
|
18
|
+
this.sid = this.context.sid;
|
|
19
|
+
this.uid = this.context.uid;
|
|
20
|
+
this.env = this.context.env;
|
|
21
|
+
this.pdata.pid = `${this.context.pdata.pid}.${this.env}`;
|
|
22
|
+
this.rollup = this.context.contextRollup;
|
|
23
|
+
if (!CsTelemetryModule.instance.isInitialised) {
|
|
24
|
+
CsTelemetryModule.instance.init({});
|
|
25
|
+
CsTelemetryModule.instance.telemetryService.initTelemetry({
|
|
26
|
+
config: {
|
|
27
|
+
pdata: config.context.pdata,
|
|
28
|
+
env: config.context.env,
|
|
29
|
+
channel: config.context.channel,
|
|
30
|
+
did: config.context.did,
|
|
31
|
+
authtoken: config.context.authToken || '',
|
|
32
|
+
uid: config.context.uid || '',
|
|
33
|
+
sid: config.context.sid,
|
|
34
|
+
batchsize: 20,
|
|
35
|
+
mode: config.context.mode,
|
|
36
|
+
host: config.context.host || document.location.origin,
|
|
37
|
+
endpoint: config.context.endpoint || _.get(this.configService.urlConFig, 'URLS.telemetry'),
|
|
38
|
+
tags: config.context.tags,
|
|
39
|
+
cdata: this.context.cdata || []
|
|
40
|
+
},
|
|
41
|
+
userOrgDetails: {}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
this.telemetryObject = {
|
|
45
|
+
id: config.context.identifier,
|
|
46
|
+
type: 'Content',
|
|
47
|
+
ver: '1.0',
|
|
48
|
+
rollup: this.context.objectRollup || {}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
set telemetryPageId(value) {
|
|
52
|
+
this._telemetryPageId = value;
|
|
53
|
+
}
|
|
54
|
+
get telemetryPageId() {
|
|
55
|
+
return this._telemetryPageId;
|
|
56
|
+
}
|
|
57
|
+
getTelemetryInteractEdata(id, type, subtype, pageid, extra) {
|
|
58
|
+
return _.omitBy({
|
|
59
|
+
id,
|
|
60
|
+
type,
|
|
61
|
+
subtype,
|
|
62
|
+
pageid,
|
|
63
|
+
extra
|
|
64
|
+
}, _.isUndefined);
|
|
65
|
+
}
|
|
66
|
+
start(edata) {
|
|
67
|
+
CsTelemetryModule.instance.telemetryService.raiseStartTelemetry({
|
|
68
|
+
options: this.getEventOptions(),
|
|
69
|
+
edata
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
end(edata) {
|
|
73
|
+
if (CsTelemetryModule.instance.isInitialised) {
|
|
74
|
+
CsTelemetryModule?.instance?.telemetryService?.raiseEndTelemetry({
|
|
75
|
+
edata,
|
|
76
|
+
options: this.getEventOptions()
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
interact(eventData) {
|
|
81
|
+
CsTelemetryModule.instance.telemetryService.raiseInteractTelemetry({
|
|
82
|
+
options: this.getEventOptions(),
|
|
83
|
+
edata: eventData.edata
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
impression(edata) {
|
|
87
|
+
CsTelemetryModule.instance.telemetryService.raiseImpressionTelemetry({
|
|
88
|
+
options: this.getEventOptions(),
|
|
89
|
+
edata
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
error(edata) {
|
|
93
|
+
CsTelemetryModule.instance.telemetryService.raiseErrorTelemetry({
|
|
94
|
+
edata
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
getEventOptions() {
|
|
98
|
+
return ({
|
|
99
|
+
object: this.telemetryObject,
|
|
100
|
+
context: {
|
|
101
|
+
channel: this.channel,
|
|
102
|
+
pdata: this.pdata,
|
|
103
|
+
env: this.env,
|
|
104
|
+
sid: this.sid,
|
|
105
|
+
uid: this.uid,
|
|
106
|
+
cdata: this.context.cdata || [],
|
|
107
|
+
rollup: this.rollup || {}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorTelemetryService, deps: [{ token: i1.HelperService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
112
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorTelemetryService, providedIn: 'root' }); }
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorTelemetryService, decorators: [{
|
|
115
|
+
type: Injectable,
|
|
116
|
+
args: [{
|
|
117
|
+
providedIn: 'root'
|
|
118
|
+
}]
|
|
119
|
+
}], ctorParameters: function () { return [{ type: i1.HelperService }, { type: i2.ConfigService }]; } });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xsZWN0aW9uLWVkaXRvci1saWJyYXJ5L3NyYy9saWIvc2VydmljZXMvdGVsZW1ldHJ5L3RlbGVtZXRyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxDQUFDLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7O0FBTy9FLE1BQU0sT0FBTyxzQkFBc0I7SUFjakMsWUFBbUIsYUFBNEIsRUFBUyxhQUE0QjtRQUFqRSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWHBGLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQVcrQyxDQUFDO0lBRXpGLG1CQUFtQixDQUFDLE1BQXFCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzVC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QUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBDc1RlbGVtZXRyeU1vZHVsZSB9IGZyb20gJ0Bwcm9qZWN0LXN1bmJpcmQvY2xpZW50LXNlcnZpY2VzL3RlbGVtZXRyeSc7XG5pbXBvcnQgeyBJRWRpdG9yQ29uZmlnLCBDb250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lZGl0b3InO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJy4uL2hlbHBlci9oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvclRlbGVtZXRyeVNlcnZpY2Uge1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICBjaGFubmVsOiBzdHJpbmc7XG4gIHRlbGVtZXRyeUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHByaXZhdGUgY29udGV4dDogQ29udGV4dDtcbiAgcHJpdmF0ZSB0ZWxlbWV0cnlPYmplY3Q6IGFueTtcbiAgcHJpdmF0ZSBwZGF0YTogYW55O1xuICBwcml2YXRlIHNpZDogc3RyaW5nO1xuICBwcml2YXRlIHVpZDogc3RyaW5nO1xuICBwcml2YXRlIHJvbGx1cDogYW55O1xuICBwcml2YXRlIGVudjogc3RyaW5nO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF90ZWxlbWV0cnlQYWdlSWQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaGVscGVyU2VydmljZTogSGVscGVyU2VydmljZSwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHsgfVxuXG4gIGluaXRpYWxpemVUZWxlbWV0cnkoY29uZmlnOiBJRWRpdG9yQ29uZmlnKSB7XG4gICAgdGhpcy5kdXJhdGlvbiA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMuY29udGV4dCA9IGNvbmZpZy5jb250ZXh0O1xuICAgIHRoaXMuY2hhbm5lbCA9IGNvbmZpZy5jb250ZXh0LmNoYW5uZWw7XG4gICAgdGhpcy5wZGF0YSA9IHRoaXMuY29udGV4dC5wZGF0YTtcbiAgICB0aGlzLnNpZCA9IHRoaXMuY29udGV4dC5zaWQ7XG4gICAgdGhpcy51aWQgPSB0aGlzLmNvbnRleHQudWlkO1xuICAgIHRoaXMuZW52ID0gdGhpcy5jb250ZXh0LmVudjtcbiAgICB0aGlzLnBkYXRhLnBpZCA9IGAke3RoaXMuY29udGV4dC5wZGF0YS5waWR9LiR7dGhpcy5lbnZ9YDtcbiAgICB0aGlzLnJvbGx1cCA9IHRoaXMuY29udGV4dC5jb250ZXh0Um9sbHVwO1xuICAgIGlmICghQ3NUZWxlbWV0cnlNb2R1bGUuaW5zdGFuY2UuaXNJbml0aWFsaXNlZCkge1xuICAgICAgQ3NUZWxlbWV0cnlNb2R1bGUuaW5zdGFuY2UuaW5pdCh7fSk7XG4gICAgICBDc1RlbGVtZXRyeU1vZHVsZS5pbnN0YW5jZS50ZWxlbWV0cnlTZXJ2aWNlLmluaXRUZWxlbWV0cnkoXG4gICAgICAgIHtcbiAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgIHBkYXRhOiBjb25maWcuY29udGV4dC5wZGF0YSxcbiAgICAgICAgICAgIGVudjogY29uZmlnLmNvbnRleHQuZW52LFxuICAgICAgICAgICAgY2hhbm5lbDogY29uZmlnLmNvbnRleHQuY2hhbm5lbCxcbiAgICAgICAgICAgIGRpZDogY29uZmlnLmNvbnRleHQuZGlkLFxuICAgICAgICAgICAgYXV0aHRva2VuOiBjb25maWcuY29udGV4dC5hdXRoVG9rZW4gfHwgJycsXG4gICAgICAgICAgICB1aWQ6IGNvbmZpZy5jb250ZXh0LnVpZCB8fCAnJyxcbiAgICAgICAgICAgIHNpZDogY29uZmlnLmNvbnRleHQuc2lkLFxuICAgICAgICAgICAgYmF0Y2hzaXplOiAyMCxcbiAgICAgICAgICAgIG1vZGU6IGNvbmZpZy5jb250ZXh0Lm1vZGUsXG4gICAgICAgICAgICBob3N0OiBjb25maWcuY29udGV4dC5ob3N0IHx8IGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbixcbiAgICAgICAgICAgIGVuZHBvaW50OiBjb25maWcuY29udGV4dC5lbmRwb2ludCB8fCBfLmdldCh0aGlzLmNvbmZpZ1NlcnZpY2UudXJsQ29uRmlnLCAnVVJMUy50ZWxlbWV0cnknKSxcbiAgICAgICAgICAgIHRhZ3M6IGNvbmZpZy5jb250ZXh0LnRhZ3MsXG4gICAgICAgICAgICBjZGF0YTogdGhpcy5jb250ZXh0LmNkYXRhIHx8IFtdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB1c2VyT3JnRGV0YWlsczoge31cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRlbGVtZXRyeU9iamVjdCA9IHtcbiAgICAgIGlkOiBjb25maWcuY29udGV4dC5pZGVudGlmaWVyLFxuICAgICAgdHlwZTogJ0NvbnRlbnQnLFxuICAgICAgdmVyOiAnMS4wJywgLy8gVE9ETyA6OiBjb25maWcubWV0YWRhdGEucGtnVmVyc2lvbiArICcnXG4gICAgICByb2xsdXA6IHRoaXMuY29udGV4dC5vYmplY3RSb2xsdXAgfHwge31cbiAgICB9O1xuICB9XG5cbiAgc2V0IHRlbGVtZXRyeVBhZ2VJZCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fdGVsZW1ldHJ5UGFnZUlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdGVsZW1ldHJ5UGFnZUlkKCkge1xuICAgIHJldHVybiB0aGlzLl90ZWxlbWV0cnlQYWdlSWQ7XG4gIH1cblxuICBnZXRUZWxlbWV0cnlJbnRlcmFjdEVkYXRhKGlkOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgc3VidHlwZTogc3RyaW5nLCBwYWdlaWQ6IHN0cmluZywgZXh0cmE/OiBhbnkpIHtcbiAgICByZXR1cm4gXy5vbWl0Qnkoe1xuICAgICAgaWQsXG4gICAgICB0eXBlLFxuICAgICAgc3VidHlwZSxcbiAgICAgIHBhZ2VpZCxcbiAgICAgIGV4dHJhXG4gICAgfSwgXy5pc1VuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnQoZWRhdGEpIHtcbiAgICBDc1RlbGVtZXRyeU1vZHVsZS5pbnN0YW5jZS50ZWxlbWV0cnlTZXJ2aWNlLnJhaXNlU3RhcnRUZWxlbWV0cnkoXG4gICAgICB7XG4gICAgICAgIG9wdGlvbnM6IHRoaXMuZ2V0RXZlbnRPcHRpb25zKCksXG4gICAgICAgIGVkYXRhXG4gICAgICB9XG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZW5kKGVkYXRhKSB7XG4gICAgaWYgKENzVGVsZW1ldHJ5TW9kdWxlLmluc3RhbmNlLmlzSW5pdGlhbGlzZWQpIHtcbiAgICAgIENzVGVsZW1ldHJ5TW9kdWxlPy5pbnN0YW5jZT8udGVsZW1ldHJ5U2VydmljZT8ucmFpc2VFbmRUZWxlbWV0cnkoe1xuICAgICAgICBlZGF0YSxcbiAgICAgICAgb3B0aW9uczogdGhpcy5nZXRFdmVudE9wdGlvbnMoKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGludGVyYWN0KGV2ZW50RGF0YSkge1xuICAgIENzVGVsZW1ldHJ5TW9kdWxlLmluc3RhbmNlLnRlbGVtZXRyeVNlcnZpY2UucmFpc2VJbnRlcmFjdFRlbGVtZXRyeSh7XG4gICAgICBvcHRpb25zOiB0aGlzLmdldEV2ZW50T3B0aW9ucygpLFxuICAgICAgZWRhdGE6IGV2ZW50RGF0YS5lZGF0YVxuICAgIH0pO1xuICB9XG5cblxuICBwdWJsaWMgaW1wcmVzc2lvbihlZGF0YSkge1xuICAgIENzVGVsZW1ldHJ5TW9kdWxlLmluc3RhbmNlLnRlbGVtZXRyeVNlcnZpY2UucmFpc2VJbXByZXNzaW9uVGVsZW1ldHJ5KHtcbiAgICAgIG9wdGlvbnM6IHRoaXMuZ2V0RXZlbnRPcHRpb25zKCksXG4gICAgICBlZGF0YVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGVycm9yKGVkYXRhKSB7XG4gICAgQ3NUZWxlbWV0cnlNb2R1bGUuaW5zdGFuY2UudGVsZW1ldHJ5U2VydmljZS5yYWlzZUVycm9yVGVsZW1ldHJ5KHtcbiAgICAgIGVkYXRhXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXZlbnRPcHRpb25zKCkge1xuICAgIHJldHVybiAoe1xuICAgICAgb2JqZWN0OiB0aGlzLnRlbGVtZXRyeU9iamVjdCxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgY2hhbm5lbDogdGhpcy5jaGFubmVsLFxuICAgICAgICBwZGF0YTogdGhpcy5wZGF0YSxcbiAgICAgICAgZW52OiB0aGlzLmVudixcbiAgICAgICAgc2lkOiB0aGlzLnNpZCxcbiAgICAgICAgdWlkOiB0aGlzLnVpZCxcbiAgICAgICAgY2RhdGE6IHRoaXMuY29udGV4dC5jZGF0YSB8fCBbXSxcbiAgICAgICAgcm9sbHVwOiB0aGlzLnJvbGx1cCB8fCB7fVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Service to show toaster
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export class ToasterService {
|
|
8
|
+
/**
|
|
9
|
+
* Constructor to create injected service(s) object
|
|
10
|
+
*/
|
|
11
|
+
constructor() {
|
|
12
|
+
this.options = {
|
|
13
|
+
position: 'topCenter',
|
|
14
|
+
titleSize: '18',
|
|
15
|
+
timeout: 6000,
|
|
16
|
+
transitionIn: 'flipInX',
|
|
17
|
+
transitionOut: 'flipOutX'
|
|
18
|
+
};
|
|
19
|
+
this.iziToast = iziToast; // global object
|
|
20
|
+
}
|
|
21
|
+
InfoToasterCritical(title, message) {
|
|
22
|
+
iziToast.show({
|
|
23
|
+
title,
|
|
24
|
+
message,
|
|
25
|
+
class: 'sb-toaster sb-toast-success sb-toast-normal',
|
|
26
|
+
position: 'topCenter',
|
|
27
|
+
timeout: 6000,
|
|
28
|
+
transitionIn: 'flipInX',
|
|
29
|
+
transitionOut: 'flipOutX'
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Format success message
|
|
34
|
+
* @memberOf Services.toasterService
|
|
35
|
+
* @param string message - Success message
|
|
36
|
+
*/
|
|
37
|
+
success(title, message) {
|
|
38
|
+
this.iziToast.success({
|
|
39
|
+
title,
|
|
40
|
+
message: message ? message : '',
|
|
41
|
+
class: 'sb-toaster sb-toast-normal sb-toast-success',
|
|
42
|
+
...this.options
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Format information message
|
|
47
|
+
* @memberOf Services.toasterService
|
|
48
|
+
* @param string message - Info message
|
|
49
|
+
*/
|
|
50
|
+
info(title, message) {
|
|
51
|
+
this.iziToast.info({
|
|
52
|
+
title,
|
|
53
|
+
message: message ? message : '',
|
|
54
|
+
class: 'sb-toaster sb-toast-normal sb-toast-info',
|
|
55
|
+
...this.options
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Format error message
|
|
60
|
+
* @memberOf Services.toasterService
|
|
61
|
+
* @param string message - Error message
|
|
62
|
+
*/
|
|
63
|
+
error(title, message) {
|
|
64
|
+
this.iziToast.error({
|
|
65
|
+
title,
|
|
66
|
+
message: message ? message : '',
|
|
67
|
+
class: 'sb-toaster sb-toast-normal sb-toast-danger',
|
|
68
|
+
...this.options
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Format warning message
|
|
73
|
+
* @memberOf Services.toasterService
|
|
74
|
+
* @param string message - Warning message
|
|
75
|
+
*/
|
|
76
|
+
warning(title, message) {
|
|
77
|
+
this.iziToast.warning({
|
|
78
|
+
title,
|
|
79
|
+
message: message ? message : '',
|
|
80
|
+
class: 'sb-toaster sb-toast-normal sb-toast-warning',
|
|
81
|
+
...this.options
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Simple info message
|
|
86
|
+
* @memberOf Services.toasterService
|
|
87
|
+
* @param string message - Simple info message
|
|
88
|
+
*/
|
|
89
|
+
simpleInfo(title, position, message) {
|
|
90
|
+
this.iziToast.info({
|
|
91
|
+
title,
|
|
92
|
+
message: message ? message : '',
|
|
93
|
+
position: position ? position : 'topCenter'
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToasterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
97
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToasterService, providedIn: 'root' }); }
|
|
98
|
+
}
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToasterService, decorators: [{
|
|
100
|
+
type: Injectable,
|
|
101
|
+
args: [{
|
|
102
|
+
providedIn: 'root'
|
|
103
|
+
}]
|
|
104
|
+
}], ctorParameters: function () { return []; } });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sbGVjdGlvbi1lZGl0b3ItbGlicmFyeS9zcmMvbGliL3NlcnZpY2VzL3RvYXN0ZXIvdG9hc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7R0FHRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBYXpCOztVQUVHO0lBQ0g7UUFWUSxZQUFPLEdBQUc7WUFDaEIsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLGFBQWEsRUFBRSxVQUFVO1NBQzFCLENBQUM7UUFLQSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQjtJQUM1QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDaEQsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNaLEtBQUs7WUFDTCxPQUFPO1lBQ1AsS0FBSyxFQUFFLDZDQUE2QztZQUNwRCxRQUFRLEVBQUUsV0FBVztZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLGFBQWEsRUFBRSxVQUFVO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLEtBQWEsRUFBRSxPQUFnQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNsQixLQUFLO1lBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9CLEtBQUssRUFBRSw2Q0FBNkM7WUFDbkQsR0FBRyxJQUFJLENBQUMsT0FBTztTQUNmLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLEtBQWEsRUFBRSxPQUFnQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQixLQUFLO1lBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9CLEtBQUssRUFBRSwwQ0FBMEM7WUFDaEQsR0FBRyxJQUFJLENBQUMsT0FBTztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxLQUFhLEVBQUUsT0FBZ0I7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEIsS0FBSztZQUNMLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQixLQUFLLEVBQUUsNENBQTRDO1lBQ2xELEdBQUcsSUFBSSxDQUFDLE9BQU87U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsS0FBYSxFQUFFLE9BQWdCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ3BCLEtBQUs7WUFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0IsS0FBSyxFQUFFLDZDQUE2QztZQUNuRCxHQUFHLElBQUksQ0FBQyxPQUFPO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0EsVUFBVSxDQUFDLEtBQWEsRUFBRSxRQUFTLEVBQUUsT0FBZ0I7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakIsS0FBSztZQUNMLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQixRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVc7U0FDNUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FyR1EsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5kZWNsYXJlIGNvbnN0IGl6aVRvYXN0OiBhbnk7XG4vKipcbiAqIFNlcnZpY2UgdG8gc2hvdyB0b2FzdGVyXG4gKlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdGVyU2VydmljZSB7XG5cbiAgLyoqXG4gICAqIFRvIHNob3cgdG9hc3RlciBtZXNzYWdlc1xuICAgKi9cbiAgcHJpdmF0ZSBpemlUb2FzdDogYW55O1xuICBwcml2YXRlIG9wdGlvbnMgPSB7XG4gICAgcG9zaXRpb246ICd0b3BDZW50ZXInLFxuICAgIHRpdGxlU2l6ZTogJzE4JyxcbiAgICB0aW1lb3V0OiA2MDAwLFxuICAgIHRyYW5zaXRpb25JbjogJ2ZsaXBJblgnLFxuICAgIHRyYW5zaXRpb25PdXQ6ICdmbGlwT3V0WCdcbiAgfTtcbiAgLyoqXG5cdCAgKiBDb25zdHJ1Y3RvciB0byBjcmVhdGUgaW5qZWN0ZWQgc2VydmljZShzKSBvYmplY3Rcblx0ICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLml6aVRvYXN0ID0gaXppVG9hc3Q7IC8vIGdsb2JhbCBvYmplY3RcbiAgfVxuXG4gIEluZm9Ub2FzdGVyQ3JpdGljYWwodGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgaXppVG9hc3Quc2hvdyh7XG4gICAgICB0aXRsZSxcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBjbGFzczogJ3NiLXRvYXN0ZXIgc2ItdG9hc3Qtc3VjY2VzcyBzYi10b2FzdC1ub3JtYWwnLFxuICAgICAgcG9zaXRpb246ICd0b3BDZW50ZXInLFxuICAgICAgdGltZW91dDogNjAwMCxcbiAgICAgIHRyYW5zaXRpb25JbjogJ2ZsaXBJblgnLFxuICAgICAgdHJhbnNpdGlvbk91dDogJ2ZsaXBPdXRYJ1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBzdWNjZXNzIG1lc3NhZ2VcbiAgICogQG1lbWJlck9mIFNlcnZpY2VzLnRvYXN0ZXJTZXJ2aWNlXG4gICAqIEBwYXJhbSBzdHJpbmcgIG1lc3NhZ2UgLSBTdWNjZXNzIG1lc3NhZ2VcbiAgICovXG4gIHN1Y2Nlc3ModGl0bGU6IHN0cmluZywgbWVzc2FnZT86IHN0cmluZykge1xuICAgIHRoaXMuaXppVG9hc3Quc3VjY2Vzcyh7XG4gICAgICAgIHRpdGxlLFxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlID8gbWVzc2FnZSA6ICcnLFxuICAgICAgICBjbGFzczogJ3NiLXRvYXN0ZXIgc2ItdG9hc3Qtbm9ybWFsIHNiLXRvYXN0LXN1Y2Nlc3MnLFxuICAgICAgICAgLi4udGhpcy5vcHRpb25zXG4gICAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBpbmZvcm1hdGlvbiBtZXNzYWdlXG4gICAqIEBtZW1iZXJPZiBTZXJ2aWNlcy50b2FzdGVyU2VydmljZVxuICAgKiBAcGFyYW0gc3RyaW5nICBtZXNzYWdlIC0gSW5mbyBtZXNzYWdlXG4gICAqL1xuICBpbmZvKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICB0aGlzLml6aVRvYXN0LmluZm8oe1xuICAgICAgdGl0bGUsXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlID8gbWVzc2FnZSA6ICcnLFxuICAgICAgY2xhc3M6ICdzYi10b2FzdGVyIHNiLXRvYXN0LW5vcm1hbCBzYi10b2FzdC1pbmZvJyxcbiAgICAgICAuLi50aGlzLm9wdGlvbnNcbiAgICB9KTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogRm9ybWF0IGVycm9yIG1lc3NhZ2VcbiAgICogQG1lbWJlck9mIFNlcnZpY2VzLnRvYXN0ZXJTZXJ2aWNlXG4gICAqIEBwYXJhbSBzdHJpbmcgIG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlXG4gICAqL1xuICBlcnJvcih0aXRsZTogc3RyaW5nLCBtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5pemlUb2FzdC5lcnJvcih7XG4gICAgICB0aXRsZSxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgPyBtZXNzYWdlIDogJycsXG4gICAgICBjbGFzczogJ3NiLXRvYXN0ZXIgc2ItdG9hc3Qtbm9ybWFsIHNiLXRvYXN0LWRhbmdlcicsXG4gICAgICAgLi4udGhpcy5vcHRpb25zXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IHdhcm5pbmcgbWVzc2FnZVxuICAgKiBAbWVtYmVyT2YgU2VydmljZXMudG9hc3RlclNlcnZpY2VcbiAgICogQHBhcmFtIHN0cmluZyAgbWVzc2FnZSAtIFdhcm5pbmcgbWVzc2FnZVxuICAgKi9cbiAgd2FybmluZyh0aXRsZTogc3RyaW5nLCBtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5pemlUb2FzdC53YXJuaW5nKHtcbiAgICAgIHRpdGxlLFxuICAgICAgbWVzc2FnZTogbWVzc2FnZSA/IG1lc3NhZ2UgOiAnJyxcbiAgICAgIGNsYXNzOiAnc2ItdG9hc3RlciBzYi10b2FzdC1ub3JtYWwgc2ItdG9hc3Qtd2FybmluZycsXG4gICAgICAgLi4udGhpcy5vcHRpb25zXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2ltcGxlIGluZm8gbWVzc2FnZVxuICAgKiBAbWVtYmVyT2YgU2VydmljZXMudG9hc3RlclNlcnZpY2VcbiAgICogQHBhcmFtIHN0cmluZyAgbWVzc2FnZSAtIFNpbXBsZSBpbmZvIG1lc3NhZ2VcbiAgICovXG4gICAgIHNpbXBsZUluZm8odGl0bGU6IHN0cmluZywgcG9zaXRpb24/LCBtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgICB0aGlzLml6aVRvYXN0LmluZm8oe1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSA/IG1lc3NhZ2UgOiAnJyxcbiAgICAgICAgcG9zaXRpb246IHBvc2l0aW9uID8gcG9zaXRpb24gOiAndG9wQ2VudGVyJ1xuICAgICAgfSk7XG4gICAgfVxufVxuIl19
|