vc-create-dashboard 3.1.1 → 3.1.2
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/esm2022/lib/configurations.mjs +7 -0
- package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +212 -0
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +350 -0
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +47 -0
- package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +37 -0
- package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1601 -0
- package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +127 -0
- package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +24 -0
- package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -0
- package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +153 -0
- package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -0
- package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -0
- package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +37 -0
- package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -0
- package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +18 -0
- package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +31 -0
- package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +13 -0
- package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +50 -0
- package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +23 -0
- package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +294 -0
- package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +60 -0
- package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +27 -0
- package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +28 -0
- package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +239 -0
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +206 -0
- package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +233 -0
- package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +222 -0
- package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -0
- package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +440 -0
- package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +181 -0
- package/esm2022/lib/create-dashboard.service.mjs +14 -0
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -0
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +2 -0
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +32 -0
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -0
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +17 -0
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +96 -0
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -0
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -0
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -0
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +32 -0
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -0
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -0
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +55 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -0
- package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +18 -0
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -0
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -0
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +18 -0
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +129 -0
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -0
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +21 -0
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -0
- package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -0
- package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +107 -0
- package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -0
- package/esm2022/lib/ui-kit/select/select.module.mjs +21 -0
- package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +52 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +23 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +168 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +24 -0
- package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +24 -0
- package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +19 -0
- package/esm2022/public-api.mjs +10 -0
- package/esm2022/vc-create-dashboard.mjs +5 -0
- package/fesm2022/vc-create-dashboard.mjs +319 -331
- package/fesm2022/vc-create-dashboard.mjs.map +1 -1
- package/index.d.ts +5 -0
- package/lib/configurations.d.ts +4 -0
- package/lib/create-dashboard-container/categories/categories-config.d.ts +18 -0
- package/lib/create-dashboard-container/categories/categories.component.d.ts +66 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +113 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +9 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +14 -0
- package/lib/create-dashboard-container/constants/assets.constant.d.ts +35 -0
- package/lib/create-dashboard-container/create-dashboard-config.d.ts +18 -0
- package/lib/create-dashboard-container/create-dashboard.component.d.ts +219 -0
- package/lib/create-dashboard-container/create-dashboard.module.d.ts +37 -0
- package/lib/create-dashboard-container/directives/directives.module.d.ts +8 -0
- package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +12 -0
- package/lib/create-dashboard-container/form-group/form-group.component.d.ts +48 -0
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +39 -0
- package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +8 -0
- package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/pipes/search.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/program-list/constant.d.ts +24 -0
- package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +6 -0
- package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +5 -0
- package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +9 -0
- package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +7 -0
- package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +119 -0
- package/lib/create-dashboard-container/program-list/program-list.module.d.ts +17 -0
- package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +7 -0
- package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +12 -0
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +72 -0
- package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +18 -0
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +66 -0
- package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +21 -0
- package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +80 -0
- package/lib/create-dashboard-container/services/pagination.service.d.ts +12 -0
- package/lib/create-dashboard-container/user-list/user-list.component.d.ts +123 -0
- package/lib/create-dashboard-container/user-list/user-list.config.d.ts +13 -0
- package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +16 -0
- package/lib/create-dashboard.service.d.ts +6 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +17 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +11 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +10 -0
- package/lib/ui-kit/dialog/dialog-config.d.ts +6 -0
- package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -0
- package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -0
- package/lib/ui-kit/dialog/dialog.component.d.ts +33 -0
- package/lib/ui-kit/dialog/dialog.module.d.ts +9 -0
- package/lib/ui-kit/dialog/dialog.service.d.ts +17 -0
- package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -0
- package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +20 -0
- package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +10 -0
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +10 -0
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -0
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -0
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -0
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -0
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -0
- package/lib/ui-kit/formgroup/formgroup.module.d.ts +17 -0
- package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -0
- package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -0
- package/lib/ui-kit/loaders/loaders.module.d.ts +8 -0
- package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -0
- package/lib/ui-kit/no-data/no-data.component.d.ts +19 -0
- package/lib/ui-kit/no-data/no-data.module.d.ts +8 -0
- package/lib/ui-kit/pagination/pagination.component.d.ts +21 -0
- package/lib/ui-kit/pagination/pagination.module.d.ts +8 -0
- package/lib/ui-kit/popover/popover.component.d.ts +28 -0
- package/lib/ui-kit/popover/popover.directive.d.ts +17 -0
- package/lib/ui-kit/popover/popover.module.d.ts +9 -0
- package/lib/ui-kit/popover/popover.service.d.ts +13 -0
- package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +16 -0
- package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +32 -0
- package/lib/ui-kit/select/safe-html.pipe.d.ts +10 -0
- package/lib/ui-kit/select/select.module.d.ts +11 -0
- package/lib/ui-kit/services/cs-select.service.d.ts +7 -0
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +17 -0
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -0
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +17 -0
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -0
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +9 -0
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +28 -0
- package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -0
- package/lib/ui-kit/v-loader/loader/loader.component.d.ts +11 -0
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +11 -0
- package/lib/ui-kit/v-loader/v-loader.module.d.ts +9 -0
- package/package.json +6 -5
- package/public-api.d.ts +3 -0
- package/types/vc-create-dashboard.d.ts +0 -1680
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { JwtHelperService } from '@auth0/angular-jwt';
|
|
4
|
+
import { of } from 'rxjs';
|
|
5
|
+
import { catchError, map, retry } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "../../configurations";
|
|
9
|
+
export class CreateDashboardService {
|
|
10
|
+
http;
|
|
11
|
+
env;
|
|
12
|
+
httpOptions;
|
|
13
|
+
constructor(http, config) {
|
|
14
|
+
this.http = http;
|
|
15
|
+
if (config) {
|
|
16
|
+
this.env = config.envConfig;
|
|
17
|
+
}
|
|
18
|
+
this.httpOptions = {
|
|
19
|
+
headers: new HttpHeaders({
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
}),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/*
|
|
25
|
+
* Fetches the Organization Users List by making an API call
|
|
26
|
+
*/
|
|
27
|
+
getOrganizationUsers(url) {
|
|
28
|
+
return this.http
|
|
29
|
+
.get(this.env?.organizationGet +
|
|
30
|
+
'organisationUsersList&paginationType=small' +
|
|
31
|
+
(url.p ? '&p=' + url.p : '') +
|
|
32
|
+
(url.type ? '&type=' + url.type : '') +
|
|
33
|
+
(url.q ? '&q=' + url.q : ''), this.httpOptions)
|
|
34
|
+
.pipe(map((res) => {
|
|
35
|
+
return res;
|
|
36
|
+
}), retry(2), catchError((err) => of(err)));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fetches the OrganizationUsers details of users List to set pagination details including number of
|
|
40
|
+
* pages and records limit per page,
|
|
41
|
+
* @param url contains info about type & search query
|
|
42
|
+
*/
|
|
43
|
+
getOrganizationUsersCount(url) {
|
|
44
|
+
return this.http
|
|
45
|
+
.get(this.env?.organizationGet +
|
|
46
|
+
'organisationUsersCount&paginationType=small' +
|
|
47
|
+
(url.type ? '&type=' + url.type : '') +
|
|
48
|
+
(url.q ? '&q=' + url.q : ''), this.httpOptions)
|
|
49
|
+
.pipe(map((res) => {
|
|
50
|
+
return res;
|
|
51
|
+
}), catchError((err) => of(err)));
|
|
52
|
+
}
|
|
53
|
+
getCategoryList() {
|
|
54
|
+
return this.http
|
|
55
|
+
.get(this.env?.riskGet + 'category/list')
|
|
56
|
+
.pipe(retry(2));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Fetches all users by making an API call
|
|
60
|
+
*/
|
|
61
|
+
getAllUsers() {
|
|
62
|
+
return this.http
|
|
63
|
+
.get(this.env?.organizationGet + 'selectAllUsers&type=all', this.httpOptions)
|
|
64
|
+
.pipe(retry(2));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Fetches all groups by making an API call
|
|
68
|
+
* */
|
|
69
|
+
getAllGroups(params) {
|
|
70
|
+
return this.http
|
|
71
|
+
.get(this.env?.organizationGet +
|
|
72
|
+
'groupsList&permType=dashboard&memberExists=1', { params })
|
|
73
|
+
.pipe(retry(2));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Fetches responsibilityCentersList by making an API call
|
|
77
|
+
*/
|
|
78
|
+
getResponsibilityCenterList() {
|
|
79
|
+
return this.http
|
|
80
|
+
.get(this.env?.organizationGet + 'responsibilityCenterTree')
|
|
81
|
+
.pipe(retry(2));
|
|
82
|
+
}
|
|
83
|
+
getComplianceCategoriesList() {
|
|
84
|
+
return this.http
|
|
85
|
+
.get(this.env.complianceGet + 'complianceCategory/CategoryListTree')
|
|
86
|
+
.pipe(retry(2));
|
|
87
|
+
}
|
|
88
|
+
getComplianceCategoriesListFromGlobal() {
|
|
89
|
+
return this.http
|
|
90
|
+
.get(this.env?.complianceGet +
|
|
91
|
+
'complianceCategory/CategoryListTree&program=1&isDashboard=true')
|
|
92
|
+
.pipe(retry(2));
|
|
93
|
+
}
|
|
94
|
+
submitDashboard(payload) {
|
|
95
|
+
return this.http
|
|
96
|
+
.post(this.env.dashboard + 'CreateDashboard', payload)
|
|
97
|
+
.pipe(retry(2));
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Fetches the Dashboard details for data population to Edit the dashboard
|
|
101
|
+
* @param id
|
|
102
|
+
*/
|
|
103
|
+
/** @deprecated Legacy Global-Dashboard edit fetch; custom dashboards use fetchCustomDashboardById + getWidgets. */
|
|
104
|
+
fetchDashboard(id) {
|
|
105
|
+
return this.http
|
|
106
|
+
.get(this.env.dashboard + id + '?mode=edit', this.httpOptions)
|
|
107
|
+
.pipe(retry(2));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Edit mode only — GET Global-Dashboard/getWidgets?dashboardId={cdid}
|
|
111
|
+
* @param cdid Custom dashboard id (e.g. 438F8KSK22), not numeric record id
|
|
112
|
+
*/
|
|
113
|
+
fetchCustomDashboardWidgetDetails(cdid) {
|
|
114
|
+
return this.http
|
|
115
|
+
.get(`${this.env.dashboard}getWidgets?dashboardId=${encodeURIComponent(cdid)}`, this.httpOptions)
|
|
116
|
+
.pipe(map((res) => this.normalizeWidgetDetailsResponse(res)), retry(2));
|
|
117
|
+
}
|
|
118
|
+
normalizeWidgetDetailsResponse(res) {
|
|
119
|
+
const payload = res?.data ?? res;
|
|
120
|
+
const collect = (...candidates) => {
|
|
121
|
+
const collected = [];
|
|
122
|
+
const seen = new Set();
|
|
123
|
+
candidates.forEach((candidate) => {
|
|
124
|
+
if (!Array.isArray(candidate)) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
candidate.forEach((widget) => {
|
|
128
|
+
const code = widget?.widget_code ?? widget?.widgetCode;
|
|
129
|
+
const key = code != null ? String(code) : JSON.stringify(widget);
|
|
130
|
+
if (seen.has(key)) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
seen.add(key);
|
|
134
|
+
collected.push(widget);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
return collected;
|
|
138
|
+
};
|
|
139
|
+
const widgetArr = collect(payload?.widgetArr, res?.widgetArr, payload?.widget_details, Array.isArray(payload) ? payload : null, Array.isArray(res?.data) ? res.data : null);
|
|
140
|
+
const allWidgetsArray = collect(payload?.allWidgetsArray, payload?.all_widgets, payload?.allWidgets, payload?.allWidgetArray, payload?.widgets, res?.allWidgetsArray, res?.all_widgets, res?.allWidgets, res?.widgets, widgetArr);
|
|
141
|
+
const activeWidgetArr = collect(payload?.activeWidgetArr, res?.activeWidgetArr, widgetArr);
|
|
142
|
+
return {
|
|
143
|
+
widgetArr,
|
|
144
|
+
allWidgetsArray: allWidgetsArray.length ? allWidgetsArray : widgetArr,
|
|
145
|
+
activeWidgetArr: activeWidgetArr.length ? activeWidgetArr : widgetArr,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
getSailsProgramList() {
|
|
149
|
+
return this.http
|
|
150
|
+
.get(this.env.complianceGet + 'sailsProgramList', this.httpOptions)
|
|
151
|
+
.pipe(retry(2));
|
|
152
|
+
}
|
|
153
|
+
getProgramCategories(programId) {
|
|
154
|
+
return this.http
|
|
155
|
+
.get(`${this.env.complianceGet}sailsProgramCategories&id=${programId}`, this.httpOptions)
|
|
156
|
+
.pipe(retry(2));
|
|
157
|
+
}
|
|
158
|
+
/** Full custom dashboard payload (includes responsibilityCenterId, programId, etc.). */
|
|
159
|
+
fetchCustomDashboardById(id) {
|
|
160
|
+
return this.http
|
|
161
|
+
.get(`${this.env.dashboard}customDashboard/${id}`, this.httpOptions)
|
|
162
|
+
.pipe(retry(2));
|
|
163
|
+
}
|
|
164
|
+
getUserInformation() {
|
|
165
|
+
return this.http
|
|
166
|
+
.get(this.env?.organizationGet + 'users&id=' + this?._ID(), this.httpOptions)
|
|
167
|
+
.pipe(retry(2));
|
|
168
|
+
}
|
|
169
|
+
_ID() {
|
|
170
|
+
const helper = new JwtHelperService();
|
|
171
|
+
const myRawToken = localStorage.getItem('currentUser') || '{}';
|
|
172
|
+
const isExpired = helper?.isTokenExpired(myRawToken);
|
|
173
|
+
if (isExpired === false) {
|
|
174
|
+
const tokenInfo = helper?.decodeToken(myRawToken);
|
|
175
|
+
return tokenInfo._id;
|
|
176
|
+
}
|
|
177
|
+
return '';
|
|
178
|
+
}
|
|
179
|
+
checkDuplicateDashboardName(payload) {
|
|
180
|
+
return this.http
|
|
181
|
+
.post(this.env.dashboard + 'DuplicateDashboard', payload, this.httpOptions)
|
|
182
|
+
.pipe(retry(2));
|
|
183
|
+
}
|
|
184
|
+
createDashboard(payload) {
|
|
185
|
+
return this.http.post(this.env.dashboard + 'customDashboard', payload, this.httpOptions);
|
|
186
|
+
}
|
|
187
|
+
updateDashboard(payload, id) {
|
|
188
|
+
return this.http.put(this.env.dashboard + 'customDashboard/' + id, payload, this.httpOptions);
|
|
189
|
+
}
|
|
190
|
+
saveWidgetDetails(payload) {
|
|
191
|
+
return this.http.post(this.env.dashboard + 'createWidgets/creator', payload, this.httpOptions);
|
|
192
|
+
}
|
|
193
|
+
buildPayload(payload) {
|
|
194
|
+
return {
|
|
195
|
+
dashboard: {
|
|
196
|
+
name: payload.dashboard_name,
|
|
197
|
+
description: payload.description[0].content,
|
|
198
|
+
viewer: {
|
|
199
|
+
userId: payload.visible_to_users,
|
|
200
|
+
userGroupId: payload.visible_to_groups,
|
|
201
|
+
},
|
|
202
|
+
responsibilityCenterId: payload.responsibility_center,
|
|
203
|
+
programId: payload.program.all_programs.map((program) => program.id),
|
|
204
|
+
timeframe: payload.timeframe.start_date ? {
|
|
205
|
+
from: payload.timeframe.start_date,
|
|
206
|
+
to: payload.timeframe.end_date,
|
|
207
|
+
} : null
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, deps: [{ token: i1.HttpClient }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
212
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, providedIn: 'root' });
|
|
213
|
+
}
|
|
214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, decorators: [{
|
|
215
|
+
type: Injectable,
|
|
216
|
+
args: [{
|
|
217
|
+
providedIn: 'root',
|
|
218
|
+
}]
|
|
219
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configurations, decorators: [{
|
|
220
|
+
type: Optional
|
|
221
|
+
}] }]; } });
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL3NlcnZpY2VzL2NyZWF0ZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU14RCxNQUFNLE9BQU8sc0JBQXNCO0lBS3ZCO0lBSkgsR0FBRyxDQUFPO0lBRWpCLFdBQVcsQ0FBTTtJQUNqQixZQUNVLElBQWdCLEVBQ1osTUFBdUI7UUFEM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUd4QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixjQUFjLEVBQUUsa0JBQWtCO2FBQ25DLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsR0FBUztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZTtZQUN2Qiw0Q0FBNEM7WUFDNUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxD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TyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUN4QyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVO29CQUNsQyxFQUFFLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRO2lCQUMvQixDQUFDLENBQUMsQ0FBQyxJQUFJO2FBQ1Q7U0FDRixDQUFBO0lBQ0gsQ0FBQzt3R0FuU1Usc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0ZURhc2hib2FyZFNlcnZpY2Uge1xuICBwdWJsaWMgZW52ITogYW55O1xuXG4gIGh0dHBPcHRpb25zOiBhbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9uc1xuICApIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XG4gICAgfVxuXG4gICAgdGhpcy5odHRwT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG5cbiAgLypcbiAgICogRmV0Y2hlcyB0aGUgT3JnYW5pemF0aW9uIFVzZXJzIExpc3QgYnkgbWFraW5nIGFuIEFQSSBjYWxsXG4gICAqL1xuICBnZXRPcmdhbml6YXRpb25Vc2Vycyh1cmw/OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KFxuICAgICAgICB0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICtcbiAgICAgICAgICAnb3JnYW5pc2F0aW9uVXNlcnNMaXN0JnBhZ2luYXRpb25UeXBlPXNtYWxsJyArXG4gICAgICAgICAgKHVybC5wID8gJyZwPScgKyB1cmwucCA6ICcnKSArXG4gICAgICAgICAgKHVybC50eXBlID8gJyZ0eXBlPScgKyB1cmwudHlwZSA6ICcnKSArXG4gICAgICAgICAgKHVybC5xID8gJyZxPScgKyB1cmwucSA6ICcnKSxcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KSxcbiAgICAgICAgcmV0cnkoMiksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gb2YoZXJyKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgT3JnYW5pemF0aW9uVXNlcnMgZGV0YWlscyBvZiB1c2VycyBMaXN0IHRvIHNldCBwYWdpbmF0aW9uIGRldGFpbHMgaW5jbHVkaW5nIG51bWJlciBvZlxuICAgKiBwYWdlcyBhbmQgcmVjb3JkcyBsaW1pdCBwZXIgcGFnZSxcbiAgICogQHBhcmFtIHVybCAgY29udGFpbnMgaW5mbyBhYm91dCB0eXBlICYgc2VhcmNoIHF1ZXJ5XG4gICAqL1xuICBnZXRPcmdhbml6YXRpb25Vc2Vyc0NvdW50KHVybD86IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoXG4gICAgICAgIHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgK1xuICAgICAgICAgICdvcmdhbmlzYXRpb25Vc2Vyc0NvdW50JnBhZ2luYXRpb25UeXBlPXNtYWxsJyArXG4gICAgICAgICAgKHVybC50eXBlID8gJyZ0eXBlPScgKyB1cmwudHlwZSA6ICcnKSArXG4gICAgICAgICAgKHVybC5xID8gJyZxPScgKyB1cmwucSA6ICcnKSxcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gb2YoZXJyKSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRDYXRlZ29yeUxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/LnJpc2tHZXQgKyAnY2F0ZWdvcnkvbGlzdCcpXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyBhbGwgdXNlcnMgYnkgbWFraW5nIGFuIEFQSSBjYWxsXG4gICAqL1xuICBnZXRBbGxVc2VycygpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KFxuICAgICAgICB0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICsgJ3NlbGVjdEFsbFVzZXJzJnR5cGU9YWxsJyxcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgLyoqXG4gICAqICBGZXRjaGVzIGFsbCBncm91cHMgYnkgbWFraW5nIGFuIEFQSSBjYWxsXG4gICAqICovXG4gIGdldEFsbEdyb3VwcyhwYXJhbXM/OiBIdHRwUGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChcbiAgICAgICAgdGhpcy5lbnY/Lm9yZ2FuaXphdGlvbkdldCArXG4gICAgICAgICAgJ2dyb3Vwc0xpc3QmcGVybVR5cGU9ZGFzaGJvYXJkJm1lbWJlckV4aXN0cz0xJyxcbiAgICAgICAgeyBwYXJhbXMgfVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCBieSBtYWtpbmcgYW4gQVBJIGNhbGxcbiAgICovXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICsgJ3Jlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZScpXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRDb21wbGlhbmNlQ2F0ZWdvcmllc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4oXG4gICAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnXG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRDb21wbGlhbmNlQ2F0ZWdvcmllc0xpc3RGcm9tR2xvYmFsKCkge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudj8uY29tcGxpYW5jZUdldCArXG4gICAgICAgICAgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeUxpc3RUcmVlJnByb2dyYW09MSZpc0Rhc2hib2FyZD10cnVlJ1xuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgc3VibWl0RGFzaGJvYXJkKHBheWxvYWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHRoaXMuZW52LmRhc2hib2FyZCArICdDcmVhdGVEYXNoYm9hcmQnLCBwYXlsb2FkKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIERhc2hib2FyZCBkZXRhaWxzIGZvciBkYXRhIHBvcHVsYXRpb24gdG8gRWRpdCB0aGUgZGFzaGJvYXJkXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgLyoqIEBkZXByZWNhdGVkIExlZ2FjeSBHbG9iYWwtRGFzaGJvYXJkIGVkaXQgZmV0Y2g7IGN1c3RvbSBkYXNoYm9hcmRzIHVzZSBmZXRjaEN1c3RvbURhc2hib2FyZEJ5SWQgKyBnZXRXaWRnZXRzLiAqL1xuICBmZXRjaERhc2hib2FyZChpZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh0aGlzLmVudi5kYXNoYm9hcmQgKyBpZCArICc/bW9kZT1lZGl0JywgdGhpcy5odHRwT3B0aW9ucylcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFZGl0IG1vZGUgb25seSDigJQgR0VUIEdsb2JhbC1EYXNoYm9hcmQvZ2V0V2lkZ2V0cz9kYXNoYm9hcmRJZD17Y2RpZH1cbiAgICogQHBhcmFtIGNkaWQgQ3VzdG9tIGRhc2hib2FyZCBpZCAoZS5nLiA0MzhGOEtTSzIyKSwgbm90IG51bWVyaWMgcmVjb3JkIGlkXG4gICAqL1xuICBmZXRjaEN1c3RvbURhc2hib2FyZFdpZGdldERldGFpbHMoY2RpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChcbiAgICAgICAgYCR7dGhpcy5lbnYuZGFzaGJvYXJkfWdldFdpZGdldHM/ZGFzaGJvYXJkSWQ9JHtlbmNvZGVVUklDb21wb25lbnQoY2RpZCl9YCxcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHRoaXMubm9ybWFsaXplV2lkZ2V0RGV0YWlsc1Jlc3BvbnNlKHJlcykpLFxuICAgICAgICByZXRyeSgyKVxuICAgICAgKTtcbiAgfVxuXG4gIG5vcm1hbGl6ZVdpZGdldERldGFpbHNSZXNwb25zZShyZXM6IGFueSk6IHtcbiAgICB3aWRnZXRBcnI6IGFueVtdO1xuICAgIGFsbFdpZGdldHNBcnJheTogYW55W107XG4gICAgYWN0aXZlV2lkZ2V0QXJyOiBhbnlbXTtcbiAgfSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IHJlcz8uZGF0YSA/PyByZXM7XG4gICAgY29uc3QgY29sbGVjdCA9ICguLi5jYW5kaWRhdGVzOiBhbnlbXSk6IGFueVtdID0+IHtcbiAgICAgIGNvbnN0IGNvbGxlY3RlZDogYW55W10gPSBbXTtcbiAgICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgIGNhbmRpZGF0ZXMuZm9yRWFjaCgoY2FuZGlkYXRlKSA9PiB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShjYW5kaWRhdGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNhbmRpZGF0ZS5mb3JFYWNoKCh3aWRnZXQ6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvZGUgPSB3aWRnZXQ/LndpZGdldF9jb2RlID8/IHdpZGdldD8ud2lkZ2V0Q29kZTtcbiAgICAgICAgICBjb25zdCBrZXkgPSBjb2RlICE9IG51bGwgPyBTdHJpbmcoY29kZSkgOiBKU09OLnN0cmluZ2lmeSh3aWRnZXQpO1xuICAgICAgICAgIGlmIChzZWVuLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHNlZW4uYWRkKGtleSk7XG4gICAgICAgICAgY29sbGVjdGVkLnB1c2god2lkZ2V0KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBjb2xsZWN0ZWQ7XG4gICAgfTtcblxuICAgIGNvbnN0IHdpZGdldEFyciA9IGNvbGxlY3QoXG4gICAgICBwYXlsb2FkPy53aWRnZXRBcnIsXG4gICAgICByZXM/LndpZGdldEFycixcbiAgICAgIHBheWxvYWQ/LndpZGdldF9kZXRhaWxzLFxuICAgICAgQXJyYXkuaXNBcnJheShwYXlsb2FkKSA/IHBheWxvYWQgOiBudWxsLFxuICAgICAgQXJyYXkuaXNBcnJheShyZXM/LmRhdGEpID8gcmVzLmRhdGEgOiBudWxsXG4gICAgKTtcbiAgICBjb25zdCBhbGxXaWRnZXRzQXJyYXkgPSBjb2xsZWN0KFxuICAgICAgcGF5bG9hZD8uYWxsV2lkZ2V0c0FycmF5LFxuICAgICAgcGF5bG9hZD8uYWxsX3dpZGdldHMsXG4gICAgICBwYXlsb2FkPy5hbGxXaWRnZXRzLFxuICAgICAgcGF5bG9hZD8uYWxsV2lkZ2V0QXJyYXksXG4gICAgICBwYXlsb2FkPy53aWRnZXRzLFxuICAgICAgcmVzPy5hbGxXaWRnZXRzQXJyYXksXG4gICAgICByZXM/LmFsbF93aWRnZXRzLFxuICAgICAgcmVzPy5hbGxXaWRnZXRzLFxuICAgICAgcmVzPy53aWRnZXRzLFxuICAgICAgd2lkZ2V0QXJyXG4gICAgKTtcbiAgICBjb25zdCBhY3RpdmVXaWRnZXRBcnIgPSBjb2xsZWN0KFxuICAgICAgcGF5bG9hZD8uYWN0aXZlV2lkZ2V0QXJyLFxuICAgICAgcmVzPy5hY3RpdmVXaWRnZXRBcnIsXG4gICAgICB3aWRnZXRBcnJcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZGdldEFycixcbiAgICAgIGFsbFdpZGdldHNBcnJheTogYWxsV2lkZ2V0c0FycmF5Lmxlbmd0aCA/IGFsbFdpZGdldHNBcnJheSA6IHdpZGdldEFycixcbiAgICAgIGFjdGl2ZVdpZGdldEFycjogYWN0aXZlV2lkZ2V0QXJyLmxlbmd0aCA/IGFjdGl2ZVdpZGdldEFyciA6IHdpZGdldEFycixcbiAgICB9O1xuICB9XG5cbiAgZ2V0U2FpbHNQcm9ncmFtTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnc2FpbHNQcm9ncmFtTGlzdCcsIHRoaXMuaHR0cE9wdGlvbnMpXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRQcm9ncmFtQ2F0ZWdvcmllcyhwcm9ncmFtSWQ6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoXG4gICAgICAgIGAke3RoaXMuZW52LmNvbXBsaWFuY2VHZXR9c2FpbHNQcm9ncmFtQ2F0ZWdvcmllcyZpZD0ke3Byb2dyYW1JZH1gLFxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zXG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICAvKiogRnVsbCBjdXN0b20gZGFzaGJvYXJkIHBheWxvYWQgKGluY2x1ZGVzIHJlc3BvbnNpYmlsaXR5Q2VudGVySWQsIHByb2dyYW1JZCwgZXRjLikuICovXG4gIGZldGNoQ3VzdG9tRGFzaGJvYXJkQnlJZChpZDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChgJHt0aGlzLmVudi5kYXNoYm9hcmR9Y3VzdG9tRGFzaGJvYXJkLyR7aWR9YCwgdGhpcy5odHRwT3B0aW9ucylcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG5cblxuICBnZXRVc2VySW5mb3JtYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChcbiAgICAgICAgdGhpcy5lbnY/Lm9yZ2FuaXphdGlvbkdldCArICd1c2VycyZpZD0nICsgdGhpcz8uX0lEKCksXG4gICAgICAgIHRoaXMuaHR0cE9wdGlvbnNcbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuICBfSUQoKSB7XG4gICAgY29uc3QgaGVscGVyID0gbmV3IEp3dEhlbHBlclNlcnZpY2UoKTtcbiAgICBjb25zdCBteVJhd1Rva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2N1cnJlbnRVc2VyJykgfHwgJ3t9JztcbiAgICBjb25zdCBpc0V4cGlyZWQgPSBoZWxwZXI/LmlzVG9rZW5FeHBpcmVkKG15UmF3VG9rZW4pO1xuICAgIGlmIChpc0V4cGlyZWQgPT09IGZhbHNlKSB7XG4gICAgICBjb25zdCB0b2tlbkluZm8gPSBoZWxwZXI/LmRlY29kZVRva2VuKG15UmF3VG9rZW4pO1xuICAgICAgcmV0dXJuIHRva2VuSW5mby5faWQ7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNoZWNrRHVwbGljYXRlRGFzaGJvYXJkTmFtZShwYXlsb2FkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChcbiAgICAgICAgdGhpcy5lbnYuZGFzaGJvYXJkICsgJ0R1cGxpY2F0ZURhc2hib2FyZCcsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHRoaXMuaHR0cE9wdGlvbnNcbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuY3JlYXRlRGFzaGJvYXJkKHBheWxvYWQ6IGFueSkge1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuZGFzaGJvYXJkICsgJ2N1c3RvbURhc2hib2FyZCcsIHBheWxvYWQsIHRoaXMuaHR0cE9wdGlvbnMpXG59XG5cbnVwZGF0ZURhc2hib2FyZChwYXlsb2FkOiBhbnksIGlkOiBhbnkpIHtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5lbnYuZGFzaGJvYXJkICsgJ2N1c3RvbURhc2hib2FyZC8nICsgaWQsIHBheWxvYWQsIHRoaXMuaHR0cE9wdGlvbnMpXG59XG5cbnNhdmVXaWRnZXREZXRhaWxzKHBheWxvYWQ6IGFueSkge1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuZGFzaGJvYXJkICsgJ2NyZWF0ZVdpZGdldHMvY3JlYXRvcicsIHBheWxvYWQsIHRoaXMuaHR0cE9wdGlvbnMpXG59XG4gIGJ1aWxkUGF5bG9hZChwYXlsb2FkOiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGFzaGJvYXJkOiB7XG4gICAgICAgIG5hbWU6IHBheWxvYWQuZGFzaGJvYXJkX25hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uWzBdLmNvbnRlbnQsXG4gICAgICAgIHZpZXdlcjoge1xuICAgICAgICAgIHVzZXJJZDogcGF5bG9hZC52aXNpYmxlX3RvX3VzZXJzLFxuICAgICAgICAgIHVzZXJHcm91cElkOiBwYXlsb2FkLnZpc2libGVfdG9fZ3JvdXBzLFxuICAgICAgICB9LFxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcklkOiBwYXlsb2FkLnJlc3BvbnNpYmlsaXR5X2NlbnRlcixcbiAgICAgICAgcHJvZ3JhbUlkOiBwYXlsb2FkLnByb2dyYW0uYWxsX3Byb2dyYW1zLm1hcCgocHJvZ3JhbTogYW55KSA9PiBwcm9ncmFtLmlkKSxcbiAgICAgICAgdGltZWZyYW1lOiBwYXlsb2FkLnRpbWVmcmFtZS5zdGFydF9kYXRlID8ge1xuICAgICAgICAgIGZyb206IHBheWxvYWQudGltZWZyYW1lLnN0YXJ0X2RhdGUsXG4gICAgICAgICAgdG86IHBheWxvYWQudGltZWZyYW1lLmVuZF9kYXRlLFxuICAgICAgICB9IDogbnVsbFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Service to implement pagination for users while creating an app
|
|
6
|
+
*/
|
|
7
|
+
export class PaginationService {
|
|
8
|
+
currentPage = 1;
|
|
9
|
+
searchValue = '';
|
|
10
|
+
currentValues = new BehaviorSubject({});
|
|
11
|
+
constructor() { }
|
|
12
|
+
setCurrentState() {
|
|
13
|
+
this.currentValues.next(true);
|
|
14
|
+
}
|
|
15
|
+
reset() {
|
|
16
|
+
this.currentPage = 1;
|
|
17
|
+
this.searchValue = '';
|
|
18
|
+
}
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationService, providedIn: 'root' });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationService, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root'
|
|
26
|
+
}]
|
|
27
|
+
}], ctorParameters: function () { return []; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL3NlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTXZDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXhDLGdCQUFnQixDQUFDO0lBRWpCLGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7d0dBYlUsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FOaEIsTUFBTTs7NEZBTVAsaUJBQWlCO2tCQVA3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGltcGxlbWVudCBwYWdpbmF0aW9uIGZvciB1c2VycyB3aGlsZSBjcmVhdGluZyBhbiBhcHBcbiAqL1xuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25TZXJ2aWNlIHtcbiAgY3VycmVudFBhZ2UgPSAxO1xuICBzZWFyY2hWYWx1ZSA9ICcnO1xuICBjdXJyZW50VmFsdWVzID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBzZXRDdXJyZW50U3RhdGUoKSB7XG4gICAgdGhpcy5jdXJyZW50VmFsdWVzLm5leHQodHJ1ZSk7XG4gIH1cbiAgcmVzZXQoKXtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG4gIH1cbn1cbiJdfQ==
|