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.
Files changed (176) hide show
  1. package/esm2022/lib/configurations.mjs +7 -0
  2. package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +2 -0
  3. package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +212 -0
  4. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +350 -0
  5. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +2 -0
  6. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +47 -0
  7. package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +37 -0
  8. package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +2 -0
  9. package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1601 -0
  10. package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +127 -0
  11. package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +24 -0
  12. package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -0
  13. package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +153 -0
  14. package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -0
  15. package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +2 -0
  16. package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -0
  17. package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +37 -0
  18. package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -0
  19. package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +18 -0
  20. package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +31 -0
  21. package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +13 -0
  22. package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +2 -0
  23. package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +50 -0
  24. package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +23 -0
  25. package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +294 -0
  26. package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +60 -0
  27. package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +27 -0
  28. package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +28 -0
  29. package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +239 -0
  30. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +2 -0
  31. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +206 -0
  32. package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +233 -0
  33. package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +222 -0
  34. package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -0
  35. package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +440 -0
  36. package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +2 -0
  37. package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +181 -0
  38. package/esm2022/lib/create-dashboard.service.mjs +14 -0
  39. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -0
  40. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +2 -0
  41. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +32 -0
  42. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -0
  43. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +17 -0
  44. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
  45. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +96 -0
  46. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
  47. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -0
  48. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -0
  49. package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -0
  50. package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +32 -0
  51. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -0
  52. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -0
  53. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -0
  54. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
  55. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -0
  56. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -0
  57. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +55 -0
  58. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
  59. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
  60. package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -0
  61. package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +18 -0
  62. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -0
  63. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
  64. package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -0
  65. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +18 -0
  66. package/esm2022/lib/ui-kit/popover/popover.component.mjs +129 -0
  67. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -0
  68. package/esm2022/lib/ui-kit/popover/popover.module.mjs +21 -0
  69. package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -0
  70. package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -0
  71. package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +107 -0
  72. package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -0
  73. package/esm2022/lib/ui-kit/select/select.module.mjs +21 -0
  74. package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -0
  75. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +52 -0
  76. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
  77. package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -0
  78. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
  79. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +23 -0
  80. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +168 -0
  81. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
  82. package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +24 -0
  83. package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +24 -0
  84. package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +19 -0
  85. package/esm2022/public-api.mjs +10 -0
  86. package/esm2022/vc-create-dashboard.mjs +5 -0
  87. package/fesm2022/vc-create-dashboard.mjs +319 -331
  88. package/fesm2022/vc-create-dashboard.mjs.map +1 -1
  89. package/index.d.ts +5 -0
  90. package/lib/configurations.d.ts +4 -0
  91. package/lib/create-dashboard-container/categories/categories-config.d.ts +18 -0
  92. package/lib/create-dashboard-container/categories/categories.component.d.ts +66 -0
  93. package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +113 -0
  94. package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +9 -0
  95. package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +14 -0
  96. package/lib/create-dashboard-container/constants/assets.constant.d.ts +35 -0
  97. package/lib/create-dashboard-container/create-dashboard-config.d.ts +18 -0
  98. package/lib/create-dashboard-container/create-dashboard.component.d.ts +219 -0
  99. package/lib/create-dashboard-container/create-dashboard.module.d.ts +37 -0
  100. package/lib/create-dashboard-container/directives/directives.module.d.ts +8 -0
  101. package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +12 -0
  102. package/lib/create-dashboard-container/form-group/form-group.component.d.ts +48 -0
  103. package/lib/create-dashboard-container/frequency/frequency.component.d.ts +39 -0
  104. package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +8 -0
  105. package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +7 -0
  106. package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +7 -0
  107. package/lib/create-dashboard-container/pipes/search.pipe.d.ts +7 -0
  108. package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +7 -0
  109. package/lib/create-dashboard-container/program-list/constant.d.ts +24 -0
  110. package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +6 -0
  111. package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +5 -0
  112. package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +9 -0
  113. package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +7 -0
  114. package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +119 -0
  115. package/lib/create-dashboard-container/program-list/program-list.module.d.ts +17 -0
  116. package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +7 -0
  117. package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +12 -0
  118. package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +72 -0
  119. package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +18 -0
  120. package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +66 -0
  121. package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +21 -0
  122. package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +80 -0
  123. package/lib/create-dashboard-container/services/pagination.service.d.ts +12 -0
  124. package/lib/create-dashboard-container/user-list/user-list.component.d.ts +123 -0
  125. package/lib/create-dashboard-container/user-list/user-list.config.d.ts +13 -0
  126. package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +16 -0
  127. package/lib/create-dashboard.service.d.ts +6 -0
  128. package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +17 -0
  129. package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +11 -0
  130. package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +10 -0
  131. package/lib/ui-kit/dialog/dialog-config.d.ts +6 -0
  132. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -0
  133. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -0
  134. package/lib/ui-kit/dialog/dialog.component.d.ts +33 -0
  135. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -0
  136. package/lib/ui-kit/dialog/dialog.service.d.ts +17 -0
  137. package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -0
  138. package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +20 -0
  139. package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +10 -0
  140. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +10 -0
  141. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -0
  142. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -0
  143. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -0
  144. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -0
  145. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -0
  146. package/lib/ui-kit/formgroup/formgroup.module.d.ts +17 -0
  147. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -0
  148. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -0
  149. package/lib/ui-kit/loaders/loaders.module.d.ts +8 -0
  150. package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -0
  151. package/lib/ui-kit/no-data/no-data.component.d.ts +19 -0
  152. package/lib/ui-kit/no-data/no-data.module.d.ts +8 -0
  153. package/lib/ui-kit/pagination/pagination.component.d.ts +21 -0
  154. package/lib/ui-kit/pagination/pagination.module.d.ts +8 -0
  155. package/lib/ui-kit/popover/popover.component.d.ts +28 -0
  156. package/lib/ui-kit/popover/popover.directive.d.ts +17 -0
  157. package/lib/ui-kit/popover/popover.module.d.ts +9 -0
  158. package/lib/ui-kit/popover/popover.service.d.ts +13 -0
  159. package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +16 -0
  160. package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +32 -0
  161. package/lib/ui-kit/select/safe-html.pipe.d.ts +10 -0
  162. package/lib/ui-kit/select/select.module.d.ts +11 -0
  163. package/lib/ui-kit/services/cs-select.service.d.ts +7 -0
  164. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +17 -0
  165. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -0
  166. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +17 -0
  167. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -0
  168. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +9 -0
  169. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +28 -0
  170. package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -0
  171. package/lib/ui-kit/v-loader/loader/loader.component.d.ts +11 -0
  172. package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +11 -0
  173. package/lib/ui-kit/v-loader/v-loader.module.d.ts +9 -0
  174. package/package.json +6 -5
  175. package/public-api.d.ts +3 -0
  176. 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==