cloud-ide-core 0.0.1
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/cloud-ide-core.mjs +5 -0
- package/esm2022/lib/cloud-ide-core.component.mjs +19 -0
- package/esm2022/lib/cloud-ide-core.service.mjs +14 -0
- package/esm2022/lib/core/department-management/components/department-list/department-list.component.mjs +768 -0
- package/esm2022/lib/core/department-management/index.mjs +5 -0
- package/esm2022/lib/core/department-management/services/department-management.service.mjs +187 -0
- package/esm2022/lib/core/designation-management/components/designation-list/designation-list.component.mjs +1122 -0
- package/esm2022/lib/core/designation-management/index.mjs +5 -0
- package/esm2022/lib/core/designation-management/services/designation-management.service.mjs +194 -0
- package/esm2022/lib/core/grade-level-management/components/grade-level-list/grade-level-list.component.mjs +794 -0
- package/esm2022/lib/core/grade-level-management/index.mjs +5 -0
- package/esm2022/lib/core/grade-level-management/services/grade-level-management.service.mjs +172 -0
- package/esm2022/lib/core/menu-management/components/menu-list/menu-list.component.mjs +1135 -0
- package/esm2022/lib/core/menu-management/index.mjs +10 -0
- package/esm2022/lib/core/menu-management/interfaces/menu-item.interface.mjs +11 -0
- package/esm2022/lib/core/menu-management/mock-data/menu-items.json +311 -0
- package/esm2022/lib/core/menu-management/services/menu-management.service.mjs +230 -0
- package/esm2022/lib/core/page-management/components/page-controls/page-controls.component.mjs +483 -0
- package/esm2022/lib/core/page-management/components/page-list/page-list.component.mjs +393 -0
- package/esm2022/lib/core/page-management/components/page-theme/page-theme.component.mjs +767 -0
- package/esm2022/lib/core/page-management/index.mjs +10 -0
- package/esm2022/lib/core/page-management/services/page-controls.service.mjs +136 -0
- package/esm2022/lib/core/page-management/services/page-management.service.mjs +98 -0
- package/esm2022/lib/core/page-management/services/page-theme.service.mjs +107 -0
- package/esm2022/public-api.mjs +16 -0
- package/fesm2022/cloud-ide-core.mjs +6859 -0
- package/fesm2022/cloud-ide-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/cloud-ide-core.component.d.ts +5 -0
- package/lib/cloud-ide-core.service.d.ts +6 -0
- package/lib/core/department-management/components/department-list/department-list.component.d.ts +178 -0
- package/lib/core/department-management/index.d.ts +2 -0
- package/lib/core/department-management/services/department-management.service.d.ts +68 -0
- package/lib/core/designation-management/components/designation-list/designation-list.component.d.ts +242 -0
- package/lib/core/designation-management/index.d.ts +2 -0
- package/lib/core/designation-management/services/designation-management.service.d.ts +69 -0
- package/lib/core/grade-level-management/components/grade-level-list/grade-level-list.component.d.ts +199 -0
- package/lib/core/grade-level-management/index.d.ts +2 -0
- package/lib/core/grade-level-management/services/grade-level-management.service.d.ts +69 -0
- package/lib/core/menu-management/components/menu-list/menu-list.component.d.ts +278 -0
- package/lib/core/menu-management/index.d.ts +3 -0
- package/lib/core/menu-management/interfaces/menu-item.interface.d.ts +30 -0
- package/lib/core/menu-management/services/menu-management.service.d.ts +85 -0
- package/lib/core/page-management/components/page-controls/page-controls.component.d.ts +126 -0
- package/lib/core/page-management/components/page-list/page-list.component.d.ts +91 -0
- package/lib/core/page-management/components/page-theme/page-theme.component.d.ts +189 -0
- package/lib/core/page-management/index.d.ts +6 -0
- package/lib/core/page-management/services/page-controls.service.d.ts +54 -0
- package/lib/core/page-management/services/page-management.service.d.ts +42 -0
- package/lib/core/page-management/services/page-theme.service.d.ts +43 -0
- package/package.json +25 -0
- package/public-api.d.ts +7 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Page Management Components
|
|
2
|
+
export * from './components/page-list/page-list.component';
|
|
3
|
+
export * from './components/page-theme/page-theme.component';
|
|
4
|
+
export * from './components/page-controls/page-controls.component';
|
|
5
|
+
// Page Management Services
|
|
6
|
+
export * from './services/page-management.service';
|
|
7
|
+
export * from './services/page-theme.service';
|
|
8
|
+
export * from './services/page-controls.service';
|
|
9
|
+
// Page Management Interfaces - Now using model interfaces from cloud-ide-lms-model
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbG91ZC1pZGUtY29yZS9zcmMvbGliL2NvcmUvcGFnZS1tYW5hZ2VtZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvREFBb0QsQ0FBQztBQUVuRSwyQkFBMkI7QUFDM0IsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0NBQWtDLENBQUM7QUFFakQsb0ZBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUGFnZSBNYW5hZ2VtZW50IENvbXBvbmVudHNcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtbGlzdC9wYWdlLWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtdGhlbWUvcGFnZS10aGVtZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1jb250cm9scy9wYWdlLWNvbnRyb2xzLmNvbXBvbmVudCc7XHJcblxyXG4vLyBQYWdlIE1hbmFnZW1lbnQgU2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9wYWdlLW1hbmFnZW1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcGFnZS10aGVtZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9wYWdlLWNvbnRyb2xzLnNlcnZpY2UnO1xyXG5cclxuLy8gUGFnZSBNYW5hZ2VtZW50IEludGVyZmFjZXMgLSBOb3cgdXNpbmcgbW9kZWwgaW50ZXJmYWNlcyBmcm9tIGNsb3VkLWlkZS1sbXMtbW9kZWwgIl19
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { throwError } from 'rxjs';
|
|
3
|
+
import { catchError } from 'rxjs/operators';
|
|
4
|
+
import { cidePath, coreRoutesUrl, generateStringFromObject, hostManagerRoutesUrl } from 'cloud-ide-lms-model';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
export class PageControlsService {
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
console.log('PageControlsService initialized - using real API');
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get control list from API
|
|
14
|
+
*/
|
|
15
|
+
getControlList(body) {
|
|
16
|
+
const query = generateStringFromObject(body);
|
|
17
|
+
return this.http?.get(cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControl, query]))
|
|
18
|
+
.pipe(catchError(error => {
|
|
19
|
+
console.error('PageControlsService API error:', error);
|
|
20
|
+
return this.handleError(error);
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Create new control
|
|
25
|
+
*/
|
|
26
|
+
createControl(payload) {
|
|
27
|
+
console.log('Creating control:', payload);
|
|
28
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControl]);
|
|
29
|
+
return this.http.post(url, payload)
|
|
30
|
+
.pipe(catchError(this.handleError));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Update existing control
|
|
34
|
+
*/
|
|
35
|
+
updateControl(payload) {
|
|
36
|
+
console.log('Updating control:', payload);
|
|
37
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControl]);
|
|
38
|
+
return this.http.post(url, payload)
|
|
39
|
+
.pipe(catchError(this.handleError));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get control by ID
|
|
43
|
+
*/
|
|
44
|
+
getControlById(id) {
|
|
45
|
+
console.log('Getting control by ID:', id);
|
|
46
|
+
const payload = { sype_id: id };
|
|
47
|
+
const query = generateStringFromObject(payload);
|
|
48
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControl, 'byId', query]);
|
|
49
|
+
return this.http.get(url)
|
|
50
|
+
.pipe(catchError(this.handleError));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get controls by page ID
|
|
54
|
+
*/
|
|
55
|
+
getControlsByPageId(pageId) {
|
|
56
|
+
console.log('Getting controls by page ID:', pageId);
|
|
57
|
+
const payload = { sype_page_id_sypg: pageId };
|
|
58
|
+
const query = generateStringFromObject(payload);
|
|
59
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControl, 'byPage', query]);
|
|
60
|
+
return this.http.get(url)
|
|
61
|
+
.pipe(catchError(this.handleError));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get control mappings by page ID
|
|
65
|
+
*/
|
|
66
|
+
getControlMappingsByPageId(pageId) {
|
|
67
|
+
console.log('Getting control mappings by page ID:', pageId);
|
|
68
|
+
const payload = { sypem_id_sypg: pageId };
|
|
69
|
+
const query = generateStringFromObject(payload);
|
|
70
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControlMapping, query]);
|
|
71
|
+
return this.http.get(url)
|
|
72
|
+
.pipe(catchError(this.handleError));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Create control mapping
|
|
76
|
+
*/
|
|
77
|
+
createControlMapping(payload) {
|
|
78
|
+
console.log('Creating control mapping:', payload);
|
|
79
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControlMapping]);
|
|
80
|
+
return this.http.post(url, payload)
|
|
81
|
+
.pipe(catchError(this.handleError));
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Delete control mapping
|
|
85
|
+
*/
|
|
86
|
+
deleteControlMapping(id) {
|
|
87
|
+
const payload = { sypem_id: id };
|
|
88
|
+
const query = generateStringFromObject(payload);
|
|
89
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControlMapping, query]);
|
|
90
|
+
return this.http.delete(url)
|
|
91
|
+
.pipe(catchError(this.handleError));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Delete control
|
|
95
|
+
*/
|
|
96
|
+
deleteControl(id) {
|
|
97
|
+
const payload = { sype_id: id };
|
|
98
|
+
const query = generateStringFromObject(payload);
|
|
99
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControl, query]);
|
|
100
|
+
return this.http.delete(url)
|
|
101
|
+
.pipe(catchError(this.handleError));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Toggle control active status
|
|
105
|
+
*/
|
|
106
|
+
toggleControlStatus(payload) {
|
|
107
|
+
console.log('Toggling control status:', payload);
|
|
108
|
+
const query = generateStringFromObject(payload);
|
|
109
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageControl, query]);
|
|
110
|
+
return this.http.put(url, {})
|
|
111
|
+
.pipe(catchError(this.handleError));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Handle errors
|
|
115
|
+
*/
|
|
116
|
+
handleError(error) {
|
|
117
|
+
let errorMessage = 'An error occurred';
|
|
118
|
+
if (error instanceof Error) {
|
|
119
|
+
errorMessage = error.message;
|
|
120
|
+
}
|
|
121
|
+
else if (typeof error === 'string') {
|
|
122
|
+
errorMessage = error;
|
|
123
|
+
}
|
|
124
|
+
console.error('Page Controls Service Error:', errorMessage);
|
|
125
|
+
return throwError(() => new Error(errorMessage));
|
|
126
|
+
}
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageControlsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
128
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageControlsService, providedIn: 'root' }); }
|
|
129
|
+
}
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageControlsService, decorators: [{
|
|
131
|
+
type: Injectable,
|
|
132
|
+
args: [{
|
|
133
|
+
providedIn: 'root'
|
|
134
|
+
}]
|
|
135
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jb250cm9scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xvdWQtaWRlLWNvcmUvc3JjL2xpYi9jb3JlL3BhZ2UtbWFuYWdlbWVudC9zZXJ2aWNlcy9wYWdlLWNvbnRyb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBbUJyQixNQUFNLHFCQUFxQixDQUFDOzs7QUFLN0IsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0RBQWtELENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsSUFBbUI7UUFDaEMsTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBaUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNuSyxJQUFJLENBQ0gsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxD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QUssRUFBRSxDQUFDO1lBQzNCLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLENBQUM7YUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztRQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDNUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDOzhHQTNKVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFxyXG4gIGNpZGVQYXRoLCBcclxuICBjb3JlUm91dGVzVXJsLCBcclxuICBnZW5lcmF0ZVN0cmluZ0Zyb21PYmplY3QsIFxyXG4gIGhvc3RNYW5hZ2VyUm91dGVzVXJsLFxyXG4gIE1QYWdlRWxlbWVudHMsXHJcbiAgTVBhZ2VFbGVtZW50c0dldEJ5SWRQYXlsb2FkLFxyXG4gIE1QYWdlRWxlbWVudHNEZWxldGVQYXlsb2FkLFxyXG4gIE1QYWdlRWxlbWVudHNJbnNlcnRVcGRhdGVQYXlsb2FkLFxyXG4gIE1QYWdlRWxlbWVudHNUb2dnbGVTdGF0dXNQYXlsb2FkLFxyXG4gIE1QYWdlRWxlbWVudHNCeVBhZ2VJZFBheWxvYWQsXHJcbiAgTVBhZ2VFbGVtZW50c01hcHBpbmdEZWxldGVQYXlsb2FkLFxyXG4gIE1QYWdlRWxlbWVudHNNYXBwaW5nSW5zZXJ0VXBkYXRlUGF5bG9hZCxcclxuICBNUGFnZUVsZW1lbnRzTWFwcGluZ0J5UGFnZUlkUGF5bG9hZCxcclxuICBwYWdlRWxlbWVudHNDb250cm9sbGVyUmVzcG9uc2UsXHJcbiAgcGFnZUVsZW1lbnRzQnlJZENvbnRyb2xsZXJSZXNwb25zZSxcclxuICBwYWdlRWxlbWVudHNJbnNlcnRVcGRhdGVDb250cm9sbGVyUmVzcG9uc2UsXHJcbiAgcGFnZUVsZW1lbnRzRGVsZXRlQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHBhZ2VFbGVtZW50c1RvZ2dsZVN0YXR1c0NvbnRyb2xsZXJSZXNwb25zZSxcclxuICBwYWdlRWxlbWVudHNCeVBhZ2VJZENvbnRyb2xsZXJSZXNwb25zZSxcclxuICBwYWdlRWxlbWVudHNNYXBwaW5nSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHBhZ2VFbGVtZW50c01hcHBpbmdEZWxldGVDb250cm9sbGVyUmVzcG9uc2UsXHJcbiAgcGFnZUVsZW1lbnRzTWFwcGluZ0J5UGFnZUlkQ29udHJvbGxlclJlc3BvbnNlXHJcbn0gZnJvbSAnY2xvdWQtaWRlLWxtcy1tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlQ29udHJvbHNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIGNvbnNvbGUubG9nKCdQYWdlQ29udHJvbHNTZXJ2aWNlIGluaXRpYWxpemVkIC0gdXNpbmcgcmVhbCBBUEknKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjb250cm9sIGxpc3QgZnJvbSBBUElcclxuICAgKi9cclxuICBnZXRDb250cm9sTGlzdChib2R5OiBNUGFnZUVsZW1lbnRzKTogT2JzZXJ2YWJsZTxwYWdlRWxlbWVudHNDb250cm9sbGVyUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHF1ZXJ5ID0gZ2VuZXJhdGVTdHJpbmdGcm9tT2JqZWN0KGJvZHkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cD8uZ2V0PHBhZ2VFbGVtZW50c0NvbnRyb2xsZXJSZXNwb25zZT4oY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2VDb250cm9sLCBxdWVyeV0pKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1BhZ2VDb250cm9sc1NlcnZpY2UgQVBJIGVycm9yOicsIGVycm9yKTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIG5ldyBjb250cm9sXHJcbiAgICovXHJcbiAgY3JlYXRlQ29udHJvbChwYXlsb2FkOiBNUGFnZUVsZW1lbnRzSW5zZXJ0VXBkYXRlUGF5bG9hZCk6IE9ic2VydmFibGU8cGFnZUVsZW1lbnRzSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zb2xlLmxvZygnQ3JlYXRpbmcgY29udHJvbDonLCBwYXlsb2FkKTtcclxuICAgIFxyXG4gICAgY29uc3QgdXJsID0gY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2VDb250cm9sXSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8cGFnZUVsZW1lbnRzSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlPih1cmwsIHBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBleGlzdGluZyBjb250cm9sXHJcbiAgICovXHJcbiAgdXBkYXRlQ29udHJvbChwYXlsb2FkOiBNUGFnZUVsZW1lbnRzSW5zZXJ0VXBkYXRlUGF5bG9hZCk6IE9ic2VydmFibGU8cGFnZUVsZW1lbnRzSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zb2xlLmxvZygnVXBkYXRpbmcgY29udHJvbDonLCBwYXlsb2FkKTtcclxuICAgIFxyXG4gICAgY29uc3QgdXJsID0gY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2VDb250cm9sXSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8cGFnZUVsZW1lbnRzSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlPih1cmwsIHBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjb250cm9sIGJ5IElEXHJcbiAgICovXHJcbiAgZ2V0Q29udHJvbEJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8cGFnZUVsZW1lbnRzQnlJZENvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc29sZS5sb2coJ0dldHRpbmcgY29udHJvbCBieSBJRDonLCBpZCk7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBNUGFnZUVsZW1lbnRzR2V0QnlJZFBheWxvYWQgPSB7IHN5cGVfaWQ6IGlkIH07XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChwYXlsb2FkKTtcclxuICAgIGNvbnN0IHVybCA9IGNpZGVQYXRoPy5qb2luKFtob3N0TWFuYWdlclJvdXRlc1VybD8uY2lkZVN1aXRlSG9zdCwgY29yZVJvdXRlc1VybD8ubW9kdWxlLCBjb3JlUm91dGVzVXJsPy5wYWdlQ29udHJvbCwgJ2J5SWQnLCBxdWVyeV0pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8cGFnZUVsZW1lbnRzQnlJZENvbnRyb2xsZXJSZXNwb25zZT4odXJsKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY29udHJvbHMgYnkgcGFnZSBJRFxyXG4gICAqL1xyXG4gIGdldENvbnRyb2xzQnlQYWdlSWQocGFnZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHBhZ2VFbGVtZW50c0J5UGFnZUlkQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zb2xlLmxvZygnR2V0dGluZyBjb250cm9scyBieSBwYWdlIElEOicsIHBhZ2VJZCk7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBNUGFnZUVsZW1lbnRzQnlQYWdlSWRQYXlsb2FkID0geyBzeXBlX3BhZ2VfaWRfc3lwZzogcGFnZUlkIH07XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChwYXlsb2FkKTtcclxuICAgIGNvbnN0IHVybCA9IGNpZGVQYXRoPy5qb2luKFtob3N0TWFuYWdlclJvdXRlc1VybD8uY2lkZVN1aXRlSG9zdCwgY29yZVJvdXRlc1VybD8ubW9kdWxlLCBjb3JlUm91dGVzVXJsPy5wYWdlQ29udHJvbCwgJ2J5UGFnZScsIHF1ZXJ5XSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxwYWdlRWxlbWVudHNCeVBhZ2VJZENvbnRyb2xsZXJSZXNwb25zZT4odXJsKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY29udHJvbCBtYXBwaW5ncyBieSBwYWdlIElEXHJcbiAgICovXHJcbiAgZ2V0Q29udHJvbE1hcHBpbmdzQnlQYWdlSWQocGFnZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHBhZ2VFbGVtZW50c01hcHBpbmdCeVBhZ2VJZENvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc29sZS5sb2coJ0dldHRpbmcgY29udHJvbCBtYXBwaW5ncyBieSBwYWdlIElEOicsIHBhZ2VJZCk7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBNUGFnZUVsZW1lbnRzTWFwcGluZ0J5UGFnZUlkUGF5bG9hZCA9IHsgc3lwZW1faWRfc3lwZzogcGFnZUlkIH07XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChwYXlsb2FkKTtcclxuICAgIGNvbnN0IHVybCA9IGNpZGVQYXRoPy5qb2luKFtob3N0TWFuYWdlclJvdXRlc1VybD8uY2lkZVN1aXRlSG9zdCwgY29yZVJvdXRlc1VybD8ubW9kdWxlLCBjb3JlUm91dGVzVXJsPy5wYWdlQ29udHJvbE1hcHBpbmcsIHF1ZXJ5XSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxwYWdlRWxlbWVudHNNYXBwaW5nQnlQYWdlSWRDb250cm9sbGVyUmVzcG9uc2U+KHVybClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGNvbnRyb2wgbWFwcGluZ1xyXG4gICAqL1xyXG4gIGNyZWF0ZUNvbnRyb2xNYXBwaW5nKHBheWxvYWQ6IE1QYWdlRWxlbWVudHNNYXBwaW5nSW5zZXJ0VXBkYXRlUGF5bG9hZCk6IE9ic2VydmFibGU8cGFnZUVsZW1lbnRzTWFwcGluZ0luc2VydFVwZGF0ZUNvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc29sZS5sb2coJ0NyZWF0aW5nIGNvbnRyb2wgbWFwcGluZzonLCBwYXlsb2FkKTtcclxuICAgIFxyXG4gICAgY29uc3QgdXJsID0gY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2VDb250cm9sTWFwcGluZ10pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHBhZ2VFbGVtZW50c01hcHBpbmdJbnNlcnRVcGRhdGVDb250cm9sbGVyUmVzcG9uc2U+KHVybCwgcGF5bG9hZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGNvbnRyb2wgbWFwcGluZ1xyXG4gICAqL1xyXG4gIGRlbGV0ZUNvbnRyb2xNYXBwaW5nKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHBhZ2VFbGVtZW50c01hcHBpbmdEZWxldGVDb250cm9sbGVyUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHBheWxvYWQ6IE1QYWdlRWxlbWVudHNNYXBwaW5nRGVsZXRlUGF5bG9hZCA9IHsgc3lwZW1faWQ6IGlkIH07XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChwYXlsb2FkKTtcclxuICAgIGNvbnN0IHVybCA9IGNpZGVQYXRoPy5qb2luKFtob3N0TWFuYWdlclJvdXRlc1VybD8uY2lkZVN1aXRlSG9zdCwgY29yZVJvdXRlc1VybD8ubW9kdWxlLCBjb3JlUm91dGVzVXJsPy5wYWdlQ29udHJvbE1hcHBpbmcsIHF1ZXJ5XSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxwYWdlRWxlbWVudHNNYXBwaW5nRGVsZXRlQ29udHJvbGxlclJlc3BvbnNlPih1cmwpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBjb250cm9sXHJcbiAgICovXHJcbiAgZGVsZXRlQ29udHJvbChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxwYWdlRWxlbWVudHNEZWxldGVDb250cm9sbGVyUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHBheWxvYWQ6IE1QYWdlRWxlbWVudHNEZWxldGVQYXlsb2FkID0geyBzeXBlX2lkOiBpZCB9O1xyXG4gICAgY29uc3QgcXVlcnkgPSBnZW5lcmF0ZVN0cmluZ0Zyb21PYmplY3QocGF5bG9hZCk7XHJcbiAgICBjb25zdCB1cmwgPSBjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZUNvbnRyb2wsIHF1ZXJ5XSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxwYWdlRWxlbWVudHNEZWxldGVDb250cm9sbGVyUmVzcG9uc2U+KHVybClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIGNvbnRyb2wgYWN0aXZlIHN0YXR1c1xyXG4gICAqL1xyXG4gIHRvZ2dsZUNvbnRyb2xTdGF0dXMocGF5bG9hZDogTVBhZ2VFbGVtZW50c1RvZ2dsZVN0YXR1c1BheWxvYWQpOiBPYnNlcnZhYmxlPHBhZ2VFbGVtZW50c1RvZ2dsZVN0YXR1c0NvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc29sZS5sb2coJ1RvZ2dsaW5nIGNvbnRyb2wgc3RhdHVzOicsIHBheWxvYWQpO1xyXG4gICAgY29uc3QgcXVlcnkgPSBnZW5lcmF0ZVN0cmluZ0Zyb21PYmplY3QocGF5bG9hZCk7XHJcbiAgICBjb25zdCB1cmwgPSBjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZUNvbnRyb2wsIHF1ZXJ5XSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxwYWdlRWxlbWVudHNUb2dnbGVTdGF0dXNDb250cm9sbGVyUmVzcG9uc2U+KHVybCwge30pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGVycm9yc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IHVua25vd24pOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gJ0FuIGVycm9yIG9jY3VycmVkJztcclxuXHJcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUuZXJyb3IoJ1BhZ2UgQ29udHJvbHMgU2VydmljZSBFcnJvcjonLCBlcnJvck1lc3NhZ2UpO1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yTWVzc2FnZSkpO1xyXG4gIH1cclxufSAiXX0=
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { throwError } from 'rxjs';
|
|
3
|
+
import { catchError, map } from 'rxjs/operators';
|
|
4
|
+
import { cidePath, coreRoutesUrl, generateStringFromObject, hostManagerRoutesUrl } from 'cloud-ide-lms-model';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
export class PageManagementService {
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Get page list from API
|
|
13
|
+
*/
|
|
14
|
+
getPageList(body) {
|
|
15
|
+
const query = generateStringFromObject(body);
|
|
16
|
+
return this.http?.get(cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.page, query]))
|
|
17
|
+
.pipe(catchError(error => {
|
|
18
|
+
console.error('PageManagementService API error:', error);
|
|
19
|
+
return this.handleError(error);
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create or update page using single API endpoint
|
|
24
|
+
*/
|
|
25
|
+
createOrUpdatePage(payload) {
|
|
26
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.page]);
|
|
27
|
+
return this.http.post(url, payload)
|
|
28
|
+
.pipe(catchError(this.handleError));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get page by ID
|
|
32
|
+
*/
|
|
33
|
+
getPageById(id) {
|
|
34
|
+
console.log('Getting page by ID:', id);
|
|
35
|
+
const payload = { sypg_id: id };
|
|
36
|
+
const query = generateStringFromObject(payload);
|
|
37
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.page, 'byId', query]);
|
|
38
|
+
return this.http.get(url)
|
|
39
|
+
.pipe(catchError(this.handleError));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Delete page
|
|
43
|
+
*/
|
|
44
|
+
deletePage(id) {
|
|
45
|
+
const payload = { sypg_id: id };
|
|
46
|
+
const query = generateStringFromObject(payload);
|
|
47
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.page, query]);
|
|
48
|
+
return this.http.delete(url)
|
|
49
|
+
.pipe(catchError(this.handleError));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Toggle page active status
|
|
53
|
+
*/
|
|
54
|
+
togglePageStatus(payload) {
|
|
55
|
+
const query = generateStringFromObject(payload);
|
|
56
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.page, query]);
|
|
57
|
+
return this.http.put(url, {})
|
|
58
|
+
.pipe(catchError(this.handleError));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Find page by ID using API
|
|
62
|
+
*/
|
|
63
|
+
findPageById(payload) {
|
|
64
|
+
const query = generateStringFromObject(payload);
|
|
65
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.page, 'checkCodeExists', query]);
|
|
66
|
+
return this.http.get(url)
|
|
67
|
+
.pipe(catchError(this.handleError));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if page code already exists
|
|
71
|
+
*/
|
|
72
|
+
checkPageCodeExists(payload) {
|
|
73
|
+
return this.findPageById(payload).pipe(map((response) => response.success || false));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Handle errors
|
|
77
|
+
*/
|
|
78
|
+
handleError(error) {
|
|
79
|
+
let errorMessage = 'An error occurred';
|
|
80
|
+
if (error instanceof Error) {
|
|
81
|
+
errorMessage = error.message;
|
|
82
|
+
}
|
|
83
|
+
else if (typeof error === 'string') {
|
|
84
|
+
errorMessage = error;
|
|
85
|
+
}
|
|
86
|
+
console.error('Page Management Service Error:', errorMessage);
|
|
87
|
+
return throwError(() => new Error(errorMessage));
|
|
88
|
+
}
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageManagementService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
90
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageManagementService, providedIn: 'root' }); }
|
|
91
|
+
}
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageManagementService, decorators: [{
|
|
93
|
+
type: Injectable,
|
|
94
|
+
args: [{
|
|
95
|
+
providedIn: 'root'
|
|
96
|
+
}]
|
|
97
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbG91ZC1pZGUtY29yZS9zcmMvbGliL2NvcmUvcGFnZS1tYW5hZ2VtZW50L3NlcnZpY2VzL3BhZ2UtbWFuYWdlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxRQUFRLEVBQ1IsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixvQkFBb0IsRUFhckIsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBSzdCLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFJLENBQUM7SUFFekM7O09BRUc7SUFDSCxXQUFXLENBQUMsSUFBa0I7UUFDNUIsTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBZ0MsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMzSixJQUFJLENBQ0gsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxPQUF3QztRQUN6RCxNQUFNLEdBQUcsR0FBRyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDOUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsR0FBRyxFQUFFLE9BQU8sQ0FBQzthQUMzRSxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDN0IsQ0FBQztJQUNOLENBQUM7SUFHRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQStCLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVELE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sR0FBRyxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9DLEdBQUcsQ0FBQzthQUN6RCxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDN0IsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxFQUFVO1FBQ25CLE1BQU0sT0FBTyxHQUE4QixFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMzRCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxNQUFNLEdBQUcsR0FBRyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQXNDLEdBQUcsQ0FBQzthQUM5RCxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDN0IsQ0FBQztJQUNOLENBQUM7SUFJRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLE9BQXdDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sR0FBRyxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNEMsR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNyRSxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDN0IsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxPQUEyQztRQUN0RCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxNQUFNLEdBQUcsR0FBRyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3hJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQStDLEdBQUcsQ0FBQzthQUNwRSxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDN0IsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQixDQUFDLE9BQTJDO1FBQzdELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLFFBQXNELEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQzNGLENBQUM7SUFDSixDQUFDO0lBSUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsS0FBYztRQUNoQyxJQUFJLFlBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUV2QyxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztZQUMzQixZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0EzR1UscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgY2lkZVBhdGgsXHJcbiAgY29yZVJvdXRlc1VybCxcclxuICBnZW5lcmF0ZVN0cmluZ0Zyb21PYmplY3QsXHJcbiAgaG9zdE1hbmFnZXJSb3V0ZXNVcmwsXHJcbiAgTVN5c3RlbVBhZ2VzLFxyXG4gIE1TeXN0ZW1QYWdlc0NoZWNrQ29kZUV4aXN0c1BheWxvYWQsXHJcbiAgTVN5c3RlbVBhZ2VzRGVsZXRlUGF5bG9hZCxcclxuICBNU3lzdGVtUGFnZXNHZXRCeUlkUGF5bG9hZCxcclxuICBNU3lzdGVtUGFnZXNJbnNlcnRVcGRhdGVQYXlsb2FkLFxyXG4gIE1TeXN0ZW1QYWdlc1RvZ2dsZVN0YXR1c1BheWxvYWQsXHJcbiAgc3lzdGVtUGFnZXNCeUlkQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHN5c3RlbVBhZ2VzQ2hlY2tDb2RlRXhpc3RzQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHN5c3RlbVBhZ2VzQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHN5c3RlbVBhZ2VzRGVsZXRlQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHN5c3RlbVBhZ2VzSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHN5c3RlbVBhZ2VzVG9nZ2xlU3RhdHVzQ29udHJvbGxlclJlc3BvbnNlXHJcbn0gZnJvbSAnY2xvdWQtaWRlLWxtcy1tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlTWFuYWdlbWVudFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBwYWdlIGxpc3QgZnJvbSBBUElcclxuICAgKi9cclxuICBnZXRQYWdlTGlzdChib2R5OiBNU3lzdGVtUGFnZXMpOiBPYnNlcnZhYmxlPHN5c3RlbVBhZ2VzQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChib2R5KTtcclxuICAgIHJldHVybiB0aGlzLmh0dHA/LmdldDxzeXN0ZW1QYWdlc0NvbnRyb2xsZXJSZXNwb25zZT4oY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2UsIHF1ZXJ5XSkpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignUGFnZU1hbmFnZW1lbnRTZXJ2aWNlIEFQSSBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBvciB1cGRhdGUgcGFnZSB1c2luZyBzaW5nbGUgQVBJIGVuZHBvaW50XHJcbiAgICovXHJcbiAgY3JlYXRlT3JVcGRhdGVQYWdlKHBheWxvYWQ6IE1TeXN0ZW1QYWdlc0luc2VydFVwZGF0ZVBheWxvYWQpOiBPYnNlcnZhYmxlPHN5c3RlbVBhZ2VzSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCB1cmwgPSBjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZV0pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN5c3RlbVBhZ2VzSW5zZXJ0VXBkYXRlQ29udHJvbGxlclJlc3BvbnNlPih1cmwsIHBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgcGFnZSBieSBJRFxyXG4gICAqL1xyXG4gIGdldFBhZ2VCeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN5c3RlbVBhZ2VzQnlJZENvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc29sZS5sb2coJ0dldHRpbmcgcGFnZSBieSBJRDonLCBpZCk7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBNU3lzdGVtUGFnZXNHZXRCeUlkUGF5bG9hZCA9IHsgc3lwZ19pZDogaWQgfTtcclxuICAgIGNvbnN0IHF1ZXJ5ID0gZ2VuZXJhdGVTdHJpbmdGcm9tT2JqZWN0KHBheWxvYWQpO1xyXG4gICAgY29uc3QgdXJsID0gY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2UsICdieUlkJywgcXVlcnldKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN5c3RlbVBhZ2VzQnlJZENvbnRyb2xsZXJSZXNwb25zZT4odXJsKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgcGFnZVxyXG4gICAqL1xyXG4gIGRlbGV0ZVBhZ2UoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3lzdGVtUGFnZXNEZWxldGVDb250cm9sbGVyUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHBheWxvYWQ6IE1TeXN0ZW1QYWdlc0RlbGV0ZVBheWxvYWQgPSB7IHN5cGdfaWQ6IGlkIH07XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChwYXlsb2FkKTtcclxuICAgIGNvbnN0IHVybCA9IGNpZGVQYXRoPy5qb2luKFtob3N0TWFuYWdlclJvdXRlc1VybD8uY2lkZVN1aXRlSG9zdCwgY29yZVJvdXRlc1VybD8ubW9kdWxlLCBjb3JlUm91dGVzVXJsPy5wYWdlLCBxdWVyeV0pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8c3lzdGVtUGFnZXNEZWxldGVDb250cm9sbGVyUmVzcG9uc2U+KHVybClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgcGFnZSBhY3RpdmUgc3RhdHVzXHJcbiAgICovXHJcbiAgdG9nZ2xlUGFnZVN0YXR1cyhwYXlsb2FkOiBNU3lzdGVtUGFnZXNUb2dnbGVTdGF0dXNQYXlsb2FkKTogT2JzZXJ2YWJsZTxzeXN0ZW1QYWdlc1RvZ2dsZVN0YXR1c0NvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcXVlcnkgPSBnZW5lcmF0ZVN0cmluZ0Zyb21PYmplY3QocGF5bG9hZCk7XHJcbiAgICBjb25zdCB1cmwgPSBjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZSwgcXVlcnldKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PHN5c3RlbVBhZ2VzVG9nZ2xlU3RhdHVzQ29udHJvbGxlclJlc3BvbnNlPih1cmwsIHt9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kIHBhZ2UgYnkgSUQgdXNpbmcgQVBJXHJcbiAgICovXHJcbiAgZmluZFBhZ2VCeUlkKHBheWxvYWQ6IE1TeXN0ZW1QYWdlc0NoZWNrQ29kZUV4aXN0c1BheWxvYWQpOiBPYnNlcnZhYmxlPHN5c3RlbVBhZ2VzQ2hlY2tDb2RlRXhpc3RzQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChwYXlsb2FkKTtcclxuICAgIGNvbnN0IHVybCA9IGNpZGVQYXRoPy5qb2luKFtob3N0TWFuYWdlclJvdXRlc1VybD8uY2lkZVN1aXRlSG9zdCwgY29yZVJvdXRlc1VybD8ubW9kdWxlLCBjb3JlUm91dGVzVXJsPy5wYWdlLCAnY2hlY2tDb2RlRXhpc3RzJywgcXVlcnldKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN5c3RlbVBhZ2VzQ2hlY2tDb2RlRXhpc3RzQ29udHJvbGxlclJlc3BvbnNlPih1cmwpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHBhZ2UgY29kZSBhbHJlYWR5IGV4aXN0c1xyXG4gICAqL1xyXG4gIGNoZWNrUGFnZUNvZGVFeGlzdHMocGF5bG9hZDogTVN5c3RlbVBhZ2VzQ2hlY2tDb2RlRXhpc3RzUGF5bG9hZCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmluZFBhZ2VCeUlkKHBheWxvYWQpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IHN5c3RlbVBhZ2VzQ2hlY2tDb2RlRXhpc3RzQ29udHJvbGxlclJlc3BvbnNlKSA9PiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGVycm9yc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IHVua25vd24pOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gJ0FuIGVycm9yIG9jY3VycmVkJztcclxuXHJcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUuZXJyb3IoJ1BhZ2UgTWFuYWdlbWVudCBTZXJ2aWNlIEVycm9yOicsIGVycm9yTWVzc2FnZSk7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKSk7XHJcbiAgfVxyXG59ICJdfQ==
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { throwError } from 'rxjs';
|
|
3
|
+
import { catchError } from 'rxjs/operators';
|
|
4
|
+
import { cidePath, coreRoutesUrl, generateStringFromObject, hostManagerRoutesUrl } from 'cloud-ide-lms-model';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
export class PageThemeService {
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.apiUrl = `${coreRoutesUrl?.pageTheme}`;
|
|
11
|
+
console.log('PageThemeService initialized - using real API');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get theme list from API
|
|
15
|
+
*/
|
|
16
|
+
getThemeList(body) {
|
|
17
|
+
const query = generateStringFromObject(body);
|
|
18
|
+
return this.http?.get(cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageTheme, query]))
|
|
19
|
+
.pipe(catchError(error => {
|
|
20
|
+
console.error('PageThemeService API error:', error);
|
|
21
|
+
return this.handleError(error);
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Create new theme
|
|
26
|
+
*/
|
|
27
|
+
createTheme(payload) {
|
|
28
|
+
console.log('Creating theme:', payload);
|
|
29
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageTheme]);
|
|
30
|
+
return this.http.post(url, payload)
|
|
31
|
+
.pipe(catchError(this.handleError));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Update existing theme
|
|
35
|
+
*/
|
|
36
|
+
updateTheme(payload) {
|
|
37
|
+
console.log('Updating theme:', payload);
|
|
38
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageTheme]);
|
|
39
|
+
return this.http.post(url, payload)
|
|
40
|
+
.pipe(catchError(this.handleError));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get theme by ID
|
|
44
|
+
*/
|
|
45
|
+
getThemeById(id) {
|
|
46
|
+
console.log('Getting theme by ID:', id);
|
|
47
|
+
const payload = { sytm_id: id };
|
|
48
|
+
const query = generateStringFromObject(payload);
|
|
49
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageTheme, 'byId', query]);
|
|
50
|
+
return this.http.get(url)
|
|
51
|
+
.pipe(catchError(this.handleError));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get themes by page ID
|
|
55
|
+
*/
|
|
56
|
+
getThemesByPageId(pageId) {
|
|
57
|
+
console.log('Getting themes by page ID:', pageId);
|
|
58
|
+
const payload = { sytm_page_id_sypg: pageId };
|
|
59
|
+
const query = generateStringFromObject(payload);
|
|
60
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageTheme, 'byPage', query]);
|
|
61
|
+
return this.http.get(url)
|
|
62
|
+
.pipe(catchError(this.handleError));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Delete theme
|
|
66
|
+
*/
|
|
67
|
+
deleteTheme(id) {
|
|
68
|
+
const payload = { sytm_id: id };
|
|
69
|
+
const query = generateStringFromObject(payload);
|
|
70
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageTheme, query]);
|
|
71
|
+
return this.http.delete(url)
|
|
72
|
+
.pipe(catchError(this.handleError));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Toggle theme active status
|
|
76
|
+
*/
|
|
77
|
+
toggleThemeStatus(payload) {
|
|
78
|
+
console.log('Toggling theme status:', payload);
|
|
79
|
+
const query = generateStringFromObject(payload);
|
|
80
|
+
const url = cidePath?.join([hostManagerRoutesUrl?.cideSuiteHost, coreRoutesUrl?.module, coreRoutesUrl?.pageTheme, query]);
|
|
81
|
+
return this.http.put(url, {})
|
|
82
|
+
.pipe(catchError(this.handleError));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Handle errors
|
|
86
|
+
*/
|
|
87
|
+
handleError(error) {
|
|
88
|
+
let errorMessage = 'An error occurred';
|
|
89
|
+
if (error instanceof Error) {
|
|
90
|
+
errorMessage = error.message;
|
|
91
|
+
}
|
|
92
|
+
else if (typeof error === 'string') {
|
|
93
|
+
errorMessage = error;
|
|
94
|
+
}
|
|
95
|
+
console.error('Page Theme Service Error:', errorMessage);
|
|
96
|
+
return throwError(() => new Error(errorMessage));
|
|
97
|
+
}
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageThemeService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
99
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageThemeService, providedIn: 'root' }); }
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageThemeService, decorators: [{
|
|
102
|
+
type: Injectable,
|
|
103
|
+
args: [{
|
|
104
|
+
providedIn: 'root'
|
|
105
|
+
}]
|
|
106
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aGVtZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xvdWQtaWRlLWNvcmUvc3JjL2xpYi9jb3JlL3BhZ2UtbWFuYWdlbWVudC9zZXJ2aWNlcy9wYWdlLXRoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBYXJCLE1BQU0scUJBQXFCLENBQUM7OztBQUs3QixNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsV0FBTSxHQUFHLEdBQUcsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBRzdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsSUFBdUI7UUFDbEMsTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBcUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNySyxJQUFJLENBQ0gsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFD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LEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7OEdBckhVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBcclxuICBjaWRlUGF0aCwgXHJcbiAgY29yZVJvdXRlc1VybCwgXHJcbiAgZ2VuZXJhdGVTdHJpbmdGcm9tT2JqZWN0LCBcclxuICBob3N0TWFuYWdlclJvdXRlc1VybCxcclxuICBNU3lzdGVtUGFnZXNUaGVtZSxcclxuICBNU3lzdGVtUGFnZXNUaGVtZUdldEJ5SWRQYXlsb2FkLFxyXG4gIE1TeXN0ZW1QYWdlc1RoZW1lRGVsZXRlUGF5bG9hZCxcclxuICBNU3lzdGVtUGFnZXNUaGVtZUluc2VydFVwZGF0ZVBheWxvYWQsXHJcbiAgTVN5c3RlbVBhZ2VzVGhlbWVUb2dnbGVTdGF0dXNQYXlsb2FkLFxyXG4gIE1TeXN0ZW1QYWdlc1RoZW1lQnlQYWdlSWRQYXlsb2FkLFxyXG4gIHN5c3RlbVBhZ2VzVGhlbWVDb250cm9sbGVyUmVzcG9uc2UsXHJcbiAgc3lzdGVtUGFnZXNUaGVtZUJ5SWRDb250cm9sbGVyUmVzcG9uc2UsXHJcbiAgc3lzdGVtUGFnZXNUaGVtZUluc2VydFVwZGF0ZUNvbnRyb2xsZXJSZXNwb25zZSxcclxuICBzeXN0ZW1QYWdlc1RoZW1lRGVsZXRlQ29udHJvbGxlclJlc3BvbnNlLFxyXG4gIHN5c3RlbVBhZ2VzVGhlbWVUb2dnbGVTdGF0dXNDb250cm9sbGVyUmVzcG9uc2UsXHJcbiAgc3lzdGVtUGFnZXNUaGVtZUJ5UGFnZUlkQ29udHJvbGxlclJlc3BvbnNlXHJcbn0gZnJvbSAnY2xvdWQtaWRlLWxtcy1tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlVGhlbWVTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFwaVVybCA9IGAke2NvcmVSb3V0ZXNVcmw/LnBhZ2VUaGVtZX1gO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIGNvbnNvbGUubG9nKCdQYWdlVGhlbWVTZXJ2aWNlIGluaXRpYWxpemVkIC0gdXNpbmcgcmVhbCBBUEknKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGVtZSBsaXN0IGZyb20gQVBJXHJcbiAgICovXHJcbiAgZ2V0VGhlbWVMaXN0KGJvZHk6IE1TeXN0ZW1QYWdlc1RoZW1lKTogT2JzZXJ2YWJsZTxzeXN0ZW1QYWdlc1RoZW1lQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBxdWVyeSA9IGdlbmVyYXRlU3RyaW5nRnJvbU9iamVjdChib2R5KTtcclxuICAgIHJldHVybiB0aGlzLmh0dHA/LmdldDxzeXN0ZW1QYWdlc1RoZW1lQ29udHJvbGxlclJlc3BvbnNlPihjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZVRoZW1lLCBxdWVyeV0pKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1BhZ2VUaGVtZVNlcnZpY2UgQVBJIGVycm9yOicsIGVycm9yKTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIG5ldyB0aGVtZVxyXG4gICAqL1xyXG4gIGNyZWF0ZVRoZW1lKHBheWxvYWQ6IE1TeXN0ZW1QYWdlc1RoZW1lSW5zZXJ0VXBkYXRlUGF5bG9hZCk6IE9ic2VydmFibGU8c3lzdGVtUGFnZXNUaGVtZUluc2VydFVwZGF0ZUNvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc29sZS5sb2coJ0NyZWF0aW5nIHRoZW1lOicsIHBheWxvYWQpO1xyXG4gICAgXHJcbiAgICBjb25zdCB1cmwgPSBjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZVRoZW1lXSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8c3lzdGVtUGFnZXNUaGVtZUluc2VydFVwZGF0ZUNvbnRyb2xsZXJSZXNwb25zZT4odXJsLCBwYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgZXhpc3RpbmcgdGhlbWVcclxuICAgKi9cclxuICB1cGRhdGVUaGVtZShwYXlsb2FkOiBNU3lzdGVtUGFnZXNUaGVtZUluc2VydFVwZGF0ZVBheWxvYWQpOiBPYnNlcnZhYmxlPHN5c3RlbVBhZ2VzVGhlbWVJbnNlcnRVcGRhdGVDb250cm9sbGVyUmVzcG9uc2U+IHtcclxuICAgIGNvbnNvbGUubG9nKCdVcGRhdGluZyB0aGVtZTonLCBwYXlsb2FkKTtcclxuICAgIFxyXG4gICAgY29uc3QgdXJsID0gY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2VUaGVtZV0pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN5c3RlbVBhZ2VzVGhlbWVJbnNlcnRVcGRhdGVDb250cm9sbGVyUmVzcG9uc2U+KHVybCwgcGF5bG9hZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZW1lIGJ5IElEXHJcbiAgICovXHJcbiAgZ2V0VGhlbWVCeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN5c3RlbVBhZ2VzVGhlbWVCeUlkQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zb2xlLmxvZygnR2V0dGluZyB0aGVtZSBieSBJRDonLCBpZCk7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBNU3lzdGVtUGFnZXNUaGVtZUdldEJ5SWRQYXlsb2FkID0geyBzeXRtX2lkOiBpZCB9O1xyXG4gICAgY29uc3QgcXVlcnkgPSBnZW5lcmF0ZVN0cmluZ0Zyb21PYmplY3QocGF5bG9hZCk7XHJcbiAgICBjb25zdCB1cmwgPSBjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZVRoZW1lLCAnYnlJZCcsIHF1ZXJ5XSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzeXN0ZW1QYWdlc1RoZW1lQnlJZENvbnRyb2xsZXJSZXNwb25zZT4odXJsKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlbWVzIGJ5IHBhZ2UgSURcclxuICAgKi9cclxuICBnZXRUaGVtZXNCeVBhZ2VJZChwYWdlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3lzdGVtUGFnZXNUaGVtZUJ5UGFnZUlkQ29udHJvbGxlclJlc3BvbnNlPiB7XHJcbiAgICBjb25zb2xlLmxvZygnR2V0dGluZyB0aGVtZXMgYnkgcGFnZSBJRDonLCBwYWdlSWQpO1xyXG4gICAgY29uc3QgcGF5bG9hZDogTVN5c3RlbVBhZ2VzVGhlbWVCeVBhZ2VJZFBheWxvYWQgPSB7IHN5dG1fcGFnZV9pZF9zeXBnOiBwYWdlSWQgfTtcclxuICAgIGNvbnN0IHF1ZXJ5ID0gZ2VuZXJhdGVTdHJpbmdGcm9tT2JqZWN0KHBheWxvYWQpO1xyXG4gICAgY29uc3QgdXJsID0gY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2VUaGVtZSwgJ2J5UGFnZScsIHF1ZXJ5XSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzeXN0ZW1QYWdlc1RoZW1lQnlQYWdlSWRDb250cm9sbGVyUmVzcG9uc2U+KHVybClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIHRoZW1lXHJcbiAgICovXHJcbiAgZGVsZXRlVGhlbWUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3lzdGVtUGFnZXNUaGVtZURlbGV0ZUNvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcGF5bG9hZDogTVN5c3RlbVBhZ2VzVGhlbWVEZWxldGVQYXlsb2FkID0geyBzeXRtX2lkOiBpZCB9O1xyXG4gICAgY29uc3QgcXVlcnkgPSBnZW5lcmF0ZVN0cmluZ0Zyb21PYmplY3QocGF5bG9hZCk7XHJcbiAgICBjb25zdCB1cmwgPSBjaWRlUGF0aD8uam9pbihbaG9zdE1hbmFnZXJSb3V0ZXNVcmw/LmNpZGVTdWl0ZUhvc3QsIGNvcmVSb3V0ZXNVcmw/Lm1vZHVsZSwgY29yZVJvdXRlc1VybD8ucGFnZVRoZW1lLCBxdWVyeV0pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8c3lzdGVtUGFnZXNUaGVtZURlbGV0ZUNvbnRyb2xsZXJSZXNwb25zZT4odXJsKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgdGhlbWUgYWN0aXZlIHN0YXR1c1xyXG4gICAqL1xyXG4gIHRvZ2dsZVRoZW1lU3RhdHVzKHBheWxvYWQ6IE1TeXN0ZW1QYWdlc1RoZW1lVG9nZ2xlU3RhdHVzUGF5bG9hZCk6IE9ic2VydmFibGU8c3lzdGVtUGFnZXNUaGVtZVRvZ2dsZVN0YXR1c0NvbnRyb2xsZXJSZXNwb25zZT4ge1xyXG4gICAgY29uc29sZS5sb2coJ1RvZ2dsaW5nIHRoZW1lIHN0YXR1czonLCBwYXlsb2FkKTtcclxuICAgIGNvbnN0IHF1ZXJ5ID0gZ2VuZXJhdGVTdHJpbmdGcm9tT2JqZWN0KHBheWxvYWQpO1xyXG4gICAgY29uc3QgdXJsID0gY2lkZVBhdGg/LmpvaW4oW2hvc3RNYW5hZ2VyUm91dGVzVXJsPy5jaWRlU3VpdGVIb3N0LCBjb3JlUm91dGVzVXJsPy5tb2R1bGUsIGNvcmVSb3V0ZXNVcmw/LnBhZ2VUaGVtZSwgcXVlcnldKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PHN5c3RlbVBhZ2VzVGhlbWVUb2dnbGVTdGF0dXNDb250cm9sbGVyUmVzcG9uc2U+KHVybCwge30pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGVycm9yc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IHVua25vd24pOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gJ0FuIGVycm9yIG9jY3VycmVkJztcclxuXHJcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUuZXJyb3IoJ1BhZ2UgVGhlbWUgU2VydmljZSBFcnJvcjonLCBlcnJvck1lc3NhZ2UpO1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yTWVzc2FnZSkpO1xyXG4gIH1cclxufSAiXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of cloud-ide-core
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/cloud-ide-core.service';
|
|
5
|
+
export * from './lib/cloud-ide-core.component';
|
|
6
|
+
// Menu Management Module
|
|
7
|
+
export * from './lib/core/menu-management';
|
|
8
|
+
// Department Management Module
|
|
9
|
+
export * from './lib/core/department-management';
|
|
10
|
+
// Designation Management Module
|
|
11
|
+
export * from './lib/core/designation-management';
|
|
12
|
+
// Grade Level Management Module
|
|
13
|
+
export * from './lib/core/grade-level-management';
|
|
14
|
+
// Page Management Components
|
|
15
|
+
export * from './lib/core/page-management';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nsb3VkLWlkZS1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLHlCQUF5QjtBQUN6QixjQUFjLDRCQUE0QixDQUFDO0FBRTNDLCtCQUErQjtBQUMvQixjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGdDQUFnQztBQUNoQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGdDQUFnQztBQUNoQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELDZCQUE2QjtBQUM3QixjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjbG91ZC1pZGUtY29yZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nsb3VkLWlkZS1jb3JlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xvdWQtaWRlLWNvcmUuY29tcG9uZW50JztcblxuLy8gTWVudSBNYW5hZ2VtZW50IE1vZHVsZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9tZW51LW1hbmFnZW1lbnQnO1xuXG4vLyBEZXBhcnRtZW50IE1hbmFnZW1lbnQgTW9kdWxlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RlcGFydG1lbnQtbWFuYWdlbWVudCc7XG5cbi8vIERlc2lnbmF0aW9uIE1hbmFnZW1lbnQgTW9kdWxlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2Rlc2lnbmF0aW9uLW1hbmFnZW1lbnQnO1xuXG4vLyBHcmFkZSBMZXZlbCBNYW5hZ2VtZW50IE1vZHVsZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9ncmFkZS1sZXZlbC1tYW5hZ2VtZW50JztcblxuLy8gUGFnZSBNYW5hZ2VtZW50IENvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvcGFnZS1tYW5hZ2VtZW50JztcbiJdfQ==
|