@senior-gestao-relacionamento/angular-components 1.3.0 → 1.5.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 (180) hide show
  1. package/bundles/senior-gestao-relacionamento-angular-components.umd.js +903 -158
  2. package/bundles/senior-gestao-relacionamento-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-relacionamento-angular-components.umd.min.js +2 -2
  4. package/bundles/senior-gestao-relacionamento-angular-components.umd.min.js.map +1 -1
  5. package/components/index.d.ts +2 -0
  6. package/components/refresh-websocket-alert/index.d.ts +2 -0
  7. package/components/refresh-websocket-alert/refresh-websocket-alert.component.d.ts +14 -0
  8. package/components/refresh-websocket-alert/refresh-websocket-alert.module.d.ts +2 -0
  9. package/components/reports/enums/format-enum.d.ts +9 -0
  10. package/components/reports/enums/index.d.ts +2 -0
  11. package/components/reports/enums/view-mode-enum.d.ts +4 -0
  12. package/components/reports/index.d.ts +5 -0
  13. package/components/reports/models/callback-event.d.ts +4 -0
  14. package/components/reports/models/generate-report-input-dto.d.ts +11 -0
  15. package/components/reports/models/generate-report-output-dto.d.ts +3 -0
  16. package/components/reports/models/index.d.ts +7 -0
  17. package/components/reports/models/parameter.d.ts +4 -0
  18. package/components/reports/models/report-dto.d.ts +6 -0
  19. package/components/reports/models/reports-options.d.ts +14 -0
  20. package/components/reports/models/response-list-report-dto.d.ts +8 -0
  21. package/components/reports/reports.component.d.ts +41 -0
  22. package/components/reports/reports.module.d.ts +2 -0
  23. package/components/reports/reports.service.d.ts +16 -0
  24. package/esm2015/components/index.js +3 -0
  25. package/esm2015/components/refresh-websocket-alert/index.js +3 -0
  26. package/esm2015/components/refresh-websocket-alert/refresh-websocket-alert.component.js +57 -0
  27. package/esm2015/components/refresh-websocket-alert/refresh-websocket-alert.module.js +26 -0
  28. package/esm2015/components/reports/enums/format-enum.js +11 -0
  29. package/esm2015/components/reports/enums/index.js +3 -0
  30. package/esm2015/components/reports/enums/view-mode-enum.js +6 -0
  31. package/esm2015/components/reports/index.js +5 -0
  32. package/esm2015/components/reports/models/callback-event.js +1 -0
  33. package/esm2015/components/reports/models/generate-report-input-dto.js +1 -0
  34. package/esm2015/components/reports/models/generate-report-output-dto.js +1 -0
  35. package/esm2015/components/reports/models/index.js +1 -0
  36. package/esm2015/components/reports/models/parameter.js +1 -0
  37. package/esm2015/components/reports/models/report-dto.js +1 -0
  38. package/esm2015/components/reports/models/reports-options.js +1 -0
  39. package/esm2015/components/reports/models/response-list-report-dto.js +1 -0
  40. package/esm2015/components/reports/reports.component.js +202 -0
  41. package/esm2015/components/reports/reports.module.js +43 -0
  42. package/esm2015/components/reports/reports.service.js +73 -0
  43. package/esm2015/locale/fallback.js +16 -0
  44. package/esm2015/public-api.js +5 -7
  45. package/esm2015/senior-gestao-relacionamento-angular-components.js +3 -2
  46. package/esm2015/services/current-collaborator/current-collaborator.module.js +4 -2
  47. package/esm2015/services/current-collaborator/current-collaborator.service.js +24 -8
  48. package/esm2015/services/current-collaborator/models/collaborator-dto.js +1 -1
  49. package/esm2015/services/current-collaborator/models/collaborator.js +1 -1
  50. package/esm2015/services/current-collaborator/models/e-070-fil-crmx-dto.js +1 -1
  51. package/esm2015/services/current-collaborator/models/e-070-fil-crmx.js +1 -1
  52. package/esm2015/services/index.js +7 -0
  53. package/esm2015/services/schedule-form-rules/enums/index.js +6 -0
  54. package/esm2015/services/schedule-form-rules/enums/month-enum.js +16 -0
  55. package/esm2015/services/schedule-form-rules/enums/ordinal-week-day-enum.js +9 -0
  56. package/esm2015/services/schedule-form-rules/enums/recurrence-enum.js +8 -0
  57. package/esm2015/services/schedule-form-rules/enums/repeat-when-enum.js +6 -0
  58. package/esm2015/services/schedule-form-rules/enums/week-day-enum.js +11 -0
  59. package/esm2015/services/schedule-form-rules/index.js +4 -0
  60. package/esm2015/services/schedule-form-rules/schedule-form-rules.module.js +15 -0
  61. package/esm2015/services/schedule-form-rules/schedule-form-rules.service.js +105 -0
  62. package/esm2015/services/standard-filters/index.js +3 -3
  63. package/esm2015/services/standard-filters/{standard filters.module.js → standard-filters.module.js} +2 -2
  64. package/esm2015/services/standard-filters/{standard filters.service.js → standard-filters.service.js} +1 -1
  65. package/esm2015/services/storage/storage.module.js +17 -0
  66. package/esm2015/services/storage/storage.service.js +39 -27
  67. package/esm2015/services/websocket/index.js +3 -1
  68. package/esm2015/services/websocket/models/event-dto.js +1 -0
  69. package/esm2015/services/websocket/models/event.js +13 -0
  70. package/esm2015/services/websocket/models/index.js +3 -0
  71. package/esm2015/services/websocket/models/topic-dto.js +1 -0
  72. package/esm2015/services/websocket/models/topic.js +25 -0
  73. package/esm2015/services/websocket/websocket.module.js +18 -0
  74. package/esm2015/services/websocket/websocket.service.js +103 -51
  75. package/esm2015/utils/index.js +3 -0
  76. package/esm2015/utils/string-converter.service.js +7 -0
  77. package/esm2015/utils/value-changes.service.js +7 -0
  78. package/esm5/components/index.js +3 -0
  79. package/esm5/components/refresh-websocket-alert/index.js +3 -0
  80. package/esm5/components/refresh-websocket-alert/refresh-websocket-alert.component.js +59 -0
  81. package/esm5/components/refresh-websocket-alert/refresh-websocket-alert.module.js +29 -0
  82. package/esm5/components/reports/enums/format-enum.js +11 -0
  83. package/esm5/components/reports/enums/index.js +3 -0
  84. package/esm5/components/reports/enums/view-mode-enum.js +6 -0
  85. package/esm5/components/reports/index.js +5 -0
  86. package/esm5/components/reports/models/callback-event.js +1 -0
  87. package/esm5/components/reports/models/generate-report-input-dto.js +1 -0
  88. package/esm5/components/reports/models/generate-report-output-dto.js +1 -0
  89. package/esm5/components/reports/models/index.js +1 -0
  90. package/esm5/components/reports/models/parameter.js +1 -0
  91. package/esm5/components/reports/models/report-dto.js +1 -0
  92. package/esm5/components/reports/models/reports-options.js +1 -0
  93. package/esm5/components/reports/models/response-list-report-dto.js +1 -0
  94. package/esm5/components/reports/reports.component.js +208 -0
  95. package/esm5/components/reports/reports.module.js +46 -0
  96. package/esm5/components/reports/reports.service.js +75 -0
  97. package/esm5/locale/fallback.js +16 -0
  98. package/esm5/public-api.js +5 -7
  99. package/esm5/senior-gestao-relacionamento-angular-components.js +3 -2
  100. package/esm5/services/current-collaborator/current-collaborator.module.js +4 -2
  101. package/esm5/services/current-collaborator/current-collaborator.service.js +26 -9
  102. package/esm5/services/current-collaborator/models/collaborator-dto.js +1 -1
  103. package/esm5/services/current-collaborator/models/collaborator.js +1 -1
  104. package/esm5/services/current-collaborator/models/e-070-fil-crmx-dto.js +1 -1
  105. package/esm5/services/current-collaborator/models/e-070-fil-crmx.js +1 -1
  106. package/esm5/services/index.js +7 -0
  107. package/esm5/services/schedule-form-rules/enums/index.js +6 -0
  108. package/esm5/services/schedule-form-rules/enums/month-enum.js +16 -0
  109. package/esm5/services/schedule-form-rules/enums/ordinal-week-day-enum.js +9 -0
  110. package/esm5/services/schedule-form-rules/enums/recurrence-enum.js +8 -0
  111. package/esm5/services/schedule-form-rules/enums/repeat-when-enum.js +6 -0
  112. package/esm5/services/schedule-form-rules/enums/week-day-enum.js +11 -0
  113. package/esm5/services/schedule-form-rules/index.js +4 -0
  114. package/esm5/services/schedule-form-rules/schedule-form-rules.module.js +18 -0
  115. package/esm5/services/schedule-form-rules/schedule-form-rules.service.js +109 -0
  116. package/esm5/services/standard-filters/index.js +3 -3
  117. package/esm5/services/standard-filters/{standard filters.module.js → standard-filters.module.js} +2 -2
  118. package/esm5/services/standard-filters/{standard filters.service.js → standard-filters.service.js} +1 -1
  119. package/esm5/services/storage/storage.module.js +20 -0
  120. package/esm5/services/storage/storage.service.js +35 -26
  121. package/esm5/services/websocket/index.js +3 -1
  122. package/esm5/services/websocket/models/event-dto.js +1 -0
  123. package/esm5/services/websocket/models/event.js +20 -0
  124. package/esm5/services/websocket/models/index.js +3 -0
  125. package/esm5/services/websocket/models/topic-dto.js +1 -0
  126. package/esm5/services/websocket/models/topic.js +29 -0
  127. package/esm5/services/websocket/websocket.module.js +21 -0
  128. package/esm5/services/websocket/websocket.service.js +107 -51
  129. package/esm5/utils/index.js +3 -0
  130. package/esm5/utils/string-converter.service.js +11 -0
  131. package/esm5/utils/value-changes.service.js +11 -0
  132. package/fesm2015/senior-gestao-relacionamento-angular-components.js +848 -148
  133. package/fesm2015/senior-gestao-relacionamento-angular-components.js.map +1 -1
  134. package/fesm5/senior-gestao-relacionamento-angular-components.js +902 -159
  135. package/fesm5/senior-gestao-relacionamento-angular-components.js.map +1 -1
  136. package/locale/fallback.d.ts +1 -0
  137. package/package.json +45 -43
  138. package/public-api.d.ts +4 -6
  139. package/senior-gestao-relacionamento-angular-components.d.ts +2 -1
  140. package/senior-gestao-relacionamento-angular-components.metadata.json +1 -1
  141. package/services/current-collaborator/current-collaborator.service.d.ts +5 -2
  142. package/services/current-collaborator/models/collaborator-dto.d.ts +1 -0
  143. package/services/current-collaborator/models/collaborator.d.ts +1 -0
  144. package/services/current-collaborator/models/e-070-fil-crmx-dto.d.ts +1 -0
  145. package/services/current-collaborator/models/e-070-fil-crmx.d.ts +1 -0
  146. package/services/index.d.ts +6 -0
  147. package/services/schedule-form-rules/enums/index.d.ts +5 -0
  148. package/services/schedule-form-rules/enums/month-enum.d.ts +14 -0
  149. package/services/schedule-form-rules/enums/ordinal-week-day-enum.d.ts +7 -0
  150. package/services/schedule-form-rules/enums/recurrence-enum.d.ts +6 -0
  151. package/services/schedule-form-rules/enums/repeat-when-enum.d.ts +4 -0
  152. package/services/schedule-form-rules/enums/week-day-enum.d.ts +9 -0
  153. package/services/schedule-form-rules/index.d.ts +3 -0
  154. package/services/schedule-form-rules/schedule-form-rules.module.d.ts +2 -0
  155. package/services/schedule-form-rules/schedule-form-rules.service.d.ts +12 -0
  156. package/services/standard-filters/index.d.ts +2 -2
  157. package/services/storage/storage.module.d.ts +2 -0
  158. package/services/storage/storage.service.d.ts +15 -12
  159. package/services/websocket/index.d.ts +2 -0
  160. package/services/websocket/models/event-dto.d.ts +5 -0
  161. package/services/websocket/models/event.d.ts +8 -0
  162. package/services/websocket/models/index.d.ts +4 -0
  163. package/services/websocket/{primitive-event-dto.d.ts → models/topic-dto.d.ts} +1 -1
  164. package/services/websocket/models/topic.d.ts +10 -0
  165. package/services/websocket/websocket.module.d.ts +2 -0
  166. package/services/websocket/websocket.service.d.ts +20 -12
  167. package/{services/utils → utils}/index.d.ts +1 -0
  168. package/utils/value-changes.service.d.ts +4 -0
  169. package/esm2015/services/utils/index.js +0 -2
  170. package/esm2015/services/utils/string-converter.service.js +0 -7
  171. package/esm2015/services/websocket/primitive-event-dto.js +0 -1
  172. package/esm2015/services/websocket/send-event-dto.js +0 -1
  173. package/esm5/services/utils/index.js +0 -2
  174. package/esm5/services/utils/string-converter.service.js +0 -11
  175. package/esm5/services/websocket/primitive-event-dto.js +0 -1
  176. package/esm5/services/websocket/send-event-dto.js +0 -1
  177. package/services/websocket/send-event-dto.d.ts +0 -5
  178. /package/services/standard-filters/{standard filters.module.d.ts → standard-filters.module.d.ts} +0 -0
  179. /package/services/standard-filters/{standard filters.service.d.ts → standard-filters.service.d.ts} +0 -0
  180. /package/{services/utils → utils}/string-converter.service.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('js-cookie'), require('@angular/core'), require('rxjs'), require('@stomp/stompjs'), require('sockjs-client'), require('@angular/common/http'), require('rxjs/operators')) :
