@senior-gestao-relacionamento/angular-components 1.10.0 → 2.0.0

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 (259) hide show
  1. package/README.md +15 -0
  2. package/esm2022/lib/angular-components.module.mjs +22 -0
  3. package/esm2022/lib/services/current-collaborator/current-collaborator.service.mjs +70 -0
  4. package/esm2022/lib/services/current-collaborator/models/collaborator.model.mjs +2 -0
  5. package/esm2022/lib/services/storage/storage.service.mjs +130 -0
  6. package/esm2022/public-api.mjs +8 -0
  7. package/esm2022/senior-gestao-relacionamento-angular-components.mjs +5 -0
  8. package/fesm2022/senior-gestao-relacionamento-angular-components.mjs +228 -0
  9. package/fesm2022/senior-gestao-relacionamento-angular-components.mjs.map +1 -0
  10. package/index.d.ts +5 -0
  11. package/lib/angular-components.module.d.ts +10 -0
  12. package/lib/services/current-collaborator/current-collaborator.service.d.ts +32 -0
  13. package/lib/services/current-collaborator/models/collaborator.model.d.ts +53 -0
  14. package/lib/services/storage/storage.service.d.ts +44 -0
  15. package/package.json +38 -41
  16. package/public-api.d.ts +4 -4
  17. package/bundles/senior-gestao-relacionamento-angular-components.umd.js +0 -1586
  18. package/bundles/senior-gestao-relacionamento-angular-components.umd.js.map +0 -1
  19. package/bundles/senior-gestao-relacionamento-angular-components.umd.min.js +0 -16
  20. package/bundles/senior-gestao-relacionamento-angular-components.umd.min.js.map +0 -1
  21. package/components/index.d.ts +0 -2
  22. package/components/refresh-websocket-alert/index.d.ts +0 -2
  23. package/components/refresh-websocket-alert/refresh-websocket-alert.component.d.ts +0 -14
  24. package/components/refresh-websocket-alert/refresh-websocket-alert.module.d.ts +0 -2
  25. package/components/reports/enums/format-enum.d.ts +0 -9
  26. package/components/reports/enums/index.d.ts +0 -2
  27. package/components/reports/enums/view-mode-enum.d.ts +0 -4
  28. package/components/reports/index.d.ts +0 -5
  29. package/components/reports/models/callback-event.d.ts +0 -4
  30. package/components/reports/models/generate-report-input-dto.d.ts +0 -11
  31. package/components/reports/models/generate-report-output-dto.d.ts +0 -3
  32. package/components/reports/models/index.d.ts +0 -7
  33. package/components/reports/models/parameter.d.ts +0 -4
  34. package/components/reports/models/report-dto.d.ts +0 -6
  35. package/components/reports/models/reports-options.d.ts +0 -14
  36. package/components/reports/models/response-list-report-dto.d.ts +0 -8
  37. package/components/reports/reports.component.d.ts +0 -41
  38. package/components/reports/reports.module.d.ts +0 -2
  39. package/components/reports/reports.service.d.ts +0 -16
  40. package/esm2015/components/index.js +0 -3
  41. package/esm2015/components/refresh-websocket-alert/index.js +0 -3
  42. package/esm2015/components/refresh-websocket-alert/refresh-websocket-alert.component.js +0 -57
  43. package/esm2015/components/refresh-websocket-alert/refresh-websocket-alert.module.js +0 -26
  44. package/esm2015/components/reports/enums/format-enum.js +0 -11
  45. package/esm2015/components/reports/enums/index.js +0 -3
  46. package/esm2015/components/reports/enums/view-mode-enum.js +0 -6
  47. package/esm2015/components/reports/index.js +0 -5
  48. package/esm2015/components/reports/models/callback-event.js +0 -1
  49. package/esm2015/components/reports/models/generate-report-input-dto.js +0 -1
  50. package/esm2015/components/reports/models/generate-report-output-dto.js +0 -1
  51. package/esm2015/components/reports/models/index.js +0 -1
  52. package/esm2015/components/reports/models/parameter.js +0 -1
  53. package/esm2015/components/reports/models/report-dto.js +0 -1
  54. package/esm2015/components/reports/models/reports-options.js +0 -1
  55. package/esm2015/components/reports/models/response-list-report-dto.js +0 -1
  56. package/esm2015/components/reports/reports.component.js +0 -202
  57. package/esm2015/components/reports/reports.module.js +0 -43
  58. package/esm2015/components/reports/reports.service.js +0 -73
  59. package/esm2015/locale/fallback.js +0 -16
  60. package/esm2015/public-api.js +0 -5
  61. package/esm2015/senior-gestao-relacionamento-angular-components.js +0 -9
  62. package/esm2015/services/current-collaborator/current-collaborator.module.js +0 -20
  63. package/esm2015/services/current-collaborator/current-collaborator.service.js +0 -60
  64. package/esm2015/services/current-collaborator/enums/index.js +0 -2
  65. package/esm2015/services/current-collaborator/enums/status-enum.js +0 -6
  66. package/esm2015/services/current-collaborator/index.js +0 -5
  67. package/esm2015/services/current-collaborator/models/branch-dto.js +0 -1
  68. package/esm2015/services/current-collaborator/models/branch.js +0 -23
  69. package/esm2015/services/current-collaborator/models/collaborator-branch-link-dto.js +0 -1
  70. package/esm2015/services/current-collaborator/models/collaborator-branch-link.js +0 -23
  71. package/esm2015/services/current-collaborator/models/collaborator-dto.js +0 -1
  72. package/esm2015/services/current-collaborator/models/collaborator.js +0 -42
  73. package/esm2015/services/current-collaborator/models/company-dto.js +0 -1
  74. package/esm2015/services/current-collaborator/models/company.js +0 -16
  75. package/esm2015/services/current-collaborator/models/index.js +0 -6
  76. package/esm2015/services/current-collaborator/models/job-title-dto.js +0 -1
  77. package/esm2015/services/current-collaborator/models/job-title.js +0 -16
  78. package/esm2015/services/current-tenant/current-tenant.module.js +0 -20
  79. package/esm2015/services/current-tenant/current-tenant.service.js +0 -67
  80. package/esm2015/services/current-tenant/index.js +0 -4
  81. package/esm2015/services/current-tenant/models/index.js +0 -2
  82. package/esm2015/services/current-tenant/models/modulo-dto.js +0 -1
  83. package/esm2015/services/current-tenant/models/modulo.js +0 -15
  84. package/esm2015/services/index.js +0 -9
  85. package/esm2015/services/resolvers/access-validation.resolve.js +0 -33
  86. package/esm2015/services/resolvers/index.js +0 -2
  87. package/esm2015/services/schedule-form-rules/enums/index.js +0 -6
  88. package/esm2015/services/schedule-form-rules/enums/month-enum.js +0 -16
  89. package/esm2015/services/schedule-form-rules/enums/ordinal-week-day-enum.js +0 -9
  90. package/esm2015/services/schedule-form-rules/enums/recurrence-enum.js +0 -8
  91. package/esm2015/services/schedule-form-rules/enums/repeat-when-enum.js +0 -6
  92. package/esm2015/services/schedule-form-rules/enums/week-day-enum.js +0 -11
  93. package/esm2015/services/schedule-form-rules/index.js +0 -4
  94. package/esm2015/services/schedule-form-rules/schedule-form-rules.module.js +0 -15
  95. package/esm2015/services/schedule-form-rules/schedule-form-rules.service.js +0 -105
  96. package/esm2015/services/standard-filters/index.js +0 -3
  97. package/esm2015/services/standard-filters/standard-filters.module.js +0 -14
  98. package/esm2015/services/standard-filters/standard-filters.service.js +0 -28
  99. package/esm2015/services/storage/com-senior-token-dto.js +0 -1
  100. package/esm2015/services/storage/index.js +0 -2
  101. package/esm2015/services/storage/storage.module.js +0 -17
  102. package/esm2015/services/storage/storage.service.js +0 -59
  103. package/esm2015/services/validators/date-validators.service.js +0 -9
  104. package/esm2015/services/validators/form-group-validators.service.js +0 -36
  105. package/esm2015/services/validators/index.js +0 -3
  106. package/esm2015/services/websocket/index.js +0 -4
  107. package/esm2015/services/websocket/models/event-dto.js +0 -1
  108. package/esm2015/services/websocket/models/event.js +0 -13
  109. package/esm2015/services/websocket/models/index.js +0 -3
  110. package/esm2015/services/websocket/models/topic-dto.js +0 -1
  111. package/esm2015/services/websocket/models/topic.js +0 -25
  112. package/esm2015/services/websocket/websocket.module.js +0 -18
  113. package/esm2015/services/websocket/websocket.service.js +0 -124
  114. package/esm2015/utils/index.js +0 -4
  115. package/esm2015/utils/string-converter.service.js +0 -7
  116. package/esm2015/utils/utils.js +0 -80
  117. package/esm2015/utils/value-changes.service.js +0 -7
  118. package/esm5/components/index.js +0 -3
  119. package/esm5/components/refresh-websocket-alert/index.js +0 -3
  120. package/esm5/components/refresh-websocket-alert/refresh-websocket-alert.component.js +0 -59
  121. package/esm5/components/refresh-websocket-alert/refresh-websocket-alert.module.js +0 -29
  122. package/esm5/components/reports/enums/format-enum.js +0 -11
  123. package/esm5/components/reports/enums/index.js +0 -3
  124. package/esm5/components/reports/enums/view-mode-enum.js +0 -6
  125. package/esm5/components/reports/index.js +0 -5
  126. package/esm5/components/reports/models/callback-event.js +0 -1
  127. package/esm5/components/reports/models/generate-report-input-dto.js +0 -1
  128. package/esm5/components/reports/models/generate-report-output-dto.js +0 -1
  129. package/esm5/components/reports/models/index.js +0 -1
  130. package/esm5/components/reports/models/parameter.js +0 -1
  131. package/esm5/components/reports/models/report-dto.js +0 -1
  132. package/esm5/components/reports/models/reports-options.js +0 -1
  133. package/esm5/components/reports/models/response-list-report-dto.js +0 -1
  134. package/esm5/components/reports/reports.component.js +0 -208
  135. package/esm5/components/reports/reports.module.js +0 -46
  136. package/esm5/components/reports/reports.service.js +0 -75
  137. package/esm5/locale/fallback.js +0 -16
  138. package/esm5/public-api.js +0 -5
  139. package/esm5/senior-gestao-relacionamento-angular-components.js +0 -9
  140. package/esm5/services/current-collaborator/current-collaborator.module.js +0 -23
  141. package/esm5/services/current-collaborator/current-collaborator.service.js +0 -62
  142. package/esm5/services/current-collaborator/enums/index.js +0 -2
  143. package/esm5/services/current-collaborator/enums/status-enum.js +0 -6
  144. package/esm5/services/current-collaborator/index.js +0 -5
  145. package/esm5/services/current-collaborator/models/branch-dto.js +0 -1
  146. package/esm5/services/current-collaborator/models/branch.js +0 -28
  147. package/esm5/services/current-collaborator/models/collaborator-branch-link-dto.js +0 -1
  148. package/esm5/services/current-collaborator/models/collaborator-branch-link.js +0 -28
  149. package/esm5/services/current-collaborator/models/collaborator-dto.js +0 -1
  150. package/esm5/services/current-collaborator/models/collaborator.js +0 -45
  151. package/esm5/services/current-collaborator/models/company-dto.js +0 -1
  152. package/esm5/services/current-collaborator/models/company.js +0 -21
  153. package/esm5/services/current-collaborator/models/index.js +0 -6
  154. package/esm5/services/current-collaborator/models/job-title-dto.js +0 -1
  155. package/esm5/services/current-collaborator/models/job-title.js +0 -21
  156. package/esm5/services/current-tenant/current-tenant.module.js +0 -23
  157. package/esm5/services/current-tenant/current-tenant.service.js +0 -70
  158. package/esm5/services/current-tenant/index.js +0 -4
  159. package/esm5/services/current-tenant/models/index.js +0 -2
  160. package/esm5/services/current-tenant/models/modulo-dto.js +0 -1
  161. package/esm5/services/current-tenant/models/modulo.js +0 -20
  162. package/esm5/services/index.js +0 -9
  163. package/esm5/services/resolvers/access-validation.resolve.js +0 -35
  164. package/esm5/services/resolvers/index.js +0 -2
  165. package/esm5/services/schedule-form-rules/enums/index.js +0 -6
  166. package/esm5/services/schedule-form-rules/enums/month-enum.js +0 -16
  167. package/esm5/services/schedule-form-rules/enums/ordinal-week-day-enum.js +0 -9
  168. package/esm5/services/schedule-form-rules/enums/recurrence-enum.js +0 -8
  169. package/esm5/services/schedule-form-rules/enums/repeat-when-enum.js +0 -6
  170. package/esm5/services/schedule-form-rules/enums/week-day-enum.js +0 -11
  171. package/esm5/services/schedule-form-rules/index.js +0 -4
  172. package/esm5/services/schedule-form-rules/schedule-form-rules.module.js +0 -18
  173. package/esm5/services/schedule-form-rules/schedule-form-rules.service.js +0 -109
  174. package/esm5/services/standard-filters/index.js +0 -3
  175. package/esm5/services/standard-filters/standard-filters.module.js +0 -17
  176. package/esm5/services/standard-filters/standard-filters.service.js +0 -30
  177. package/esm5/services/storage/com-senior-token-dto.js +0 -1
  178. package/esm5/services/storage/index.js +0 -2
  179. package/esm5/services/storage/storage.module.js +0 -20
  180. package/esm5/services/storage/storage.service.js +0 -60
  181. package/esm5/services/validators/date-validators.service.js +0 -13
  182. package/esm5/services/validators/form-group-validators.service.js +0 -40
  183. package/esm5/services/validators/index.js +0 -3
  184. package/esm5/services/websocket/index.js +0 -4
  185. package/esm5/services/websocket/models/event-dto.js +0 -1
  186. package/esm5/services/websocket/models/event.js +0 -20
  187. package/esm5/services/websocket/models/index.js +0 -3
  188. package/esm5/services/websocket/models/topic-dto.js +0 -1
  189. package/esm5/services/websocket/models/topic.js +0 -29
  190. package/esm5/services/websocket/websocket.module.js +0 -21
  191. package/esm5/services/websocket/websocket.service.js +0 -131
  192. package/esm5/utils/index.js +0 -4
  193. package/esm5/utils/string-converter.service.js +0 -11
  194. package/esm5/utils/utils.js +0 -82
  195. package/esm5/utils/value-changes.service.js +0 -11
  196. package/fesm2015/senior-gestao-relacionamento-angular-components.js +0 -1271
  197. package/fesm2015/senior-gestao-relacionamento-angular-components.js.map +0 -1
  198. package/fesm5/senior-gestao-relacionamento-angular-components.js +0 -1363
  199. package/fesm5/senior-gestao-relacionamento-angular-components.js.map +0 -1
  200. package/locale/fallback.d.ts +0 -1
  201. package/scss/styles.scss +0 -190
  202. package/senior-gestao-relacionamento-angular-components.d.ts +0 -8
  203. package/senior-gestao-relacionamento-angular-components.metadata.json +0 -1
  204. package/services/current-collaborator/current-collaborator.module.d.ts +0 -2
  205. package/services/current-collaborator/current-collaborator.service.d.ts +0 -14
  206. package/services/current-collaborator/enums/index.d.ts +0 -1
  207. package/services/current-collaborator/enums/status-enum.d.ts +0 -4
  208. package/services/current-collaborator/index.d.ts +0 -4
  209. package/services/current-collaborator/models/branch-dto.d.ts +0 -7
  210. package/services/current-collaborator/models/branch.d.ts +0 -13
  211. package/services/current-collaborator/models/collaborator-branch-link-dto.d.ts +0 -4
  212. package/services/current-collaborator/models/collaborator-branch-link.d.ts +0 -9
  213. package/services/current-collaborator/models/collaborator-dto.d.ts +0 -14
  214. package/services/current-collaborator/models/collaborator.d.ts +0 -18
  215. package/services/current-collaborator/models/company-dto.d.ts +0 -6
  216. package/services/current-collaborator/models/company.d.ts +0 -11
  217. package/services/current-collaborator/models/index.d.ts +0 -10
  218. package/services/current-collaborator/models/job-title-dto.d.ts +0 -4
  219. package/services/current-collaborator/models/job-title.d.ts +0 -8
  220. package/services/current-tenant/current-tenant.module.d.ts +0 -2
  221. package/services/current-tenant/current-tenant.service.d.ts +0 -19
  222. package/services/current-tenant/index.d.ts +0 -3
  223. package/services/current-tenant/models/index.d.ts +0 -2
  224. package/services/current-tenant/models/modulo-dto.d.ts +0 -5
  225. package/services/current-tenant/models/modulo.d.ts +0 -8
  226. package/services/index.d.ts +0 -8
  227. package/services/resolvers/access-validation.resolve.d.ts +0 -9
  228. package/services/resolvers/index.d.ts +0 -1
  229. package/services/schedule-form-rules/enums/index.d.ts +0 -5
  230. package/services/schedule-form-rules/enums/month-enum.d.ts +0 -14
  231. package/services/schedule-form-rules/enums/ordinal-week-day-enum.d.ts +0 -7
  232. package/services/schedule-form-rules/enums/recurrence-enum.d.ts +0 -6
  233. package/services/schedule-form-rules/enums/repeat-when-enum.d.ts +0 -4
  234. package/services/schedule-form-rules/enums/week-day-enum.d.ts +0 -9
  235. package/services/schedule-form-rules/index.d.ts +0 -3
  236. package/services/schedule-form-rules/schedule-form-rules.module.d.ts +0 -2
  237. package/services/schedule-form-rules/schedule-form-rules.service.d.ts +0 -12
  238. package/services/standard-filters/index.d.ts +0 -2
  239. package/services/standard-filters/standard-filters.module.d.ts +0 -2
  240. package/services/standard-filters/standard-filters.service.d.ts +0 -7
  241. package/services/storage/com-senior-token-dto.d.ts +0 -14
  242. package/services/storage/index.d.ts +0 -1
  243. package/services/storage/storage.module.d.ts +0 -2
  244. package/services/storage/storage.service.d.ts +0 -17
  245. package/services/validators/date-validators.service.d.ts +0 -3
  246. package/services/validators/form-group-validators.service.d.ts +0 -5
  247. package/services/validators/index.d.ts +0 -2
  248. package/services/websocket/index.d.ts +0 -3
  249. package/services/websocket/models/event-dto.d.ts +0 -5
  250. package/services/websocket/models/event.d.ts +0 -8
  251. package/services/websocket/models/index.d.ts +0 -4
  252. package/services/websocket/models/topic-dto.d.ts +0 -6
  253. package/services/websocket/models/topic.d.ts +0 -10
  254. package/services/websocket/websocket.module.d.ts +0 -2
  255. package/services/websocket/websocket.service.d.ts +0 -22
  256. package/utils/index.d.ts +0 -3
  257. package/utils/string-converter.service.d.ts +0 -3
  258. package/utils/utils.d.ts +0 -12
  259. package/utils/value-changes.service.d.ts +0 -4
@@ -1,1271 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import { Injectable, EventEmitter, Input, Output, Component, NgModule, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
3
- import { FormControl, FormGroup, Validators, FormBuilder, FormsModule } from '@angular/forms';
4
- import { FormField, FieldType, LocaleModule, ButtonModule, DynamicFormModule, SidebarModule, LoadingStateModule } from '@seniorsistemas/angular-components';
5
- import { TranslateService, TranslateModule } from '@ngx-translate/core';
6
- import { throwError, BehaviorSubject, Observable, Subject } from 'rxjs';
7
- import { HttpParams, HttpClient, HttpClientModule } from '@angular/common/http';
8
- import { map, catchError, distinctUntilChanged, takeUntil, concatMap } from 'rxjs/operators';
9
- import { MessageService } from 'primeng/api';
10
- import { RouterModule, Router } from '@angular/router';
11
- import { CommonModule } from '@angular/common';
12
- import { SelectButtonModule } from 'primeng/selectbutton';
13
- import { DialogModule } from 'primeng/dialog';
14
- import { PanelModule } from 'primeng/panel';
15
- import { ToastModule } from 'primeng/toast';
16
- import { CookieService } from 'ngx-cookie-service';
17
- import { user } from '@seniorsistemas/senior-platform-data';
18
- import { Stomp } from '@stomp/stompjs';
19
- import * as SockJS from 'sockjs-client';
20
-
21
- var FormatEnum;
22
- (function (FormatEnum) {
23
- FormatEnum["PDF"] = "Pdf";
24
- FormatEnum["CSV"] = "Csv";
25
- FormatEnum["HTML"] = "Html";
26
- FormatEnum["XLSX"] = "Xlsx";
27
- FormatEnum["XML"] = "Xml";
28
- FormatEnum["ODT"] = "Odt";
29
- FormatEnum["RTF"] = "Rtf";
30
- })(FormatEnum || (FormatEnum = {}));
31
-
32
- var ViewModeEnum;
33
- (function (ViewModeEnum) {
34
- ViewModeEnum["SIDEBAR"] = "sidebar";
35
- ViewModeEnum["DIALOG"] = "dialog";
36
- })(ViewModeEnum || (ViewModeEnum = {}));
37
-
38
- let ReportsService = class ReportsService {
39
- constructor(_httpClient, _translate, _messageService) {
40
- this._httpClient = _httpClient;
41
- this._translate = _translate;
42
- this._messageService = _messageService;
43
- this.queriesPlatformReportUrl = `platform/report/queries`;
44
- this.actionsCrmxReportUrl = `crmx/report/actions`;
45
- }
46
- listReports(tag, ids) {
47
- let params = new HttpParams();
48
- params = params.append('searchValue', tag);
49
- return this._httpClient.get(`${this.queriesPlatformReportUrl}/listReports`, { params }).pipe(map((response) => response.reports.filter((report) => ids ? ids.includes(report.id) : true)), this.defaultCatch());
50
- }
51
- getSharedReport(tag) {
52
- let params = new HttpParams();
53
- params = params.append('searchValue', tag);
54
- return this._httpClient.get(`${this.queriesPlatformReportUrl}/listSharedReports`, { params }).pipe(map((response) => {
55
- return response.reports.filter((report) => report.enabled);
56
- }), this.defaultCatch());
57
- }
58
- generateReport(inputDto) {
59
- return this._httpClient.post(`${this.actionsCrmxReportUrl}/generateReport`, inputDto).pipe(this.defaultCatch());
60
- }
61
- defaultCatch() {
62
- return catchError((err) => {
63
- if (err) {
64
- let summary = err.status ? String(err.status) : 'Error';
65
- let detail;
66
- if (err.error && err.error.message) {
67
- detail = err.error.message;
68
- }
69
- else if (err.statusText) {
70
- detail = err.statusText;
71
- }
72
- else if (err.message) {
73
- detail = err.message;
74
- }
75
- else {
76
- detail = 'Error';
77
- }
78
- const errorUnauthorized = 401;
79
- if (err.status === errorUnauthorized) {
80
- summary = this._translate.instant('crmx.angular_components.error_unauthorized_title');
81
- detail = this._translate.instant('crmx.angular_components.error_unauthorized_description');
82
- }
83
- this._messageService.add({
84
- severity: 'error',
85
- summary,
86
- detail,
87
- sticky: true,
88
- });
89
- }
90
- return throwError(err);
91
- });
92
- }
93
- };
94
- ReportsService.ctorParameters = () => [
95
- { type: HttpClient },
96
- { type: TranslateService },
97
- { type: MessageService }
98
- ];
99
- ReportsService = __decorate([
100
- Injectable()
101
- ], ReportsService);
102
-
103
- let ReportsComponent = class ReportsComponent {
104
- constructor(_translate, _formBuilder, _reportsService) {
105
- this._translate = _translate;
106
- this._formBuilder = _formBuilder;
107
- this._reportsService = _reportsService;
108
- this.formGroups = [];
109
- this.visibleChange = new EventEmitter();
110
- this.reportGenerated = new EventEmitter();
111
- this.reportsObservable = new BehaviorSubject([]);
112
- this.viewModeEnum = ViewModeEnum;
113
- this.loading = false;
114
- this._reports = [];
115
- this._formatEnum = [];
116
- }
117
- ngOnChanges(changes) {
118
- if (this.options) {
119
- this.options.header = this.options.header || this._translate.instant('crmx.angular_components.reports_title');
120
- this.options.labelConfirmButton = this.options.labelConfirmButton || this._translate.instant('crmx.angular_components.confirm');
121
- this._formatEnum = Object.keys(FormatEnum)
122
- .filter(key => !this.options.formats || this.options.formats.includes(FormatEnum[key]))
123
- .map(key => ({ label: key.toUpperCase(), value: FormatEnum[key] }));
124
- if (this.visible) {
125
- this.loading = true;
126
- this._executeObservable(this._reportsService.listReports(this.options.tenantReport || this.options.sharedReport))
127
- .subscribe((nextAction) => {
128
- if (nextAction) {
129
- this._executeObservable(this._reportsService.getSharedReport(this.options.sharedReport))
130
- .subscribe((nextAction) => {
131
- this.loading = false;
132
- });
133
- }
134
- });
135
- }
136
- }
137
- }
138
- ngOnInit() {
139
- this.formGroup = this._getFormGroup();
140
- this.formFields = this._getFormFields();
141
- }
142
- onCancel() {
143
- this.formGroup.reset();
144
- this.visible = false;
145
- this.visibleChange.emit(this.visible);
146
- }
147
- onConfirm() {
148
- this.loading = true;
149
- const data = this.formGroup.getRawValue();
150
- let isValid = true;
151
- this.formGroups.forEach((formGroup) => isValid = isValid && formGroup.valid);
152
- if (!this.formGroup.valid || !isValid) {
153
- this.loading = false;
154
- this._validateAllFormFields(this.formGroup);
155
- this.formGroups.forEach(this._validateAllFormFields);
156
- }
157
- else {
158
- const input = {
159
- report: {
160
- id: data.reports.id,
161
- parameters: this.options.parametersReport,
162
- format: data.format,
163
- timeToLive: 1000,
164
- },
165
- callbackEvent: this.options.callbackEvent,
166
- };
167
- this._reportsService.generateReport(input).subscribe((outputDto) => {
168
- this.reportGenerated.emit(outputDto);
169
- this.onCancel();
170
- }, () => {
171
- this.loading = false;
172
- });
173
- }
174
- }
175
- getErrorMessages() {
176
- return {
177
- required: this._translate.instant('crmx.angular_components.error_required'),
178
- };
179
- }
180
- onVisibleChange(visible) {
181
- if (!visible) {
182
- this.onCancel();
183
- }
184
- }
185
- _executeObservable(observable) {
186
- return new Observable((observer) => {
187
- observable
188
- .pipe(catchError((err) => {
189
- this.loading = false;
190
- return throwError(err);
191
- }))
192
- .subscribe((reports) => {
193
- this._reports = reports;
194
- if (reports.length > 0) {
195
- this.loading = false;
196
- this._setValuesDefault();
197
- observer.next(false);
198
- }
199
- else {
200
- observer.next(true);
201
- }
202
- }, () => {
203
- this.loading = false;
204
- });
205
- });
206
- }
207
- _setValuesDefault() {
208
- var _a;
209
- this.formGroup.controls.reports.setValue(this._reports[0]);
210
- this.formGroup.controls.format.setValue((_a = this._formatEnum[0]) === null || _a === void 0 ? void 0 : _a.value);
211
- }
212
- _hasEmpty(target) {
213
- return (Object.keys(target).filter((key) => target[key] === '' || target[key] === undefined).length > 0);
214
- }
215
- _validateAllFormFields(formGroup) {
216
- Object.keys(formGroup.controls).forEach((field) => {
217
- const control = formGroup.get(field);
218
- if (control instanceof FormControl) {
219
- control.markAsDirty({ onlySelf: true });
220
- }
221
- else if (control instanceof FormGroup) {
222
- this._validateAllFormFields(control);
223
- }
224
- });
225
- }
226
- _getFormGroup() {
227
- return this._formBuilder.group({
228
- reports: [{ value: null, disabled: false }, Validators.compose([Validators.required])],
229
- format: [{ value: null, disabled: false }, Validators.compose([Validators.required])],
230
- });
231
- }
232
- _getFormFields() {
233
- return [
234
- new FormField({
235
- type: FieldType.Autocomplete,
236
- name: "reports",
237
- label: this._translate.instant('crmx.angular_components.report'),
238
- size: { xl: 12, lg: 12, md: 12, sm: 12 },
239
- multiple: false,
240
- dataKey: "id",
241
- appendTo: "body",
242
- emptyMessage: "Nenhuma sugestão encontrada",
243
- displayField: "name",
244
- required: () => true,
245
- suggestionsObservable: this.reportsObservable,
246
- onSearch: (val) => this.reportsObservable.next(this._reports.filter((reportDto) => reportDto.name.match(new RegExp(val, "ig")))),
247
- footer: {
248
- help: {
249
- text: this._translate.instant('crmx.angular_components.reports_help', { tag: this.options.tenantReport }),
250
- icon: 'fa fa-info-circle'
251
- }
252
- }
253
- }),
254
- new FormField({
255
- type: FieldType.Enum,
256
- name: 'format',
257
- label: this._translate.instant('crmx.angular_components.format'),
258
- placeholder: this._translate.instant('crmx.angular_components.format_placeholder'),
259
- size: { xl: 12, lg: 12, md: 12, sm: 12 },
260
- multiple: false,
261
- required: () => true,
262
- options: this._formatEnum,
263
- }),
264
- ];
265
- }
266
- };
267
- ReportsComponent.ctorParameters = () => [
268
- { type: TranslateService },
269
- { type: FormBuilder },
270
- { type: ReportsService }
271
- ];
272
- __decorate([
273
- Input()
274
- ], ReportsComponent.prototype, "visible", void 0);
275
- __decorate([
276
- Input()
277
- ], ReportsComponent.prototype, "options", void 0);
278
- __decorate([
279
- Input()
280
- ], ReportsComponent.prototype, "formGroups", void 0);
281
- __decorate([
282
- Output()
283
- ], ReportsComponent.prototype, "visibleChange", void 0);
284
- __decorate([
285
- Output()
286
- ], ReportsComponent.prototype, "reportGenerated", void 0);
287
- ReportsComponent = __decorate([
288
- Component({
289
- selector: 'report',
290
- template: "<div *ngIf=\"options\">\n <ng-container *ngIf=\"options.viewMode === viewModeEnum.SIDEBAR else reportsDialog\" >\n <s-sidebar [(visible)]=\"visible\" (visibleChange)=\"onVisibleChange($event)\" [header]=\"options.header\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <s-footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </s-footer>\n </s-sidebar>\n </ng-container>\n\n <ng-template #reportsDialog>\n <p-dialog\n [(visible)]=\"visible\" (visibleChange)=\"visible = $event\"\n [resizable]=\"false\" [draggable]=\"false\" [modal]=\"true\" [closable]=\"false\"\n >\n <p-header [textContent]=\"options.header\"></p-header>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <p-footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </p-footer>\n </p-dialog>\n </ng-template>\n\n <ng-template #content>\n <div class=\"ui-g\" *sLoadingState=\"loading\">\n <div class=\"ui-g-12\">\n <s-dynamic-form\n [fields]=\"formFields\"\n [form]=\"formGroup\"\n [errorMessages]=\"getErrorMessages()\"\n ></s-dynamic-form>\n </div>\n <div class=\"ui-g-12\">\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n\n <ng-template #footer>\n <s-button\n tooltip=\"{{'crmx.angular_components.generate' | translate}}\"\n tooltipPosition=\"left\" type=\"submit\" class=\"sds-float-right\"\n priority=\"primary\" [label]=\"options.labelConfirmButton\"\n (onClick)=\"onConfirm()\"\n [disabled]=\"loading\"\n ></s-button>\n <s-button\n tooltip=\"{{'crmx.angular_components.cancel' | translate}}\"\n type=\"button\" class=\"sds-float-left\" priority=\"link\"\n [label]=\"'crmx.angular_components.cancel' | translate\"\n (onClick)=\"onCancel()\"\n [disabled]=\"loading\"\n ></s-button>\n </ng-template>\n</div>\n"
291
- })
292
- ], ReportsComponent);
293
-
294
- let ReportsModule = class ReportsModule {
295
- };
296
- ReportsModule = __decorate([
297
- NgModule({
298
- imports: [
299
- LocaleModule.forChild(),
300
- FormsModule,
301
- RouterModule,
302
- CommonModule,
303
- TranslateModule,
304
- SelectButtonModule,
305
- DialogModule,
306
- ButtonModule,
307
- DynamicFormModule,
308
- SidebarModule,
309
- PanelModule,
310
- LoadingStateModule,
311
- ],
312
- declarations: [
313
- ReportsComponent,
314
- ],
315
- exports: [
316
- ReportsComponent,
317
- ],
318
- providers: [
319
- ReportsService,
320
- ]
321
- })
322
- ], ReportsModule);
323
-
324
- let RefreshWebsocketAlertComponent = class RefreshWebsocketAlertComponent {
325
- constructor(_messageService, _translateService) {
326
- this._messageService = _messageService;
327
- this._translateService = _translateService;
328
- this.open = false;
329
- this.closeRefreshSocket = new EventEmitter();
330
- this.refresh = new EventEmitter();
331
- }
332
- ngOnInit() {
333
- this.closeRefreshSocket.subscribe(() => {
334
- this.open = false;
335
- });
336
- this.refresh.subscribe(() => {
337
- this._messageService.clear(this.key);
338
- this.closeRefreshSocket.emit();
339
- });
340
- }
341
- show(message) {
342
- if (!this.open) {
343
- this.open = true;
344
- const thisMessage = {
345
- key: this.key,
346
- summary: (message === null || message === void 0 ? void 0 : message.summary) || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_summary_default'),
347
- detail: (message === null || message === void 0 ? void 0 : message.detail) || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_detail_default'),
348
- severity: (message === null || message === void 0 ? void 0 : message.severity) || 'info',
349
- life: 10000,
350
- };
351
- this._messageService.add(thisMessage);
352
- }
353
- }
354
- };
355
- RefreshWebsocketAlertComponent.ctorParameters = () => [
356
- { type: MessageService },
357
- { type: TranslateService }
358
- ];
359
- __decorate([
360
- Input()
361
- ], RefreshWebsocketAlertComponent.prototype, "key", void 0);
362
- __decorate([
363
- Output()
364
- ], RefreshWebsocketAlertComponent.prototype, "closeRefreshSocket", void 0);
365
- __decorate([
366
- Output()
367
- ], RefreshWebsocketAlertComponent.prototype, "refresh", void 0);
368
- RefreshWebsocketAlertComponent = __decorate([
369
- Component({
370
- selector: 'refresh-websocket-alert',
371
- template: "<p-toast [key]=\"key\" (onClose)=\"closeRefreshSocket.emit($event)\">\n <ng-template let-message pTemplate=\"message\">\n <span class=\"ui-toast-icon pi\"></span>\n <div class=\"ui-toast-message-text-content\">\n <div class=\"ui-toast-summary\">{{ message.summary }}</div>\n <div class=\"ui-toast-detail\">\n <span>{{ message.detail }}</span>\n <s-button\n [label]=\"'crmx.angular_components.refresh_websocket_alert_click_here' | translate\"\n priority=\"link\"\n (onClick)=\"refresh.emit()\"\n styleClass=\"refresh-websocket\"\n ></s-button>\n </div>\n </div>\n </ng-template>\n</p-toast>\n",
372
- styles: [".refresh-websocket{height:20px!important}"]
373
- })
374
- ], RefreshWebsocketAlertComponent);
375
-
376
- let RefreshWebsocketAlertModule = class RefreshWebsocketAlertModule {
377
- };
378
- RefreshWebsocketAlertModule = __decorate([
379
- NgModule({
380
- imports: [
381
- LocaleModule.forChild(),
382
- ButtonModule,
383
- TranslateModule,
384
- ToastModule,
385
- ],
386
- declarations: [
387
- RefreshWebsocketAlertComponent,
388
- ],
389
- exports: [
390
- RefreshWebsocketAlertComponent,
391
- ]
392
- })
393
- ], RefreshWebsocketAlertModule);
394
-
395
- const fallback = {
396
- "crmx.angular_components.cancel": "Cancelar",
397
- "crmx.angular_components.confirm": "Gerar",
398
- "crmx.angular_components.error_required": "Campo obrigatório",
399
- "crmx.angular_components.error_unauthorized_title": "Acesso não autorizado",
400
- "crmx.angular_components.error_unauthorized_description": "Você não tem permissão para utilizar o recurso desejado",
401
- "crmx.angular_components.format": "Formato",
402
- "crmx.angular_components.format_placeholder": "Selecione uma Opção",
403
- "crmx.angular_components.report": "Relatório",
404
- "crmx.angular_components.reports_help": "Listando todos relatórios com a tag '{{tag}}'",
405
- "crmx.angular_components.reports_title": "Gerar Relatório",
406
- "crmx.angular_components.refresh_websocket_alert_click_here": "Clique aqui",
407
- "crmx.angular_components.refresh_websocket_alert_detail_default": "Para atualizar a tela",
408
- "crmx.angular_components.refresh_websocket_alert_summary_default": "Atualização de dados"
409
- };
410
-
411
- class StringConverterService {
412
- static toUnderscore(camelCase) {
413
- const regex = /([a-z])([A-Z])/g;
414
- return camelCase.replace(regex, '$1_$2').toLowerCase();
415
- }
416
- }
417
-
418
- class ValueChangesService {
419
- static pipeDefault(control) {
420
- return control.valueChanges.pipe(distinctUntilChanged());
421
- }
422
- }
423
-
424
- const numberTypes = [FieldType.Integer, FieldType.Double];
425
- const numberPattern = /^\d+\b$/;
426
- const mergeUnique = (array, otherArray) => array.concat(otherArray.filter((item) => !array.includes(item)));
427
- const getTypeInformation = (type, value) => {
428
- switch (type) {
429
- case FieldType.Time:
430
- case FieldType.Date:
431
- case FieldType.LocalDateTime:
432
- case FieldType.DateTime:
433
- return { isValidValue: false, typeExists: true };
434
- case FieldType.Integer:
435
- case FieldType.Double:
436
- return {
437
- isValidValue: value.match(numberPattern),
438
- typeExists: numberTypes.includes(type),
439
- };
440
- default:
441
- return {
442
- isValidValue: value.match(numberPattern),
443
- typeExists: numberTypes.includes(type),
444
- };
445
- }
446
- };
447
- const isValidFilter = (type, value) => {
448
- const { isValidValue, typeExists } = getTypeInformation(type, value);
449
- return !(typeExists && !isValidValue);
450
- };
451
- const getProp = (obj, path) => {
452
- return path.split('.').reduce((result, prop) => (result[prop] === undefined ? '' : result[prop]), obj);
453
- };
454
- const getLabelValueRequest = (contents, displayFields) => {
455
- return contents.map((item) => (Object.assign(Object.assign({}, item), { label: displayFields.map((field) => getProp(item, field)).join(' - ') })));
456
- };
457
- const getSuggestionValue = (displayFields, ownerEntity, value, separator) => {
458
- return displayFields.map((field) => getProp(value, `${ownerEntity}.${field}`)).reduce((acc, val) => `${acc}${separator}${val}`) + '';
459
- };
460
- const getEnumQuery = (name, value, multiple = false) => {
461
- if (multiple) {
462
- return `(${value.map((selected) => `${name} eq '${selected}'`).join(' or ')})`;
463
- }
464
- return `${name} eq '${value}'`;
465
- };
466
- const resolveRefs = (payload) => {
467
- const getDataFromRef = (ref, rootObj) => {
468
- const regex = /\["(.*?)"\]/g;
469
- const result = [];
470
- let match;
471
- while ((match = regex.exec(ref)) !== null) {
472
- result.push(match[1]);
473
- }
474
- return result.reduce((acc, part) => acc && acc[part], rootObj);
475
- };
476
- const resolve = (obj, rootObj) => {
477
- if (Array.isArray(obj)) {
478
- obj.forEach((item) => resolve(item, rootObj));
479
- }
480
- else if (obj !== null && typeof obj === 'object') {
481
- // Remove self-reference to root object
482
- Object.keys(obj).forEach((key) => {
483
- if (obj[key] === rootObj) {
484
- delete obj[key];
485
- }
486
- });
487
- Object.keys(obj).forEach((key) => {
488
- if (key === '$ref' && obj[key]) {
489
- const refPath = obj[key];
490
- Object.assign(obj, getDataFromRef(refPath, rootObj));
491
- delete obj[key];
492
- }
493
- else {
494
- resolve(obj[key], rootObj);
495
- }
496
- });
497
- }
498
- };
499
- resolve(payload, payload);
500
- return payload;
501
- };
502
-
503
- class Company {
504
- static fromDto(companyDto, originEntity) {
505
- const model = Object.assign({}, resolveRefs(companyDto));
506
- const lookupSeparator = ' - ';
507
- const displayFields = ['code', 'name'];
508
- model.label = getSuggestionValue(displayFields, 'company', { company: model }, lookupSeparator);
509
- return model;
510
- }
511
- static toDto(company, originEntity) {
512
- const dto = Object.assign({}, company);
513
- delete dto.label;
514
- return dto;
515
- }
516
- }
517
-
518
- class Branch {
519
- static fromDto(branchDto, originEntity) {
520
- const model = Object.assign({}, resolveRefs(branchDto));
521
- const lookupSeparator = ' - ';
522
- const displayFields = ['company.code', 'company.name', 'code', 'name'];
523
- model.label = getSuggestionValue(displayFields, 'branch', { branch: model }, lookupSeparator);
524
- if (originEntity !== 'Company' && model.company) {
525
- model.company = Company.fromDto(model.company, 'Branch');
526
- }
527
- return model;
528
- }
529
- static toDto(branch, originEntity) {
530
- const dto = Object.assign({}, branch);
531
- delete dto.label;
532
- if (originEntity !== 'Company' && dto.company) {
533
- dto.company = Company.toDto(dto.company, 'Branch');
534
- }
535
- return dto;
536
- }
537
- }
538
-
539
- class JobTitle {
540
- static fromDto(jobTitleDto, originEntity) {
541
- const model = Object.assign({}, resolveRefs(jobTitleDto));
542
- const lookupSeparator = ' - ';
543
- const displayFields = ['name'];
544
- model.label = getSuggestionValue(displayFields, 'jobTitle', { jobTitle: model }, lookupSeparator);
545
- return model;
546
- }
547
- static toDto(jobTitle, originEntity) {
548
- const dto = Object.assign({}, jobTitle);
549
- delete dto.label;
550
- return dto;
551
- }
552
- }
553
-
554
- class CollaboratorBranchLink {
555
- static fromDto(collaboratorBranchLinkDto, originEntity) {
556
- const model = Object.assign({}, resolveRefs(collaboratorBranchLinkDto));
557
- const lookupSeparator = ' - ';
558
- const displayFields = ['branch.company.code', 'branch.company.name', 'branch.code', 'branch.name'];
559
- model.label = getSuggestionValue(displayFields, 'collaboratorBranchLink', { collaboratorBranchLink: model }, lookupSeparator);
560
- if (originEntity !== 'Branch' && model.branch) {
561
- model.branch = Branch.fromDto(model.branch, 'CollaboratorBranchLink');
562
- }
563
- return model;
564
- }
565
- static toDto(collaboratorBranchLink, originEntity) {
566
- const dto = Object.assign({}, collaboratorBranchLink);
567
- delete dto.label;
568
- if (originEntity !== 'Branch' && dto.branch) {
569
- dto.branch = Branch.toDto(dto.branch, 'CollaboratorBranchLink');
570
- }
571
- return dto;
572
- }
573
- }
574
-
575
- class Collaborator {
576
- constructor() {
577
- this.active = false;
578
- this.visible = false;
579
- }
580
- static fromDto(collaboratorDto, originEntity) {
581
- const model = Object.assign({}, resolveRefs(collaboratorDto));
582
- const lookupSeparator = ' - ';
583
- const displayFields = ['name'];
584
- model.label = getSuggestionValue(displayFields, 'collaborator', { collaborator: model }, lookupSeparator);
585
- if (originEntity !== 'JobTitle' && model.jobTitle) {
586
- model.jobTitle = JobTitle.fromDto(model.jobTitle, 'Collaborator');
587
- }
588
- if (originEntity !== 'Collaborator' && model.leader) {
589
- model.leader = Collaborator.fromDto(model.leader, 'Collaborator');
590
- }
591
- if (originEntity !== 'CollaboratorBranchLink' && model.branches) {
592
- model.branches = Object.values(model.branches).map((item) => CollaboratorBranchLink.fromDto(item, 'Collaborator'));
593
- }
594
- return model;
595
- }
596
- static toDto(collaborator, originEntity) {
597
- const dto = Object.assign({}, collaborator);
598
- delete dto.label;
599
- if (originEntity !== 'JobTitle' && dto.jobTitle) {
600
- dto.jobTitle = JobTitle.toDto(dto.jobTitle, 'Collaborator');
601
- }
602
- if (originEntity !== 'Collaborator' && dto.leader) {
603
- dto.leader = Collaborator.toDto(dto.leader, 'Collaborator');
604
- }
605
- if (originEntity !== 'CollaboratorBranchLink' && dto.branches) {
606
- dto.branches = Object.values(dto.branches)
607
- .map((item) => CollaboratorBranchLink.toDto(item, 'Collaborator'))
608
- .filter((item) => Object.keys(item).length);
609
- }
610
- return dto;
611
- }
612
- }
613
-
614
- let StorageService = class StorageService {
615
- constructor(cookieService) {
616
- this.cookieService = cookieService;
617
- }
618
- getUser() {
619
- return JSON.parse(localStorage.getItem('SENIOR_USER_INFO')).data;
620
- }
621
- getUserId() {
622
- return this.getUser().id;
623
- }
624
- store(key, value) {
625
- const userId = this.getUserId();
626
- localStorage.setItem(`${userId}_${key}`, JSON.stringify(resolveRefs(value)));
627
- }
628
- get(key) {
629
- const userId = this.getUserId();
630
- const value = localStorage.getItem(`${userId}_${key}`);
631
- if (value) {
632
- return JSON.parse(value);
633
- }
634
- return null;
635
- }
636
- getComSeniorToken() {
637
- return JSON.parse(this.cookieService.get('com.senior.token'));
638
- }
639
- getBaseUrl() {
640
- return this.cookieService.get('com.senior.base.url');
641
- }
642
- getTenantDomain() {
643
- return this.getComSeniorToken().username.split('@')[1];
644
- }
645
- getTenantName() {
646
- return this.getComSeniorToken().tenantName;
647
- }
648
- getUsername() {
649
- return this.getComSeniorToken().username.split('@')[0];
650
- }
651
- getLogin() {
652
- return this.getComSeniorToken().username;
653
- }
654
- getToken() {
655
- return this.getComSeniorToken().access_token;
656
- }
657
- isUserAdmin() {
658
- return this.getUsername() === 'admin';
659
- }
660
- };
661
- StorageService.ctorParameters = () => [
662
- { type: CookieService }
663
- ];
664
- StorageService = __decorate([
665
- Injectable()
666
- ], StorageService);
667
-
668
- let CurrentCollaboratorService = class CurrentCollaboratorService {
669
- constructor(http, storageService) {
670
- this.http = http;
671
- this.storageService = storageService;
672
- this.ngUnsubscribe = new Subject();
673
- this.COLLABORATOR_KEY = 'CRMX_COLLABORATOR';
674
- }
675
- get() {
676
- return this.call(false);
677
- }
678
- call(useCache) {
679
- return new Observable((observer) => {
680
- const collaboratorDto = this.storageService.get(this.COLLABORATOR_KEY);
681
- if (collaboratorDto !== null && useCache) {
682
- observer.next(Collaborator.fromDto(collaboratorDto));
683
- observer.complete();
684
- }
685
- else {
686
- this.http
687
- .get('crmx/collaborator/queries/getCurrentCollaborator')
688
- .pipe(takeUntil(this.ngUnsubscribe), catchError((err) => {
689
- const statusCode = 404;
690
- if (err.status === statusCode) {
691
- this.redirect('collaborator-not-found');
692
- }
693
- throw err;
694
- }))
695
- .subscribe((collaboratorDto) => {
696
- if (collaboratorDto.active === false) {
697
- this.redirect('collaborator-inactive');
698
- }
699
- else {
700
- this.storageService.store(this.COLLABORATOR_KEY, collaboratorDto);
701
- observer.next(Collaborator.fromDto(collaboratorDto));
702
- observer.complete();
703
- }
704
- });
705
- }
706
- });
707
- }
708
- redirect(page) {
709
- location.href = `${this.storageService.getBaseUrl()}/gestao-relacionamento/crmx_collaborator/foundation/#/${page}`;
710
- }
711
- };
712
- CurrentCollaboratorService.ctorParameters = () => [
713
- { type: HttpClient },
714
- { type: StorageService }
715
- ];
716
- CurrentCollaboratorService = __decorate([
717
- Injectable()
718
- ], CurrentCollaboratorService);
719
-
720
- let StorageModule = class StorageModule {
721
- };
722
- StorageModule = __decorate([
723
- NgModule({
724
- imports: [],
725
- providers: [
726
- StorageService,
727
- CookieService
728
- ],
729
- })
730
- ], StorageModule);
731
-
732
- let CurrentCollaboratorModule = class CurrentCollaboratorModule {
733
- };
734
- CurrentCollaboratorModule = __decorate([
735
- NgModule({
736
- imports: [
737
- HttpClientModule,
738
- StorageModule,
739
- ],
740
- providers: [
741
- CurrentCollaboratorService,
742
- ],
743
- })
744
- ], CurrentCollaboratorModule);
745
-
746
- var StatusEnum;
747
- (function (StatusEnum) {
748
- StatusEnum["ACTIVE"] = "ACTIVE";
749
- StatusEnum["INACTIVE"] = "INACTIVE";
750
- })(StatusEnum || (StatusEnum = {}));
751
-
752
- class Modulo {
753
- static fromDto(moduleDto, originEntity) {
754
- const model = Object.assign({}, moduleDto);
755
- const lookupSeparator = ' - ';
756
- const displayFields = ['modulo'];
757
- model.label = displayFields.map((field) => model[field]).join(lookupSeparator);
758
- return model;
759
- }
760
- static toDto(module, originEntity) {
761
- const dto = Object.assign({}, module);
762
- delete dto.label;
763
- return dto;
764
- }
765
- }
766
-
767
- let CurrentTenantService = class CurrentTenantService {
768
- constructor(http, storageService) {
769
- this.http = http;
770
- this.storageService = storageService;
771
- this.ngUnsubscribe = new Subject();
772
- this.ERPX_MODULE_KEY = 'ERPX_MODULE';
773
- }
774
- validate() {
775
- return new Observable((observer) => {
776
- this.call(false).subscribe((modulo) => {
777
- if (modulo.ativo === false) {
778
- this.redirect('module-inactive');
779
- }
780
- else {
781
- observer.next(modulo);
782
- observer.complete();
783
- }
784
- });
785
- });
786
- }
787
- call(useCache) {
788
- return new Observable((observer) => {
789
- const moduleDto = this.storageService.get(this.ERPX_MODULE_KEY);
790
- if (moduleDto !== null && useCache) {
791
- observer.next(Modulo.fromDto(moduleDto));
792
- observer.complete();
793
- }
794
- else {
795
- this.http
796
- .get('erpx_fnd/empresa/entities/modulos?filter=modulo%20eq%20%27CRM%27%20and%20ativo%20eq%20%27true%27')
797
- .pipe(takeUntil(this.ngUnsubscribe), catchError((err) => {
798
- throw err;
799
- }))
800
- .subscribe((response) => {
801
- if (response.totalElements === 0) {
802
- this.redirect('module-inactive');
803
- }
804
- else {
805
- const moduloDto = response.contents[0];
806
- this.storageService.store(this.ERPX_MODULE_KEY, moduloDto);
807
- observer.next(Modulo.fromDto(moduloDto));
808
- observer.complete();
809
- }
810
- });
811
- }
812
- });
813
- }
814
- redirect(page) {
815
- location.href = `${this.storageService.getBaseUrl()}/gestao-relacionamento/crmx_collaborator/foundation/#/${page}`;
816
- }
817
- };
818
- CurrentTenantService.ctorParameters = () => [
819
- { type: HttpClient },
820
- { type: StorageService }
821
- ];
822
- CurrentTenantService = __decorate([
823
- Injectable()
824
- ], CurrentTenantService);
825
-
826
- let CurrentTenantModule = class CurrentTenantModule {
827
- };
828
- CurrentTenantModule = __decorate([
829
- NgModule({
830
- imports: [
831
- HttpClientModule,
832
- StorageModule,
833
- ],
834
- providers: [
835
- CurrentTenantService
836
- ],
837
- })
838
- ], CurrentTenantModule);
839
-
840
- let AccessValidationResolve = class AccessValidationResolve {
841
- constructor(currentCollaboratorService, currentTenantService) {
842
- this.currentCollaboratorService = currentCollaboratorService;
843
- this.currentTenantService = currentTenantService;
844
- }
845
- resolve() {
846
- return new Observable((observer) => {
847
- user.getUserData().then((userData) => {
848
- this.currentTenantService.validate().subscribe(() => {
849
- this.currentCollaboratorService.get().subscribe((collaborator) => {
850
- observer.next(collaborator);
851
- observer.complete();
852
- });
853
- });
854
- });
855
- });
856
- }
857
- };
858
- AccessValidationResolve.ctorParameters = () => [
859
- { type: CurrentCollaboratorService },
860
- { type: CurrentTenantService }
861
- ];
862
- AccessValidationResolve = __decorate([
863
- Injectable()
864
- ], AccessValidationResolve);
865
-
866
- var MonthEnum;
867
- (function (MonthEnum) {
868
- MonthEnum["JANUARY"] = "JANUARY";
869
- MonthEnum["FEBRUARY"] = "FEBRUARY";
870
- MonthEnum["MARCH"] = "MARCH";
871
- MonthEnum["APRIL"] = "APRIL";
872
- MonthEnum["MAY"] = "MAY";
873
- MonthEnum["JUNE"] = "JUNE";
874
- MonthEnum["JULY"] = "JULY";
875
- MonthEnum["AUGUST"] = "AUGUST";
876
- MonthEnum["SEPTEMBER"] = "SEPTEMBER";
877
- MonthEnum["OCTOBER"] = "OCTOBER";
878
- MonthEnum["NOVEMBER"] = "NOVEMBER";
879
- MonthEnum["DECEMBER"] = "DECEMBER";
880
- })(MonthEnum || (MonthEnum = {}));
881
-
882
- var OrdinalWeekDayEnum;
883
- (function (OrdinalWeekDayEnum) {
884
- OrdinalWeekDayEnum["FIRST"] = "FIRST";
885
- OrdinalWeekDayEnum["SECOND"] = "SECOND";
886
- OrdinalWeekDayEnum["THIRD"] = "THIRD";
887
- OrdinalWeekDayEnum["FOURTH"] = "FOURTH";
888
- OrdinalWeekDayEnum["LAST"] = "LAST";
889
- })(OrdinalWeekDayEnum || (OrdinalWeekDayEnum = {}));
890
-
891
- var RecurrenceEnum;
892
- (function (RecurrenceEnum) {
893
- RecurrenceEnum["DAILY"] = "DAILY";
894
- RecurrenceEnum["WEEKLY"] = "WEEKLY";
895
- RecurrenceEnum["MONTHLY"] = "MONTHLY";
896
- RecurrenceEnum["YEARLY"] = "YEARLY";
897
- })(RecurrenceEnum || (RecurrenceEnum = {}));
898
-
899
- var RepeatWhenEnum;
900
- (function (RepeatWhenEnum) {
901
- RepeatWhenEnum["IN_DAY"] = "IN_DAY";
902
- RepeatWhenEnum["IN_ORDINAL_WEEK_DAY"] = "IN_ORDINAL_WEEK_DAY";
903
- })(RepeatWhenEnum || (RepeatWhenEnum = {}));
904
-
905
- var WeekDayEnum;
906
- (function (WeekDayEnum) {
907
- WeekDayEnum["SUNDAY"] = "SUNDAY";
908
- WeekDayEnum["MONDAY"] = "MONDAY";
909
- WeekDayEnum["TUESDAY"] = "TUESDAY";
910
- WeekDayEnum["WEDNESDAY"] = "WEDNESDAY";
911
- WeekDayEnum["THURSDAY"] = "THURSDAY";
912
- WeekDayEnum["FRIDAY"] = "FRIDAY";
913
- WeekDayEnum["SATURDAY"] = "SATURDAY";
914
- })(WeekDayEnum || (WeekDayEnum = {}));
915
-
916
- let ScheduleFormRulesService = class ScheduleFormRulesService {
917
- constructor() {
918
- this.ngUnsubscribe = new Subject();
919
- }
920
- recurrencesValueChangeSubscribe(formGroup, formFields) {
921
- this.recurrenceValueChangeSubscribe(formGroup, formFields);
922
- this.repeatWhenValueChangeSubscribe(formGroup, formFields);
923
- }
924
- valueChangeSubscribe(formGroup, formFields) {
925
- this.allDayValueChangeSubscribe(formGroup, formFields);
926
- }
927
- allDayValueChangeSubscribe(formGroup, formFields) {
928
- formGroup.controls.allDay.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value) => {
929
- const fields = ['startTime', 'endTime'];
930
- if (value) {
931
- this.disableFields(formGroup, formFields, fields);
932
- }
933
- else {
934
- this.enableFields(formGroup, formFields, fields);
935
- }
936
- });
937
- }
938
- recurrenceValueChangeSubscribe(formGroup, formFields) {
939
- formGroup.controls.recurrence.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value) => {
940
- const fieldsToDisable = ['weekDays', 'repeatWhen', 'repeatWhenDay', 'repeatWhenMonth', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];
941
- this.disableFields(formGroup, formFields, fieldsToDisable);
942
- if (value === RecurrenceEnum.WEEKLY) {
943
- const fieldWeekDays = formFields.find((field) => field.name === 'weekDays');
944
- fieldWeekDays.visible = () => true;
945
- fieldWeekDays.required = () => true;
946
- formGroup.controls.weekDays.setValidators([Validators.required]);
947
- }
948
- if (value === RecurrenceEnum.MONTHLY || value === RecurrenceEnum.YEARLY) {
949
- const fieldRepeatWhen = formFields.find((field) => field.name === 'repeatWhen');
950
- fieldRepeatWhen.visible = () => true;
951
- fieldRepeatWhen.required = () => true;
952
- formGroup.controls.repeatWhen.setValidators([Validators.required]);
953
- formGroup.controls.repeatWhen.setValue(RepeatWhenEnum.IN_DAY);
954
- }
955
- });
956
- }
957
- repeatWhenValueChangeSubscribe(formGroup, formFields) {
958
- formGroup.controls.repeatWhen.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value) => {
959
- const fieldsToDisable = ['repeatWhenDay', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth', 'repeatWhenMonth'];
960
- this.disableFields(formGroup, formFields, fieldsToDisable);
961
- if (value === RepeatWhenEnum.IN_DAY) {
962
- const fieldRepeatWhenDay = formFields.find((field) => field.name === 'repeatWhenDay');
963
- fieldRepeatWhenDay.visible = () => true;
964
- fieldRepeatWhenDay.required = () => true;
965
- formGroup.controls.repeatWhenDay.setValidators([Validators.required]);
966
- }
967
- if (value === RepeatWhenEnum.IN_ORDINAL_WEEK_DAY) {
968
- const fieldsToEnable = ['repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];
969
- this.enableFields(formGroup, formFields, fieldsToEnable);
970
- }
971
- if (value !== undefined && formGroup.controls.recurrence.value === RecurrenceEnum.YEARLY) {
972
- const fieldRepeatWhenMonth = formFields.find((field) => field.name === 'repeatWhenMonth');
973
- fieldRepeatWhenMonth.visible = () => true;
974
- fieldRepeatWhenMonth.required = () => true;
975
- formGroup.controls.repeatWhenMonth.setValidators([Validators.required]);
976
- }
977
- });
978
- }
979
- disableFields(formGroup, formFields, fields) {
980
- formFields
981
- .filter((field) => fields.includes(field.name))
982
- .forEach((field) => {
983
- field.visible = () => false;
984
- field.required = () => false;
985
- });
986
- for (const controlsKey in formGroup.controls) {
987
- if (fields.includes(controlsKey)) {
988
- const fieldFormGroup = formGroup.controls[controlsKey];
989
- fieldFormGroup.setValue(undefined);
990
- fieldFormGroup.clearValidators();
991
- fieldFormGroup.setErrors(null);
992
- }
993
- }
994
- }
995
- enableFields(formGroup, formFields, fields) {
996
- formFields
997
- .filter((field) => fields.includes(field.name))
998
- .forEach((field) => {
999
- field.visible = () => true;
1000
- field.required = () => true;
1001
- });
1002
- for (const controlsKey in formGroup.controls) {
1003
- if (fields.includes(controlsKey)) {
1004
- const fieldFormGroup = formGroup.controls[controlsKey];
1005
- fieldFormGroup.setValidators([Validators.required]);
1006
- }
1007
- }
1008
- }
1009
- };
1010
- ScheduleFormRulesService = __decorate([
1011
- Injectable()
1012
- ], ScheduleFormRulesService);
1013
-
1014
- let ScheduleFormRulesModule = class ScheduleFormRulesModule {
1015
- };
1016
- ScheduleFormRulesModule = __decorate([
1017
- NgModule({
1018
- imports: [],
1019
- providers: [
1020
- ScheduleFormRulesService
1021
- ],
1022
- })
1023
- ], ScheduleFormRulesModule);
1024
-
1025
- let StandardFiltersService = class StandardFiltersService {
1026
- constructor() {
1027
- }
1028
- addFilterActive(filterQuery, alias) {
1029
- const filter = this.addAlias(alias, `status eq 'ACTIVE'`);
1030
- return this.addFilter(filterQuery, filter);
1031
- }
1032
- addFilter(filterQuery, filter) {
1033
- return (filterQuery ? `${filterQuery} and ` : '') + filter;
1034
- }
1035
- addFilterIn(filterQuery, alias, field, values) {
1036
- const filters = values.map(value => `${this.addAlias(alias, field)} eq '${value}'`);
1037
- if (filters.length > 0) {
1038
- return this.addFilter(filterQuery, `(${filters.join(' or ')})`);
1039
- }
1040
- return '';
1041
- }
1042
- addAlias(alias, filter) {
1043
- return (alias ? `${alias}.` : '') + filter;
1044
- }
1045
- };
1046
- StandardFiltersService = __decorate([
1047
- Injectable()
1048
- ], StandardFiltersService);
1049
-
1050
- let StandardFiltersModule = class StandardFiltersModule {
1051
- };
1052
- StandardFiltersModule = __decorate([
1053
- NgModule({
1054
- providers: [
1055
- StandardFiltersService
1056
- ],
1057
- })
1058
- ], StandardFiltersModule);
1059
-
1060
- class FormGroupValidatorsService {
1061
- static startDataGreaterThanEndDataValidator(endDateField, errorMessage) {
1062
- const fn = function (control) {
1063
- var _a;
1064
- if (control.parent) {
1065
- const startDate = new Date(control.value);
1066
- const endDate = new Date((_a = control.parent.controls[endDateField]) === null || _a === void 0 ? void 0 : _a.value);
1067
- if (startDate > endDate) {
1068
- const rtn = {};
1069
- rtn[errorMessage] = true;
1070
- return rtn;
1071
- }
1072
- }
1073
- return null;
1074
- };
1075
- return fn;
1076
- }
1077
- static endDateLessThanStartDateValidator(startDateField, errorMessage) {
1078
- const fn = function (control) {
1079
- var _a;
1080
- if (control.parent) {
1081
- const startDate = new Date((_a = control.parent.controls[startDateField]) === null || _a === void 0 ? void 0 : _a.value);
1082
- const endDate = new Date(control.value);
1083
- if (startDate > endDate) {
1084
- const rtn = {};
1085
- rtn[errorMessage] = true;
1086
- return rtn;
1087
- }
1088
- }
1089
- return null;
1090
- };
1091
- return fn;
1092
- }
1093
- ;
1094
- }
1095
-
1096
- class DateValidatorsService {
1097
- static isLastWeekdayOfMonth(date) {
1098
- const newDate = new Date(date);
1099
- const day = 7;
1100
- newDate.setDate(date.getDate() + day);
1101
- return newDate.getMonth() > date.getMonth() || newDate.getFullYear() > date.getFullYear();
1102
- }
1103
- }
1104
-
1105
- class Topic {
1106
- static fromDto(topicDto) {
1107
- const topic = new Topic();
1108
- Object.assign(topic, topicDto);
1109
- return topic;
1110
- }
1111
- getTopic(tenantDomain, token) {
1112
- let topic = '/topic/'.concat(tenantDomain);
1113
- if (this.allUsers === false) {
1114
- topic = topic
1115
- .concat('/')
1116
- .concat(token);
1117
- }
1118
- return topic.concat(this.toString());
1119
- }
1120
- toString() {
1121
- return '/'
1122
- .concat(this.domain)
1123
- .concat('/')
1124
- .concat(this.service)
1125
- .concat('/')
1126
- .concat(this.primitive);
1127
- }
1128
- }
1129
-
1130
- class Event extends Topic {
1131
- static fromDto(eventDto) {
1132
- const event = new Event();
1133
- Object.assign(event, eventDto);
1134
- return event;
1135
- }
1136
- match(event) {
1137
- return this.toString() === event.toString()
1138
- && this.originCallback === event.originCallback;
1139
- }
1140
- }
1141
-
1142
- let WebsocketService = class WebsocketService {
1143
- constructor(router, storageService) {
1144
- this.router = router;
1145
- this.storageService = storageService;
1146
- this._client = Stomp.over(new SockJS(this.storageService.getBaseUrl().concat('/websocket/subscription')));
1147
- this._bindQueue = new Subject();
1148
- this._eventBindingList = [];
1149
- this._messageQueue = [];
1150
- this._bindQueue.pipe(concatMap(event => this._bindObservable(event))).subscribe();
1151
- }
1152
- bind(eventDto) {
1153
- eventDto.originCallback = eventDto.originCallback || this.router.url;
1154
- this._bindQueue.next(Event.fromDto(eventDto));
1155
- }
1156
- _bindObservable(event) {
1157
- return new Observable(observer => {
1158
- if (this._client.connected) {
1159
- this._registerBind(event);
1160
- this._finishBindObservable(observer);
1161
- }
1162
- else {
1163
- this._connectClient(event, observer);
1164
- }
1165
- });
1166
- }
1167
- _finishBindObservable(observer) {
1168
- observer.next();
1169
- observer.complete();
1170
- }
1171
- _connectClient(event, observer) {
1172
- this._client.connect({}, () => {
1173
- this._registerBind(event);
1174
- this._finishBindObservable(observer);
1175
- }, () => observer.error(new Error('Websocket connection error!')));
1176
- }
1177
- _registerBind(event) {
1178
- const eventBinding = this._findEventBinding(event);
1179
- if (eventBinding) {
1180
- this._remakeBind(event, eventBinding);
1181
- }
1182
- else {
1183
- this._makeBind(event);
1184
- }
1185
- }
1186
- _remakeBind(event, eventBinding) {
1187
- eventBinding.callback = event.callback;
1188
- this._messageQueue
1189
- .filter(messageQueue => messageQueue.event.match(event))
1190
- .forEach(messageQueue => this._executeCallback(messageQueue.message, event));
1191
- }
1192
- _makeBind(event) {
1193
- this._eventBindingList.push(event);
1194
- this._client.subscribe(event.getTopic(this.storageService.getTenantDomain(), this.storageService.getToken()), (message) => this._executeCallback(message, event));
1195
- }
1196
- _executeCallback(message, event) {
1197
- const eventBinding = this._findEventBinding(event);
1198
- if (eventBinding.originCallback === this.router.url) {
1199
- this._findEventBinding(event).callback(this._resolveRefs(JSON.parse(message.body).data));
1200
- }
1201
- else {
1202
- this._messageQueue
1203
- .filter(messageQueue => messageQueue.event.match(event))
1204
- .forEach((messageQueue, index) => this._messageQueue.splice(index, 1));
1205
- this._messageQueue.push({ message, event });
1206
- }
1207
- }
1208
- _findEventBinding(event) {
1209
- return this._eventBindingList.find(eventBinding => eventBinding.match(event));
1210
- }
1211
- _resolveRefs(payload) {
1212
- const resolve = (obj, rootObj) => {
1213
- if (Array.isArray(obj)) {
1214
- obj.forEach(item => resolve(item, rootObj));
1215
- }
1216
- if (obj !== null && typeof obj === 'object') {
1217
- Object.keys(obj).forEach(key => {
1218
- if (key === '$ref' && obj[key]) {
1219
- const refPath = obj[key]; // Caminho da referência
1220
- Object.assign(obj, getDataFromRef(refPath, rootObj));
1221
- delete obj[key];
1222
- }
1223
- else {
1224
- resolve(obj[key], rootObj);
1225
- }
1226
- });
1227
- }
1228
- };
1229
- const getDataFromRef = (ref, rootObj) => {
1230
- const regex = /\["(.*?)"\]/g;
1231
- const result = [];
1232
- let match;
1233
- while ((match = regex.exec(ref)) !== null) {
1234
- result.push(match[1]);
1235
- }
1236
- return result.reduce((acc, part) => acc && acc[part], rootObj);
1237
- };
1238
- resolve(payload, payload);
1239
- return payload;
1240
- }
1241
- };
1242
- WebsocketService.ctorParameters = () => [
1243
- { type: Router },
1244
- { type: StorageService }
1245
- ];
1246
- WebsocketService.ɵprov = ɵɵdefineInjectable({ factory: function WebsocketService_Factory() { return new WebsocketService(ɵɵinject(Router), ɵɵinject(StorageService)); }, token: WebsocketService, providedIn: "root" });
1247
- WebsocketService = __decorate([
1248
- Injectable({
1249
- providedIn: 'root',
1250
- })
1251
- ], WebsocketService);
1252
-
1253
- let WebsocketModule = class WebsocketModule {
1254
- };
1255
- WebsocketModule = __decorate([
1256
- NgModule({
1257
- imports: [
1258
- RouterModule,
1259
- ],
1260
- providers: [
1261
- WebsocketService,
1262
- ]
1263
- })
1264
- ], WebsocketModule);
1265
-
1266
- /**
1267
- * Generated bundle index. Do not edit.
1268
- */
1269
-
1270
- export { AccessValidationResolve, Branch, Collaborator, CollaboratorBranchLink, Company, CurrentCollaboratorModule, CurrentCollaboratorService, CurrentTenantModule, CurrentTenantService, DateValidatorsService, Event, FormGroupValidatorsService, FormatEnum, JobTitle, Modulo, MonthEnum, OrdinalWeekDayEnum, RecurrenceEnum, RefreshWebsocketAlertComponent, RefreshWebsocketAlertModule, RepeatWhenEnum, ReportsComponent, ReportsModule, ReportsService, ScheduleFormRulesModule, ScheduleFormRulesService, StandardFiltersModule, StandardFiltersService, StatusEnum, StorageService, StringConverterService, Topic, ValueChangesService, ViewModeEnum, WebsocketModule, WebsocketService, WeekDayEnum, fallback, getEnumQuery, getLabelValueRequest, getProp, getSuggestionValue, getTypeInformation, isValidFilter, mergeUnique, resolveRefs, StorageModule as ɵa, StorageService as ɵb, CurrentCollaboratorService as ɵc, CurrentTenantService as ɵd };
1271
- //# sourceMappingURL=senior-gestao-relacionamento-angular-components.js.map