3
- typeof define === 'function' && define.amd ? define('@senior-gestao-relacionamento/angular-components', ['exports', 'js-cookie', '@angular/core', 'rxjs', '@stomp/stompjs', 'sockjs-client', '@angular/common/http', 'rxjs/operators'], factory) :
4
- (global = global || self, factory((global['senior-gestao-relacionamento'] = global['senior-gestao-relacionamento'] || {}, global['senior-gestao-relacionamento']['angular-components'] = {}), global.jsCookie, global.ng.core, global.rxjs, global.stompjs, global.SockJS, global.ng.common.http, global.rxjs.operators));
5
- }(this, (function (exports, jsCookie, core, rxjs, stompjs, SockJS, http, operators) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@seniorsistemas/angular-components'), require('@ngx-translate/core'), require('rxjs'), require('@angular/common/http'), require('rxjs/operators'), require('primeng/api'), require('@angular/router'), require('@angular/common'), require('primeng/selectbutton'), require('primeng/dialog'), require('primeng/panel'), require('primeng/toast'), require('ngx-cookie-service'), require('@stomp/stompjs'), require('sockjs-client')) :
3
+ typeof define === 'function' && define.amd ? define('@senior-gestao-relacionamento/angular-components', ['exports', '@angular/core', '@angular/forms', '@seniorsistemas/angular-components', '@ngx-translate/core', 'rxjs', '@angular/common/http', 'rxjs/operators', 'primeng/api', '@angular/router', '@angular/common', 'primeng/selectbutton', 'primeng/dialog', 'primeng/panel', 'primeng/toast', 'ngx-cookie-service', '@stomp/stompjs', 'sockjs-client'], factory) :
4
+ (global = global || self, factory((global['senior-gestao-relacionamento'] = global['senior-gestao-relacionamento'] || {}, global['senior-gestao-relacionamento']['angular-components'] = {}), global.ng.core, global.ng.forms, global.angularComponents, global.core$1, global.rxjs, global.ng.common.http, global.rxjs.operators, global.api, global.ng.router, global.ng.common, global.selectbutton, global.dialog, global.panel, global.toast, global.ngxCookieService, global.stompjs, global.SockJS));
5
+ }(this, (function (exports, core, forms, angularComponents, core$1, rxjs, http, operators, api, router, common, selectbutton, dialog, panel, toast, ngxCookieService, stompjs, SockJS) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -201,182 +201,411 @@
201
201
  return (mod && mod.__esModule) ? mod : { default: mod };
202
202
  }
203
203
 
204
- var StorageService = /** @class */ (function () {
205
- function StorageService() {
204
+ (function (FormatEnum) {
205
+ FormatEnum["PDF"] = "Pdf";
206
+ FormatEnum["CSV"] = "Csv";
207
+ FormatEnum["HTML"] = "Html";
208
+ FormatEnum["XLSX"] = "Xlsx";
209
+ FormatEnum["XML"] = "Xml";
210
+ FormatEnum["ODT"] = "Odt";
211
+ FormatEnum["RTF"] = "Rtf";
212
+ })(exports.FormatEnum || (exports.FormatEnum = {}));
213
+
214
+
215
+ (function (ViewModeEnum) {
216
+ ViewModeEnum["SIDEBAR"] = "sidebar";
217
+ ViewModeEnum["DIALOG"] = "dialog";
218
+ })(exports.ViewModeEnum || (exports.ViewModeEnum = {}));
219
+
220
+ var ReportsService = /** @class */ (function () {
221
+ function ReportsService(_httpClient, _translate, _messageService) {
222
+ this._httpClient = _httpClient;
223
+ this._translate = _translate;
224
+ this._messageService = _messageService;
225
+ this.queriesPlatformReportUrl = "platform/report/queries";
226
+ this.actionsCrmxReportUrl = "crmx/report/actions";
206
227
  }
207
- StorageService.getUser = function () {
208
- return JSON.parse(localStorage.getItem('SENIOR_USER_INFO')).data;
228
+ ReportsService.prototype.listReports = function (tag, ids) {
229
+ var params = new http.HttpParams();
230
+ params = params.append('searchValue', tag);
231
+ return this._httpClient.get(this.queriesPlatformReportUrl + "/listReports", { params: params }).pipe(operators.map(function (response) { return response.reports.filter(function (report) { return ids ? ids.includes(report.id) : true; }); }), this.defaultCatch());
209
232
  };
210
- StorageService.getUserId = function () {
211
- return StorageService.getUser().id;
233
+ ReportsService.prototype.getSharedReport = function (tag) {
234
+ var params = new http.HttpParams();
235
+ params = params.append('searchValue', tag);
236
+ return this._httpClient.get(this.queriesPlatformReportUrl + "/listSharedReports", { params: params }).pipe(operators.map(function (response) {
237
+ return response.reports.filter(function (report) { return report.enabled; });
238
+ }), this.defaultCatch());
212
239
  };
213
- StorageService.store = function (key, value) {
214
- var userId = StorageService.getUserId();
215
- localStorage.setItem(userId + "_" + key, JSON.stringify(value));
240
+ ReportsService.prototype.generateReport = function (inputDto) {
241
+ return this._httpClient.post(this.actionsCrmxReportUrl + "/generateReport", inputDto).pipe(this.defaultCatch());
216
242
  };
217
- StorageService.get = function (key) {
218
- var userId = StorageService.getUserId();
219
- var value = localStorage.getItem(userId + "_" + key);
220
- if (value) {
221
- return JSON.parse(value);
243
+ ReportsService.prototype.defaultCatch = function () {
244
+ var _this = this;
245
+ return operators.catchError(function (err) {
246
+ if (err) {
247
+ var summary = err.status ? String(err.status) : 'Error';
248
+ var detail = void 0;
249
+ if (err.error && err.error.message) {
250
+ detail = err.error.message;
251
+ }
252
+ else if (err.statusText) {
253
+ detail = err.statusText;
254
+ }
255
+ else if (err.message) {
256
+ detail = err.message;
257
+ }
258
+ else {
259
+ detail = 'Error';
260
+ }
261
+ var errorUnauthorized = 401;
262
+ if (err.status === errorUnauthorized) {
263
+ summary = _this._translate.instant('crmx.angular_components.error_unauthorized_title');
264
+ detail = _this._translate.instant('crmx.angular_components.error_unauthorized_description');
265
+ }
266
+ _this._messageService.add({
267
+ severity: 'error',
268
+ summary: summary,
269
+ detail: detail,
270
+ sticky: true,
271
+ });
272
+ }
273
+ return rxjs.throwError(err);
274
+ });
275
+ };
276
+ ReportsService.ctorParameters = function () { return [
277
+ { type: http.HttpClient },
278
+ { type: core$1.TranslateService },
279
+ { type: api.MessageService }
280
+ ]; };
281
+ ReportsService = __decorate([
282
+ core.Injectable()
283
+ ], ReportsService);
284
+ return ReportsService;
285
+ }());
286
+
287
+ var ReportsComponent = /** @class */ (function () {
288
+ function ReportsComponent(_translate, _formBuilder, _reportsService) {
289
+ this._translate = _translate;
290
+ this._formBuilder = _formBuilder;
291
+ this._reportsService = _reportsService;
292
+ this.formGroups = [];
293
+ this.visibleChange = new core.EventEmitter();
294
+ this.reportGenerated = new core.EventEmitter();
295
+ this.reportsObservable = new rxjs.BehaviorSubject([]);
296
+ this.viewModeEnum = exports.ViewModeEnum;
297
+ this.loading = false;
298
+ this._reports = [];
299
+ this._formatEnum = [];
300
+ }
301
+ ReportsComponent.prototype.ngOnChanges = function (changes) {
302
+ var _this = this;
303
+ if (this.options) {
304
+ this.options.header = this.options.header || this._translate.instant('crmx.angular_components.reports_title');
305
+ this.options.labelConfirmButton = this.options.labelConfirmButton || this._translate.instant('crmx.angular_components.confirm');
306
+ this._formatEnum = Object.keys(exports.FormatEnum)
307
+ .filter(function (key) { return !_this.options.formats || _this.options.formats.includes(exports.FormatEnum[key]); })
308
+ .map(function (key) { return ({ label: key.toUpperCase(), value: exports.FormatEnum[key] }); });
309
+ if (this.visible) {
310
+ this.loading = true;
311
+ this._executeObservable(this._reportsService.listReports(this.options.tenantReport || this.options.sharedReport))
312
+ .subscribe(function (nextAction) {
313
+ if (nextAction) {
314
+ _this._executeObservable(_this._reportsService.getSharedReport(_this.options.sharedReport))
315
+ .subscribe(function (nextAction) {
316
+ _this.loading = false;
317
+ });
318
+ }
319
+ });
320
+ }
222
321
  }
223
- return null;
224
322
  };
225
- StorageService.getComSeniorToken = function () {
226
- return JSON.parse(jsCookie.get('com.senior.token'));
323
+ ReportsComponent.prototype.ngOnInit = function () {
324
+ this.formGroup = this._getFormGroup();
325
+ this.formFields = this._getFormFields();
227
326
  };
228
- StorageService.getBaseUrl = function () {
229
- return jsCookie.get('com.senior.base.url');
327
+ ReportsComponent.prototype.onCancel = function () {
328
+ this.formGroup.reset();
329
+ this.visible = false;
330
+ this.visibleChange.emit(this.visible);
230
331
  };
231
- StorageService.getTenantDomain = function () {
232
- return StorageService.getComSeniorToken().username.split('@')[1];
332
+ ReportsComponent.prototype.onConfirm = function () {
333
+ var _this = this;
334
+ this.loading = true;
335
+ var data = this.formGroup.getRawValue();
336
+ var isValid = true;
337
+ this.formGroups.forEach(function (formGroup) { return isValid = isValid && formGroup.valid; });
338
+ if (!this.formGroup.valid || !isValid) {
339
+ this.loading = false;
340
+ this._validateAllFormFields(this.formGroup);
341
+ this.formGroups.forEach(this._validateAllFormFields);
342
+ }
343
+ else {
344
+ var input = {
345
+ report: {
346
+ id: data.reports.id,
347
+ parameters: this.options.parametersReport,
348
+ format: data.format,
349
+ timeToLive: 1000,
350
+ },
351
+ callbackEvent: this.options.callbackEvent,
352
+ };
353
+ this._reportsService.generateReport(input).subscribe(function (outputDto) {
354
+ _this.reportGenerated.emit(outputDto);
355
+ _this.onCancel();
356
+ }, function () {
357
+ _this.loading = false;
358
+ });
359
+ }
233
360
  };
234
- StorageService.getTenantName = function () {
235
- return StorageService.getComSeniorToken().tenantName;
361
+ ReportsComponent.prototype.getErrorMessages = function () {
362
+ return {
363
+ required: this._translate.instant('crmx.angular_components.error_required'),
364
+ };
236
365
  };
237
- StorageService.getUsername = function () {
238
- return StorageService.getComSeniorToken().username.split('@')[0];
366
+ ReportsComponent.prototype.onVisibleChange = function (visible) {
367
+ if (!visible) {
368
+ this.onCancel();
369
+ }
239
370
  };
240
- StorageService.getLogin = function () {
241
- return StorageService.getComSeniorToken().username;
371
+ ReportsComponent.prototype._executeObservable = function (observable) {
372
+ var _this = this;
373
+ return new rxjs.Observable(function (observer) {
374
+ observable
375
+ .pipe(operators.catchError(function (err) {
376
+ _this.loading = false;
377
+ return rxjs.throwError(err);
378
+ }))
379
+ .subscribe(function (reports) {
380
+ _this._reports = reports;
381
+ if (reports.length > 0) {
382
+ _this.loading = false;
383
+ _this._setValuesDefault();
384
+ observer.next(false);
385
+ }
386
+ else {
387
+ observer.next(true);
388
+ }
389
+ }, function () {
390
+ _this.loading = false;
391
+ });
392
+ });
242
393
  };
243
- StorageService.getToken = function () {
244
- return StorageService.getComSeniorToken().access_token;
394
+ ReportsComponent.prototype._setValuesDefault = function () {
395
+ var _a;
396
+ this.formGroup.controls.reports.setValue(this._reports[0]);
397
+ this.formGroup.controls.format.setValue((_a = this._formatEnum[0]) === null || _a === void 0 ? void 0 : _a.value);
245
398
  };
246
- StorageService.isUserAdmin = function () {
247
- return StorageService.getUsername() === 'admin';
399
+ ReportsComponent.prototype._hasEmpty = function (target) {
400
+ return (Object.keys(target).filter(function (key) { return target[key] === '' || target[key] === undefined; }).length > 0);
248
401
  };
249
- return StorageService;
250
- }());
251
-
252
- var StringConverterService = /** @class */ (function () {
253
- function StringConverterService() {
254
- }
255
- StringConverterService.toUnderscore = function (camelCase) {
256
- var regex = /([a-z])([A-Z])/g;
257
- return camelCase.replace(regex, '$1_$2').toLowerCase();
258
- };
259
- return StringConverterService;
260
- }());
261
-
262
- var FormGroupValidatorsService = /** @class */ (function () {
263
- function FormGroupValidatorsService() {
264
- }
265
- FormGroupValidatorsService.startDataGreaterThanEndDataValidator = function (endDateField, errorMessage) {
266
- var fn = function (control) {
267
- var _a;
268
- if (control.parent) {
269
- var startDate = new Date(control.value);
270
- var endDate = new Date((_a = control.parent.controls[endDateField]) === null || _a === void 0 ? void 0 : _a.value);
271
- if (startDate > endDate) {
272
- var rtn = {};
273
- rtn[errorMessage] = true;
274
- return rtn;
275
- }
402
+ ReportsComponent.prototype._validateAllFormFields = function (formGroup) {
403
+ var _this = this;
404
+ Object.keys(formGroup.controls).forEach(function (field) {
405
+ var control = formGroup.get(field);
406
+ if (control instanceof forms.FormControl) {
407
+ control.markAsDirty({ onlySelf: true });
276
408
  }
277
- return null;
278
- };
279
- return fn;
409
+ else if (control instanceof forms.FormGroup) {
410
+ _this._validateAllFormFields(control);
411
+ }
412
+ });
280
413
  };
281
- FormGroupValidatorsService.endDateLessThanStartDateValidator = function (startDateField, errorMessage) {
282
- var fn = function (control) {
283
- var _a;
284
- if (control.parent) {
285
- var startDate = new Date((_a = control.parent.controls[startDateField]) === null || _a === void 0 ? void 0 : _a.value);
286
- var endDate = new Date(control.value);
287
- if (startDate > endDate) {
288
- var rtn = {};
289
- rtn[errorMessage] = true;
290
- return rtn;
414
+ ReportsComponent.prototype._getFormGroup = function () {
415
+ return this._formBuilder.group({
416
+ reports: [{ value: null, disabled: false }, forms.Validators.compose([forms.Validators.required])],
417
+ format: [{ value: null, disabled: false }, forms.Validators.compose([forms.Validators.required])],
418
+ });
419
+ };
420
+ ReportsComponent.prototype._getFormFields = function () {
421
+ var _this = this;
422
+ return [
423
+ new angularComponents.FormField({
424
+ type: angularComponents.FieldType.Autocomplete,
425
+ name: "reports",
426
+ label: this._translate.instant('crmx.angular_components.report'),
427
+ size: { xl: 12, lg: 12, md: 12, sm: 12 },
428
+ multiple: false,
429
+ dataKey: "id",
430
+ appendTo: "body",
431
+ emptyMessage: "Nenhuma sugestão encontrada",
432
+ displayField: "name",
433
+ required: function () { return true; },
434
+ suggestionsObservable: this.reportsObservable,
435
+ onSearch: function (val) { return _this.reportsObservable.next(_this._reports.filter(function (reportDto) { return reportDto.name.match(new RegExp(val, "ig")); })); },
436
+ footer: {
437
+ help: {
438
+ text: this._translate.instant('crmx.angular_components.reports_help', { tag: this.options.tenantReport }),
439
+ icon: 'fa fa-info-circle'
440
+ }
291
441
  }
292
- }
293
- return null;
294
- };
295
- return fn;
442
+ }),
443
+ new angularComponents.FormField({
444
+ type: angularComponents.FieldType.Enum,
445
+ name: 'format',
446
+ label: this._translate.instant('crmx.angular_components.format'),
447
+ placeholder: this._translate.instant('crmx.angular_components.format_placeholder'),
448
+ size: { xl: 12, lg: 12, md: 12, sm: 12 },
449
+ multiple: false,
450
+ required: function () { return true; },
451
+ options: this._formatEnum,
452
+ }),
453
+ ];
296
454
  };
297
- ;
298
- return FormGroupValidatorsService;
455
+ ReportsComponent.ctorParameters = function () { return [
456
+ { type: core$1.TranslateService },
457
+ { type: forms.FormBuilder },
458
+ { type: ReportsService }
459
+ ]; };
460
+ __decorate([
461
+ core.Input()
462
+ ], ReportsComponent.prototype, "visible", void 0);
463
+ __decorate([
464
+ core.Input()
465
+ ], ReportsComponent.prototype, "options", void 0);
466
+ __decorate([
467
+ core.Input()
468
+ ], ReportsComponent.prototype, "formGroups", void 0);
469
+ __decorate([
470
+ core.Output()
471
+ ], ReportsComponent.prototype, "visibleChange", void 0);
472
+ __decorate([
473
+ core.Output()
474
+ ], ReportsComponent.prototype, "reportGenerated", void 0);
475
+ ReportsComponent = __decorate([
476
+ core.Component({
477
+ selector: 'report',
478
+ 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"
479
+ })
480
+ ], ReportsComponent);
481
+ return ReportsComponent;
299
482
  }());
300
483
 
301
- var DateValidatorsService = /** @class */ (function () {
302
- function DateValidatorsService() {
484
+ var ReportsModule = /** @class */ (function () {
485
+ function ReportsModule() {
303
486
  }
304
- DateValidatorsService.isLastWeekdayOfMonth = function (date) {
305
- var newDate = new Date(date);
306
- var day = 7;
307
- newDate.setDate(date.getDate() + day);
308
- return newDate.getMonth() > date.getMonth() || newDate.getFullYear() > date.getFullYear();
309
- };
310
- return DateValidatorsService;
487
+ ReportsModule = __decorate([
488
+ core.NgModule({
489
+ imports: [
490
+ angularComponents.LocaleModule.forChild(),
491
+ forms.FormsModule,
492
+ router.RouterModule,
493
+ common.CommonModule,
494
+ core$1.TranslateModule,
495
+ selectbutton.SelectButtonModule,
496
+ dialog.DialogModule,
497
+ angularComponents.ButtonModule,
498
+ angularComponents.DynamicFormModule,
499
+ angularComponents.SidebarModule,
500
+ panel.PanelModule,
501
+ angularComponents.LoadingStateModule,
502
+ ],
503
+ declarations: [
504
+ ReportsComponent,
505
+ ],
506
+ exports: [
507
+ ReportsComponent,
508
+ ],
509
+ providers: [
510
+ ReportsService,
511
+ ]
512
+ })
513
+ ], ReportsModule);
514
+ return ReportsModule;
311
515
  }());
312
516
 
313
- var WebsocketService = /** @class */ (function () {
314
- function WebsocketService() {
315
- this.primitiveEventObservables = [];
316
- var url = StorageService.getBaseUrl().concat('/websocket/subscription');
317
- var socket = new SockJS(url);
318
- this.client = stompjs.Stomp.over(socket);
517
+ var RefreshWebsocketAlertComponent = /** @class */ (function () {
518
+ function RefreshWebsocketAlertComponent(_messageService, _translateService) {
519
+ this._messageService = _messageService;
520
+ this._translateService = _translateService;
521
+ this.open = false;
522
+ this.closeRefreshSocket = new core.EventEmitter();
523
+ this.refresh = new core.EventEmitter();
319
524
  }
320
- WebsocketService.prototype.startConnect = function () {
525
+ RefreshWebsocketAlertComponent.prototype.ngOnInit = function () {
321
526
  var _this = this;
322
- this.client.connect({}, function () { return _this.onConnected(); }, function () { return _this.onConnectError(); });
323
- };
324
- WebsocketService.prototype.onEvent = function (primitiveEvent) {
325
- var domain = primitiveEvent.domain, service = primitiveEvent.service, primitive = primitiveEvent.primitive, allUsers = primitiveEvent.allUsers;
326
- var observable = new rxjs.Subject();
327
- var primitiveEventWithObservable = {
328
- domain: domain,
329
- service: service,
330
- primitive: primitive,
331
- allUsers: allUsers,
332
- observable: observable,
333
- };
334
- this.primitiveEventObservables.push(primitiveEventWithObservable);
335
- return observable;
336
- };
337
- WebsocketService.prototype.sendEvent = function (params) {
338
- var topic = this.getTopicEvent(params);
339
- this.client.send(topic, params.headers, JSON.stringify({
340
- data: params.message
341
- }));
342
- };
343
- WebsocketService.prototype.onConnected = function () {
344
- var _this = this;
345
- this.primitiveEventObservables.forEach(function (event) {
346
- _this.client.subscribe(_this.getTopicEvent(event), (function (message) {
347
- var body = JSON.parse(message.body);
348
- event.observable.next(body.data);
349
- }));
527
+ this.closeRefreshSocket.subscribe(function () {
528
+ _this.open = false;
529
+ });
530
+ this.refresh.subscribe(function () {
531
+ _this._messageService.clear(_this.key);
532
+ _this.closeRefreshSocket.emit();
350
533
  });
351
534
  };
352
- WebsocketService.prototype.onConnectError = function () {
353
- console.log('Error in connect!');
354
- };
355
- WebsocketService.prototype.getTopicEvent = function (primitiveEvent) {
356
- var topic = '/topic/'.concat(StorageService.getTenantDomain());
357
- if (primitiveEvent.allUsers === false) {
358
- topic = topic
359
- .concat('/')
360
- .concat(StorageService.getToken());
535
+ RefreshWebsocketAlertComponent.prototype.show = function (message) {
536
+ if (!this.open) {
537
+ this.open = true;
538
+ var thisMessage = {
539
+ key: this.key,
540
+ summary: (message === null || message === void 0 ? void 0 : message.summary) || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_summary_default'),
541
+ detail: (message === null || message === void 0 ? void 0 : message.detail) || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_detail_default'),
542
+ severity: (message === null || message === void 0 ? void 0 : message.severity) || 'info',
543
+ life: 10000,
544
+ };
545
+ this._messageService.add(thisMessage);
361
546
  }
362
- topic = topic
363
- .concat('/')
364
- .concat(primitiveEvent.domain)
365
- .concat('/')
366
- .concat(primitiveEvent.service)
367
- .concat('/')
368
- .concat(primitiveEvent.primitive);
369
- return topic;
370
547
  };
371
- WebsocketService.ɵprov = core.ɵɵdefineInjectable({ factory: function WebsocketService_Factory() { return new WebsocketService(); }, token: WebsocketService, providedIn: "root" });
372
- WebsocketService = __decorate([
373
- core.Injectable({
374
- providedIn: 'root',
548
+ RefreshWebsocketAlertComponent.ctorParameters = function () { return [
549
+ { type: api.MessageService },
550
+ { type: core$1.TranslateService }
551
+ ]; };
552
+ __decorate([
553
+ core.Input()
554
+ ], RefreshWebsocketAlertComponent.prototype, "key", void 0);
555
+ __decorate([
556
+ core.Output()
557
+ ], RefreshWebsocketAlertComponent.prototype, "closeRefreshSocket", void 0);
558
+ __decorate([
559
+ core.Output()
560
+ ], RefreshWebsocketAlertComponent.prototype, "refresh", void 0);
561
+ RefreshWebsocketAlertComponent = __decorate([
562
+ core.Component({
563
+ selector: 'refresh-websocket-alert',
564
+ 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",
565
+ styles: [".refresh-websocket{height:20px!important}"]
375
566
  })
376
- ], WebsocketService);
377
- return WebsocketService;
567
+ ], RefreshWebsocketAlertComponent);
568
+ return RefreshWebsocketAlertComponent;
378
569
  }());
379
570
 
571
+ var RefreshWebsocketAlertModule = /** @class */ (function () {
572
+ function RefreshWebsocketAlertModule() {
573
+ }
574
+ RefreshWebsocketAlertModule = __decorate([
575
+ core.NgModule({
576
+ imports: [
577
+ angularComponents.LocaleModule.forChild(),
578
+ angularComponents.ButtonModule,
579
+ core$1.TranslateModule,
580
+ toast.ToastModule,
581
+ ],
582
+ declarations: [
583
+ RefreshWebsocketAlertComponent,
584
+ ],
585
+ exports: [
586
+ RefreshWebsocketAlertComponent,
587
+ ]
588
+ })
589
+ ], RefreshWebsocketAlertModule);
590
+ return RefreshWebsocketAlertModule;
591
+ }());
592
+
593
+ var fallback = {
594
+ "crmx.angular_components.cancel": "Cancelar",
595
+ "crmx.angular_components.confirm": "Gerar",
596
+ "crmx.angular_components.error_required": "Campo obrigatório",
597
+ "crmx.angular_components.error_unauthorized_title": "Acesso não autorizado",
598
+ "crmx.angular_components.error_unauthorized_description": "Você não tem permissão para utilizar o recurso desejado",
599
+ "crmx.angular_components.format": "Formato",
600
+ "crmx.angular_components.format_placeholder": "Selecione uma Opção",
601
+ "crmx.angular_components.report": "Relatório",
602
+ "crmx.angular_components.reports_help": "Listando todos relatórios com a tag '{{tag}}'",
603
+ "crmx.angular_components.reports_title": "Gerar Relatório",
604
+ "crmx.angular_components.refresh_websocket_alert_click_here": "Clique aqui",
605
+ "crmx.angular_components.refresh_websocket_alert_detail_default": "Para atualizar a tela",
606
+ "crmx.angular_components.refresh_websocket_alert_summary_default": "Atualização de dados"
607
+ };
608
+
380
609
  var User = /** @class */ (function () {
381
610
  function User() {
382
611
  this.blocked = false;
@@ -590,16 +819,72 @@
590
819
  return Collaborator;
591
820
  }());
592
821
 
822
+ var StorageService = /** @class */ (function () {
823
+ function StorageService(cookieService) {
824
+ this.cookieService = cookieService;
825
+ }
826
+ StorageService.prototype.getUser = function () {
827
+ return JSON.parse(localStorage.getItem('SENIOR_USER_INFO')).data;
828
+ };
829
+ StorageService.prototype.getUserId = function () {
830
+ return this.getUser().id;
831
+ };
832
+ StorageService.prototype.store = function (key, value) {
833
+ var userId = this.getUserId();
834
+ localStorage.setItem(userId + "_" + key, JSON.stringify(value));
835
+ };
836
+ StorageService.prototype.get = function (key) {
837
+ var userId = this.getUserId();
838
+ var value = localStorage.getItem(userId + "_" + key);
839
+ if (value) {
840
+ return JSON.parse(value);
841
+ }
842
+ return null;
843
+ };
844
+ StorageService.prototype.getComSeniorToken = function () {
845
+ return JSON.parse(this.cookieService.get('com.senior.token'));
846
+ };
847
+ StorageService.prototype.getBaseUrl = function () {
848
+ return this.cookieService.get('com.senior.base.url');
849
+ };
850
+ StorageService.prototype.getTenantDomain = function () {
851
+ return this.getComSeniorToken().username.split('@')[1];
852
+ };
853
+ StorageService.prototype.getTenantName = function () {
854
+ return this.getComSeniorToken().tenantName;
855
+ };
856
+ StorageService.prototype.getUsername = function () {
857
+ return this.getComSeniorToken().username.split('@')[0];
858
+ };
859
+ StorageService.prototype.getLogin = function () {
860
+ return this.getComSeniorToken().username;
861
+ };
862
+ StorageService.prototype.getToken = function () {
863
+ return this.getComSeniorToken().access_token;
864
+ };
865
+ StorageService.prototype.isUserAdmin = function () {
866
+ return this.getUsername() === 'admin';
867
+ };
868
+ StorageService.ctorParameters = function () { return [
869
+ { type: ngxCookieService.CookieService }
870
+ ]; };
871
+ StorageService = __decorate([
872
+ core.Injectable()
873
+ ], StorageService);
874
+ return StorageService;
875
+ }());
876
+
593
877
  var CurrentCollaboratorService = /** @class */ (function () {
594
- function CurrentCollaboratorService(http) {
878
+ function CurrentCollaboratorService(http, storageService) {
595
879
  this.http = http;
880
+ this.storageService = storageService;
596
881
  this.ngUnsubscribe = new rxjs.Subject();
597
882
  this.COLLABORATOR_KEY = 'CRMX_COLLABORATOR';
598
883
  }
599
884
  CurrentCollaboratorService.prototype.validate = function () {
600
885
  var _this = this;
601
886
  this.call(false).subscribe(function (collaborator) {
602
- if (collaborator.active === false && !StorageService.isUserAdmin()) {
887
+ if (collaborator.active === false) {
603
888
  _this.redirect('collaborator-inactive');
604
889
  }
605
890
  });
@@ -607,10 +892,23 @@
607
892
  CurrentCollaboratorService.prototype.get = function () {
608
893
  return this.call(true);
609
894
  };
895
+ CurrentCollaboratorService.prototype.getE070FilCrmxMaster = function () {
896
+ var _this = this;
897
+ return new rxjs.Observable(function (observer) {
898
+ _this.call(true).subscribe(function (collaborator) {
899
+ var e070FilCrmxMaster = __assign({}, collaborator.branches.find(function (branch) { return branch.master; }));
900
+ if (e070FilCrmxMaster) {
901
+ e070FilCrmxMaster.collaborator = collaborator;
902
+ observer.next(e070FilCrmxMaster);
903
+ }
904
+ observer.complete();
905
+ });
906
+ });
907
+ };
610
908
  CurrentCollaboratorService.prototype.call = function (useCache) {
611
909
  var _this = this;
612
910
  return new rxjs.Observable(function (observer) {
613
- var collaboratorDto = StorageService.get(_this.COLLABORATOR_KEY);
911
+ var collaboratorDto = _this.storageService.get(_this.COLLABORATOR_KEY);
614
912
  if (collaboratorDto !== null && useCache) {
615
913
  observer.next(Collaborator.fromDto(collaboratorDto));
616
914
  }
@@ -618,21 +916,23 @@
618
916
  _this.http.get('crmx_collaborator/foundation/queries/getCurrentCollaborator')
619
917
  .pipe(operators.takeUntil(_this.ngUnsubscribe), operators.catchError(function (err) {
620
918
  var statusCode = 404;
621
- if (err.status === statusCode && !StorageService.isUserAdmin()) {
919
+ if (err.status === statusCode) {
622
920
  _this.redirect('collaborator-not-found');
623
921
  }
624
922
  ;
625
923
  throw err;
626
924
  }))
627
925
  .subscribe(function (collaboratorDto) {
628
- StorageService.store(_this.COLLABORATOR_KEY, _this.removeCircularReferences(collaboratorDto));
926
+ collaboratorDto = _this.removeCircularReferences(collaboratorDto);
927
+ _this.storageService.store(_this.COLLABORATOR_KEY, collaboratorDto);
629
928
  observer.next(Collaborator.fromDto(collaboratorDto));
630
929
  });
631
930
  }
931
+ observer.complete();
632
932
  });
633
933
  };
634
934
  CurrentCollaboratorService.prototype.redirect = function (page) {
635
- location.href = StorageService.getBaseUrl() + '/gestao-relacionamento/crmx_collaborator/foundation/#/' + page;
935
+ location.href = this.storageService.getBaseUrl() + "/gestao-relacionamento/crmx_collaborator/foundation/#/" + page;
636
936
  };
637
937
  CurrentCollaboratorService.prototype.removeCircularReferences = function (obj) {
638
938
  var seen = new WeakSet();
@@ -647,7 +947,8 @@
647
947
  }));
648
948
  };
649
949
  CurrentCollaboratorService.ctorParameters = function () { return [
650
- { type: http.HttpClient }
950
+ { type: http.HttpClient },
951
+ { type: StorageService }
651
952
  ]; };
652
953
  CurrentCollaboratorService = __decorate([
653
954
  core.Injectable()
@@ -655,13 +956,29 @@
655
956
  return CurrentCollaboratorService;
656
957
  }());
657
958
 
959
+ var StorageModule = /** @class */ (function () {
960
+ function StorageModule() {
961
+ }
962
+ StorageModule = __decorate([
963
+ core.NgModule({
964
+ imports: [],
965
+ providers: [
966
+ StorageService,
967
+ ngxCookieService.CookieService
968
+ ],
969
+ })
970
+ ], StorageModule);
971
+ return StorageModule;
972
+ }());
973
+
658
974
  var CurrentCollaboratorModule = /** @class */ (function () {
659
975
  function CurrentCollaboratorModule() {
660
976
  }
661
977
  CurrentCollaboratorModule = __decorate([
662
978
  core.NgModule({
663
979
  imports: [
664
- http.HttpClientModule
980
+ http.HttpClientModule,
981
+ StorageModule,
665
982
  ],
666
983
  providers: [
667
984
  CurrentCollaboratorService
@@ -671,6 +988,172 @@
671
988
  return CurrentCollaboratorModule;
672
989
  }());
673
990
 
991
+
992
+ (function (MonthEnum) {
993
+ MonthEnum["JANUARY"] = "JANUARY";
994
+ MonthEnum["FEBRUARY"] = "FEBRUARY";
995
+ MonthEnum["MARCH"] = "MARCH";
996
+ MonthEnum["APRIL"] = "APRIL";
997
+ MonthEnum["MAY"] = "MAY";
998
+ MonthEnum["JUNE"] = "JUNE";
999
+ MonthEnum["JULY"] = "JULY";
1000
+ MonthEnum["AUGUST"] = "AUGUST";
1001
+ MonthEnum["SEPTEMBER"] = "SEPTEMBER";
1002
+ MonthEnum["OCTOBER"] = "OCTOBER";
1003
+ MonthEnum["NOVEMBER"] = "NOVEMBER";
1004
+ MonthEnum["DECEMBER"] = "DECEMBER";
1005
+ })(exports.MonthEnum || (exports.MonthEnum = {}));
1006
+
1007
+
1008
+ (function (OrdinalWeekDayEnum) {
1009
+ OrdinalWeekDayEnum["FIRST"] = "FIRST";
1010
+ OrdinalWeekDayEnum["SECOND"] = "SECOND";
1011
+ OrdinalWeekDayEnum["THIRD"] = "THIRD";
1012
+ OrdinalWeekDayEnum["FOURTH"] = "FOURTH";
1013
+ OrdinalWeekDayEnum["LAST"] = "LAST";
1014
+ })(exports.OrdinalWeekDayEnum || (exports.OrdinalWeekDayEnum = {}));
1015
+
1016
+
1017
+ (function (RecurrenceEnum) {
1018
+ RecurrenceEnum["DAILY"] = "DAILY";
1019
+ RecurrenceEnum["WEEKLY"] = "WEEKLY";
1020
+ RecurrenceEnum["MONTHLY"] = "MONTHLY";
1021
+ RecurrenceEnum["YEARLY"] = "YEARLY";
1022
+ })(exports.RecurrenceEnum || (exports.RecurrenceEnum = {}));
1023
+
1024
+
1025
+ (function (RepeatWhenEnum) {
1026
+ RepeatWhenEnum["IN_DAY"] = "IN_DAY";
1027
+ RepeatWhenEnum["IN_ORDINAL_WEEK_DAY"] = "IN_ORDINAL_WEEK_DAY";
1028
+ })(exports.RepeatWhenEnum || (exports.RepeatWhenEnum = {}));
1029
+
1030
+
1031
+ (function (WeekDayEnum) {
1032
+ WeekDayEnum["SUNDAY"] = "SUNDAY";
1033
+ WeekDayEnum["MONDAY"] = "MONDAY";
1034
+ WeekDayEnum["TUESDAY"] = "TUESDAY";
1035
+ WeekDayEnum["WEDNESDAY"] = "WEDNESDAY";
1036
+ WeekDayEnum["THURSDAY"] = "THURSDAY";
1037
+ WeekDayEnum["FRIDAY"] = "FRIDAY";
1038
+ WeekDayEnum["SATURDAY"] = "SATURDAY";
1039
+ })(exports.WeekDayEnum || (exports.WeekDayEnum = {}));
1040
+
1041
+ var ScheduleFormRulesService = /** @class */ (function () {
1042
+ function ScheduleFormRulesService() {
1043
+ this.ngUnsubscribe = new rxjs.Subject();
1044
+ }
1045
+ ScheduleFormRulesService.prototype.recurrencesValueChangeSubscribe = function (formGroup, formFields) {
1046
+ this.recurrenceValueChangeSubscribe(formGroup, formFields);
1047
+ this.repeatWhenValueChangeSubscribe(formGroup, formFields);
1048
+ };
1049
+ ScheduleFormRulesService.prototype.valueChangeSubscribe = function (formGroup, formFields) {
1050
+ this.allDayValueChangeSubscribe(formGroup, formFields);
1051
+ };
1052
+ ScheduleFormRulesService.prototype.allDayValueChangeSubscribe = function (formGroup, formFields) {
1053
+ var _this = this;
1054
+ formGroup.controls.allDay.valueChanges.pipe(operators.takeUntil(this.ngUnsubscribe)).subscribe(function (value) {
1055
+ var fields = ['startTime', 'endTime'];
1056
+ if (value) {
1057
+ _this.disableFields(formGroup, formFields, fields);
1058
+ }
1059
+ else {
1060
+ _this.enableFields(formGroup, formFields, fields);
1061
+ }
1062
+ });
1063
+ };
1064
+ ScheduleFormRulesService.prototype.recurrenceValueChangeSubscribe = function (formGroup, formFields) {
1065
+ var _this = this;
1066
+ formGroup.controls.recurrence.valueChanges.pipe(operators.takeUntil(this.ngUnsubscribe)).subscribe(function (value) {
1067
+ var fieldsToDisable = ['weekDays', 'repeatWhen', 'repeatWhenDay', 'repeatWhenMonth', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];
1068
+ _this.disableFields(formGroup, formFields, fieldsToDisable);
1069
+ if (value === exports.RecurrenceEnum.WEEKLY) {
1070
+ var fieldWeekDays = formFields.find(function (field) { return field.name === 'weekDays'; });
1071
+ fieldWeekDays.visible = function () { return true; };
1072
+ fieldWeekDays.required = function () { return true; };
1073
+ formGroup.controls.weekDays.setValidators([forms.Validators.required]);
1074
+ }
1075
+ if (value === exports.RecurrenceEnum.MONTHLY || value === exports.RecurrenceEnum.YEARLY) {
1076
+ var fieldRepeatWhen = formFields.find(function (field) { return field.name === 'repeatWhen'; });
1077
+ fieldRepeatWhen.visible = function () { return true; };
1078
+ fieldRepeatWhen.required = function () { return true; };
1079
+ formGroup.controls.repeatWhen.setValidators([forms.Validators.required]);
1080
+ formGroup.controls.repeatWhen.setValue(exports.RepeatWhenEnum.IN_DAY);
1081
+ }
1082
+ });
1083
+ };
1084
+ ScheduleFormRulesService.prototype.repeatWhenValueChangeSubscribe = function (formGroup, formFields) {
1085
+ var _this = this;
1086
+ formGroup.controls.repeatWhen.valueChanges.pipe(operators.takeUntil(this.ngUnsubscribe)).subscribe(function (value) {
1087
+ var fieldsToDisable = ['repeatWhenDay', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth', 'repeatWhenMonth'];
1088
+ _this.disableFields(formGroup, formFields, fieldsToDisable);
1089
+ if (value === exports.RepeatWhenEnum.IN_DAY) {
1090
+ var fieldRepeatWhenDay = formFields.find(function (field) { return field.name === 'repeatWhenDay'; });
1091
+ fieldRepeatWhenDay.visible = function () { return true; };
1092
+ fieldRepeatWhenDay.required = function () { return true; };
1093
+ formGroup.controls.repeatWhenDay.setValidators([forms.Validators.required]);
1094
+ }
1095
+ if (value === exports.RepeatWhenEnum.IN_ORDINAL_WEEK_DAY) {
1096
+ var fieldsToEnable = ['repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];
1097
+ _this.enableFields(formGroup, formFields, fieldsToEnable);
1098
+ }
1099
+ if (value !== undefined && formGroup.controls.recurrence.value === exports.RecurrenceEnum.YEARLY) {
1100
+ var fieldRepeatWhenMonth = formFields.find(function (field) { return field.name === 'repeatWhenMonth'; });
1101
+ fieldRepeatWhenMonth.visible = function () { return true; };
1102
+ fieldRepeatWhenMonth.required = function () { return true; };
1103
+ formGroup.controls.repeatWhenMonth.setValidators([forms.Validators.required]);
1104
+ }
1105
+ });
1106
+ };
1107
+ ScheduleFormRulesService.prototype.disableFields = function (formGroup, formFields, fields) {
1108
+ formFields
1109
+ .filter(function (field) { return fields.includes(field.name); })
1110
+ .forEach(function (field) {
1111
+ field.visible = function () { return false; };
1112
+ field.required = function () { return false; };
1113
+ });
1114
+ for (var controlsKey in formGroup.controls) {
1115
+ if (fields.includes(controlsKey)) {
1116
+ var fieldFormGroup = formGroup.controls[controlsKey];
1117
+ fieldFormGroup.setValue(undefined);
1118
+ fieldFormGroup.clearValidators();
1119
+ fieldFormGroup.setErrors(null);
1120
+ }
1121
+ }
1122
+ };
1123
+ ScheduleFormRulesService.prototype.enableFields = function (formGroup, formFields, fields) {
1124
+ formFields
1125
+ .filter(function (field) { return fields.includes(field.name); })
1126
+ .forEach(function (field) {
1127
+ field.visible = function () { return true; };
1128
+ field.required = function () { return true; };
1129
+ });
1130
+ for (var controlsKey in formGroup.controls) {
1131
+ if (fields.includes(controlsKey)) {
1132
+ var fieldFormGroup = formGroup.controls[controlsKey];
1133
+ fieldFormGroup.setValidators([forms.Validators.required]);
1134
+ }
1135
+ }
1136
+ };
1137
+ ScheduleFormRulesService = __decorate([
1138
+ core.Injectable()
1139
+ ], ScheduleFormRulesService);
1140
+ return ScheduleFormRulesService;
1141
+ }());
1142
+
1143
+ var ScheduleFormRulesModule = /** @class */ (function () {
1144
+ function ScheduleFormRulesModule() {
1145
+ }
1146
+ ScheduleFormRulesModule = __decorate([
1147
+ core.NgModule({
1148
+ imports: [],
1149
+ providers: [
1150
+ ScheduleFormRulesService
1151
+ ],
1152
+ })
1153
+ ], ScheduleFormRulesModule);
1154
+ return ScheduleFormRulesModule;
1155
+ }());
1156
+
674
1157
  var StandardFiltersService = /** @class */ (function () {
675
1158
  function StandardFiltersService(currentCollaboratorService) {
676
1159
  this.currentCollaboratorService = currentCollaboratorService;
@@ -733,6 +1216,255 @@
733
1216
  return StandardFiltersModule;
734
1217
  }());
735
1218
 
1219
+ var FormGroupValidatorsService = /** @class */ (function () {
1220
+ function FormGroupValidatorsService() {
1221
+ }
1222
+ FormGroupValidatorsService.startDataGreaterThanEndDataValidator = function (endDateField, errorMessage) {
1223
+ var fn = function (control) {
1224
+ var _a;
1225
+ if (control.parent) {
1226
+ var startDate = new Date(control.value);
1227
+ var endDate = new Date((_a = control.parent.controls[endDateField]) === null || _a === void 0 ? void 0 : _a.value);
1228
+ if (startDate > endDate) {
1229
+ var rtn = {};
1230
+ rtn[errorMessage] = true;
1231
+ return rtn;
1232
+ }
1233
+ }
1234
+ return null;
1235
+ };
1236
+ return fn;
1237
+ };
1238
+ FormGroupValidatorsService.endDateLessThanStartDateValidator = function (startDateField, errorMessage) {
1239
+ var fn = function (control) {
1240
+ var _a;
1241
+ if (control.parent) {
1242
+ var startDate = new Date((_a = control.parent.controls[startDateField]) === null || _a === void 0 ? void 0 : _a.value);
1243
+ var endDate = new Date(control.value);
1244
+ if (startDate > endDate) {
1245
+ var rtn = {};
1246
+ rtn[errorMessage] = true;
1247
+ return rtn;
1248
+ }
1249
+ }
1250
+ return null;
1251
+ };
1252
+ return fn;
1253
+ };
1254
+ ;
1255
+ return FormGroupValidatorsService;
1256
+ }());
1257
+
1258
+ var DateValidatorsService = /** @class */ (function () {
1259
+ function DateValidatorsService() {
1260
+ }
1261
+ DateValidatorsService.isLastWeekdayOfMonth = function (date) {
1262
+ var newDate = new Date(date);
1263
+ var day = 7;
1264
+ newDate.setDate(date.getDate() + day);
1265
+ return newDate.getMonth() > date.getMonth() || newDate.getFullYear() > date.getFullYear();
1266
+ };
1267
+ return DateValidatorsService;
1268
+ }());
1269
+
1270
+ var Topic = /** @class */ (function () {
1271
+ function Topic() {
1272
+ }
1273
+ Topic.fromDto = function (topicDto) {
1274
+ var topic = new Topic();
1275
+ Object.assign(topic, topicDto);
1276
+ return topic;
1277
+ };
1278
+ Topic.prototype.getTopic = function (tenantDomain, token) {
1279
+ var topic = '/topic/'.concat(tenantDomain);
1280
+ if (this.allUsers === false) {
1281
+ topic = topic
1282
+ .concat('/')
1283
+ .concat(token);
1284
+ }
1285
+ return topic.concat(this.toString());
1286
+ };
1287
+ Topic.prototype.toString = function () {
1288
+ return '/'
1289
+ .concat(this.domain)
1290
+ .concat('/')
1291
+ .concat(this.service)
1292
+ .concat('/')
1293
+ .concat(this.primitive);
1294
+ };
1295
+ return Topic;
1296
+ }());
1297
+
1298
+ var Event = /** @class */ (function (_super) {
1299
+ __extends(Event, _super);
1300
+ function Event() {
1301
+ return _super !== null && _super.apply(this, arguments) || this;
1302
+ }
1303
+ Event.fromDto = function (eventDto) {
1304
+ var event = new Event();
1305
+ Object.assign(event, eventDto);
1306
+ return event;
1307
+ };
1308
+ Event.prototype.match = function (event) {
1309
+ return this.toString() === event.toString()
1310
+ && this.originCallback === event.originCallback;
1311
+ };
1312
+ return Event;
1313
+ }(Topic));
1314
+
1315
+ var WebsocketService = /** @class */ (function () {
1316
+ function WebsocketService(router, storageService) {
1317
+ var _this = this;
1318
+ this.router = router;
1319
+ this.storageService = storageService;
1320
+ this._client = stompjs.Stomp.over(new SockJS(this.storageService.getBaseUrl().concat('/websocket/subscription')));
1321
+ this._bindQueue = new rxjs.Subject();
1322
+ this._eventBindingList = [];
1323
+ this._messageQueue = [];
1324
+ this._bindQueue.pipe(operators.concatMap(function (event) { return _this._bindObservable(event); })).subscribe();
1325
+ }
1326
+ WebsocketService.prototype.bind = function (eventDto) {
1327
+ eventDto.originCallback = eventDto.originCallback || this.router.url;
1328
+ this._bindQueue.next(Event.fromDto(eventDto));
1329
+ };
1330
+ WebsocketService.prototype._bindObservable = function (event) {
1331
+ var _this = this;
1332
+ return new rxjs.Observable(function (observer) {
1333
+ if (_this._client.connected) {
1334
+ _this._registerBind(event);
1335
+ _this._finishBindObservable(observer);
1336
+ }
1337
+ else {
1338
+ _this._connectClient(event, observer);
1339
+ }
1340
+ });
1341
+ };
1342
+ WebsocketService.prototype._finishBindObservable = function (observer) {
1343
+ observer.next();
1344
+ observer.complete();
1345
+ };
1346
+ WebsocketService.prototype._connectClient = function (event, observer) {
1347
+ var _this = this;
1348
+ this._client.connect({}, function () {
1349
+ _this._registerBind(event);
1350
+ _this._finishBindObservable(observer);
1351
+ }, function () { return observer.error(new Error('Websocket connection error!')); });
1352
+ };
1353
+ WebsocketService.prototype._registerBind = function (event) {
1354
+ var eventBinding = this._findEventBinding(event);
1355
+ if (eventBinding) {
1356
+ this._remakeBind(event, eventBinding);
1357
+ }
1358
+ else {
1359
+ this._makeBind(event);
1360
+ }
1361
+ };
1362
+ WebsocketService.prototype._remakeBind = function (event, eventBinding) {
1363
+ var _this = this;
1364
+ eventBinding.callback = event.callback;
1365
+ this._messageQueue
1366
+ .filter(function (messageQueue) { return messageQueue.event.match(event); })
1367
+ .forEach(function (messageQueue) { return _this._executeCallback(messageQueue.message, event); });
1368
+ };
1369
+ WebsocketService.prototype._makeBind = function (event) {
1370
+ var _this = this;
1371
+ this._eventBindingList.push(event);
1372
+ this._client.subscribe(event.getTopic(this.storageService.getTenantDomain(), this.storageService.getToken()), function (message) { return _this._executeCallback(message, event); });
1373
+ };
1374
+ WebsocketService.prototype._executeCallback = function (message, event) {
1375
+ var _this = this;
1376
+ var eventBinding = this._findEventBinding(event);
1377
+ if (eventBinding.originCallback === this.router.url) {
1378
+ this._findEventBinding(event).callback(this._resolveRefs(JSON.parse(message.body).data));
1379
+ }
1380
+ else {
1381
+ this._messageQueue
1382
+ .filter(function (messageQueue) { return messageQueue.event.match(event); })
1383
+ .forEach(function (messageQueue, index) { return _this._messageQueue.splice(index, 1); });
1384
+ this._messageQueue.push({ message: message, event: event });
1385
+ }
1386
+ };
1387
+ WebsocketService.prototype._findEventBinding = function (event) {
1388
+ return this._eventBindingList.find(function (eventBinding) { return eventBinding.match(event); });
1389
+ };
1390
+ WebsocketService.prototype._resolveRefs = function (payload) {
1391
+ var resolve = function (obj, rootObj) {
1392
+ if (Array.isArray(obj)) {
1393
+ obj.forEach(function (item) { return resolve(item, rootObj); });
1394
+ }
1395
+ if (obj !== null && typeof obj === 'object') {
1396
+ Object.keys(obj).forEach(function (key) {
1397
+ if (key === '$ref' && obj[key]) {
1398
+ var refPath = obj[key]; // Caminho da referência
1399
+ Object.assign(obj, getDataFromRef(refPath, rootObj));
1400
+ delete obj[key];
1401
+ }
1402
+ else {
1403
+ resolve(obj[key], rootObj);
1404
+ }
1405
+ });
1406
+ }
1407
+ };
1408
+ var getDataFromRef = function (ref, rootObj) {
1409
+ var regex = /\["(.*?)"\]/g;
1410
+ var result = [];
1411
+ var match;
1412
+ while ((match = regex.exec(ref)) !== null) {
1413
+ result.push(match[1]);
1414
+ }
1415
+ return result.reduce(function (acc, part) { return acc && acc[part]; }, rootObj);
1416
+ };
1417
+ resolve(payload, payload);
1418
+ return payload;
1419
+ };
1420
+ WebsocketService.ctorParameters = function () { return [
1421
+ { type: router.Router },
1422
+ { type: StorageService }
1423
+ ]; };
1424
+ WebsocketService.ɵprov = core["ɵɵdefineInjectable"]({ factory: function WebsocketService_Factory() { return new WebsocketService(core["ɵɵinject"](router.Router), core["ɵɵinject"](StorageService)); }, token: WebsocketService, providedIn: "root" });
1425
+ WebsocketService = __decorate([
1426
+ core.Injectable({
1427
+ providedIn: 'root',
1428
+ })
1429
+ ], WebsocketService);
1430
+ return WebsocketService;
1431
+ }());
1432
+
1433
+ var WebsocketModule = /** @class */ (function () {
1434
+ function WebsocketModule() {
1435
+ }
1436
+ WebsocketModule = __decorate([
1437
+ core.NgModule({
1438
+ imports: [
1439
+ router.RouterModule,
1440
+ ],
1441
+ providers: [
1442
+ WebsocketService,
1443
+ ]
1444
+ })
1445
+ ], WebsocketModule);
1446
+ return WebsocketModule;
1447
+ }());
1448
+
1449
+ var StringConverterService = /** @class */ (function () {
1450
+ function StringConverterService() {
1451
+ }
1452
+ StringConverterService.toUnderscore = function (camelCase) {
1453
+ var regex = /([a-z])([A-Z])/g;
1454
+ return camelCase.replace(regex, '$1_$2').toLowerCase();
1455
+ };
1456
+ return StringConverterService;
1457
+ }());
1458
+
1459
+ var ValueChangesService = /** @class */ (function () {
1460
+ function ValueChangesService() {
1461
+ }
1462
+ ValueChangesService.pipeDefault = function (control) {
1463
+ return control.valueChanges.pipe(operators.distinctUntilChanged());
1464
+ };
1465
+ return ValueChangesService;
1466
+ }());
1467
+
736
1468
  exports.Collaborator = Collaborator;
737
1469
  exports.CollaboratorE070FilCrmx = CollaboratorE070FilCrmx;
738
1470
  exports.CollaboratorSquad = CollaboratorSquad;
@@ -742,16 +1474,29 @@
742
1474
  exports.E070Emp = E070Emp;
743
1475
  exports.E070Fil = E070Fil;
744
1476
  exports.E070FilCrmx = E070FilCrmx;
1477
+ exports.Event = Event;
745
1478
  exports.FormGroupValidatorsService = FormGroupValidatorsService;
1479
+ exports.RefreshWebsocketAlertComponent = RefreshWebsocketAlertComponent;
1480
+ exports.RefreshWebsocketAlertModule = RefreshWebsocketAlertModule;
1481
+ exports.ReportsComponent = ReportsComponent;
1482
+ exports.ReportsModule = ReportsModule;
1483
+ exports.ReportsService = ReportsService;
1484
+ exports.ScheduleFormRulesModule = ScheduleFormRulesModule;
1485
+ exports.ScheduleFormRulesService = ScheduleFormRulesService;
746
1486
  exports.Squad = Squad;
747
1487
  exports.StandardFiltersModule = StandardFiltersModule;
748
1488
  exports.StandardFiltersService = StandardFiltersService;
749
1489
  exports.StorageService = StorageService;
750
1490
  exports.StringConverterService = StringConverterService;
1491
+ exports.Topic = Topic;
751
1492
  exports.User = User;
1493
+ exports.ValueChangesService = ValueChangesService;
1494
+ exports.WebsocketModule = WebsocketModule;
752
1495
  exports.WebsocketService = WebsocketService;
753
- exports.ɵa = CurrentCollaboratorModule;
754
- exports.ɵb = CurrentCollaboratorService;
1496
+ exports.fallback = fallback;
1497
+ exports.ɵa = StorageModule;
1498
+ exports.ɵb = CurrentCollaboratorModule;
1499
+ exports.ɵc = CurrentCollaboratorService;
755
1500
 
756
1501
  Object.defineProperty(exports, '__esModule', { value: true });
757
1502