monkey-front-core 0.0.22 → 0.0.27

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 (70) hide show
  1. package/bundles/monkey-front-core.umd.js +211 -190
  2. package/bundles/monkey-front-core.umd.js.map +1 -1
  3. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +4 -4
  4. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js +5 -5
  5. package/esm2015/lib/components/progress-bar/progress-bar.component.js +4 -4
  6. package/esm2015/lib/components/progress-bar/progress-bar.module.js +5 -5
  7. package/esm2015/lib/components/progress-bar/progress-bar.service.js +4 -4
  8. package/esm2015/lib/components/version-changed/version-changed.component.js +4 -4
  9. package/esm2015/lib/components/version-changed/version-changed.module.js +5 -5
  10. package/esm2015/lib/core/directives/monkeyecx-directives-module.js +5 -5
  11. package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +4 -4
  12. package/esm2015/lib/core/directives/monkeyecx-format-currency.js +4 -4
  13. package/esm2015/lib/core/directives/monkeyecx-format-upper.js +4 -4
  14. package/esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js +4 -4
  15. package/esm2015/lib/core/directives/monkeyecx-only-number-directive.js +4 -4
  16. package/esm2015/lib/core/directives/monkeyecx-security-directive.js +4 -4
  17. package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +4 -4
  18. package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +4 -4
  19. package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +4 -4
  20. package/esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js +5 -5
  21. package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +4 -4
  22. package/esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js +4 -4
  23. package/esm2015/lib/core/pipes/monkeyecx-display-first-name.js +4 -4
  24. package/esm2015/lib/core/pipes/monkeyecx-format-currency.js +4 -4
  25. package/esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js +4 -4
  26. package/esm2015/lib/core/pipes/monkeyecx-format-document.js +4 -4
  27. package/esm2015/lib/core/pipes/monkeyecx-format-number.js +4 -4
  28. package/esm2015/lib/core/pipes/monkeyecx-format-size.js +4 -4
  29. package/esm2015/lib/core/pipes/monkeyecx-format-type-document.js +4 -4
  30. package/esm2015/lib/core/pipes/monkeyecx-format-value.js +4 -4
  31. package/esm2015/lib/core/pipes/monkeyecx-format-zipcode.js +4 -4
  32. package/esm2015/lib/core/pipes/monkeyecx-pipes.module.js +5 -5
  33. package/esm2015/lib/core/pipes/monkeyecx-text-truncate.js +4 -4
  34. package/esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js +4 -4
  35. package/esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js +4 -4
  36. package/esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js +4 -4
  37. package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +4 -4
  38. package/esm2015/lib/core/services/config/monkeyecx-config.module.js +5 -5
  39. package/esm2015/lib/core/services/config/monkeyecx-config.service.js +4 -4
  40. package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +4 -4
  41. package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +4 -4
  42. package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +4 -4
  43. package/esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js +4 -4
  44. package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +4 -4
  45. package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +4 -4
  46. package/esm2015/lib/core/services/error/monkeyecx-error-handling.module.js +5 -5
  47. package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +4 -4
  48. package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +4 -4
  49. package/esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js +4 -4
  50. package/esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js +4 -4
  51. package/esm2015/lib/core/services/monkeyecx-handling.service.js +4 -4
  52. package/esm2015/lib/core/services/monkeyecx-service.service.js +4 -4
  53. package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +4 -4
  54. package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +4 -4
  55. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +4 -4
  56. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +4 -4
  57. package/esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js +4 -4
  58. package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +4 -4
  59. package/esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js +4 -4
  60. package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +4 -4
  61. package/esm2015/lib/core/utils/utils.js +5 -4
  62. package/esm2015/lib/core/utils/validate-utils.js +17 -1
  63. package/esm2015/lib/monkey-front-core.module.js +5 -5
  64. package/fesm2015/monkey-front-core.js +208 -190
  65. package/fesm2015/monkey-front-core.js.map +1 -1
  66. package/lib/core/utils/utils.d.ts +1 -1
  67. package/lib/core/utils/validate-utils.d.ts +5 -0
  68. package/monkey-front-core-0.0.27.tgz +0 -0
  69. package/package.json +3 -3
  70. package/monkey-front-core-0.0.22.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"monkey-front-core.umd.js","sources":["../../../projects/monkey-front-core/src/lib/core/utils/utils.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-date-timelapse.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.html","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-number.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-value.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-document.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-display-first-name.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-size.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-currency.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-zipcode.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-text-truncate.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-type-document.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-truncate-qtd.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-pipes.module.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.module.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.service.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.component.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.component.html","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.module.ts","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.component.ts","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.component.html","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.module.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/monkey-front-core/src/lib/core/utils/validate-utils.ts","../../../projects/monkey-front-core/src/lib/core/utils/statics.ts","../../../projects/monkey-front-core/src/lib/core/utils/decorators-utils.ts","../../../projects/monkey-front-core/src/lib/core/utils/index.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-decorators.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-download-decorators.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-upload-decorators.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-drag-drop.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-format-currency.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-format-upper.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-only-alpha-numeric-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-only-number-directive.ts","../../../projects/monkey-front-core/src/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.ts","../../../projects/monkey-front-core/src/lib/core/services/commons/monkeyecx-commons.service.ts","../../../projects/monkey-front-core/src/lib/core/services/monkeyecx-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/monkeyecx-service.service.ts","../../../projects/monkey-front-core/src/lib/core/services/storage/monkeyecx-cookie-storage.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-i18n-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-logs-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-service-worker-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-security-console-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-maintenance-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/storage/monkeyecx-token-storage.service.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-security-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-tooltip-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-directives-module.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-authentication.service.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-auth-guard-login.service.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-auth-guard.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-http-error-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-others-errors-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-error-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-error-handling.module.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-error.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-header.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-interceptor.module.ts","../../../projects/monkey-front-core/src/lib/core/model/monkeyecx-model.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-config.module.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-feature-toggle.service.ts","../../../projects/monkey-front-core/src/lib/core/services/logged/monkeyecx-logged-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-download/monkeyecx-request-download-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/routes/monkeyecx-dicovery-params.service.ts","../../../projects/monkey-front-core/src/lib/core/services/schedules/monkeyecx-request-schedule.service.ts","../../../projects/monkey-front-core/src/lib/core/specification-search/monkeyecx-specification-search.ts","../../../projects/monkey-front-core/src/lib/monkey-front-core.module.ts","../../../projects/monkey-front-core/src/public-api.ts","../../../projects/monkey-front-core/src/monkey-front-core.ts"],"sourcesContent":["/* eslint-disable comma-dangle */\n/* eslint-disable max-len */\n/* eslint-disable no-useless-escape */\n/* eslint-disable no-plusplus */\n/* eslint-disable no-cond-assign */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-redeclare */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\n/* eslint-disable block-scoped-var */\nexport class MonkeyEcxUtils {\n static persistNullEmptyUndefined(tp: any): boolean {\n return tp !== null && tp !== undefined && tp !== '';\n }\n\n static getDocumentType(doc: string) {\n if (!doc) return '';\n return doc.length <= 11 ? 'CPF' : 'CNPJ';\n }\n\n static getDocumentMask(type: string) {\n if (type === 'CPF') return '000.000.000-00';\n return '00.000.000/0000-00';\n }\n\n static formatDocumentWithMask(doc: string, withType?: boolean, country?: string): string {\n if (!doc) return doc;\n let formated: string = '';\n if (country === 'cl') {\n formated = doc.replace(/[^0-9]/g, '')\n .replace(/^(\\d{1,2})(\\d{3})(\\d{3})(\\w{1})$/, '$1.$2.$3-$4');\n return `${formated}`;\n }\n if (doc.length === 14) {\n formated = doc\n .replace(/^(\\d{2})(\\d)/, '$1.$2')\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, '$1.$2.$3')\n .replace(/\\.(\\d{3})(\\d)/, '.$1/$2')\n .replace(/(\\d{4})(\\d)/, '$1-$2');\n } else {\n formated = doc\n .replace(/^(\\d{3})(\\d)/, '$1.$2')\n .replace(/^(\\d{3})\\.(\\d{3})(\\d)/, '$1.$2.$3')\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\n }\n\n return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;\n }\n\n static cutFirstLastName(value: string, tp: string = 'first') {\n const split = value?.trim()?.split(' ');\n\n if (tp === 'first') return split[0];\n return split?.splice(1, split.length)?.join(' ');\n }\n\n static isCPFCNPJValid(document: any): boolean {\n document = document.replace(/[^\\d]/g, '');\n if (document.length === 11) {\n let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\n for (var i = 0, n = 0; i < 9; n += document[i] * base[i++]);\n if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\n return false;\n }\n base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\n for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++]);\n if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\n return false;\n }\n return true;\n }\n if (document.length === 14 || /0{14}/.test(document)) {\n const base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n for (var i = 0, n = 0; i < 12; n += document[i] * base[++i]);\n if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {\n return false;\n }\n\n for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++]);\n if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {\n return false;\n }\n\n return true;\n }\n return false;\n }\n\n public static isValidRUT(document: string): boolean {\n if (!document || document.trim().length < 3) return false;\n const documentHandled = document.replace(/[^0-9kK]/g, '');\n\n if (documentHandled.length < 3) return false;\n\n const calcDv = (rut: string) => {\n const value: string = `${rut}`;\n let sum = 0;\n let mult = 2;\n\n for (let i = 1; i <= value.length; i++) {\n const index = mult * Number(value.charAt(value.length - i));\n\n sum += index;\n\n if (mult < 7) {\n mult += 1;\n } else {\n mult = 2;\n }\n }\n\n const dvEsperado = 11 - (sum % 11);\n if (dvEsperado === 10) return 'K';\n if (dvEsperado === 11) return '0';\n return `${dvEsperado}`;\n };\n\n const num = documentHandled.slice(0, -1);\n const dgv = documentHandled.slice(-1).toUpperCase();\n\n const dvCalc = calcDv(num);\n return dvCalc === dgv;\n }\n\n static isValidUrl(txt: string): boolean {\n const regex = new RegExp(\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)+[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,10}(:[0-9]{1,5})?(\\/.*)?$/gm\n );\n return regex.test(txt);\n }\n\n static isValidZipCode(zipCode: string): boolean {\n return `${this.handleOnlyNumbers(zipCode)}`.length === 8;\n }\n\n static getRandomString(len: number, charSet?: string): string {\n charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\n const randomString: string = new Array(len)\n .fill('1')\n .map(() => {\n return charSet.charAt(Math.floor(Math.random() * charSet.length));\n })\n .join('');\n return randomString;\n }\n\n static handleOnlyNumbers(value: any) {\n if (!value) return null;\n return value.replace(new RegExp(/[^0-9]/g), '');\n }\n\n static handleOnlyAlphaNumeric(value: any) {\n if (!value) return '';\n return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');\n }\n\n static capitalize(value: string) {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n }\n\n static formatZipCode(zipCode: string): string {\n if (!zipCode) return zipCode;\n const formated: string = zipCode\n .replace(/^(\\d{5})(\\d)/, '$1-$2')\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\n\n return `${formated}`;\n }\n\n static formatFileSize(size: number): string {\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let l = 0;\n while (size >= 1024 && ++l) {\n size /= 1024;\n }\n return `${size.toFixed(size < 10 && l > 0 ? 1 : 0)} ${units[l]}`;\n }\n\n static sufflue(data: any[]): any[] {\n for (let i = data.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * i);\n const temp = data[i];\n data[i] = data[j];\n data[j] = temp;\n }\n return data;\n }\n\n static handleBlobFile(theBlob: any, fileName: string, fileType: string) {\n function blobToFile(theBlob: any, fileName: string) {\n const b = theBlob;\n b.lastModifiedDate = new Date();\n b.name = fileName;\n return b;\n }\n\n let file: any;\n if (!(navigator as any).msSaveBlob) {\n file = new File([theBlob], fileName, {\n type: fileType,\n });\n } else {\n file = new Blob([theBlob], {\n type: fileType,\n });\n file = blobToFile(file, fileName);\n }\n return file;\n }\n\n static truncate(text: string, maxLength: number = 25): string {\n const midChar = '...';\n if (!text) return midChar;\n if (text && text.length <= maxLength) return text;\n\n const left = Math.ceil(maxLength / 2);\n const right = text.length - left + 1;\n\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\n }\n\n static isLocalhost() {\n const { href } = window?.location;\n if (!href) return false;\n return href?.search('localhost') >= 0;\n }\n\n static isSameOrigin(frontend: string): boolean {\n const initialPath: string = window.location.origin;\n return (initialPath || '') === frontend;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport * as moment_ from 'moment';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\nconst moment = moment_;\n\n@Pipe({\n name: 'monkeyecxFormatDateTimelapse'\n})\nexport class MonkeyEcxFormatDateTimelapsePipe implements PipeTransform {\n constructor() {\n // not todo\n }\n\n transform(\n date: string | Date,\n showTime = false,\n useUtc = true,\n format?: any\n ): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(date)) return '';\n if (!format) {\n format = '- HH:mm';\n }\n let stillUtc: any = moment.utc(date).toDate();\n if (!useUtc) stillUtc = moment(date).toDate();\n if (date.toString()?.indexOf(':') <= -1) {\n stillUtc = date;\n showTime = false;\n }\n const formatFrom = `YYYY/MM/DD${showTime ? ` ${format}` : ''}`;\n const formatTo = `DD/MM/YYYY${showTime ? ` ${format}` : ''}`;\n return `${moment(stillUtc, formatFrom).format(formatTo)}`;\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MonkeyModalConfig } from 'monkey-style-guide';\nimport { MonkeyEcxConfigBoostrap } from '../../core/interfaces';\n\n@Component({\n selector: 'monkeyecx-closed-to-maintenance',\n templateUrl: './closed-to-maintenance.component.html',\n styleUrls: ['./closed-to-maintenance.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ClosedToMaintenanceComponent implements OnInit {\n @Input() config: MonkeyModalConfig;\n\n @Input() modalRef: any;\n\n _configBoostrap: MonkeyEcxConfigBoostrap = null;\n\n ngOnInit() {\n this._configBoostrap = this.config.data;\n }\n\n onClose() {\n document.location.reload();\n }\n}\n","<monkey-modal [config]=\"config\" [modalRef]=\"modalRef\">\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <span class=\"h2\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.TITLE' | translate }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-1' | translate }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-2' | translate }}\n </span>\n <span class=\"information mt-3\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-3' | translate }}\n {{ _configBoostrap?.maintenance?.endDate | monkeyecxFormatDateTimelapse: true }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-4' | translate }}\n </span>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-5\">\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onClose()\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.BUTTONS.UPDATE-MAINTENANCE' | translate }}\n </monkey-button>\n </div>\n</monkey-modal>","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatNumber } from '@angular/common';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatNumber'\n})\nexport class MonkeyEcxFormatNumber implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(number: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(number)) return '';\n\n return formatNumber(Number(number), 'ptbr');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatValue'\n})\nexport class MonkeyEcxFormatValue implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(number: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(number)) return '';\n return number;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatDocument'\n})\nexport class MonkeyEcxFormatDocumentPipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(document: string, withType?: false): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(document)) return '';\n return MonkeyEcxUtils.formatDocumentWithMask(document, withType);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxDisplayFirstName'\n})\nexport class MonkeyEcxDisplayFirstNamePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(name: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(name)) return '';\n return MonkeyEcxUtils.cutFirstLastName(name);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatSize'\n})\nexport class MonkeyEcxFormatSizePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(size: string): string {\n if (!size) return '0 B';\n const sizeNum = Number(size);\n return MonkeyEcxUtils.formatFileSize(sizeNum);\n }\n}\n","import { Pipe, PipeTransform, Injector } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'monkeyecxFormatCurrency'\n})\nexport class MonkeyEcxFormatCurrencyPipe implements PipeTransform {\n private currencyCode: string = 'BRL';\n\n private currentLocale: string = 'pt-BR';\n\n constructor(private injector: Injector, private currencyPipe: CurrencyPipe) {\n const translateService = this.injector.get(TranslateService);\n translateService.get('MONKEY-CURRENCY-CODE').subscribe((_: any) => {\n this.currencyCode = _;\n this.currentLocale = translateService.getDefaultLang();\n });\n }\n\n transform(value: any) {\n const { currencyCode, currentLocale } = this;\n return this.currencyPipe.transform(value, currencyCode, 'symbol', '', currentLocale);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatZipCode'\n})\nexport class MonkeyEcxFormatZipCodePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(zipCode: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(zipCode)) return '';\n return MonkeyEcxUtils.formatZipCode(zipCode);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monkeyecxTextTruncate'\n})\nexport class MonkeyEcxTextTruncatePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(text: string, maxLength: number = 25): string {\n const midChar = '...';\n if (!text) return midChar;\n if (text && text.length <= maxLength) return text;\n\n const left = Math.ceil(maxLength / 2);\n const right = text.length - left + 1;\n\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxDocumentType'\n})\nexport class MonkeyEcxDocumentTypePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(document: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(document)) return '';\n return MonkeyEcxUtils.getDocumentType(document);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monkeyecxTruncateQtd'\n})\nexport class MonkeyEcxTruncateQtdPipe implements PipeTransform {\n transform(number: number, threshold: number): string {\n return `${number > threshold ? `${threshold}+` : number}`;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { MonkeyEcxFormatNumber } from './monkeyecx-format-number';\nimport { MonkeyEcxFormatValue } from './monkeyecx-format-value';\nimport { MonkeyEcxFormatDocumentPipe } from './monkeyecx-format-document';\nimport { MonkeyEcxFormatDateTimelapsePipe } from './monkeyecx-format-date-timelapse';\nimport { MonkeyEcxDisplayFirstNamePipe } from './monkeyecx-display-first-name';\nimport { MonkeyEcxFormatSizePipe } from './monkeyecx-format-size';\nimport { MonkeyEcxFormatCurrencyPipe } from './monkeyecx-format-currency';\nimport { MonkeyEcxFormatZipCodePipe } from './monkeyecx-format-zipcode';\nimport { MonkeyEcxTextTruncatePipe } from './monkeyecx-text-truncate';\nimport { MonkeyEcxDocumentTypePipe } from './monkeyecx-format-type-document';\nimport { MonkeyEcxTruncateQtdPipe } from './monkeyecx-truncate-qtd';\n\n@NgModule({\n declarations: [\n MonkeyEcxFormatDocumentPipe,\n MonkeyEcxFormatDateTimelapsePipe,\n MonkeyEcxDisplayFirstNamePipe,\n MonkeyEcxFormatSizePipe,\n MonkeyEcxFormatCurrencyPipe,\n MonkeyEcxFormatZipCodePipe,\n MonkeyEcxFormatNumber,\n MonkeyEcxFormatValue,\n MonkeyEcxTextTruncatePipe,\n MonkeyEcxTruncateQtdPipe,\n MonkeyEcxDocumentTypePipe\n ],\n exports: [\n MonkeyEcxFormatDocumentPipe,\n MonkeyEcxFormatDateTimelapsePipe,\n MonkeyEcxDisplayFirstNamePipe,\n MonkeyEcxFormatSizePipe,\n MonkeyEcxFormatCurrencyPipe,\n MonkeyEcxFormatZipCodePipe,\n MonkeyEcxFormatNumber,\n MonkeyEcxFormatValue,\n MonkeyEcxTextTruncatePipe,\n MonkeyEcxTruncateQtdPipe,\n MonkeyEcxDocumentTypePipe\n ],\n providers: [CurrencyPipe]\n})\nexport class MonkeyEcxPipesModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule\n} from 'monkey-style-guide';\nimport { MonkeyEcxPipesModule } from '../../core/pipes/monkeyecx-pipes.module';\nimport { ClosedToMaintenanceComponent } from './closed-to-maintenance.component';\n\n@NgModule({\n declarations: [ClosedToMaintenanceComponent],\n imports: [\n CommonModule,\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule,\n MonkeyEcxPipesModule,\n TranslateModule.forChild()\n ],\n exports: [ClosedToMaintenanceComponent]\n})\nexport class ClosedToMaintenanceModule {}\n","import { Injectable } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router\n} from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxProgressBarService {\n private visible: BehaviorSubject<boolean>;\n\n constructor(private router: Router) {\n this.init();\n }\n\n private init() {\n this.visible = new BehaviorSubject(false);\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n })\n )\n .subscribe(() => {\n this.show();\n });\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return (\n event instanceof NavigationEnd ||\n event instanceof NavigationError ||\n event instanceof NavigationCancel\n );\n })\n )\n .subscribe(() => {\n this.hide();\n });\n }\n\n show() {\n this.visible.next(true);\n }\n\n hide() {\n this.visible.next(false);\n }\n\n visibleConfig(): Observable<any> {\n return this.visible.asObservable();\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MonkeyEcxProgressBarService } from './progress-bar.service';\n\n@Component({\n selector: 'monkeyecx-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MonkeyEcxProgressBarComponent implements OnInit {\n visible: boolean = false;\n\n constructor(private progressBarService: MonkeyEcxProgressBarService) {\n //not to do\n }\n\n ngOnInit() {\n this.progressBarService.visibleConfig().subscribe((visible: boolean) => {\n this.visible = visible;\n });\n }\n}\n","<ng-container *ngIf=\"visible\">\n <progress class=\"monkey-progress monkey-progress__theme\"></progress>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MonkeyEcxProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [MonkeyEcxProgressBarComponent],\n imports: [CommonModule],\n exports: [MonkeyEcxProgressBarComponent]\n})\nexport class MonkeyEcxProgressBarModule {}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MonkeyModalConfig } from 'monkey-style-guide';\n\n@Component({\n selector: 'monkeyecx-version-changed',\n templateUrl: './version-changed.component.html',\n styleUrls: ['./version-changed.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VersionChangedComponent {\n @Input() config: MonkeyModalConfig;\n\n @Input() modalRef: any;\n\n onClose() {\n document.location.reload();\n }\n}\n","<monkey-modal [config]=\"config\" [modalRef]=\"modalRef\">\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <span class=\"h2\">\n {{ 'SCREENS.VERSION-CHANGED.TITLE' | translate }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.VERSION-CHANGED.INFORMATION-1' | translate }}\n </span>\n <span class=\"information mt-3\">\n {{ 'SCREENS.VERSION-CHANGED.INFORMATION-2' | translate }}\n </span>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-5\">\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onClose()\">\n {{ 'SCREENS.VERSION-CHANGED.BUTTONS.UPDATE-VERSION' | translate }}\n </monkey-button>\n </div>\n</monkey-modal>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule\n} from 'monkey-style-guide';\nimport { VersionChangedComponent } from './version-changed.component';\n\n@NgModule({\n declarations: [VersionChangedComponent],\n imports: [\n CommonModule,\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule,\n TranslateModule.forChild()\n ],\n exports: [VersionChangedComponent]\n})\nexport class VersionChangedModule {}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/* eslint-disable max-classes-per-file */\nimport * as moment_ from 'moment';\nimport { AbstractControl } from '@angular/forms';\nimport { MonkeyEcxUtils } from './utils';\n\nconst moment = moment_;\n\nexport class DateValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n const dateFormat = 'MM-DD-YYYY';\n if (\n !moment(\n moment(control.value).format(dateFormat),\n ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'],\n true\n ).isValid()\n ) {\n return {\n invalidDate: true\n };\n }\n }\n return null;\n }\n}\n\nexport class DocumentValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {\n return {\n invalidCpfCnpj: true\n };\n }\n }\n return null;\n }\n}\n\nexport class DocumentRutValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isValidRUT(control.value)) {\n return {\n invalidRut: true\n };\n }\n }\n return null;\n }\n}\n\nexport class ZipCodeValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isValidZipCode(control.value)) {\n return {\n invalidZipCode: true\n };\n }\n }\n return null;\n }\n}\n\nexport class ComboValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value !== '0') return null;\n return {\n invalidCombo: true\n };\n }\n}\n\nexport class isTrueValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value !== false) return null;\n return {\n invalidTrue: true\n };\n }\n}\n\nexport class PasswordMatchValidation {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n const { parent } = control;\n const password = parent.get('password').value;\n const passwordConfirm = parent.get('passwordConfirm').value;\n if (!password || !passwordConfirm) return null;\n if (password === passwordConfirm) return null;\n return {\n passwordsNotMatching: true\n };\n }\n}\n\nexport class UrlValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isValidUrl(control.value)) {\n return {\n invalidUrl: true\n };\n }\n }\n return null;\n }\n}\n\nexport class CustomDatesStartValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n const { parent } = control;\n\n const valueStart = parent.get('dateStart').value;\n const valueEnd = parent.get('dateEnd').value;\n let dateStart: Date;\n let dateEnd: Date;\n if (valueStart) {\n dateStart = new Date(valueStart);\n }\n if (valueEnd) {\n dateEnd = new Date(valueEnd);\n }\n\n if (!dateStart || !dateEnd) return null;\n if (dateStart > dateEnd) {\n return {\n dateStartMustBeLessThanAnd: true\n };\n }\n return null;\n }\n}\n\nexport class CustomDatesEndValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n const { parent } = control;\n\n const valueStart = parent.get('dateStart').value;\n const valueEnd = parent.get('dateEnd').value;\n let dateStart: Date;\n let dateEnd: Date;\n if (valueStart) {\n dateStart = new Date(valueStart);\n }\n if (valueEnd) {\n dateEnd = new Date(valueEnd);\n }\n\n if (!dateEnd || !dateStart) return null;\n if (dateEnd < dateStart) {\n return {\n dateEndMustBeGreaterThanStart: true\n };\n }\n return null;\n }\n}\n\nexport class UnlockRegisterBuyerValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n\n if (control && control.value !== '#MONKEYBUYER') {\n return {\n invalidUnlockRegister: true\n };\n }\n\n return null;\n }\n}\n\nexport class UnlockRegisterSponsorValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n\n if (control && control.value !== '#MONKEYSPONSOR') {\n return {\n invalidUnlockRegister: true\n };\n }\n\n return null;\n }\n}\n","/* eslint-disable no-unused-vars */\n/* eslint-disable no-shadow */\nexport enum MonkeyEcxQueueEvents {\n OnGoing,\n Finished,\n FinishedWithError\n}\n\nexport enum MonkeyEcxDownloadEvents {\n OnGoing,\n Finished,\n FinishedWithError\n}\n\nexport enum MonkeyEcxUploadEvents {\n OnGoing,\n Finished,\n FinishedWithError\n}\n\n// TODO pegar do json de config\nexport enum ApiEndPointsTokenNotMandatory {\n Assets = 'assets/',\n MonkeyEcx = '/monkeyecx',\n ViaCep = 'viacep.com.br/'\n}\n\n// TODO pegar do json de config\nexport enum ApiEndPointsHeaderNotMandatory {\n Assets = '/assets',\n PayablesUpload = 'payables-upload',\n PictureUser = '/user-pictures',\n Documents = 'documents/',\n BuyerTaxFile = '/buyer-tax-file',\n ViaCep = 'viacep.com.br/'\n}\n","import {\n MonkeyEcxRequestDownload,\n MonkeyEcxRequestItemQueue,\n MonkeyEcxRequestQueue,\n MonkeyEcxRequestUpload\n} from '../interfaces';\nimport * as Statics from './statics';\nimport { MonkeyEcxUtils } from './utils';\n\nexport function buildQueuePropertys(queue: MonkeyEcxRequestItemQueue): MonkeyEcxRequestQueue {\n const params: MonkeyEcxRequestQueue = {\n item: {\n ...queue,\n id: MonkeyEcxUtils.getRandomString(40)\n },\n status: Statics.MonkeyEcxQueueEvents.OnGoing\n };\n\n return params;\n}\n\nexport function buildDownloadPropertys(\n name: string,\n description?: string,\n size?: number\n): MonkeyEcxRequestDownload {\n const params: MonkeyEcxRequestDownload = {\n item: {\n name,\n description,\n id: `${MonkeyEcxUtils.getRandomString(40)}`,\n size,\n createdAt: new Date()\n },\n status: Statics.MonkeyEcxQueueEvents.OnGoing\n };\n\n return params;\n}\n\nexport function buildUploadPropertys(name: string, description?: string): MonkeyEcxRequestUpload {\n const params: MonkeyEcxRequestUpload = {\n item: {\n name,\n description,\n id: `${MonkeyEcxUtils.getRandomString(40)}`\n },\n status: Statics.MonkeyEcxUploadEvents.OnGoing\n };\n\n return params;\n}\n\nexport function hasMonkeyEcxServiceAndHandlingProperties(context: any): boolean {\n return Object.prototype.hasOwnProperty.call(context, 'monkeyecxService');\n}\n","/* eslint-disable object-curly-newline */\nimport { MonkeyEcxUtils } from './utils';\nimport * as ValidateUtils from './validate-utils';\nimport * as DecoratorsUtils from './decorators-utils';\nimport * as Statics from './statics';\n\nexport { MonkeyEcxUtils, ValidateUtils, DecoratorsUtils, Statics };\n","/* eslint-disable no-console */\n/* eslint-disable space-before-function-paren */\n/* eslint-disable func-names */\n/* eslint-disable max-len */\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\nimport { DecoratorsUtils } from '../utils';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\nexport function MonkeyEcxCoreServiceConstructor() {\n return (target: any) => {\n Object.entries(target.prototype).forEach(([key, value]) => {\n const method = target.prototype[key];\n if (key !== 'constructor') {\n target.prototype[key] = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n }\n const result = method.apply(context, args);\n return result;\n };\n }\n });\n return target;\n };\n}\n\nexport function MonkeyEcxCoreLog(tp: string) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n propertyDescriptor.value = function(...args: any[]) {\n const params = args\n .map((a: any) => {\n return JSON.stringify(a);\n })\n .join();\n const result = method.apply(this, args);\n const r = JSON.stringify(result);\n console.log(`Call: ${propertyName}(${params}) => ${r}`);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreClearDecorators() {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreService(params: MonkeyEcxServiceCredentials) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreServicePaged(params: MonkeyEcxServiceCredentials) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n const credentials = context.monkeyecxService.monkeyecxHandlingService.getMonkeyEcxServiceCredentials();\n let requestPaged = null;\n if (credentials) {\n requestPaged = credentials.requestPaged;\n }\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials({\n ...params,\n ...(requestPaged || null)\n });\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreServiceQueue(\n name: string,\n description?: string,\n params?: MonkeyEcxServiceCredentials\n) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(params)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxRequestQueue(\n DecoratorsUtils.buildQueuePropertys({\n name,\n description\n })\n );\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n","/* eslint-disable space-before-function-paren */\n/* eslint-disable func-names */\n/* eslint-disable max-len */\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\nimport { DecoratorsUtils } from '../utils';\n\nexport function MonkeyEcxServiceDownload(\n name: string,\n description?: string,\n params?: MonkeyEcxServiceCredentials\n) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n if (MonkeyUtils.persistNullEmptyUndefined(params)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxRequestDownload({\n ...DecoratorsUtils.buildDownloadPropertys(name, description)\n });\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n","/* eslint-disable space-before-function-paren */\n/* eslint-disable func-names */\n/* eslint-disable max-len */\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\nimport { DecoratorsUtils } from '../utils';\n\nexport function MonkeyEcxServiceUpload(\n name: string,\n description?: string,\n params?: MonkeyEcxServiceCredentials\n) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n if (MonkeyUtils.persistNullEmptyUndefined(params)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxRequestUpload({\n ...DecoratorsUtils.buildUploadPropertys(name, description)\n });\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n","import { Directive, HostListener, Output, HostBinding, EventEmitter } from '@angular/core';\n\n@Directive({\n selector: '[monkeyecxDragDrop]'\n})\nexport class MonkeyEcxDragDropDirective {\n @Output() onFileDropped: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('style.background-color') private background = '#f5fcff';\n\n @HostBinding('style.opacity') private opacity = '1';\n\n @HostListener('dragover', ['$event'])\n onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#9ecbec';\n this.opacity = '0.8';\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5fcff';\n this.opacity = '1';\n }\n\n @HostListener('drop', ['$event'])\n public ondrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5fcff';\n this.opacity = '1';\n const { files } = evt.dataTransfer;\n if (files.length > 0) {\n this.onFileDropped.emit(files);\n }\n }\n}\n","import { Directive, ElementRef, HostListener, OnInit, Injector } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxFormatCurrency]',\n providers: [CurrencyPipe]\n})\nexport class MonkeyEcxFormatCurrency implements OnInit {\n private el: HTMLInputElement;\n\n private currency: any;\n\n private currencyCode: string = 'BRL';\n\n private currentLocale: string = 'pt-BR';\n\n constructor(private elementRef: ElementRef, private injector: Injector) {\n this.el = this.elementRef.nativeElement;\n this.currency = this.injector.get(CurrencyPipe);\n\n const translateService = this.injector.get(TranslateService);\n translateService.get('MONKEY-CURRENCY-CODE').subscribe((_: any) => {\n this.currencyCode = _;\n this.currentLocale = translateService.getDefaultLang();\n });\n }\n\n private handle(value: any): string {\n const { currencyCode, currentLocale } = this;\n const newValue = MonkeyEcxUtils.handleOnlyNumbers(value);\n return this.currency.transform(newValue / 100, currencyCode, 'symbol', '', currentLocale);\n }\n\n ngOnInit() {\n this.el.value = this.handle(this.el.value);\n }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value: any) {\n this.el.value = this.handle(value);\n }\n}\n","import { Directive, ElementRef, forwardRef, HostListener, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[monkeyecxFormatUpper]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => {\n // eslint-disable-next-line no-use-before-define\n return MonkeyEcxFormatUpper;\n }),\n multi: true\n }\n ]\n})\nexport class MonkeyEcxFormatUpper implements ControlValueAccessor {\n _onChange: (_: any) => void;\n\n _touched: () => void;\n\n constructor(@Self() private _el: ElementRef, private _renderer: Renderer2) {\n // not to do\n }\n\n @HostListener('keyup', ['$event'])\n onKeyDown(evt: KeyboardEvent) {\n const value = this._el.nativeElement.value.toUpperCase();\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\n this._onChange(value);\n evt.preventDefault();\n }\n\n @HostListener('blur', ['$event'])\n onBlur() {\n this._touched();\n }\n\n writeValue(value: any): void {\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._touched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._el.nativeElement, 'disabled', isDisabled);\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxOnlyAlphaNumeric]'\n})\nexport class MonkeyEcxOnlyAlphaNumericDirective {\n constructor(private elementRef: ElementRef) {\n // not to do\n }\n\n @HostListener('input', ['$event'])\n onInputChange(event: Event) {\n const initalValue = this.elementRef.nativeElement.value;\n\n this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyAlphaNumeric(initalValue);\n if (initalValue !== this.elementRef.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxOnlyNumbers]'\n})\nexport class MonkeyEcxOnlyNumbersDirective {\n constructor(private elementRef: ElementRef) {\n // not to do\n }\n\n @HostListener('input', ['$event'])\n onInputChange(event: Event) {\n const initalValue = this.elementRef.nativeElement.value;\n\n this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyNumbers(initalValue);\n if (initalValue !== this.elementRef.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { MonkeyEcxRequestPaged } from '../../interfaces';\n\nexport class MonkeyEcxRequestPagedHandling {\n private url: string;\n\n private pagedParams: MonkeyEcxRequestPaged;\n\n constructor(_url?: string, _pagedParams?: MonkeyEcxRequestPaged) {\n this.url = _url;\n this.pagedParams = _pagedParams || {\n page: {\n }\n };\n }\n\n private handlePagedValuesFromApi(url: string) {\n if (url.search('\\\\?') < 0) return url;\n const params = url.substr(url.search('\\\\?') + 1, url.length);\n url = url.substr(0, url.search('\\\\?'));\n return `${url}?${new HttpParams({\n fromString: params\n }).delete('size').delete('page').toString()}`;\n }\n\n private getUrlParams(url: string): string {\n const { pagedParams } = this;\n const { number, size } = pagedParams?.page;\n const hasInitialQueryParams = url.search('\\\\?') > 0;\n return `${!hasInitialQueryParams ? '?' : '&'}page=${number || 0}&size=${size || 20}`;\n }\n\n public getRequestWithPagedParams(): string {\n const { url } = this;\n const handled = this.handlePagedValuesFromApi(url);\n return `${handled}${this.getUrlParams(handled)}`;\n }\n}\n","import {\n ActivatedRouteSnapshot,\n NavigationStart,\n Router,\n RouterStateSnapshot\n} from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, throwError } from 'rxjs';\nimport { filter, take, takeWhile } from 'rxjs/operators';\nimport {\n MonkeyEcxErrorResponse,\n MonkeyEcxHandledErrorResponse,\n MonkeyEcxRequestPaged,\n MonkeyEcxRequestSchedule,\n MonkeyEcxResponsePaged,\n MonkeyEcxTokenCredentials,\n MonkeyEcxTranslateOptions\n} from '../../interfaces';\nimport { MonkeyEcxTokenStorageService } from '../storage';\nimport { MonkeyEcxRequestScheduleService } from '../schedules';\nimport { MonkeyEcxRequestQueueHandlingService } from '../request-queue';\nimport { MonkeyEcxRequestPagedHandling } from '../request-paged';\nimport { MonkeyEcxFeatureToggleService } from '../config/monkeyecx-feature-toggle.service';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\n\nexport class MonkeyEcxCommonsService {\n private flagValidator = true;\n\n __data: any | any[];\n\n __params: any | any[];\n\n __error: MonkeyEcxErrorResponse;\n\n __handledError: MonkeyEcxHandledErrorResponse;\n\n __page: MonkeyEcxResponsePaged;\n\n __search: any;\n\n __requestPaged: MonkeyEcxRequestPaged = null;\n\n __onSearchChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onLoadingInProgress$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n __onDataDeleted$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onErrorChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onGovernmentIdDataChanged$: BehaviorSubject<any> = new BehaviorSubject(\n null\n );\n\n __onZipCodeDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __oni18nDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onDoSearch$: BehaviorSubject<MonkeyEcxRequestPaged> = new BehaviorSubject(\n null\n );\n\n __onDoPagination$: BehaviorSubject<Function> = new BehaviorSubject(null);\n\n __tokenCredentials: MonkeyEcxTokenCredentials;\n\n __schedule: MonkeyEcxRequestSchedule;\n\n __i18n: any;\n\n constructor(\n public monkeyecxService?: MonkeyEcxService,\n public tokenStorage?: MonkeyEcxTokenStorageService,\n public otherArgs?: {\n router?: Router;\n schedule?: {\n service: MonkeyEcxRequestScheduleService;\n options?: {\n clearOnChangeRoute?: boolean;\n };\n };\n queue?: {\n service: MonkeyEcxRequestQueueHandlingService;\n };\n }\n ) {\n this.handleInit();\n }\n\n private handleInit() {\n if (this.tokenStorage) {\n this.__tokenCredentials = this.tokenStorage.getToken();\n }\n\n if (this.otherArgs?.router) {\n const { clearOnChangeRoute } = this.otherArgs?.schedule?.options;\n this.otherArgs.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n }),\n take(1)\n )\n .subscribe(() => {\n if (this.__schedule && clearOnChangeRoute) {\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\n this.__schedule = null;\n }\n });\n }\n }\n\n private getRole(): string {\n const { __tokenCredentials } = this;\n\n if (!__tokenCredentials) return '';\n\n if (__tokenCredentials?.programAdmin === 'true') {\n return 'PROGRAM_ADMIN';\n }\n\n return __tokenCredentials?.role || '';\n }\n\n private allowedSecurityAccess(args: any): boolean {\n if (!args) return true;\n const roles = args?.roles;\n const byExclusion = args?.byExclusion;\n const found = roles?.indexOf(this.getRole());\n let ret = false;\n if (byExclusion) {\n ret = true;\n if (found > -1) {\n ret = false;\n }\n } else {\n ret = false;\n if (found > -1) {\n ret = true;\n }\n }\n if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN') { ret = true; }\n return ret;\n }\n\n private navigateToErrorPage(statusCode: number, router: Router) {\n const routes = {\n 403: 'forbidden',\n 404: 'not-found',\n 500: 'service-problems',\n 503: 'service-problems'\n };\n\n if (!router) {\n // eslint-disable-next-line no-console\n console.error('Router must be declared');\n } else {\n router.navigate([`/app/pages/${routes[statusCode]}`.toLowerCase()], {\n skipLocationChange: true\n });\n }\n }\n\n setPage(requestPaged: MonkeyEcxRequestPaged) {\n this.__requestPaged = {\n ...this.__requestPaged,\n ...requestPaged\n };\n return this;\n }\n\n nextPage(): boolean {\n if (!this.__requestPaged) return false;\n const { page } = this.__requestPaged;\n const { number, totalPages } = page;\n if (number < totalPages) {\n this.__requestPaged = {\n ...this.__requestPaged,\n page: {\n ...page,\n number: number + 1\n }\n };\n return true;\n }\n return false;\n }\n\n getEmbeddedData(data: any, field: string): any[] | any {\n const { _embedded } = data;\n return _embedded ? _embedded[field] : null;\n }\n\n getNormalizedUrl(url: string): string {\n const { __requestPaged } = this;\n return new MonkeyEcxRequestPagedHandling(\n url,\n __requestPaged\n ).getRequestWithPagedParams();\n }\n\n clear(clearData: boolean) {\n if (clearData) {\n this.__data = null;\n this.__requestPaged = null;\n this.__params = null;\n this.__page = null;\n\n if (this.__schedule) {\n const { queue } = this.__schedule;\n if (queue) {\n this.otherArgs.queue.service.removeQueueItem(queue);\n }\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\n this.__schedule = null;\n }\n }\n this.__error = null;\n this.__handledError = null;\n this.flagValidator = false;\n }\n\n resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n otherArgs?: {\n callbackMain: Function;\n router?: Router;\n security?: {\n roles: string[];\n byExclusion?: boolean;\n };\n callbackPagination?: Function;\n translateOptions?: MonkeyEcxTranslateOptions;\n feature?: {\n service: MonkeyEcxFeatureToggleService;\n flag: string;\n };\n }\n ) {\n this.__data = null;\n this.__page = null;\n this.__requestPaged = null;\n this.flagValidator = true;\n\n if (this.tokenStorage) {\n this.__tokenCredentials = this.tokenStorage.getToken();\n }\n\n if (this.allowedSecurityAccess(otherArgs?.security)) {\n Object.entries(this).forEach(([key, value]) => {\n if (value instanceof BehaviorSubject) {\n this[key] = new BehaviorSubject(null);\n }\n });\n\n if (this.__schedule) {\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\n this.__schedule = null;\n }\n\n const { __requestPaged } = this;\n if (!__requestPaged) {\n this.setPage({\n page: {\n number: 0,\n size: 10\n }\n });\n }\n\n if (otherArgs?.callbackPagination) {\n this.__onDoPagination$.subscribe(() => {\n if (!this.__onLoadingInProgress$.value) {\n const hasMorePages = this.setPage({\n page: {\n ...this.__page\n }\n }).nextPage();\n if (hasMorePages && otherArgs?.callbackPagination) { otherArgs.callbackPagination(); }\n }\n });\n }\n\n if (otherArgs?.translateOptions) {\n const { service, keys } = otherArgs.translateOptions;\n this.geti18n(service, keys);\n }\n\n if (otherArgs?.feature) {\n const { flag, service } = otherArgs.feature;\n\n service.onFlags\n .pipe(\n takeWhile(() => {\n return this.flagValidator;\n })\n )\n .subscribe((val: boolean) => {\n if (val) {\n const hasFlag = service.getFlag(flag);\n\n if (MonkeyEcxUtils.persistNullEmptyUndefined(hasFlag)) {\n if (!hasFlag) {\n this.navigateToErrorPage(404, otherArgs.router);\n return;\n }\n }\n otherArgs?.callbackMain();\n }\n });\n } else {\n otherArgs?.callbackMain();\n }\n } else {\n this.navigateToErrorPage(403, otherArgs.router);\n }\n }\n\n getHTTPHeaderApplicationPDF(): Object {\n return {\n observe: 'response',\n responseType: 'blob'\n };\n }\n\n @MonkeyEcxCoreService({\n requestInProgress: {\n showProgress: true\n }\n })\n genericMethod(link: any, data?: any, callback?: Function) {\n const { href, type } = link;\n this.monkeyecxService[type.toLowerCase()]<any>(`${href}`, data).subscribe(\n (resp: any) => {\n if (callback) callback();\n },\n (err: HttpErrorResponse) => {\n throwError(err);\n }\n );\n }\n\n geti18n(translateService: TranslateService, keys: string | string[]) {\n translateService\n .getStreamOnTranslationChange(keys)\n .subscribe((translations: any) => {\n this.__i18n = translations;\n this.__oni18nDataChanged$.next(null);\n });\n }\n}\n","/* eslint-disable max-len */\nimport { Injectable } from '@angular/core';\nimport {\n MonkeyEcxRequestDownload,\n MonkeyEcxRequestQueue,\n MonkeyEcxRequestUpload,\n MonkeyEcxServiceCredentials\n} from '../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport abstract class MonkeyEcxHandlingService {\n private monkeyecxServiceCredentials: MonkeyEcxServiceCredentials;\n\n private monkeyecxRequestQueue: MonkeyEcxRequestQueue;\n\n private monkeyecxRequestDownload: MonkeyEcxRequestDownload;\n\n private monkeyecxRequestUpload: MonkeyEcxRequestUpload;\n\n public clearAll() {\n this.monkeyecxServiceCredentials = null;\n this.monkeyecxRequestQueue = null;\n this.monkeyecxRequestDownload = null;\n this.monkeyecxRequestUpload = null;\n }\n\n public setMonkeyEcxServiceCredentials(param: MonkeyEcxServiceCredentials) {\n this.monkeyecxServiceCredentials = param;\n }\n\n public getMonkeyEcxServiceCredentials(): MonkeyEcxServiceCredentials {\n return this.monkeyecxServiceCredentials;\n }\n\n public setMonkeyEcxRequestQueue(queue: MonkeyEcxRequestQueue) {\n this.monkeyecxRequestQueue = queue;\n }\n\n public getMonkeyEcxRequestQueue(): MonkeyEcxRequestQueue {\n return this.monkeyecxRequestQueue;\n }\n\n public setMonkeyEcxRequestDownload(download: MonkeyEcxRequestDownload) {\n this.monkeyecxRequestDownload = download;\n }\n\n public getMonkeyEcxRequestDownload(): MonkeyEcxRequestDownload {\n return this.monkeyecxRequestDownload;\n }\n\n public setMonkeyEcxRequestUpload(upload: MonkeyEcxRequestUpload) {\n this.monkeyecxRequestUpload = upload;\n }\n\n public getMonkeyEcxRequestUpload(): MonkeyEcxRequestUpload {\n return this.monkeyecxRequestUpload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { MonkeyEcxHandlingService } from './monkeyecx-handling.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxService {\n constructor(\n protected http: HttpClient,\n public monkeyecxHandlingService: MonkeyEcxHandlingService\n ) {\n // not to do\n }\n\n private handlelize(params: any): any {\n if (!params) {\n return params;\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const field of [\n 'createdAt',\n 'createUserId',\n 'updatedAt',\n 'lastUserId',\n '_links',\n 'governmentIdType',\n 'governmentIdMask',\n 'screenType',\n 'screenTab'\n ]) {\n delete params[field];\n }\n return params;\n }\n\n public get<T>(url: string, options?: T): Observable<T> {\n return this.http.get<T>(url, options);\n }\n\n public post<T>(url: string, params: T, options?: T): Observable<T> {\n return this.http.post<T>(url, params, options);\n }\n\n public put<T>(url: string, params: T): Observable<T> {\n return this.http.put<T>(\n url,\n this.handlelize({\n ...params\n })\n );\n }\n\n public delete<T>(url: string, params?: T): Observable<T> {\n return this.http.delete<T>(url, params);\n }\n\n public download<T>(url: string, options?: T, filename?: string) {\n this.http.get<T>(url, options).subscribe(\n (resp: any) => {\n const { headers, body } = resp;\n const contentType = headers.get('Content-Type');\n const contentDisposition = headers.get('Content-Disposition');\n if (contentDisposition) {\n filename = contentDisposition\n .split(';')[1]\n .split('filename')[1]\n .split('=')[1]\n .trim()\n .replace(new RegExp(/\"/g), '');\n }\n const blob = new Blob([body], {\n type: `${contentType}`\n });\n return {\n filename,\n blob\n };\n },\n (err: HttpErrorResponse) => {\n throwError(err);\n }\n );\n }\n\n public downloadOb<T>(url: string, options?: T, filename?: string): Observable<any> {\n return this.http.get<any>(url, options).pipe(\n map((resp: any) => {\n const { headers, body } = resp;\n const contentType = headers.get('Content-Type');\n const contentDisposition = headers.get('Content-Disposition');\n if (contentDisposition) {\n filename = contentDisposition\n .split(';')[1]\n .split('filename')[1]\n .split('=')[1]\n .trim()\n .replace(new RegExp(/\"/g), '');\n }\n const blob = new Blob([body], {\n type: `${contentType}`\n });\n return {\n filename,\n blob\n };\n }),\n catchError((err: any) => {\n return throwError(err);\n })\n );\n }\n}\n","/* eslint-disable object-curly-newline */\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxCookieStorageService {\n constructor(@Inject(DOCUMENT) private document: any) {\n // not to do\n }\n\n private getCookieRegExp(name: string): RegExp {\n const escapedName: string = name.replace(/([[\\]{}()|=;+?,.*^$])/gi, '\\\\$1');\n\n return new RegExp(`(?:^${escapedName}|;\\\\s*${escapedName})=(.*?)(?:;|$)`, 'g');\n }\n\n private safeDecodeURIComponent(encodedURIComponent: string): string {\n try {\n return decodeURIComponent(encodedURIComponent);\n } catch {\n return encodedURIComponent;\n }\n }\n\n private check(name: string): boolean {\n name = encodeURIComponent(name);\n const regExp: RegExp = this.getCookieRegExp(name);\n return regExp.test(this.document.cookie);\n }\n\n set(\n name: string,\n value: string,\n expiresOrOptions?: number | Date | any,\n path?: string,\n domain?: string,\n secure?: boolean,\n sameSite?: 'Lax' | 'None' | 'Strict'\n ): void {\n if (\n typeof expiresOrOptions === 'number' ||\n expiresOrOptions instanceof Date ||\n path ||\n domain ||\n secure ||\n sameSite\n ) {\n const optionsBody = {\n expires: expiresOrOptions,\n path,\n domain,\n secure,\n sameSite: sameSite || 'Lax'\n };\n\n this.set(name, value, optionsBody);\n return;\n }\n\n let cookieString: string = `${encodeURIComponent(name)}=${encodeURIComponent(value)};`;\n\n const options = expiresOrOptions || {};\n\n if (options.expires) {\n if (typeof options.expires === 'number') {\n const dateExpires: Date = new Date(\n new Date().getTime() + options.expires * 1000 * 60 * 60 * 24\n );\n\n cookieString += `expires=${dateExpires.toUTCString()};`;\n } else {\n cookieString += `expires=${options.expires.toUTCString()};`;\n }\n }\n\n if (options.path) {\n cookieString += `path=${options.path};`;\n }\n\n if (options.domain) {\n cookieString += `domain=${options.domain};`;\n }\n\n if (options.secure === false && options.sameSite === 'None') {\n options.secure = true;\n }\n if (options.secure) {\n cookieString += 'secure;';\n }\n\n if (!options.sameSite) {\n options.sameSite = 'Lax';\n }\n\n cookieString += `sameSite=${options.sameSite};`;\n\n this.document.cookie = cookieString;\n }\n\n get(name: string): string {\n if (this.check(name)) {\n name = encodeURIComponent(name);\n\n const regExp: RegExp = this.getCookieRegExp(name);\n const result: RegExpExecArray = regExp.exec(this.document.cookie);\n\n return result[1] ? this.safeDecodeURIComponent(result[1]) : '';\n }\n return '';\n }\n\n remove(\n name: string,\n path?: string,\n domain?: string,\n secure?: boolean,\n sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'\n ): void {\n const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');\n this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });\n }\n}\n","/* eslint-disable no-console */\n/* eslint-disable import/no-named-default */\nimport { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { default as localePTBR } from '@angular/common/locales/global/pt';\nimport { registerLocaleData } from '@angular/common';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\nimport { MonkeyEcxCookieStorageService } from '../storage/monkeyecx-cookie-storage.service';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxCommonsService } from '../commons';\nimport { MonkeyEcxConfig } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxi18nConfigService extends MonkeyEcxCommonsService {\n constructor(\n monkeyecxService: MonkeyEcxService,\n private translateService: TranslateService,\n private monkeyecxCookieStorageService: MonkeyEcxCookieStorageService\n ) {\n super(monkeyecxService);\n\n this.translateService.addLangs(['pt-BR', 'en-US']);\n this.translateService.setDefaultLang('pt-BR');\n this.translateService.use('pt-BR');\n this.applyLocal();\n }\n\n private applyLocal() {\n registerLocaleData(localePTBR, 'pt-PT');\n }\n\n @MonkeyEcxCoreService({\n httpResponse: {\n httpCodeIgnore: [404]\n },\n requestInProgress: {\n showProgress: false\n }\n })\n public apply(params: MonkeyEcxConfig, environment: any, change = false) {\n const { monkeyecxService, monkeyecxCookieStorageService } = this;\n let { i18n } = params;\n const cookie = monkeyecxCookieStorageService.get('monkey-app-locale');\n if (cookie && !change) {\n i18n = JSON.parse(atob(cookie));\n } else {\n monkeyecxCookieStorageService.set('monkey-app-locale', btoa(JSON.stringify(i18n)));\n }\n\n monkeyecxService.get<any>(`${environment.urlAssets}/i18n/${i18n.lang}.json`).subscribe(\n (config: any) => {\n const { lang, data } = config;\n this.translateService.setTranslation(lang, data, true);\n this.translateService.use(lang);\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n console.error(`i18n ${i18n.lang} not found!`);\n throwError(err);\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { datadogRum } from '@datadog/browser-rum';\nimport { MonkeyEcxConfig, MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxLogsConfigService {\n public apply(\n params: MonkeyEcxConfig,\n configBoostrap: MonkeyEcxConfigBoostrap,\n environment: any,\n identifyCode: string\n ) {\n const { program, logs } = params;\n if (\n logs?.enabled &&\n environment.production &&\n environment?.dataDogApplicationId &&\n environment?.dataDogClientToken\n ) {\n datadogRum.init({\n applicationId: environment?.dataDogApplicationId,\n clientToken: environment?.dataDogClientToken,\n service: program.token,\n site: 'datadoghq.com',\n sampleRate: 100,\n env: `monkeyecx-front-${identifyCode}-${environment.environment}`,\n version: configBoostrap?.version,\n trackInteractions: true\n });\n }\n }\n}\n","import { ApplicationRef, Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\nimport { concat, interval } from 'rxjs';\nimport { first } from 'rxjs/operators';\nimport { VersionChangedComponent } from '../../../components/version-changed';\nimport { MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxServiceWorkerConfigService {\n constructor(\n private appRef: ApplicationRef,\n private updates: SwUpdate,\n private modalService: MonkeyStyleGuideModalService) {\n // not to do\n }\n\n private handleValidation(config: MonkeyEcxConfigBoostrap) {\n const { updates, modalService } = this;\n updates?.available?.subscribe(() => {\n if (!config.showNewVersion || config.maintenance.closed) {\n document.location.reload();\n } else {\n modalService.open(VersionChangedComponent, {\n color: 'theme',\n size: 'md'\n });\n }\n });\n }\n\n private verify() {\n const { appRef, updates } = this;\n const appIsStable$ = appRef.isStable\n .pipe(first((isStable: boolean) => { return isStable === true; }));\n const everyHour$ = interval(1 * 60 * 60 * 1000);\n const everyHourOnceAppIsStable$ = concat(appIsStable$, everyHour$);\n everyHourOnceAppIsStable$.subscribe(() => {\n updates.checkForUpdate();\n });\n updates.checkForUpdate();\n }\n\n public apply(config: MonkeyEcxConfigBoostrap) {\n this.handleValidation(config);\n this.verify();\n }\n}\n","/* eslint-disable no-console */\nimport { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MonkeyEcxCommonsService } from '../commons';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxSecurityConsoleConfigService extends MonkeyEcxCommonsService {\n constructor(private translateService: TranslateService) {\n super();\n\n this.geti18n(this.translateService, 'SERVICES.WARNING.CONSOLE');\n }\n\n private handleValidation() {\n this.__oni18nDataChanged$.subscribe(() => {\n const { __i18n } = this;\n const title = __i18n?.TITLE;\n const message = __i18n?.MESSAGE;\n if (title) {\n console.log(`%c${title}`, 'background: #f2f061; color: #ff0000; font-size: x-large');\n console.log(`%c${message}`, 'font-size: x-large');\n console.log(\n '%c __ __ _ ______ \\n ' +\n '| \\\\/ | ___ _ __ | | _____ _ _\\\\ \\\\ \\\\ \\\\ \\n ' +\n \"| |\\\\/| |/ _ \\\\| '_ \\\\| |/ / _ \\\\ | | |\\\\ \\\\ \\\\ \\\\ \\n \" +\n '| | | | (_) | | | | < __/ |_| |/ / / / \\n ' +\n '|_| |_|\\\\___/|_| |_|_|\\\\_\\\\___|\\\\__, /_/_/_/ \\n ' +\n ' |___/ \\n ' +\n 'Join us: https://monkeyecx.gupy.io', 'background: #1976d2; color: #fff'\n );\n }\n });\n }\n\n public apply() {\n this.handleValidation();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\nimport { ClosedToMaintenanceComponent } from '../../../components/closed-to-maintenance';\nimport { MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxMaintenanceConfigService {\n constructor(private modalService: MonkeyStyleGuideModalService, private router: Router) {\n // not to do\n }\n\n private handleValidation(config: MonkeyEcxConfigBoostrap) {\n if (config.maintenance.closed) {\n localStorage.clear();\n this.router.navigate(['']);\n\n setTimeout(() => {\n this.modalService.open(ClosedToMaintenanceComponent, {\n color: 'theme',\n size: 'md',\n data: config\n });\n }, 200);\n }\n }\n\n public apply(config: MonkeyEcxConfigBoostrap) {\n this.handleValidation(config);\n }\n}\n","/* eslint-disable no-console */\nimport { Injectable } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { throwError, BehaviorSubject, Observable } from 'rxjs';\nimport { MonkeyStyleGuideSettingsService, MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxi18nConfigService } from './monkeyecx-i18n-config.service';\nimport { MonkeyEcxLogsConfigService } from './monkeyecx-logs-config.service';\nimport { MonkeyEcxServiceWorkerConfigService } from './monkeyecx-service-worker-config.service';\nimport { MonkeyEcxSecurityConsoleConfigService } from './monkeyecx-security-console-config.service';\nimport { MonkeyEcxMaintenanceConfigService } from './monkeyecx-maintenance-config.service';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxCommonsService } from '../commons';\nimport { MonkeyEcxConfig, MonkeyEcxConfigBoostrap } from '../../interfaces';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxConfigService extends MonkeyEcxCommonsService {\n private readonly configSubject$: BehaviorSubject<MonkeyEcxConfig>;\n\n private readonly configBoostrapSubject$: BehaviorSubject<MonkeyEcxConfig>;\n\n constructor(\n monkeyecxService: MonkeyEcxService,\n private monkeyecxi18nConfigService: MonkeyEcxi18nConfigService,\n private monkeyecxLogsConfigService: MonkeyEcxLogsConfigService,\n private monkeyStyleGuideSettingsService: MonkeyStyleGuideSettingsService,\n private monkeyecxServiceWorkerConfigService: MonkeyEcxServiceWorkerConfigService,\n private monkeyecxSecurityConsoleConfigService: MonkeyEcxSecurityConsoleConfigService,\n private monkeyecxMaintenanceConfigService: MonkeyEcxMaintenanceConfigService\n ) {\n super(monkeyecxService);\n this.configSubject$ = new BehaviorSubject(null);\n this.configBoostrapSubject$ = new BehaviorSubject(null);\n }\n\n private internalValidations(...args: any[]) {\n const {\n monkeyecxServiceWorkerConfigService,\n monkeyecxSecurityConsoleConfigService,\n monkeyecxMaintenanceConfigService\n } = this;\n const configBoostrap = args[0];\n const callback = args[1];\n monkeyecxSecurityConsoleConfigService.apply();\n monkeyecxServiceWorkerConfigService.apply(configBoostrap);\n monkeyecxMaintenanceConfigService.apply(configBoostrap);\n callback(configBoostrap);\n }\n\n private getWhiteLabelSettings(\n monkeyecxCode: string,\n configBoostrap: MonkeyEcxConfigBoostrap = null,\n callback: Function,\n environment: any,\n identifyCode: string\n ) {\n const {\n monkeyecxService,\n monkeyecxi18nConfigService,\n configSubject$,\n monkeyStyleGuideSettingsService,\n monkeyecxLogsConfigService,\n internalValidations\n } = this;\n monkeyecxService\n .get<any>(\n `${environment.urlAssets}/monkeyecx/${monkeyecxCode.toLowerCase()}/white-label.json`\n )\n .subscribe(\n (config: MonkeyEcxConfig) => {\n monkeyecxi18nConfigService.apply(config, environment);\n monkeyecxLogsConfigService.apply(config, configBoostrap, environment, identifyCode);\n monkeyStyleGuideSettingsService.boostrap(\n `${\n environment.urlAssets\n }/monkeyecx/${monkeyecxCode.toLowerCase()}/monkey-style-guide-settings.json`,\n internalValidations.bind(this, configBoostrap, callback, environment)\n );\n configSubject$.next(config);\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n console.error('Program Configuration not found!');\n throwError(err);\n }\n );\n }\n\n @MonkeyEcxCoreService({\n httpResponse: {\n httpCodeIgnore: [404]\n },\n requestInProgress: {\n showProgress: false\n }\n })\n public init(callback: Function, environment: any, identifyCode: string, monkeyecxCode?: string) {\n const { monkeyecxService, configBoostrapSubject$ } = this;\n\n monkeyecxService\n .get(`/assets/boostrap.json?t=${MonkeyUtils.getRandomString(30)}`, {\n observe: 'response'\n })\n .subscribe(\n (resp: any) => {\n const { headers, body } = resp;\n const monkeyCode = headers.get('monkey-code') || monkeyecxCode;\n if (monkeyCode) {\n this.getWhiteLabelSettings(monkeyCode, body, callback, environment, identifyCode);\n configBoostrapSubject$.next(body);\n } else {\n console.error(`Boostrap ${monkeyCode} Configuration not found!`);\n }\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n console.error('Boostrap Configuration not found!');\n throwError(err);\n }\n );\n }\n\n public config(): Observable<any> {\n return this.configSubject$.asObservable();\n }\n\n public boostrapConfig(): Observable<any> {\n return this.configBoostrapSubject$.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of, BehaviorSubject } from 'rxjs';\nimport { MonkeyEcxConfigService } from '../config/monkeyecx-config.service';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxConfig, MonkeyEcxMeCredentials, MonkeyEcxTokenCredentials } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxTokenStorageService {\n private token: MonkeyEcxTokenCredentials;\n\n private token$: BehaviorSubject<MonkeyEcxTokenCredentials>;\n\n private me$: BehaviorSubject<MonkeyEcxMeCredentials>;\n\n private config: MonkeyEcxConfig = null;\n\n constructor(private monkeyecxConfigService: MonkeyEcxConfigService) {\n this.token = {\n username: '',\n program: '',\n accessToken: '',\n refreshToken: '',\n companyId: '',\n governmentId: '',\n companyTypeUrl: '',\n companyType: '',\n programAdmin: false,\n programType: '',\n role: '',\n _clearIgnore: {\n ignore: ['username', 'program']\n }\n };\n this.token$ = new BehaviorSubject(null);\n this.me$ = new BehaviorSubject(null);\n\n this.monkeyecxConfigService.config().subscribe((_: MonkeyEcxConfig) => {\n this.config = _;\n });\n }\n\n private setAllTokens(token: MonkeyEcxTokenCredentials) {\n const { token$ } = this;\n Object.entries(token).forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n localStorage.setItem(key, value);\n }\n });\n token$.next(token);\n }\n\n private getAllTokens(): MonkeyEcxTokenCredentials {\n const { token } = this;\n const handledToken = {\n ...token\n };\n Object.entries(token).forEach(([key, value]) => {\n handledToken[key] = localStorage.getItem(key);\n });\n\n return handledToken;\n }\n\n private setAllMe(me: MonkeyEcxMeCredentials) {\n const { me$ } = this;\n let previousMe = JSON.parse(localStorage.getItem('me'));\n Object.entries(me).forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n previousMe = {\n ...previousMe,\n [key]: value\n };\n }\n });\n\n localStorage.setItem('me', JSON.stringify(previousMe));\n me$.next(previousMe);\n }\n\n private getAllMe(): MonkeyEcxMeCredentials {\n const me = localStorage.getItem('me');\n return JSON.parse(me) as MonkeyEcxMeCredentials;\n }\n\n public tokenHasChanged(): Observable<MonkeyEcxTokenCredentials> {\n return this.token$.asObservable();\n }\n\n public meHasChanged(): Observable<MonkeyEcxMeCredentials> {\n return this.me$.asObservable() || null;\n }\n\n public getToken(): MonkeyEcxTokenCredentials {\n return this.getAllTokens();\n }\n\n public getMe(): MonkeyEcxMeCredentials {\n return this.getAllMe();\n }\n\n public setToken(token: MonkeyEcxTokenCredentials) {\n this.setAllTokens(token);\n }\n\n public setMe(me: MonkeyEcxMeCredentials) {\n this.setAllMe(me);\n }\n\n public clear(force?: boolean): Observable<boolean> {\n const { token } = this;\n try {\n Object.entries(token).forEach(([key, value]) => {\n if (\n token._clearIgnore.ignore.filter((val: any) => {\n return val === key;\n }).length <= 0 ||\n force === true\n ) {\n localStorage.removeItem(key);\n }\n });\n localStorage.removeItem('me');\n } catch (error) {\n return of(false);\n }\n return of(true);\n }\n\n /**\n * @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])\n */\n public clearCredentials(fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']) {\n fields?.forEach((key: string) => {\n localStorage.removeItem(key);\n });\n }\n}\n","import { ChangeDetectorRef, Directive, ElementRef, Input, OnInit } from '@angular/core';\nimport { MonkeyEcxTokenCredentials } from '../interfaces';\nimport { MonkeyEcxTokenStorageService } from '../services/storage';\n\n@Directive({\n selector: '[monkeyecxSecurity]'\n})\nexport class MonkeyEcxSecurityDirective implements OnInit {\n @Input('securityRoles') roles: string[];\n\n @Input('securityByExclusion') byExclusion: boolean = false;\n\n private tokenCredentials: MonkeyEcxTokenCredentials;\n\n constructor(\n private elementRef: ElementRef,\n private tokenStorageService: MonkeyEcxTokenStorageService,\n private cdr: ChangeDetectorRef\n ) {\n // not to do\n }\n\n private getRole(): string {\n const { tokenCredentials } = this;\n\n if (!tokenCredentials) return '';\n\n if (tokenCredentials?.programAdmin === 'true') {\n return 'PROGRAM_ADMIN';\n }\n\n return tokenCredentials?.role || '';\n }\n\n private handleAccess() {\n const { roles, byExclusion } = this;\n let display = 'none';\n const found = roles?.indexOf(this.getRole());\n if (byExclusion) {\n display = 'block';\n if (found > -1) {\n display = 'none';\n }\n } else {\n display = 'none';\n if (found > -1) {\n display = 'block';\n }\n }\n\n if (!roles || roles.length === 0 || (this.getRole() === 'PROGRAM_ADMIN')) display = 'block';\n this.elementRef.nativeElement.style.display = display;\n this.cdr.detectChanges();\n }\n\n ngOnInit() {\n this.elementRef.nativeElement.style.display = 'none';\n this.cdr.detectChanges();\n\n this.tokenStorageService.tokenHasChanged().subscribe(() => {\n this.tokenCredentials = this.tokenStorageService.getToken();\n this.handleAccess();\n });\n\n this.tokenCredentials = this.tokenStorageService.getToken();\n this.handleAccess();\n }\n}\n","import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[monkeyecxTooltip]'\n})\nexport class MonkeyEcxTooltipDirective {\n @Input() tooltipDelay: number;\n\n @Input() tooltipPosition: string;\n\n @Input() tooltipText: string;\n\n @Input() tooltipTitle: string;\n\n offset = 10;\n\n tooltip: HTMLElement;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n // not to do\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n if (!this.tooltip) {\n this.show();\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.tooltip) {\n this.hide();\n }\n }\n\n @HostListener('click')\n clickout() {\n if (this.tooltip) {\n this.hide();\n }\n }\n\n show() {\n this.create();\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'monkey-tooltip-show');\n }\n\n hide() {\n this.renderer.removeClass(this.tooltip, 'monkey-tooltip-show');\n this.renderer.removeChild(document.body, this.tooltip);\n\n this.tooltip = null;\n }\n\n create() {\n const tooltipElement = document.createElement('div');\n\n this.tooltip = this.renderer.createElement('span');\n\n if (this.tooltipTitle) {\n const tooltipTitleElement = document.createElement('span');\n\n tooltipTitleElement.innerText = `${this.tooltipTitle}`;\n tooltipTitleElement.className = 'monkey-tooltip-title';\n\n tooltipElement.appendChild(tooltipTitleElement);\n }\n\n if (this.tooltipText) {\n const tooltipTextElement = document.createElement('span');\n\n tooltipTextElement.innerText = `${this.tooltipText}`;\n tooltipTextElement.className = 'monkey-tooltip-description';\n tooltipElement.appendChild(tooltipTextElement);\n }\n\n this.renderer.appendChild(this.tooltip, tooltipElement);\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.renderer.addClass(this.tooltip, 'monkey-tooltip');\n this.renderer.addClass(this.tooltip, `monkey-tooltip-${this.tooltipPosition}`);\n\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.tooltipDelay}ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.tooltipDelay}ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.tooltipDelay}ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.tooltipDelay}ms`);\n }\n\n setPosition() {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n let top: number;\n let left: number;\n\n if (this.tooltipPosition === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'bottom') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.tooltipPosition === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MonkeyEcxDragDropDirective } from './monkeyecx-drag-drop';\nimport { MonkeyEcxFormatCurrency } from './monkeyecx-format-currency';\nimport { MonkeyEcxFormatUpper } from './monkeyecx-format-upper';\nimport { MonkeyEcxOnlyAlphaNumericDirective } from './monkeyecx-only-alpha-numeric-directive';\nimport { MonkeyEcxOnlyNumbersDirective } from './monkeyecx-only-number-directive';\nimport { MonkeyEcxSecurityDirective } from './monkeyecx-security-directive';\nimport { MonkeyEcxTooltipDirective } from './monkeyecx-tooltip-directive';\n\n@NgModule({\n declarations: [\n MonkeyEcxDragDropDirective,\n MonkeyEcxFormatCurrency,\n MonkeyEcxFormatUpper,\n MonkeyEcxOnlyAlphaNumericDirective,\n MonkeyEcxOnlyNumbersDirective,\n MonkeyEcxSecurityDirective,\n MonkeyEcxTooltipDirective\n ],\n exports: [\n MonkeyEcxDragDropDirective,\n MonkeyEcxFormatCurrency,\n MonkeyEcxFormatUpper,\n MonkeyEcxOnlyAlphaNumericDirective,\n MonkeyEcxOnlyNumbersDirective,\n MonkeyEcxSecurityDirective,\n MonkeyEcxTooltipDirective\n ]\n})\nexport class MonkeyEcxDirectivesModule {}\n","/* eslint-disable no-console */\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpErrorResponse, HttpRequest } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxAuthenticationService {\n constructor() {\n // not to do\n }\n\n hadAtLeastOneLogin = () => {\n console.error('hadAtLeastOneLogin needs to be declared!');\n return null;\n };\n\n redirectApp = () => {\n console.error('redirectApp needs to be declared!');\n return null;\n };\n\n redirectLoginWelcomeBack = () => {\n console.error('redirectLoginWelcomeBack needs to be declared!');\n return null;\n };\n\n isAuthorized = (): boolean => {\n console.error('isAuthorized needs to be declared!');\n return false;\n };\n\n getRequestWithHeaders = (request: HttpRequest<any>): HttpRequest<any> => {\n console.error('getRequestWithHeaders needs to be declared!');\n return null;\n };\n\n getRequestWithHeadersOb = (request: HttpRequest<any>): Observable<any> => {\n console.error('getRequestWithHeadersOb needs to be declared!');\n return null;\n };\n\n refreshShouldHappen = (response: HttpErrorResponse): boolean => {\n console.error('refreshShouldHappen needs to be declared!');\n return false;\n };\n\n refreshToken = (): Observable<any> => {\n console.error('refreshToken needs to be declared!');\n return null;\n };\n\n init(\n args: {\n hadAtLeastOneLogin?: any,\n redirectApp?: any,\n redirectLoginWelcomeBack?: any,\n isAuthorized?: any,\n getRequestWithHeaders?: any,\n getRequestWithHeadersOb?: any,\n refreshShouldHappen?: any,\n refreshToken?: any\n }\n ) {\n this.hadAtLeastOneLogin = args?.hadAtLeastOneLogin || this.hadAtLeastOneLogin.bind(this);\n this.redirectApp = args?.redirectApp || this.redirectApp.bind(this);\n this.redirectLoginWelcomeBack = args?.redirectLoginWelcomeBack ||\n this.redirectLoginWelcomeBack.bind(this);\n this.isAuthorized = args?.isAuthorized || this.isAuthorized.bind(this);\n this.getRequestWithHeaders = args?.getRequestWithHeaders ||\n this.getRequestWithHeaders.bind(this);\n this.getRequestWithHeadersOb = args?.getRequestWithHeadersOb.bind(this);\n this.refreshShouldHappen = args?.refreshShouldHappen || this.refreshShouldHappen.bind(this);\n this.refreshToken = args?.refreshToken || this.refreshToken.bind(this);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { MonkeyEcxAuthenticationService } from './monkeyecx-authentication.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxAuthGuardLogin implements CanActivate {\n constructor(private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService) {\n // not to do\n }\n\n canActivate(): Observable<boolean> | Promise<boolean> | boolean {\n if (this.monkeyecxAuthenticationService.isAuthorized()) {\n this.monkeyecxAuthenticationService.redirectApp();\n return false;\n }\n if (this.monkeyecxAuthenticationService.hadAtLeastOneLogin()) {\n this.monkeyecxAuthenticationService.redirectLoginWelcomeBack();\n return false;\n }\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { MonkeyEcxAuthenticationService } from './monkeyecx-authentication.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxAuthGuard implements CanActivate {\n constructor(private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService) {\n // not to do\n }\n\n canActivate(): Observable<boolean> | Promise<boolean> | boolean {\n const { monkeyecxAuthenticationService } = this;\n\n if (monkeyecxAuthenticationService.isAuthorized()) {\n return true;\n }\n\n monkeyecxAuthenticationService.redirectLoginWelcomeBack();\n\n return false;\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MonkeyStyleGuideSnackbarService } from 'monkey-style-guide';\nimport { MonkeyEcxAuthenticationService } from '../auth';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\nimport { MonkeyEcxTokenStorageService } from '../storage';\nimport { MonkeyEcxCommonsService } from '../commons';\nimport { MonkeyEcxServiceCredentials } from '../../interfaces';\nimport { MonkeyEcxUtils } from '../../utils/utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxHttpErrorHandlingService extends MonkeyEcxCommonsService {\n constructor(\n monkeyecxService: MonkeyEcxService,\n tokenStorage: MonkeyEcxTokenStorageService,\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\n private router: Router,\n private snackbarService: MonkeyStyleGuideSnackbarService,\n private translateService: TranslateService\n ) {\n super(monkeyecxService, tokenStorage);\n\n super.resolve(null, null);\n\n this.geti18n(this.translateService, 'SERVICES.WARNING');\n }\n\n private isHttpCodeIgnoreMessage(tp: MonkeyEcxServiceCredentials, httpCode: number): boolean {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !tp?.httpResponse) {\n return false;\n }\n\n const found = tp?.httpResponse?.httpCodeIgnore?.indexOf(httpCode) > -1;\n\n return found;\n }\n\n private isHttpCodeIgnoreRedirect(\n tp: MonkeyEcxServiceCredentials,\n httpCode: number\n ): boolean {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !tp?.httpResponse) {\n return false;\n }\n\n const found = tp?.httpResponse?.httpCodeIgnoreRedirect?.indexOf(httpCode) > -1;\n\n return found;\n }\n\n private getMessageType(status: number): 'theme' | 'warning' | 'success' | 'error' | 'question' {\n if (status === 409 || status === 400) {\n return 'warning';\n }\n\n return 'error';\n }\n\n private showMessage(\n message: string,\n error: HttpErrorResponse,\n mkc: MonkeyEcxServiceCredentials\n ) {\n const { snackbarService } = this;\n if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {\n snackbarService.show({\n title: this.__i18n?.TITLE,\n message,\n type: this.getMessageType(error.status),\n duration: 4000,\n horizontalPosition: 'center',\n verticalPosition: 'top'\n });\n }\n }\n\n private handleMessage(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\n // eslint-disable-next-line camelcase\n const { notifications, error_description, message } = error.error;\n let customMessage = '';\n\n if (message) {\n customMessage = message;\n }\n\n // eslint-disable-next-line camelcase\n if (error_description) {\n // eslint-disable-next-line camelcase\n customMessage = error_description;\n }\n\n if (notifications) {\n customMessage = notifications;\n }\n\n if (!customMessage) {\n if (error.error instanceof Blob) {\n const blob = new Blob([error.error], {\n type: 'application/json'\n });\n const reader = new FileReader();\n reader.addEventListener('loadend', (e) => {\n const text = e.target.result;\n const jsonResp = JSON.parse(text as string);\n customMessage = jsonResp.notifications;\n this.showMessage(customMessage, error, mkc);\n });\n reader.readAsText(blob);\n } else {\n this.showMessage(this.__i18n['ERROR-HANDLING']?.ERROR, error, mkc);\n }\n } else {\n this.showMessage(customMessage, error, mkc);\n }\n }\n\n public handleError(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\n const { router } = this;\n const { status } = error;\n\n const routes = {\n 403: 'forbidden',\n 500: 'service-problems',\n 503: 'service-problems'\n };\n\n const found = routes[status];\n let timeout = 0;\n\n if (found && !this.isHttpCodeIgnoreRedirect(mkc, error.status)) {\n const route = `/app/pages/${found}`.toLowerCase();\n timeout = 800;\n router.navigate([route]);\n }\n\n setTimeout(() => {\n this.handleMessage(error, mkc);\n }, timeout);\n }\n\n public handleErrorRefreshToken(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\n if (error.status === 401 || error.status === 400) {\n NgZone.call(this.monkeyecxAuthenticationService.redirectLoginWelcomeBack());\n } else if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {\n this.handleMessage(error, mkc);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\nimport { VersionChangedComponent } from '../../../components/version-changed';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxOthersErrorsHandlingService {\n constructor(private modalService: MonkeyStyleGuideModalService) {\n // not to do\n }\n\n public handleError(error: any) {\n const { modalService } = this;\n const { message } = error;\n\n if (new RegExp(/Loading chunk [\\d]+ failed/).test(message)) {\n modalService.open(VersionChangedComponent, {\n color: 'theme',\n size: 'md'\n });\n }\n }\n}\n","import { Injectable, Injector, ErrorHandler } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { MonkeyEcxHttpErrorHandlingService } from './monkeyecx-http-error-handling.service';\nimport { MonkeyEcxHandlingService } from '../monkeyecx-handling.service';\nimport { MonkeyEcxOthersErrorsHandlingService } from './monkeyecx-others-errors-handling.service';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxServiceCredentials } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxErrorHandlingService implements ErrorHandler {\n constructor(private injector: Injector) {\n // not to do\n }\n\n handleError(error: any, type?: string) {\n const { injector } = this;\n const handlingService = injector.get(MonkeyEcxHandlingService);\n const httpErrorHandlingService = injector.get(MonkeyEcxHttpErrorHandlingService);\n const othersErrorsHandlingService = injector.get(MonkeyEcxOthersErrorsHandlingService);\n\n if (error instanceof HttpErrorResponse) {\n const sCredentials: MonkeyEcxServiceCredentials = handlingService.getMonkeyEcxServiceCredentials();\n if (MonkeyEcxUtils.persistNullEmptyUndefined(type) && type === 'refresh_token') {\n httpErrorHandlingService.handleErrorRefreshToken(error, sCredentials);\n } else httpErrorHandlingService.handleError(error, sCredentials);\n } else {\n othersErrorsHandlingService.handleError(error);\n }\n }\n}\n","import { ErrorHandler, NgModule } from '@angular/core';\nimport { ModuleWithProviders } from '@angular/compiler/src/core';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyEcxErrorHandlingService } from './monkeyecx-error-handling.service';\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class MonkeyEcxErrorHandlingModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: MonkeyEcxErrorHandlingModule,\n providers: [\n {\n provide: ErrorHandler,\n useClass: MonkeyEcxErrorHandlingService\n }\n ]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map, mergeMap, take } from 'rxjs/operators';\nimport { MonkeyEcxAuthenticationService } from '../services/auth';\nimport { MonkeyEcxErrorHandlingService } from '../services/error';\n\nexport interface Headers {\n name: string;\n value: string;\n}\n\n@Injectable()\nexport class MonkeyEcxHttpConfigErrorInterceptor implements HttpInterceptor {\n constructor(\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\n private monkeyecxErrorHandlingService: MonkeyEcxErrorHandlingService\n ) {\n // no to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return next.handle(request).pipe(\n map((event: HttpEvent<any>) => {\n return event;\n }),\n catchError((error: HttpErrorResponse) => {\n if (this.monkeyecxAuthenticationService.refreshShouldHappen(error)) {\n return this.monkeyecxAuthenticationService.refreshToken().pipe(\n take(1),\n map(() => {\n return this.monkeyecxAuthenticationService.getRequestWithHeaders(request);\n }),\n mergeMap((resp: any) => {\n return next.handle(resp).pipe(\n catchError((error: any) => {\n this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');\n return throwError(null);\n })\n );\n }),\n catchError((error: any) => {\n this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');\n return throwError(null);\n })\n );\n }\n return throwError(error);\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map, mergeMap, take } from 'rxjs/operators';\nimport { MonkeyEcxErrorHandlingService } from '../services/error';\nimport { MonkeyEcxAuthenticationService } from '../services/auth';\n\n@Injectable()\nexport class MonkeyEcxHttpConfigHeaderInterceptor implements HttpInterceptor {\n constructor(\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\n private monkeyecxErrorHandlingService: MonkeyEcxErrorHandlingService\n ) {\n // not to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return this.monkeyecxAuthenticationService.getRequestWithHeadersOb(request).pipe(\n take(1),\n map((event: any) => {\n return event;\n }),\n mergeMap((resp: any) => {\n request = request.clone({\n setHeaders: resp\n });\n return next.handle(request);\n }),\n catchError((error: HttpErrorResponse) => {\n this.monkeyecxErrorHandlingService.handleError(error);\n return throwError(error);\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { MonkeyEcxRequestProgressQueue, MonkeyEcxRequestQueue } from '../../interfaces';\nimport { Statics } from '../../utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestQueueHandlingService {\n private queue: MonkeyEcxRequestQueue[] = [];\n\n private queues$: BehaviorSubject<MonkeyEcxRequestQueue[]>;\n\n private newQueue = new BehaviorSubject(false);\n\n constructor() {\n this.queues$ = new BehaviorSubject([]);\n }\n\n private addToQueue(q: MonkeyEcxRequestQueue) {\n this.queue.push(q);\n this.queues$.next(this.queue);\n this.newQueue.next(true);\n }\n\n private markQueueItemAsFinish(q: MonkeyEcxRequestQueue, status: number, action?: Function) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (val.status === Statics.MonkeyEcxQueueEvents.OnGoing) {\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || Statics.MonkeyEcxQueueEvents.Finished,\n action\n };\n }\n }\n return valSaved;\n })\n ];\n this.queues$.next(this.queue);\n }\n\n private updateQueue(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n const { total, loaded } = progress;\n const currentPecentage = Math.floor((loaded / total) * 100);\n const totalPercentage = 100;\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n progress: {\n loaded,\n total,\n currentPercentage: currentPecentage,\n totalPercentage\n }\n };\n }\n return valSaved;\n })\n ];\n\n this.queues$.next(this.queue);\n }\n\n private deleteQueue(q: MonkeyEcxRequestQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return null;\n }\n return valSaved;\n })\n ].filter((_: any) => {\n return _;\n });\n\n this.queues$.next(this.queue);\n }\n\n public setQueue(q: MonkeyEcxRequestQueue) {\n this.addToQueue(q);\n }\n\n public getQueue(): Observable<MonkeyEcxRequestQueue[]> {\n return this.queues$.asObservable();\n }\n\n public finishQueueItem(q: MonkeyEcxRequestQueue, action?: Function, status?: number) {\n this.markQueueItemAsFinish(q, status, action);\n }\n\n public removeQueueItem(q: MonkeyEcxRequestQueue) {\n this.deleteQueue(q);\n }\n\n public updateQueueItem(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n this.updateQueue(q, progress);\n }\n\n public hasNewQueue(): Observable<boolean> {\n return this.newQueue.pipe(\n map((_: any) => {\n return _;\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { MonkeyEcxRequestProgressQueue, MonkeyEcxRequestQueue } from '../../interfaces';\nimport { Statics } from '../../utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestQueueModalHandlingService {\n private queue: MonkeyEcxRequestQueue[] = [];\n\n private queues$: BehaviorSubject<MonkeyEcxRequestQueue[]>;\n\n private newQueue$ = new BehaviorSubject(false);\n\n private allQueueFinished$ = new BehaviorSubject(false);\n\n constructor() {\n this.queues$ = new BehaviorSubject([]);\n }\n\n private addToQueue(q: MonkeyEcxRequestQueue) {\n this.queue.push(q);\n this.queues$.next(this.queue);\n this.newQueue$.next(true);\n }\n\n private markQueueItemAsFinish(q: MonkeyEcxRequestQueue, status: number, action?: Function) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (val.status === Statics.MonkeyEcxQueueEvents.OnGoing) {\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || Statics.MonkeyEcxQueueEvents.Finished,\n action\n };\n }\n }\n return valSaved;\n })\n ];\n this.queues$.next(this.queue);\n }\n\n private updateQueue(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n const { total, loaded } = progress;\n const currentPecentage = Math.floor((loaded / total) * 100);\n const totalPercentage = 100;\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n progress: {\n loaded,\n total,\n currentPercentage: currentPecentage,\n totalPercentage\n }\n };\n }\n return valSaved;\n })\n ];\n\n this.queues$.next(this.queue);\n }\n\n private deleteQueue(q: MonkeyEcxRequestQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return null;\n }\n return valSaved;\n })\n ].filter((_: any) => {\n return _;\n });\n\n this.queues$.next(this.queue);\n if (this.queue.length <= 0) {\n this.allQueueFinished$.next(true);\n }\n }\n\n public setQueue(q: MonkeyEcxRequestQueue) {\n this.addToQueue(q);\n }\n\n public getQueue(): Observable<MonkeyEcxRequestQueue[]> {\n return this.queues$.asObservable();\n }\n\n public finishQueueItem(q: MonkeyEcxRequestQueue, action?: Function, status?: number) {\n this.markQueueItemAsFinish(q, status, action);\n }\n\n public removeQueueItem(q: MonkeyEcxRequestQueue) {\n this.deleteQueue(q);\n }\n\n public updateQueueItem(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n this.updateQueue(q, progress);\n }\n\n public hasNewQueue(): Observable<boolean> {\n return this.newQueue$.pipe(\n map((_: any) => {\n return _;\n })\n );\n }\n\n public hasAllQueueFinished(): Observable<boolean> {\n return this.allQueueFinished$.pipe(\n map((_: any) => {\n return _;\n })\n );\n }\n}\n","/* eslint-disable max-len */\nimport { Injectable, Injector } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { MonkeyEcxRequestQueueHandlingService } from '../services/request-queue';\nimport { MonkeyEcxHandlingService } from '../services/monkeyecx-handling.service';\nimport { MonkeyEcxRequestQueue } from '../interfaces';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Injectable()\nexport class MonkeyEcxHttpConfigQueueInterceptor implements HttpInterceptor {\n constructor(\n private injector: Injector,\n private monkeyecxRequestQueueHandlingService: MonkeyEcxRequestQueueHandlingService\n ) {\n // not to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const { injector, isQueueProperty } = this;\n const monkeyecxHandlingService = injector.get(MonkeyEcxHandlingService);\n\n const monkeyecxRequestQueue: MonkeyEcxRequestQueue = monkeyecxHandlingService.getMonkeyEcxRequestQueue();\n if (isQueueProperty(monkeyecxRequestQueue)) {\n this.monkeyecxRequestQueueHandlingService.setQueue(monkeyecxRequestQueue);\n }\n\n return next.handle(request).pipe(\n finalize(() => {\n if (isQueueProperty(monkeyecxRequestQueue)) {\n this.monkeyecxRequestQueueHandlingService.finishQueueItem(monkeyecxRequestQueue);\n }\n })\n );\n }\n\n private isQueueProperty(mrq: MonkeyEcxRequestQueue): boolean {\n return (\n MonkeyEcxUtils.persistNullEmptyUndefined(mrq) &&\n MonkeyEcxUtils.persistNullEmptyUndefined(mrq.item.name)\n );\n }\n}\n","/* eslint-disable max-len */\nimport { Injectable, Injector } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { MonkeyEcxHandlingService } from '../services/monkeyecx-handling.service';\nimport { MonkeyEcxRequestLoadingInProgress } from '../interfaces';\nimport { MonkeyEcxUtils } from '../utils/utils';\nimport { MonkeyEcxProgressBarService } from '../../components';\n\n@Injectable()\nexport class MonkeyEcxHttpConfigLoadingInProgressInterceptor implements HttpInterceptor {\n constructor(private injector: Injector) {\n // no to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const { injector, isLoadingInProgressProperty } = this;\n const handlingService: MonkeyEcxHandlingService = injector.get(MonkeyEcxHandlingService);\n const progressBarService: MonkeyEcxProgressBarService = injector.get(\n MonkeyEcxProgressBarService\n );\n\n const inProgress: MonkeyEcxRequestLoadingInProgress = handlingService.getMonkeyEcxServiceCredentials()\n ? handlingService.getMonkeyEcxServiceCredentials().requestInProgress\n : null;\n if (isLoadingInProgressProperty(inProgress)) {\n progressBarService.show();\n }\n\n return next.handle(request).pipe(\n finalize(() => {\n if (isLoadingInProgressProperty(inProgress)) {\n progressBarService.hide();\n }\n })\n );\n }\n\n private isLoadingInProgressProperty(mlp: MonkeyEcxRequestLoadingInProgress): boolean {\n return MonkeyEcxUtils.persistNullEmptyUndefined(mlp) &&\n MonkeyEcxUtils.persistNullEmptyUndefined(mlp.showProgress)\n ? mlp.showProgress\n : true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ModuleWithProviders } from '@angular/compiler/src/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyEcxHttpConfigErrorInterceptor } from './monkeyecx-http-config-error.interceptor';\nimport { MonkeyEcxHttpConfigHeaderInterceptor } from './monkeyecx-http-config-header.interceptor';\nimport { MonkeyEcxHttpConfigQueueInterceptor } from './monkeyecx-http-config-queue.interceptor';\nimport { MonkeyEcxHttpConfigLoadingInProgressInterceptor } from './monkeyecx-http-config-loading-in-progress.interceptor';\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class MonkeyEcxHttpConfigInterceptorModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: MonkeyEcxHttpConfigInterceptorModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigHeaderInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigErrorInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigQueueInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigLoadingInProgressInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","export interface Link {\n href: string;\n type: string;\n}\n\nexport class MonkeyEcxModel {\n _links: any;\n\n public getAction(type: string): Link {\n const { _links } = this;\n if (!_links) return null;\n const link = _links[type.toLowerCase()];\n return link;\n }\n}\n","/* eslint-disable indent */\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MonkeyEcxConfigService } from './monkeyecx-config.service';\n\n@NgModule()\nexport class MonkeyEcxConfigModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: MonkeyEcxConfigModule\n ) {\n if (parentModule) {\n throw new Error('MonkeyEcxConfigModule is already loaded. Import it in the AppModule only!');\n }\n }\n\n static forRoot(): ModuleWithProviders<MonkeyEcxConfigModule> {\n return {\n ngModule: MonkeyEcxConfigModule,\n providers: [MonkeyEcxConfigService]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { initialize, LDClient, LDFlagSet } from 'launchdarkly-js-client-sdk';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxConfigService } from './monkeyecx-config.service';\nimport { MonkeyEcxConfig, MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxFeatureToggleService {\n private readonly flagSubject$ = new BehaviorSubject(null);\n\n private flags: LDFlagSet;\n\n private ldClient: LDClient;\n\n constructor(private monkeyConfigService: MonkeyEcxConfigService) {\n // not to do\n }\n\n private getAllFlags(): void {\n this.flags = this.ldClient.allFlags();\n\n this.flagSubject$.next(true);\n }\n\n private identify(config: MonkeyEcxConfig, environment: any): void {\n if (config) {\n const email = 'monkey@monkey.exchange';\n const user = {\n email,\n key: `${config.program?.token}#${email}`\n };\n\n if (!this.ldClient) {\n this.ldClient = initialize(environment.launchDarklyClientSideID, user);\n\n this.ldClient.on('change', this.getAllFlags.bind(this));\n this.ldClient.on('ready', this.getAllFlags.bind(this));\n } else {\n this.ldClient.identify(user, null, this.getAllFlags);\n }\n }\n }\n\n public apply(configBoostrap: MonkeyEcxConfigBoostrap, environment: any) {\n if (environment.launchDarklyClientSideID) {\n this.monkeyConfigService.config().subscribe((config) => {\n this.identify(config, environment);\n });\n } else {\n this.flagSubject$.next(true);\n }\n }\n\n public get onFlags(): Observable<any> {\n return this.flagSubject$.asObservable();\n }\n\n public getFlag(flag: string): boolean | null {\n const flagValue = this.flags?.[flag];\n\n return MonkeyUtils.persistNullEmptyUndefined(flagValue) ? flagValue : null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MonkeyEcxRequestSchedule } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxLoggedHandlingService {\n private schedules: MonkeyEcxRequestSchedule[] = [];\n\n constructor() {\n // not to do\n }\n\n private destroySchedule() {\n this.schedules.forEach((sch: MonkeyEcxRequestSchedule) => {\n clearInterval(sch.interval);\n });\n this.schedules = [];\n }\n\n public addSchedule(sch: MonkeyEcxRequestSchedule[]) {\n this.schedules = sch;\n }\n\n public destroy() {\n this.destroySchedule();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxRequestDownload } from '../../interfaces';\nimport { MonkeyEcxDownloadEvents } from '../../utils/statics';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestDownloadHandlingService {\n private download: MonkeyEcxRequestDownload[] = [];\n\n private download$: BehaviorSubject<MonkeyEcxRequestDownload[]>;\n\n constructor() {\n this.download$ = new BehaviorSubject([]);\n }\n\n private addTo(q: MonkeyEcxRequestDownload) {\n this.download.push(q);\n this.download$.next(this.download);\n }\n\n private markItemAsFinish(q: MonkeyEcxRequestDownload, status: number) {\n const saved = [...this.download];\n this.download = [\n ...saved\n .map((val: any) => {\n if (val.status === MonkeyEcxDownloadEvents.OnGoing) {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || MonkeyEcxDownloadEvents.Finished\n };\n }\n return valSaved;\n }\n return null;\n })\n .filter((_: any) => {\n return _;\n })\n ];\n\n this.download = this.download.filter((_: any) => {\n return _.status === MonkeyEcxDownloadEvents.OnGoing;\n });\n this.download$.next(this.download);\n }\n\n private updateItem(q: MonkeyEcxRequestDownload, loaded?: number, total?: number) {\n const saved = [...this.download];\n this.download = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n const currentPecentage = Math.floor((loaded / total) * 100);\n const totalPercentage = 100;\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n loaded,\n total,\n currentPercentage: currentPecentage,\n totalPercentage\n };\n }\n return valSaved;\n })\n ];\n this.download$.next(this.download);\n }\n\n public set(q: MonkeyEcxRequestDownload) {\n this.addTo(q);\n }\n\n public get(): Observable<MonkeyEcxRequestDownload[]> {\n return this.download$.asObservable();\n }\n\n public update(q: MonkeyEcxRequestDownload, loaded?: number, total?: number) {\n this.updateItem(q, loaded, total);\n }\n\n public finishItem(q: MonkeyEcxRequestDownload, status?: number) {\n this.markItemAsFinish(q, status);\n }\n\n public hasDownloadOnGoing(): boolean {\n const found = this.download.find((_: any) => {\n return _.status === MonkeyEcxDownloadEvents.OnGoing;\n });\n return MonkeyEcxUtils.persistNullEmptyUndefined(found);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { Statics } from '../../utils';\nimport { MonkeyEcxRequestDownloaded } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestDownloadedHandlingService {\n private downloaded: MonkeyEcxRequestDownloaded[] = [];\n\n private downloaded$: BehaviorSubject<MonkeyEcxRequestDownloaded[]>;\n\n constructor() {\n this.downloaded$ = new BehaviorSubject([]);\n }\n\n private addTo(q: MonkeyEcxRequestDownloaded) {\n this.downloaded.push(q);\n this.downloaded$.next(this.downloaded);\n }\n\n private markItemAsFinish(q: MonkeyEcxRequestDownloaded, status: number) {\n const saved = [...this.downloaded];\n this.downloaded = [\n ...saved.map((val: any) => {\n if (val.status === Statics.MonkeyEcxDownloadEvents.OnGoing) {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || Statics.MonkeyEcxDownloadEvents.Finished,\n action: q.action\n };\n }\n return valSaved;\n }\n return val;\n })\n ];\n this.downloaded$.next(this.downloaded);\n }\n\n public set(q: MonkeyEcxRequestDownloaded) {\n this.addTo(q);\n }\n\n public get(): Observable<MonkeyEcxRequestDownloaded[]> {\n return this.downloaded$.asObservable();\n }\n\n public finishItem(q: MonkeyEcxRequestDownloaded, status?: number) {\n this.markItemAsFinish(q, status);\n }\n\n public hasDownloadOnGoing(): boolean {\n const found = this.downloaded.find((_: any) => {\n return _.status === Statics.MonkeyEcxDownloadEvents.OnGoing;\n });\n return MonkeyEcxUtils.persistNullEmptyUndefined(found);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRouteSnapshot } from '@angular/router';\nimport { MonkeyEcxUtils } from '../../utils/utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxDiscoveryParamsService {\n constructor(private router: Router) {\n // not to do\n }\n\n private getLastChild(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n if (route.firstChild) {\n return this.getLastChild(route.firstChild);\n }\n\n return route;\n }\n\n public setData(field: string, value: any): any {\n const { root } = this.router.routerState.snapshot;\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\n route.data[field] = value;\n }\n\n public getData(field: string): any {\n const { root } = this.router.routerState.snapshot;\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\n\n const found: any = MonkeyEcxUtils.persistNullEmptyUndefined(route) ? route.data[field] : null;\n return found;\n }\n\n public getDataFromCurrentNavigation(field: string): any {\n const navigation = this.router.getCurrentNavigation();\n let state: any = null;\n if (MonkeyEcxUtils.persistNullEmptyUndefined(navigation)) {\n state = navigation.extras.state;\n }\n\n return state ? state[field] : null;\n }\n\n public getParam(param: string): string | null {\n const { root } = this.router.routerState.snapshot;\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\n let found: string = MonkeyEcxUtils.persistNullEmptyUndefined(route)\n ? route.paramMap.get(param)\n : '';\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(found)) found = this.getData(param);\n return found;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxLoggedHandlingService } from '../logged';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxRequestSchedule } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestScheduleService {\n private schedule: MonkeyEcxRequestSchedule[] = [];\n\n constructor(\n public monkeyecxService: MonkeyEcxService,\n private monkeyecxLoggedHandlingService: MonkeyEcxLoggedHandlingService\n ) {\n // not to do\n }\n\n private addToSchedule(q: MonkeyEcxRequestSchedule) {\n this.schedule.push(q);\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\n }\n\n private removeFromSchedule(q: MonkeyEcxRequestSchedule) {\n clearInterval(q.interval);\n const saved = [...this.schedule];\n this.schedule = [\n ...saved.map((sch: MonkeyEcxRequestSchedule) => {\n const savedLocal = {\n ...sch\n };\n if (sch.id === q.id) {\n return null;\n }\n return savedLocal;\n })\n ].filter((_: any) => {\n return _;\n });\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\n }\n\n private removeFromScheduleById(id: string) {\n const q = this.getScheduleById(id);\n clearInterval(q.interval);\n const saved = [...this.schedule];\n this.schedule = [\n ...saved.map((sch: MonkeyEcxRequestSchedule) => {\n const savedLocal = {\n ...sch\n };\n if (sch.id === q.id) {\n return null;\n }\n return savedLocal;\n })\n ].filter((_: any) => {\n return _;\n });\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\n }\n\n @MonkeyEcxCoreService({\n httpResponse: {\n httpCodeIgnore: [400, 403, 404, 500, 503]\n },\n requestInProgress: {\n showProgress: false\n }\n })\n private doCall(sch: MonkeyEcxRequestSchedule) {\n const { url, method, params, data, action } = sch;\n this.monkeyecxService[method.toLowerCase()]<any>(`${url}`, params).subscribe(\n (resp: any) => {\n action(\n {\n ...data,\n ...resp\n },\n sch\n );\n },\n () => {\n this.removeFromSchedule(sch);\n }\n );\n }\n\n public setSchedule(q: MonkeyEcxRequestSchedule, delay: number = 3000) {\n const interval = setInterval(() => {\n this.doCall({\n ...q,\n interval\n });\n }, delay);\n\n const sch = {\n ...q,\n id: `${MonkeyEcxUtils.getRandomString(40)}`,\n interval\n };\n\n this.addToSchedule(sch);\n return sch;\n }\n\n public removeSchedule(q: MonkeyEcxRequestSchedule) {\n this.removeFromSchedule(q);\n }\n\n public removeScheduleById(id: string) {\n this.removeFromScheduleById(id);\n }\n\n public getScheduleById(id: string) {\n const q = this.schedule.find((sch: MonkeyEcxRequestSchedule) => {\n return sch.id === id;\n });\n return q;\n }\n}\n","import { MonkeyEcxUtils } from '../utils/utils';\n\n/* eslint-disable no-unused-vars */\nexport enum OpSearch {\n LIKE = ':*:value*',\n BETWEEN = ':first AND :last',\n OR = 'OR',\n AND = 'AND',\n GT = '>:value',\n LT = '<:value',\n EQUAL = '::value'\n}\n\nexport class MonkeyEcxSpecificationSearch {\n constructor() {\n // not to do\n }\n\n private handleValue(value: any) {\n return Object.entries(value).map(([key, value1]) => {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(value1)) {\n return null;\n }\n if (Array.isArray(value1)) {\n if (key === OpSearch.BETWEEN) {\n return `${key}`.replace(':first', value1[0]).replace(':last', value1[1]);\n }\n }\n return `${key}`.replace(':value', value1.toString());\n })[0];\n }\n\n private queryVisitor(value: any) {\n const okay = Object.entries(value).map(([key1, value1]) => {\n if (key1 === OpSearch.OR || key1 === OpSearch.AND) {\n const join = (value1 as any[])\n .map((_: any) => {\n return Object.entries(_).map(([key2, value2]) => {\n if (value2 instanceof Object) {\n value2 = this.handleValue(value2);\n }\n return this.criteriaParser(key2, value2);\n })[0];\n })\n .filter((_: any) => {\n return _;\n })\n .join(` ${key1} `);\n return `${join ? `(${join})` : ''}`;\n }\n if (value1 instanceof Object) {\n value1 = this.handleValue(value1);\n }\n return this.criteriaParser(key1, value1);\n });\n return okay\n .filter((_: any) => {\n return _;\n })\n .join(' AND ');\n }\n\n private criteriaParser(key: string, value: any | any[]) {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n return '';\n }\n if (value instanceof Object) {\n return this.queryVisitor(value);\n }\n return `${key}${value}`;\n }\n\n public build(spec: any): string {\n try {\n return this.queryVisitor(spec);\n } catch (e) {\n throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);\n }\n }\n\n public buildMoreThanOne(field: string, op = OpSearch.EQUAL) {\n try {\n if (!this[field]) return [];\n\n const filters = this[field]?.split(',')?.map((filter: string) => {\n if (!filter) return null;\n return {\n [field]: {\n [op]: `${filter}`\n }\n };\n }).filter((val: any) => { return val; });\n return filters || [];\n } catch (e) {\n throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\nimport { CommonModule } from '@angular/common';\nimport {\n MonkeyStyleGuideModalService,\n MonkeyStyleGuideModule,\n MonkeyStyleGuideSettingsService,\n MonkeyStyleGuideSnackbarService\n} from 'monkey-style-guide';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ServiceWorkerModule } from '@angular/service-worker';\nimport { ClosedToMaintenanceModule } from './components/closed-to-maintenance';\nimport { VersionChangedModule } from './components/version-changed';\nimport {\n MonkeyEcxConfigModule,\n MonkeyEcxErrorHandlingModule,\n MonkeyEcxHttpConfigInterceptorModule\n} from './core';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n TranslateModule.forRoot(),\n MonkeyEcxConfigModule.forRoot(),\n MonkeyEcxHttpConfigInterceptorModule.forRoot(),\n MonkeyEcxErrorHandlingModule.forRoot(),\n MonkeyStyleGuideModule,\n ServiceWorkerModule.register('ngsw-worker.js'),\n ClosedToMaintenanceModule,\n VersionChangedModule\n ],\n providers: [\n MonkeyStyleGuideModalService,\n MonkeyStyleGuideSettingsService,\n MonkeyStyleGuideSnackbarService\n ]\n})\nexport class MonkeyFrontCoreModuleModule {}\n","/*\n * Public API Surface of monkey-front-core\n */\nexport * from './lib/components';\nexport * from './lib/core';\nexport * from './lib/monkey-front-core.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["moment","moment_","Pipe","Component","ViewEncapsulation","Input","formatNumber","TranslateService","CurrencyPipe","NgModule","CommonModule","MonkeyButtonModule","MonkeyIconModule","MonkeyInputModule","MonkeyModalModule","TranslateModule","BehaviorSubject","filter","NavigationStart","NavigationEnd","NavigationError","NavigationCancel","Injectable","Statics.MonkeyEcxQueueEvents","Statics.MonkeyEcxUploadEvents","DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties","DecoratorsUtils.buildQueuePropertys","MonkeyUtils","DecoratorsUtils.buildDownloadPropertys","DecoratorsUtils.buildUploadPropertys","EventEmitter","Directive","Output","HostBinding","HostListener","NG_VALUE_ACCESSOR","forwardRef","Self","HttpParams","take","takeWhile","throwError","map","catchError","DOCUMENT","Inject","registerLocaleData","localePTBR","datadogRum","first","interval","concat","of","NgZone","HttpErrorResponse","ErrorHandler","mergeMap","finalize","HTTP_INTERCEPTORS","Optional","SkipSelf","initialize","Statics.MonkeyEcxDownloadEvents","OpSearch","HttpClientModule","MonkeyStyleGuideModule","MonkeyStyleGuideModalService","MonkeyStyleGuideSettingsService","MonkeyStyleGuideSnackbarService","ServiceWorkerModule"],"mappings":"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"}
1
+ {"version":3,"file":"monkey-front-core.umd.js","sources":["../../../projects/monkey-front-core/src/lib/core/utils/utils.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-date-timelapse.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.html","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-number.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-value.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-document.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-display-first-name.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-size.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-currency.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-zipcode.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-text-truncate.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-type-document.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-truncate-qtd.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-pipes.module.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.module.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.service.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.component.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.component.html","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.module.ts","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.component.ts","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.component.html","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.module.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/monkey-front-core/src/lib/core/utils/validate-utils.ts","../../../projects/monkey-front-core/src/lib/core/utils/statics.ts","../../../projects/monkey-front-core/src/lib/core/utils/decorators-utils.ts","../../../projects/monkey-front-core/src/lib/core/utils/index.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-decorators.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-download-decorators.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-upload-decorators.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-drag-drop.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-format-currency.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-format-upper.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-only-alpha-numeric-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-only-number-directive.ts","../../../projects/monkey-front-core/src/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.ts","../../../projects/monkey-front-core/src/lib/core/services/commons/monkeyecx-commons.service.ts","../../../projects/monkey-front-core/src/lib/core/services/monkeyecx-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/monkeyecx-service.service.ts","../../../projects/monkey-front-core/src/lib/core/services/storage/monkeyecx-cookie-storage.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-i18n-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-logs-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-service-worker-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-security-console-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-maintenance-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/storage/monkeyecx-token-storage.service.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-security-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-tooltip-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-directives-module.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-authentication.service.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-auth-guard-login.service.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-auth-guard.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-http-error-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-others-errors-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-error-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-error-handling.module.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-error.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-header.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-interceptor.module.ts","../../../projects/monkey-front-core/src/lib/core/model/monkeyecx-model.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-config.module.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-feature-toggle.service.ts","../../../projects/monkey-front-core/src/lib/core/services/logged/monkeyecx-logged-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-download/monkeyecx-request-download-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/routes/monkeyecx-dicovery-params.service.ts","../../../projects/monkey-front-core/src/lib/core/services/schedules/monkeyecx-request-schedule.service.ts","../../../projects/monkey-front-core/src/lib/core/specification-search/monkeyecx-specification-search.ts","../../../projects/monkey-front-core/src/lib/monkey-front-core.module.ts","../../../projects/monkey-front-core/src/public-api.ts","../../../projects/monkey-front-core/src/monkey-front-core.ts"],"sourcesContent":["/* eslint-disable comma-dangle */\n/* eslint-disable max-len */\n/* eslint-disable no-useless-escape */\n/* eslint-disable no-plusplus */\n/* eslint-disable no-cond-assign */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-redeclare */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\n/* eslint-disable block-scoped-var */\nexport class MonkeyEcxUtils {\n static persistNullEmptyUndefined(tp: any): boolean {\n return tp !== null && tp !== undefined && tp !== '';\n }\n\n static getDocumentType(doc: string, country?: string) {\n if (!doc) return '';\n if (country === 'cl') return 'RUT';\n return doc.length <= 11 ? 'CPF' : 'CNPJ';\n }\n\n static getDocumentMask(type: string) {\n if (type === 'CPF') return '000.000.000-00';\n return '00.000.000/0000-00';\n }\n\n static formatDocumentWithMask(doc: string, withType?: boolean, country?: string): string {\n if (!doc) return doc;\n let formated: string = '';\n if (country === 'cl') {\n formated = doc.replace(/^(\\d{1,2})(\\d{3})(\\d{3})(\\w{1})$/, '$1.$2.$3-$4');\n return `${formated}`;\n }\n if (doc.length === 14) {\n formated = doc\n .replace(/^(\\d{2})(\\d)/, '$1.$2')\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, '$1.$2.$3')\n .replace(/\\.(\\d{3})(\\d)/, '.$1/$2')\n .replace(/(\\d{4})(\\d)/, '$1-$2');\n } else {\n formated = doc\n .replace(/^(\\d{3})(\\d)/, '$1.$2')\n .replace(/^(\\d{3})\\.(\\d{3})(\\d)/, '$1.$2.$3')\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\n }\n\n return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;\n }\n\n static cutFirstLastName(value: string, tp: string = 'first') {\n const split = value?.trim()?.split(' ');\n\n if (tp === 'first') return split[0];\n return split?.splice(1, split.length)?.join(' ');\n }\n\n static isCPFCNPJValid(document: any): boolean {\n document = document.replace(/[^\\d]/g, '');\n if (document.length === 11) {\n let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\n for (var i = 0, n = 0; i < 9; n += document[i] * base[i++]);\n if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\n return false;\n }\n base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\n for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++]);\n if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\n return false;\n }\n return true;\n }\n if (document.length === 14 || /0{14}/.test(document)) {\n const base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n for (var i = 0, n = 0; i < 12; n += document[i] * base[++i]);\n if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {\n return false;\n }\n\n for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++]);\n if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {\n return false;\n }\n\n return true;\n }\n return false;\n }\n\n public static isValidRUT(document: string): boolean {\n if (!document || document.trim().length < 3) return false;\n const documentHandled = document.replace(/[^0-9kK]/g, '');\n\n if (documentHandled.length < 3) return false;\n\n const calcDv = (rut: string) => {\n const value: string = `${rut}`;\n let sum = 0;\n let mult = 2;\n\n for (let i = 1; i <= value.length; i++) {\n const index = mult * Number(value.charAt(value.length - i));\n\n sum += index;\n\n if (mult < 7) {\n mult += 1;\n } else {\n mult = 2;\n }\n }\n\n const dvEsperado = 11 - (sum % 11);\n if (dvEsperado === 10) return 'K';\n if (dvEsperado === 11) return '0';\n return `${dvEsperado}`;\n };\n\n const num = documentHandled.slice(0, -1);\n const dgv = documentHandled.slice(-1).toUpperCase();\n\n const dvCalc = calcDv(num);\n return dvCalc === dgv;\n }\n\n static isValidUrl(txt: string): boolean {\n const regex = new RegExp(\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)+[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,10}(:[0-9]{1,5})?(\\/.*)?$/gm\n );\n return regex.test(txt);\n }\n\n static isValidZipCode(zipCode: string): boolean {\n return `${this.handleOnlyNumbers(zipCode)}`.length === 8;\n }\n\n static getRandomString(len: number, charSet?: string): string {\n charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\n const randomString: string = new Array(len)\n .fill('1')\n .map(() => {\n return charSet.charAt(Math.floor(Math.random() * charSet.length));\n })\n .join('');\n return randomString;\n }\n\n static handleOnlyNumbers(value: any) {\n if (!value) return null;\n return value.replace(new RegExp(/[^0-9]/g), '');\n }\n\n static handleOnlyAlphaNumeric(value: any) {\n if (!value) return '';\n return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');\n }\n\n static capitalize(value: string) {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n }\n\n static formatZipCode(zipCode: string): string {\n if (!zipCode) return zipCode;\n const formated: string = zipCode\n .replace(/^(\\d{5})(\\d)/, '$1-$2')\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\n\n return `${formated}`;\n }\n\n static formatFileSize(size: number): string {\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let l = 0;\n while (size >= 1024 && ++l) {\n size /= 1024;\n }\n return `${size.toFixed(size < 10 && l > 0 ? 1 : 0)} ${units[l]}`;\n }\n\n static sufflue(data: any[]): any[] {\n for (let i = data.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * i);\n const temp = data[i];\n data[i] = data[j];\n data[j] = temp;\n }\n return data;\n }\n\n static handleBlobFile(theBlob: any, fileName: string, fileType: string) {\n function blobToFile(theBlob: any, fileName: string) {\n const b = theBlob;\n b.lastModifiedDate = new Date();\n b.name = fileName;\n return b;\n }\n\n let file: any;\n if (!(navigator as any).msSaveBlob) {\n file = new File([theBlob], fileName, {\n type: fileType,\n });\n } else {\n file = new Blob([theBlob], {\n type: fileType,\n });\n file = blobToFile(file, fileName);\n }\n return file;\n }\n\n static truncate(text: string, maxLength: number = 25): string {\n const midChar = '...';\n if (!text) return midChar;\n if (text && text.length <= maxLength) return text;\n\n const left = Math.ceil(maxLength / 2);\n const right = text.length - left + 1;\n\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\n }\n\n static isLocalhost() {\n const { href } = window?.location;\n if (!href) return false;\n return href?.search('localhost') >= 0;\n }\n\n static isSameOrigin(frontend: string): boolean {\n const initialPath: string = window.location.origin;\n return (initialPath || '') === frontend;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport * as moment_ from 'moment';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\nconst moment = moment_;\n\n@Pipe({\n name: 'monkeyecxFormatDateTimelapse'\n})\nexport class MonkeyEcxFormatDateTimelapsePipe implements PipeTransform {\n constructor() {\n // not todo\n }\n\n transform(\n date: string | Date,\n showTime = false,\n useUtc = true,\n format?: any\n ): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(date)) return '';\n if (!format) {\n format = '- HH:mm';\n }\n let stillUtc: any = moment.utc(date).toDate();\n if (!useUtc) stillUtc = moment(date).toDate();\n if (date.toString()?.indexOf(':') <= -1) {\n stillUtc = date;\n showTime = false;\n }\n const formatFrom = `YYYY/MM/DD${showTime ? ` ${format}` : ''}`;\n const formatTo = `DD/MM/YYYY${showTime ? ` ${format}` : ''}`;\n return `${moment(stillUtc, formatFrom).format(formatTo)}`;\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MonkeyModalConfig } from 'monkey-style-guide';\nimport { MonkeyEcxConfigBoostrap } from '../../core/interfaces';\n\n@Component({\n selector: 'monkeyecx-closed-to-maintenance',\n templateUrl: './closed-to-maintenance.component.html',\n styleUrls: ['./closed-to-maintenance.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ClosedToMaintenanceComponent implements OnInit {\n @Input() config: MonkeyModalConfig;\n\n @Input() modalRef: any;\n\n _configBoostrap: MonkeyEcxConfigBoostrap = null;\n\n ngOnInit() {\n this._configBoostrap = this.config.data;\n }\n\n onClose() {\n document.location.reload();\n }\n}\n","<monkey-modal [config]=\"config\" [modalRef]=\"modalRef\">\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <span class=\"h2\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.TITLE' | translate }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-1' | translate }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-2' | translate }}\n </span>\n <span class=\"information mt-3\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-3' | translate }}\n {{ _configBoostrap?.maintenance?.endDate | monkeyecxFormatDateTimelapse: true }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-4' | translate }}\n </span>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-5\">\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onClose()\">\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.BUTTONS.UPDATE-MAINTENANCE' | translate }}\n </monkey-button>\n </div>\n</monkey-modal>","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatNumber } from '@angular/common';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatNumber'\n})\nexport class MonkeyEcxFormatNumber implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(number: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(number)) return '';\n\n return formatNumber(Number(number), 'ptbr');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatValue'\n})\nexport class MonkeyEcxFormatValue implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(number: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(number)) return '';\n return number;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatDocument'\n})\nexport class MonkeyEcxFormatDocumentPipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(document: string, withType?: false): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(document)) return '';\n return MonkeyEcxUtils.formatDocumentWithMask(document, withType);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxDisplayFirstName'\n})\nexport class MonkeyEcxDisplayFirstNamePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(name: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(name)) return '';\n return MonkeyEcxUtils.cutFirstLastName(name);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatSize'\n})\nexport class MonkeyEcxFormatSizePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(size: string): string {\n if (!size) return '0 B';\n const sizeNum = Number(size);\n return MonkeyEcxUtils.formatFileSize(sizeNum);\n }\n}\n","import { Pipe, PipeTransform, Injector } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'monkeyecxFormatCurrency'\n})\nexport class MonkeyEcxFormatCurrencyPipe implements PipeTransform {\n private currencyCode: string = 'BRL';\n\n private currentLocale: string = 'pt-BR';\n\n constructor(private injector: Injector, private currencyPipe: CurrencyPipe) {\n const translateService = this.injector.get(TranslateService);\n translateService.get('MONKEY-CURRENCY-CODE').subscribe((_: any) => {\n this.currencyCode = _;\n this.currentLocale = translateService.getDefaultLang();\n });\n }\n\n transform(value: any) {\n const { currencyCode, currentLocale } = this;\n return this.currencyPipe.transform(value, currencyCode, 'symbol', '', currentLocale);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatZipCode'\n})\nexport class MonkeyEcxFormatZipCodePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(zipCode: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(zipCode)) return '';\n return MonkeyEcxUtils.formatZipCode(zipCode);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monkeyecxTextTruncate'\n})\nexport class MonkeyEcxTextTruncatePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(text: string, maxLength: number = 25): string {\n const midChar = '...';\n if (!text) return midChar;\n if (text && text.length <= maxLength) return text;\n\n const left = Math.ceil(maxLength / 2);\n const right = text.length - left + 1;\n\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxDocumentType'\n})\nexport class MonkeyEcxDocumentTypePipe implements PipeTransform {\n constructor() {\n // not to do\n }\n\n transform(document: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(document)) return '';\n return MonkeyEcxUtils.getDocumentType(document);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monkeyecxTruncateQtd'\n})\nexport class MonkeyEcxTruncateQtdPipe implements PipeTransform {\n transform(number: number, threshold: number): string {\n return `${number > threshold ? `${threshold}+` : number}`;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { MonkeyEcxFormatNumber } from './monkeyecx-format-number';\nimport { MonkeyEcxFormatValue } from './monkeyecx-format-value';\nimport { MonkeyEcxFormatDocumentPipe } from './monkeyecx-format-document';\nimport { MonkeyEcxFormatDateTimelapsePipe } from './monkeyecx-format-date-timelapse';\nimport { MonkeyEcxDisplayFirstNamePipe } from './monkeyecx-display-first-name';\nimport { MonkeyEcxFormatSizePipe } from './monkeyecx-format-size';\nimport { MonkeyEcxFormatCurrencyPipe } from './monkeyecx-format-currency';\nimport { MonkeyEcxFormatZipCodePipe } from './monkeyecx-format-zipcode';\nimport { MonkeyEcxTextTruncatePipe } from './monkeyecx-text-truncate';\nimport { MonkeyEcxDocumentTypePipe } from './monkeyecx-format-type-document';\nimport { MonkeyEcxTruncateQtdPipe } from './monkeyecx-truncate-qtd';\n\n@NgModule({\n declarations: [\n MonkeyEcxFormatDocumentPipe,\n MonkeyEcxFormatDateTimelapsePipe,\n MonkeyEcxDisplayFirstNamePipe,\n MonkeyEcxFormatSizePipe,\n MonkeyEcxFormatCurrencyPipe,\n MonkeyEcxFormatZipCodePipe,\n MonkeyEcxFormatNumber,\n MonkeyEcxFormatValue,\n MonkeyEcxTextTruncatePipe,\n MonkeyEcxTruncateQtdPipe,\n MonkeyEcxDocumentTypePipe\n ],\n exports: [\n MonkeyEcxFormatDocumentPipe,\n MonkeyEcxFormatDateTimelapsePipe,\n MonkeyEcxDisplayFirstNamePipe,\n MonkeyEcxFormatSizePipe,\n MonkeyEcxFormatCurrencyPipe,\n MonkeyEcxFormatZipCodePipe,\n MonkeyEcxFormatNumber,\n MonkeyEcxFormatValue,\n MonkeyEcxTextTruncatePipe,\n MonkeyEcxTruncateQtdPipe,\n MonkeyEcxDocumentTypePipe\n ],\n providers: [CurrencyPipe]\n})\nexport class MonkeyEcxPipesModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule\n} from 'monkey-style-guide';\nimport { MonkeyEcxPipesModule } from '../../core/pipes/monkeyecx-pipes.module';\nimport { ClosedToMaintenanceComponent } from './closed-to-maintenance.component';\n\n@NgModule({\n declarations: [ClosedToMaintenanceComponent],\n imports: [\n CommonModule,\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule,\n MonkeyEcxPipesModule,\n TranslateModule.forChild()\n ],\n exports: [ClosedToMaintenanceComponent]\n})\nexport class ClosedToMaintenanceModule {}\n","import { Injectable } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router\n} from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxProgressBarService {\n private visible: BehaviorSubject<boolean>;\n\n constructor(private router: Router) {\n this.init();\n }\n\n private init() {\n this.visible = new BehaviorSubject(false);\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n })\n )\n .subscribe(() => {\n this.show();\n });\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return (\n event instanceof NavigationEnd ||\n event instanceof NavigationError ||\n event instanceof NavigationCancel\n );\n })\n )\n .subscribe(() => {\n this.hide();\n });\n }\n\n show() {\n this.visible.next(true);\n }\n\n hide() {\n this.visible.next(false);\n }\n\n visibleConfig(): Observable<any> {\n return this.visible.asObservable();\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MonkeyEcxProgressBarService } from './progress-bar.service';\n\n@Component({\n selector: 'monkeyecx-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MonkeyEcxProgressBarComponent implements OnInit {\n visible: boolean = false;\n\n constructor(private progressBarService: MonkeyEcxProgressBarService) {\n //not to do\n }\n\n ngOnInit() {\n this.progressBarService.visibleConfig().subscribe((visible: boolean) => {\n this.visible = visible;\n });\n }\n}\n","<ng-container *ngIf=\"visible\">\n <progress class=\"monkey-progress monkey-progress__theme\"></progress>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MonkeyEcxProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [MonkeyEcxProgressBarComponent],\n imports: [CommonModule],\n exports: [MonkeyEcxProgressBarComponent]\n})\nexport class MonkeyEcxProgressBarModule {}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MonkeyModalConfig } from 'monkey-style-guide';\n\n@Component({\n selector: 'monkeyecx-version-changed',\n templateUrl: './version-changed.component.html',\n styleUrls: ['./version-changed.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VersionChangedComponent {\n @Input() config: MonkeyModalConfig;\n\n @Input() modalRef: any;\n\n onClose() {\n document.location.reload();\n }\n}\n","<monkey-modal [config]=\"config\" [modalRef]=\"modalRef\">\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\n <span class=\"h2\">\n {{ 'SCREENS.VERSION-CHANGED.TITLE' | translate }}\n </span>\n <span class=\"information-title mt-4\">\n {{ 'SCREENS.VERSION-CHANGED.INFORMATION-1' | translate }}\n </span>\n <span class=\"information mt-3\">\n {{ 'SCREENS.VERSION-CHANGED.INFORMATION-2' | translate }}\n </span>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-5\">\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onClose()\">\n {{ 'SCREENS.VERSION-CHANGED.BUTTONS.UPDATE-VERSION' | translate }}\n </monkey-button>\n </div>\n</monkey-modal>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule\n} from 'monkey-style-guide';\nimport { VersionChangedComponent } from './version-changed.component';\n\n@NgModule({\n declarations: [VersionChangedComponent],\n imports: [\n CommonModule,\n MonkeyButtonModule,\n MonkeyIconModule,\n MonkeyInputModule,\n MonkeyModalModule,\n TranslateModule.forChild()\n ],\n exports: [VersionChangedComponent]\n})\nexport class VersionChangedModule {}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/* eslint-disable max-classes-per-file */\nimport * as moment_ from 'moment';\nimport { AbstractControl } from '@angular/forms';\nimport { MonkeyEcxUtils } from './utils';\n\nconst moment = moment_;\n\nexport class DateValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n const dateFormat = 'MM-DD-YYYY';\n if (\n !moment(\n moment(control.value).format(dateFormat),\n ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'],\n true\n ).isValid()\n ) {\n return {\n invalidDate: true\n };\n }\n }\n return null;\n }\n}\n\nexport class DocumentValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {\n return {\n invalidCpfCnpj: true\n };\n }\n }\n return null;\n }\n}\n\nexport class DocumentRutValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isValidRUT(control.value)) {\n return {\n invalidRut: true\n };\n }\n }\n return null;\n }\n}\n\nexport class ZipCodeValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isValidZipCode(control.value)) {\n return {\n invalidZipCode: true\n };\n }\n }\n return null;\n }\n}\n\nexport class ComboValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value !== '0') return null;\n return {\n invalidCombo: true\n };\n }\n}\n\nexport class isTrueValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value !== false) return null;\n return {\n invalidTrue: true\n };\n }\n}\n\nexport class PasswordMatchValidation {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n const { parent } = control;\n const password = parent.get('password').value;\n const passwordConfirm = parent.get('passwordConfirm').value;\n if (!password || !passwordConfirm) return null;\n if (password === passwordConfirm) return null;\n return {\n passwordsNotMatching: true\n };\n }\n}\n\nexport class UrlValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n if (control && control.value) {\n if (!MonkeyEcxUtils.isValidUrl(control.value)) {\n return {\n invalidUrl: true\n };\n }\n }\n return null;\n }\n}\n\nexport class CustomDatesStartValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n const { parent } = control;\n\n const valueStart = parent.get('dateStart').value;\n const valueEnd = parent.get('dateEnd').value;\n let dateStart: Date;\n let dateEnd: Date;\n if (valueStart) {\n dateStart = new Date(valueStart);\n }\n if (valueEnd) {\n dateEnd = new Date(valueEnd);\n }\n\n if (!dateStart || !dateEnd) return null;\n if (dateStart > dateEnd) {\n return {\n dateStartMustBeLessThanAnd: true\n };\n }\n return null;\n }\n}\n\nexport class CustomDatesEndValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n const { parent } = control;\n\n const valueStart = parent.get('dateStart').value;\n const valueEnd = parent.get('dateEnd').value;\n let dateStart: Date;\n let dateEnd: Date;\n if (valueStart) {\n dateStart = new Date(valueStart);\n }\n if (valueEnd) {\n dateEnd = new Date(valueEnd);\n }\n\n if (!dateEnd || !dateStart) return null;\n if (dateEnd < dateStart) {\n return {\n dateEndMustBeGreaterThanStart: true\n };\n }\n return null;\n }\n}\n\nexport class UnlockRegisterBuyerValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n\n if (control && control.value !== '#MONKEYBUYER') {\n return {\n invalidUnlockRegister: true\n };\n }\n\n return null;\n }\n}\n\nexport class UnlockRegisterSponsorValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) return null;\n\n if (control && control.value !== '#MONKEYSPONSOR') {\n return {\n invalidUnlockRegister: true\n };\n }\n\n return null;\n }\n}\n\nexport class DateRangeValidator {\n static do(control: AbstractControl) {\n if (!control.parent || !control) {\n return null;\n }\n\n const dates = control.parent.get('dates').value;\n\n if (\n dates &&\n (!MonkeyEcxUtils.persistNullEmptyUndefined(dates.startDate) ||\n !MonkeyEcxUtils.persistNullEmptyUndefined(dates.endDate))\n ) {\n return {\n invalidDateRange: true\n };\n }\n\n return null;\n }\n}\n","/* eslint-disable no-unused-vars */\n/* eslint-disable no-shadow */\nexport enum MonkeyEcxQueueEvents {\n OnGoing,\n Finished,\n FinishedWithError\n}\n\nexport enum MonkeyEcxDownloadEvents {\n OnGoing,\n Finished,\n FinishedWithError\n}\n\nexport enum MonkeyEcxUploadEvents {\n OnGoing,\n Finished,\n FinishedWithError\n}\n\n// TODO pegar do json de config\nexport enum ApiEndPointsTokenNotMandatory {\n Assets = 'assets/',\n MonkeyEcx = '/monkeyecx',\n ViaCep = 'viacep.com.br/'\n}\n\n// TODO pegar do json de config\nexport enum ApiEndPointsHeaderNotMandatory {\n Assets = '/assets',\n PayablesUpload = 'payables-upload',\n PictureUser = '/user-pictures',\n Documents = 'documents/',\n BuyerTaxFile = '/buyer-tax-file',\n ViaCep = 'viacep.com.br/'\n}\n","import {\n MonkeyEcxRequestDownload,\n MonkeyEcxRequestItemQueue,\n MonkeyEcxRequestQueue,\n MonkeyEcxRequestUpload\n} from '../interfaces';\nimport * as Statics from './statics';\nimport { MonkeyEcxUtils } from './utils';\n\nexport function buildQueuePropertys(queue: MonkeyEcxRequestItemQueue): MonkeyEcxRequestQueue {\n const params: MonkeyEcxRequestQueue = {\n item: {\n ...queue,\n id: MonkeyEcxUtils.getRandomString(40)\n },\n status: Statics.MonkeyEcxQueueEvents.OnGoing\n };\n\n return params;\n}\n\nexport function buildDownloadPropertys(\n name: string,\n description?: string,\n size?: number\n): MonkeyEcxRequestDownload {\n const params: MonkeyEcxRequestDownload = {\n item: {\n name,\n description,\n id: `${MonkeyEcxUtils.getRandomString(40)}`,\n size,\n createdAt: new Date()\n },\n status: Statics.MonkeyEcxQueueEvents.OnGoing\n };\n\n return params;\n}\n\nexport function buildUploadPropertys(name: string, description?: string): MonkeyEcxRequestUpload {\n const params: MonkeyEcxRequestUpload = {\n item: {\n name,\n description,\n id: `${MonkeyEcxUtils.getRandomString(40)}`\n },\n status: Statics.MonkeyEcxUploadEvents.OnGoing\n };\n\n return params;\n}\n\nexport function hasMonkeyEcxServiceAndHandlingProperties(context: any): boolean {\n return Object.prototype.hasOwnProperty.call(context, 'monkeyecxService');\n}\n","/* eslint-disable object-curly-newline */\nimport { MonkeyEcxUtils } from './utils';\nimport * as ValidateUtils from './validate-utils';\nimport * as DecoratorsUtils from './decorators-utils';\nimport * as Statics from './statics';\n\nexport { MonkeyEcxUtils, ValidateUtils, DecoratorsUtils, Statics };\n","/* eslint-disable no-console */\n/* eslint-disable space-before-function-paren */\n/* eslint-disable func-names */\n/* eslint-disable max-len */\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\nimport { DecoratorsUtils } from '../utils';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\nexport function MonkeyEcxCoreServiceConstructor() {\n return (target: any) => {\n Object.entries(target.prototype).forEach(([key, value]) => {\n const method = target.prototype[key];\n if (key !== 'constructor') {\n target.prototype[key] = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n }\n const result = method.apply(context, args);\n return result;\n };\n }\n });\n return target;\n };\n}\n\nexport function MonkeyEcxCoreLog(tp: string) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n propertyDescriptor.value = function(...args: any[]) {\n const params = args\n .map((a: any) => {\n return JSON.stringify(a);\n })\n .join();\n const result = method.apply(this, args);\n const r = JSON.stringify(result);\n console.log(`Call: ${propertyName}(${params}) => ${r}`);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreClearDecorators() {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreService(params: MonkeyEcxServiceCredentials) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreServicePaged(params: MonkeyEcxServiceCredentials) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n const credentials = context.monkeyecxService.monkeyecxHandlingService.getMonkeyEcxServiceCredentials();\n let requestPaged = null;\n if (credentials) {\n requestPaged = credentials.requestPaged;\n }\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials({\n ...params,\n ...(requestPaged || null)\n });\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n\nexport function MonkeyEcxCoreServiceQueue(\n name: string,\n description?: string,\n params?: MonkeyEcxServiceCredentials\n) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(params)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxRequestQueue(\n DecoratorsUtils.buildQueuePropertys({\n name,\n description\n })\n );\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n","/* eslint-disable space-before-function-paren */\n/* eslint-disable func-names */\n/* eslint-disable max-len */\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\nimport { DecoratorsUtils } from '../utils';\n\nexport function MonkeyEcxServiceDownload(\n name: string,\n description?: string,\n params?: MonkeyEcxServiceCredentials\n) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n if (MonkeyUtils.persistNullEmptyUndefined(params)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxRequestDownload({\n ...DecoratorsUtils.buildDownloadPropertys(name, description)\n });\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n","/* eslint-disable space-before-function-paren */\n/* eslint-disable func-names */\n/* eslint-disable max-len */\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\nimport { DecoratorsUtils } from '../utils';\n\nexport function MonkeyEcxServiceUpload(\n name: string,\n description?: string,\n params?: MonkeyEcxServiceCredentials\n) {\n return function(\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\n if (MonkeyUtils.persistNullEmptyUndefined(params)) {\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxServiceCredentials(params);\n }\n context.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxRequestUpload({\n ...DecoratorsUtils.buildUploadPropertys(name, description)\n });\n }\n const result = method.apply(context, args);\n return result;\n };\n\n return propertyDescriptor;\n };\n}\n","import { Directive, HostListener, Output, HostBinding, EventEmitter } from '@angular/core';\n\n@Directive({\n selector: '[monkeyecxDragDrop]'\n})\nexport class MonkeyEcxDragDropDirective {\n @Output() onFileDropped: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('style.background-color') private background = '#f5fcff';\n\n @HostBinding('style.opacity') private opacity = '1';\n\n @HostListener('dragover', ['$event'])\n onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#9ecbec';\n this.opacity = '0.8';\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5fcff';\n this.opacity = '1';\n }\n\n @HostListener('drop', ['$event'])\n public ondrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5fcff';\n this.opacity = '1';\n const { files } = evt.dataTransfer;\n if (files.length > 0) {\n this.onFileDropped.emit(files);\n }\n }\n}\n","import { Directive, ElementRef, HostListener, OnInit, Injector } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxFormatCurrency]',\n providers: [CurrencyPipe]\n})\nexport class MonkeyEcxFormatCurrency implements OnInit {\n private el: HTMLInputElement;\n\n private currency: any;\n\n private currencyCode: string = 'BRL';\n\n private currentLocale: string = 'pt-BR';\n\n constructor(private elementRef: ElementRef, private injector: Injector) {\n this.el = this.elementRef.nativeElement;\n this.currency = this.injector.get(CurrencyPipe);\n\n const translateService = this.injector.get(TranslateService);\n translateService.get('MONKEY-CURRENCY-CODE').subscribe((_: any) => {\n this.currencyCode = _;\n this.currentLocale = translateService.getDefaultLang();\n });\n }\n\n private handle(value: any): string {\n const { currencyCode, currentLocale } = this;\n const newValue = MonkeyEcxUtils.handleOnlyNumbers(value);\n return this.currency.transform(newValue / 100, currencyCode, 'symbol', '', currentLocale);\n }\n\n ngOnInit() {\n this.el.value = this.handle(this.el.value);\n }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value: any) {\n this.el.value = this.handle(value);\n }\n}\n","import { Directive, ElementRef, forwardRef, HostListener, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[monkeyecxFormatUpper]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => {\n // eslint-disable-next-line no-use-before-define\n return MonkeyEcxFormatUpper;\n }),\n multi: true\n }\n ]\n})\nexport class MonkeyEcxFormatUpper implements ControlValueAccessor {\n _onChange: (_: any) => void;\n\n _touched: () => void;\n\n constructor(@Self() private _el: ElementRef, private _renderer: Renderer2) {\n // not to do\n }\n\n @HostListener('keyup', ['$event'])\n onKeyDown(evt: KeyboardEvent) {\n const value = this._el.nativeElement.value.toUpperCase();\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\n this._onChange(value);\n evt.preventDefault();\n }\n\n @HostListener('blur', ['$event'])\n onBlur() {\n this._touched();\n }\n\n writeValue(value: any): void {\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._touched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._el.nativeElement, 'disabled', isDisabled);\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxOnlyAlphaNumeric]'\n})\nexport class MonkeyEcxOnlyAlphaNumericDirective {\n constructor(private elementRef: ElementRef) {\n // not to do\n }\n\n @HostListener('input', ['$event'])\n onInputChange(event: Event) {\n const initalValue = this.elementRef.nativeElement.value;\n\n this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyAlphaNumeric(initalValue);\n if (initalValue !== this.elementRef.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxOnlyNumbers]'\n})\nexport class MonkeyEcxOnlyNumbersDirective {\n constructor(private elementRef: ElementRef) {\n // not to do\n }\n\n @HostListener('input', ['$event'])\n onInputChange(event: Event) {\n const initalValue = this.elementRef.nativeElement.value;\n\n this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyNumbers(initalValue);\n if (initalValue !== this.elementRef.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { MonkeyEcxRequestPaged } from '../../interfaces';\n\nexport class MonkeyEcxRequestPagedHandling {\n private url: string;\n\n private pagedParams: MonkeyEcxRequestPaged;\n\n constructor(_url?: string, _pagedParams?: MonkeyEcxRequestPaged) {\n this.url = _url;\n this.pagedParams = _pagedParams || {\n page: {\n }\n };\n }\n\n private handlePagedValuesFromApi(url: string) {\n if (url.search('\\\\?') < 0) return url;\n const params = url.substr(url.search('\\\\?') + 1, url.length);\n url = url.substr(0, url.search('\\\\?'));\n return `${url}?${new HttpParams({\n fromString: params\n }).delete('size').delete('page').toString()}`;\n }\n\n private getUrlParams(url: string): string {\n const { pagedParams } = this;\n const { number, size } = pagedParams?.page;\n const hasInitialQueryParams = url.search('\\\\?') > 0;\n return `${!hasInitialQueryParams ? '?' : '&'}page=${number || 0}&size=${size || 20}`;\n }\n\n public getRequestWithPagedParams(): string {\n const { url } = this;\n const handled = this.handlePagedValuesFromApi(url);\n return `${handled}${this.getUrlParams(handled)}`;\n }\n}\n","import {\n ActivatedRouteSnapshot,\n NavigationStart,\n Router,\n RouterStateSnapshot\n} from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, throwError } from 'rxjs';\nimport { filter, take, takeWhile } from 'rxjs/operators';\nimport {\n MonkeyEcxErrorResponse,\n MonkeyEcxHandledErrorResponse,\n MonkeyEcxRequestPaged,\n MonkeyEcxRequestSchedule,\n MonkeyEcxResponsePaged,\n MonkeyEcxTokenCredentials,\n MonkeyEcxTranslateOptions\n} from '../../interfaces';\nimport { MonkeyEcxTokenStorageService } from '../storage';\nimport { MonkeyEcxRequestScheduleService } from '../schedules';\nimport { MonkeyEcxRequestQueueHandlingService } from '../request-queue';\nimport { MonkeyEcxRequestPagedHandling } from '../request-paged';\nimport { MonkeyEcxFeatureToggleService } from '../config/monkeyecx-feature-toggle.service';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\n\nexport class MonkeyEcxCommonsService {\n private flagValidator = true;\n\n __data: any | any[];\n\n __params: any | any[];\n\n __error: MonkeyEcxErrorResponse;\n\n __handledError: MonkeyEcxHandledErrorResponse;\n\n __page: MonkeyEcxResponsePaged;\n\n __search: any;\n\n __requestPaged: MonkeyEcxRequestPaged = null;\n\n __onSearchChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onLoadingInProgress$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n __onDataDeleted$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onErrorChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onGovernmentIdDataChanged$: BehaviorSubject<any> = new BehaviorSubject(\n null\n );\n\n __onZipCodeDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __oni18nDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\n\n __onDoSearch$: BehaviorSubject<MonkeyEcxRequestPaged> = new BehaviorSubject(\n null\n );\n\n __onDoPagination$: BehaviorSubject<Function> = new BehaviorSubject(null);\n\n __tokenCredentials: MonkeyEcxTokenCredentials;\n\n __schedule: MonkeyEcxRequestSchedule;\n\n __i18n: any;\n\n constructor(\n public monkeyecxService?: MonkeyEcxService,\n public tokenStorage?: MonkeyEcxTokenStorageService,\n public otherArgs?: {\n router?: Router;\n schedule?: {\n service: MonkeyEcxRequestScheduleService;\n options?: {\n clearOnChangeRoute?: boolean;\n };\n };\n queue?: {\n service: MonkeyEcxRequestQueueHandlingService;\n };\n }\n ) {\n this.handleInit();\n }\n\n private handleInit() {\n if (this.tokenStorage) {\n this.__tokenCredentials = this.tokenStorage.getToken();\n }\n\n if (this.otherArgs?.router) {\n const { clearOnChangeRoute } = this.otherArgs?.schedule?.options;\n this.otherArgs.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n }),\n take(1)\n )\n .subscribe(() => {\n if (this.__schedule && clearOnChangeRoute) {\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\n this.__schedule = null;\n }\n });\n }\n }\n\n private getRole(): string {\n const { __tokenCredentials } = this;\n\n if (!__tokenCredentials) return '';\n\n if (__tokenCredentials?.programAdmin === 'true') {\n return 'PROGRAM_ADMIN';\n }\n\n return __tokenCredentials?.role || '';\n }\n\n private allowedSecurityAccess(args: any): boolean {\n if (!args) return true;\n const roles = args?.roles;\n const byExclusion = args?.byExclusion;\n const found = roles?.indexOf(this.getRole());\n let ret = false;\n if (byExclusion) {\n ret = true;\n if (found > -1) {\n ret = false;\n }\n } else {\n ret = false;\n if (found > -1) {\n ret = true;\n }\n }\n if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN') { ret = true; }\n return ret;\n }\n\n private navigateToErrorPage(statusCode: number, router: Router) {\n const routes = {\n 403: 'forbidden',\n 404: 'not-found',\n 500: 'service-problems',\n 503: 'service-problems'\n };\n\n if (!router) {\n // eslint-disable-next-line no-console\n console.error('Router must be declared');\n } else {\n router.navigate([`/app/pages/${routes[statusCode]}`.toLowerCase()], {\n skipLocationChange: true\n });\n }\n }\n\n setPage(requestPaged: MonkeyEcxRequestPaged) {\n this.__requestPaged = {\n ...this.__requestPaged,\n ...requestPaged\n };\n return this;\n }\n\n nextPage(): boolean {\n if (!this.__requestPaged) return false;\n const { page } = this.__requestPaged;\n const { number, totalPages } = page;\n if (number < totalPages) {\n this.__requestPaged = {\n ...this.__requestPaged,\n page: {\n ...page,\n number: number + 1\n }\n };\n return true;\n }\n return false;\n }\n\n getEmbeddedData(data: any, field: string): any[] | any {\n const { _embedded } = data;\n return _embedded ? _embedded[field] : null;\n }\n\n getNormalizedUrl(url: string): string {\n const { __requestPaged } = this;\n return new MonkeyEcxRequestPagedHandling(\n url,\n __requestPaged\n ).getRequestWithPagedParams();\n }\n\n clear(clearData: boolean) {\n if (clearData) {\n this.__data = null;\n this.__requestPaged = null;\n this.__params = null;\n this.__page = null;\n\n if (this.__schedule) {\n const { queue } = this.__schedule;\n if (queue) {\n this.otherArgs.queue.service.removeQueueItem(queue);\n }\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\n this.__schedule = null;\n }\n }\n this.__error = null;\n this.__handledError = null;\n this.flagValidator = false;\n }\n\n resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n otherArgs?: {\n callbackMain: Function;\n router?: Router;\n security?: {\n roles: string[];\n byExclusion?: boolean;\n };\n callbackPagination?: Function;\n translateOptions?: MonkeyEcxTranslateOptions;\n feature?: {\n service: MonkeyEcxFeatureToggleService;\n flag: string;\n };\n }\n ) {\n this.__data = null;\n this.__page = null;\n this.__requestPaged = null;\n this.flagValidator = true;\n\n if (this.tokenStorage) {\n this.__tokenCredentials = this.tokenStorage.getToken();\n }\n\n if (this.allowedSecurityAccess(otherArgs?.security)) {\n Object.entries(this).forEach(([key, value]) => {\n if (value instanceof BehaviorSubject) {\n this[key] = new BehaviorSubject(null);\n }\n });\n\n if (this.__schedule) {\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\n this.__schedule = null;\n }\n\n const { __requestPaged } = this;\n if (!__requestPaged) {\n this.setPage({\n page: {\n number: 0,\n size: 10\n }\n });\n }\n\n if (otherArgs?.callbackPagination) {\n this.__onDoPagination$.subscribe(() => {\n if (!this.__onLoadingInProgress$.value) {\n const hasMorePages = this.setPage({\n page: {\n ...this.__page\n }\n }).nextPage();\n if (hasMorePages && otherArgs?.callbackPagination) { otherArgs.callbackPagination(); }\n }\n });\n }\n\n if (otherArgs?.translateOptions) {\n const { service, keys } = otherArgs.translateOptions;\n this.geti18n(service, keys);\n }\n\n if (otherArgs?.feature) {\n const { flag, service } = otherArgs.feature;\n\n service.onFlags\n .pipe(\n takeWhile(() => {\n return this.flagValidator;\n })\n )\n .subscribe((val: boolean) => {\n if (val) {\n const hasFlag = service.getFlag(flag);\n\n if (MonkeyEcxUtils.persistNullEmptyUndefined(hasFlag)) {\n if (!hasFlag) {\n this.navigateToErrorPage(404, otherArgs.router);\n return;\n }\n }\n otherArgs?.callbackMain();\n }\n });\n } else {\n otherArgs?.callbackMain();\n }\n } else {\n this.navigateToErrorPage(403, otherArgs.router);\n }\n }\n\n getHTTPHeaderApplicationPDF(): Object {\n return {\n observe: 'response',\n responseType: 'blob'\n };\n }\n\n @MonkeyEcxCoreService({\n requestInProgress: {\n showProgress: true\n }\n })\n genericMethod(link: any, data?: any, callback?: Function) {\n const { href, type } = link;\n this.monkeyecxService[type.toLowerCase()]<any>(`${href}`, data).subscribe(\n (resp: any) => {\n if (callback) callback();\n },\n (err: HttpErrorResponse) => {\n throwError(err);\n }\n );\n }\n\n geti18n(translateService: TranslateService, keys: string | string[]) {\n translateService\n .getStreamOnTranslationChange(keys)\n .subscribe((translations: any) => {\n this.__i18n = translations;\n this.__oni18nDataChanged$.next(null);\n });\n }\n}\n","/* eslint-disable max-len */\nimport { Injectable } from '@angular/core';\nimport {\n MonkeyEcxRequestDownload,\n MonkeyEcxRequestQueue,\n MonkeyEcxRequestUpload,\n MonkeyEcxServiceCredentials\n} from '../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport abstract class MonkeyEcxHandlingService {\n private monkeyecxServiceCredentials: MonkeyEcxServiceCredentials;\n\n private monkeyecxRequestQueue: MonkeyEcxRequestQueue;\n\n private monkeyecxRequestDownload: MonkeyEcxRequestDownload;\n\n private monkeyecxRequestUpload: MonkeyEcxRequestUpload;\n\n public clearAll() {\n this.monkeyecxServiceCredentials = null;\n this.monkeyecxRequestQueue = null;\n this.monkeyecxRequestDownload = null;\n this.monkeyecxRequestUpload = null;\n }\n\n public setMonkeyEcxServiceCredentials(param: MonkeyEcxServiceCredentials) {\n this.monkeyecxServiceCredentials = param;\n }\n\n public getMonkeyEcxServiceCredentials(): MonkeyEcxServiceCredentials {\n return this.monkeyecxServiceCredentials;\n }\n\n public setMonkeyEcxRequestQueue(queue: MonkeyEcxRequestQueue) {\n this.monkeyecxRequestQueue = queue;\n }\n\n public getMonkeyEcxRequestQueue(): MonkeyEcxRequestQueue {\n return this.monkeyecxRequestQueue;\n }\n\n public setMonkeyEcxRequestDownload(download: MonkeyEcxRequestDownload) {\n this.monkeyecxRequestDownload = download;\n }\n\n public getMonkeyEcxRequestDownload(): MonkeyEcxRequestDownload {\n return this.monkeyecxRequestDownload;\n }\n\n public setMonkeyEcxRequestUpload(upload: MonkeyEcxRequestUpload) {\n this.monkeyecxRequestUpload = upload;\n }\n\n public getMonkeyEcxRequestUpload(): MonkeyEcxRequestUpload {\n return this.monkeyecxRequestUpload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { MonkeyEcxHandlingService } from './monkeyecx-handling.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxService {\n constructor(\n protected http: HttpClient,\n public monkeyecxHandlingService: MonkeyEcxHandlingService\n ) {\n // not to do\n }\n\n private handlelize(params: any): any {\n if (!params) {\n return params;\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const field of [\n 'createdAt',\n 'createUserId',\n 'updatedAt',\n 'lastUserId',\n '_links',\n 'governmentIdType',\n 'governmentIdMask',\n 'screenType',\n 'screenTab'\n ]) {\n delete params[field];\n }\n return params;\n }\n\n public get<T>(url: string, options?: T): Observable<T> {\n return this.http.get<T>(url, options);\n }\n\n public post<T>(url: string, params: T, options?: T): Observable<T> {\n return this.http.post<T>(url, params, options);\n }\n\n public put<T>(url: string, params: T): Observable<T> {\n return this.http.put<T>(\n url,\n this.handlelize({\n ...params\n })\n );\n }\n\n public delete<T>(url: string, params?: T): Observable<T> {\n return this.http.delete<T>(url, params);\n }\n\n public download<T>(url: string, options?: T, filename?: string) {\n this.http.get<T>(url, options).subscribe(\n (resp: any) => {\n const { headers, body } = resp;\n const contentType = headers.get('Content-Type');\n const contentDisposition = headers.get('Content-Disposition');\n if (contentDisposition) {\n filename = contentDisposition\n .split(';')[1]\n .split('filename')[1]\n .split('=')[1]\n .trim()\n .replace(new RegExp(/\"/g), '');\n }\n const blob = new Blob([body], {\n type: `${contentType}`\n });\n return {\n filename,\n blob\n };\n },\n (err: HttpErrorResponse) => {\n throwError(err);\n }\n );\n }\n\n public downloadOb<T>(url: string, options?: T, filename?: string): Observable<any> {\n return this.http.get<any>(url, options).pipe(\n map((resp: any) => {\n const { headers, body } = resp;\n const contentType = headers.get('Content-Type');\n const contentDisposition = headers.get('Content-Disposition');\n if (contentDisposition) {\n filename = contentDisposition\n .split(';')[1]\n .split('filename')[1]\n .split('=')[1]\n .trim()\n .replace(new RegExp(/\"/g), '');\n }\n const blob = new Blob([body], {\n type: `${contentType}`\n });\n return {\n filename,\n blob\n };\n }),\n catchError((err: any) => {\n return throwError(err);\n })\n );\n }\n}\n","/* eslint-disable object-curly-newline */\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxCookieStorageService {\n constructor(@Inject(DOCUMENT) private document: any) {\n // not to do\n }\n\n private getCookieRegExp(name: string): RegExp {\n const escapedName: string = name.replace(/([[\\]{}()|=;+?,.*^$])/gi, '\\\\$1');\n\n return new RegExp(`(?:^${escapedName}|;\\\\s*${escapedName})=(.*?)(?:;|$)`, 'g');\n }\n\n private safeDecodeURIComponent(encodedURIComponent: string): string {\n try {\n return decodeURIComponent(encodedURIComponent);\n } catch {\n return encodedURIComponent;\n }\n }\n\n private check(name: string): boolean {\n name = encodeURIComponent(name);\n const regExp: RegExp = this.getCookieRegExp(name);\n return regExp.test(this.document.cookie);\n }\n\n set(\n name: string,\n value: string,\n expiresOrOptions?: number | Date | any,\n path?: string,\n domain?: string,\n secure?: boolean,\n sameSite?: 'Lax' | 'None' | 'Strict'\n ): void {\n if (\n typeof expiresOrOptions === 'number' ||\n expiresOrOptions instanceof Date ||\n path ||\n domain ||\n secure ||\n sameSite\n ) {\n const optionsBody = {\n expires: expiresOrOptions,\n path,\n domain,\n secure,\n sameSite: sameSite || 'Lax'\n };\n\n this.set(name, value, optionsBody);\n return;\n }\n\n let cookieString: string = `${encodeURIComponent(name)}=${encodeURIComponent(value)};`;\n\n const options = expiresOrOptions || {};\n\n if (options.expires) {\n if (typeof options.expires === 'number') {\n const dateExpires: Date = new Date(\n new Date().getTime() + options.expires * 1000 * 60 * 60 * 24\n );\n\n cookieString += `expires=${dateExpires.toUTCString()};`;\n } else {\n cookieString += `expires=${options.expires.toUTCString()};`;\n }\n }\n\n if (options.path) {\n cookieString += `path=${options.path};`;\n }\n\n if (options.domain) {\n cookieString += `domain=${options.domain};`;\n }\n\n if (options.secure === false && options.sameSite === 'None') {\n options.secure = true;\n }\n if (options.secure) {\n cookieString += 'secure;';\n }\n\n if (!options.sameSite) {\n options.sameSite = 'Lax';\n }\n\n cookieString += `sameSite=${options.sameSite};`;\n\n this.document.cookie = cookieString;\n }\n\n get(name: string): string {\n if (this.check(name)) {\n name = encodeURIComponent(name);\n\n const regExp: RegExp = this.getCookieRegExp(name);\n const result: RegExpExecArray = regExp.exec(this.document.cookie);\n\n return result[1] ? this.safeDecodeURIComponent(result[1]) : '';\n }\n return '';\n }\n\n remove(\n name: string,\n path?: string,\n domain?: string,\n secure?: boolean,\n sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'\n ): void {\n const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');\n this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });\n }\n}\n","/* eslint-disable no-console */\n/* eslint-disable import/no-named-default */\nimport { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { default as localePTBR } from '@angular/common/locales/global/pt';\nimport { registerLocaleData } from '@angular/common';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\nimport { MonkeyEcxCookieStorageService } from '../storage/monkeyecx-cookie-storage.service';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxCommonsService } from '../commons';\nimport { MonkeyEcxConfig } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxi18nConfigService extends MonkeyEcxCommonsService {\n constructor(\n monkeyecxService: MonkeyEcxService,\n private translateService: TranslateService,\n private monkeyecxCookieStorageService: MonkeyEcxCookieStorageService\n ) {\n super(monkeyecxService);\n\n this.translateService.addLangs(['pt-BR', 'en-US']);\n this.translateService.setDefaultLang('pt-BR');\n this.translateService.use('pt-BR');\n this.applyLocal();\n }\n\n private applyLocal() {\n registerLocaleData(localePTBR, 'pt-PT');\n }\n\n @MonkeyEcxCoreService({\n httpResponse: {\n httpCodeIgnore: [404]\n },\n requestInProgress: {\n showProgress: false\n }\n })\n public apply(params: MonkeyEcxConfig, environment: any, change = false) {\n const { monkeyecxService, monkeyecxCookieStorageService } = this;\n let { i18n } = params;\n const cookie = monkeyecxCookieStorageService.get('monkey-app-locale');\n if (cookie && !change) {\n i18n = JSON.parse(atob(cookie));\n } else {\n monkeyecxCookieStorageService.set('monkey-app-locale', btoa(JSON.stringify(i18n)));\n }\n\n monkeyecxService.get<any>(`${environment.urlAssets}/i18n/${i18n.lang}.json`).subscribe(\n (config: any) => {\n const { lang, data } = config;\n this.translateService.setTranslation(lang, data, true);\n this.translateService.use(lang);\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n console.error(`i18n ${i18n.lang} not found!`);\n throwError(err);\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { datadogRum } from '@datadog/browser-rum';\nimport { MonkeyEcxConfig, MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxLogsConfigService {\n public apply(\n params: MonkeyEcxConfig,\n configBoostrap: MonkeyEcxConfigBoostrap,\n environment: any,\n identifyCode: string\n ) {\n const { program, logs } = params;\n if (\n logs?.enabled &&\n environment.production &&\n environment?.dataDogApplicationId &&\n environment?.dataDogClientToken\n ) {\n datadogRum.init({\n applicationId: environment?.dataDogApplicationId,\n clientToken: environment?.dataDogClientToken,\n service: program.token,\n site: 'datadoghq.com',\n sampleRate: 100,\n env: `monkeyecx-front-${identifyCode}-${environment.environment}`,\n version: configBoostrap?.version,\n trackInteractions: true\n });\n }\n }\n}\n","import { ApplicationRef, Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\nimport { concat, interval } from 'rxjs';\nimport { first } from 'rxjs/operators';\nimport { VersionChangedComponent } from '../../../components/version-changed';\nimport { MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxServiceWorkerConfigService {\n constructor(\n private appRef: ApplicationRef,\n private updates: SwUpdate,\n private modalService: MonkeyStyleGuideModalService) {\n // not to do\n }\n\n private handleValidation(config: MonkeyEcxConfigBoostrap) {\n const { updates, modalService } = this;\n updates?.available?.subscribe(() => {\n if (!config.showNewVersion || config.maintenance.closed) {\n document.location.reload();\n } else {\n modalService.open(VersionChangedComponent, {\n color: 'theme',\n size: 'md'\n });\n }\n });\n }\n\n private verify() {\n const { appRef, updates } = this;\n const appIsStable$ = appRef.isStable\n .pipe(first((isStable: boolean) => { return isStable === true; }));\n const everyHour$ = interval(1 * 60 * 60 * 1000);\n const everyHourOnceAppIsStable$ = concat(appIsStable$, everyHour$);\n everyHourOnceAppIsStable$.subscribe(() => {\n updates.checkForUpdate();\n });\n updates.checkForUpdate();\n }\n\n public apply(config: MonkeyEcxConfigBoostrap) {\n this.handleValidation(config);\n this.verify();\n }\n}\n","/* eslint-disable no-console */\nimport { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MonkeyEcxCommonsService } from '../commons';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxSecurityConsoleConfigService extends MonkeyEcxCommonsService {\n constructor(private translateService: TranslateService) {\n super();\n\n this.geti18n(this.translateService, 'SERVICES.WARNING.CONSOLE');\n }\n\n private handleValidation() {\n this.__oni18nDataChanged$.subscribe(() => {\n const { __i18n } = this;\n const title = __i18n?.TITLE;\n const message = __i18n?.MESSAGE;\n if (title) {\n console.log(`%c${title}`, 'background: #f2f061; color: #ff0000; font-size: x-large');\n console.log(`%c${message}`, 'font-size: x-large');\n console.log(\n '%c __ __ _ ______ \\n ' +\n '| \\\\/ | ___ _ __ | | _____ _ _\\\\ \\\\ \\\\ \\\\ \\n ' +\n \"| |\\\\/| |/ _ \\\\| '_ \\\\| |/ / _ \\\\ | | |\\\\ \\\\ \\\\ \\\\ \\n \" +\n '| | | | (_) | | | | < __/ |_| |/ / / / \\n ' +\n '|_| |_|\\\\___/|_| |_|_|\\\\_\\\\___|\\\\__, /_/_/_/ \\n ' +\n ' |___/ \\n ' +\n 'Join us: https://monkeyecx.gupy.io', 'background: #1976d2; color: #fff'\n );\n }\n });\n }\n\n public apply() {\n this.handleValidation();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\nimport { ClosedToMaintenanceComponent } from '../../../components/closed-to-maintenance';\nimport { MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxMaintenanceConfigService {\n constructor(private modalService: MonkeyStyleGuideModalService, private router: Router) {\n // not to do\n }\n\n private handleValidation(config: MonkeyEcxConfigBoostrap) {\n if (config.maintenance.closed) {\n localStorage.clear();\n this.router.navigate(['']);\n\n setTimeout(() => {\n this.modalService.open(ClosedToMaintenanceComponent, {\n color: 'theme',\n size: 'md',\n data: config\n });\n }, 200);\n }\n }\n\n public apply(config: MonkeyEcxConfigBoostrap) {\n this.handleValidation(config);\n }\n}\n","/* eslint-disable no-console */\nimport { Injectable } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { throwError, BehaviorSubject, Observable } from 'rxjs';\nimport { MonkeyStyleGuideSettingsService, MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxi18nConfigService } from './monkeyecx-i18n-config.service';\nimport { MonkeyEcxLogsConfigService } from './monkeyecx-logs-config.service';\nimport { MonkeyEcxServiceWorkerConfigService } from './monkeyecx-service-worker-config.service';\nimport { MonkeyEcxSecurityConsoleConfigService } from './monkeyecx-security-console-config.service';\nimport { MonkeyEcxMaintenanceConfigService } from './monkeyecx-maintenance-config.service';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxCommonsService } from '../commons';\nimport { MonkeyEcxConfig, MonkeyEcxConfigBoostrap } from '../../interfaces';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxConfigService extends MonkeyEcxCommonsService {\n private readonly configSubject$: BehaviorSubject<MonkeyEcxConfig>;\n\n private readonly configBoostrapSubject$: BehaviorSubject<MonkeyEcxConfig>;\n\n constructor(\n monkeyecxService: MonkeyEcxService,\n private monkeyecxi18nConfigService: MonkeyEcxi18nConfigService,\n private monkeyecxLogsConfigService: MonkeyEcxLogsConfigService,\n private monkeyStyleGuideSettingsService: MonkeyStyleGuideSettingsService,\n private monkeyecxServiceWorkerConfigService: MonkeyEcxServiceWorkerConfigService,\n private monkeyecxSecurityConsoleConfigService: MonkeyEcxSecurityConsoleConfigService,\n private monkeyecxMaintenanceConfigService: MonkeyEcxMaintenanceConfigService\n ) {\n super(monkeyecxService);\n this.configSubject$ = new BehaviorSubject(null);\n this.configBoostrapSubject$ = new BehaviorSubject(null);\n }\n\n private internalValidations(...args: any[]) {\n const {\n monkeyecxServiceWorkerConfigService,\n monkeyecxSecurityConsoleConfigService,\n monkeyecxMaintenanceConfigService\n } = this;\n const configBoostrap = args[0];\n const callback = args[1];\n monkeyecxSecurityConsoleConfigService.apply();\n monkeyecxServiceWorkerConfigService.apply(configBoostrap);\n monkeyecxMaintenanceConfigService.apply(configBoostrap);\n callback(configBoostrap);\n }\n\n private getWhiteLabelSettings(\n monkeyecxCode: string,\n configBoostrap: MonkeyEcxConfigBoostrap = null,\n callback: Function,\n environment: any,\n identifyCode: string\n ) {\n const {\n monkeyecxService,\n monkeyecxi18nConfigService,\n configSubject$,\n monkeyStyleGuideSettingsService,\n monkeyecxLogsConfigService,\n internalValidations\n } = this;\n monkeyecxService\n .get<any>(\n `${environment.urlAssets}/monkeyecx/${monkeyecxCode.toLowerCase()}/white-label.json`\n )\n .subscribe(\n (config: MonkeyEcxConfig) => {\n monkeyecxi18nConfigService.apply(config, environment);\n monkeyecxLogsConfigService.apply(config, configBoostrap, environment, identifyCode);\n monkeyStyleGuideSettingsService.boostrap(\n `${\n environment.urlAssets\n }/monkeyecx/${monkeyecxCode.toLowerCase()}/monkey-style-guide-settings.json`,\n internalValidations.bind(this, configBoostrap, callback, environment)\n );\n configSubject$.next(config);\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n console.error('Program Configuration not found!');\n throwError(err);\n }\n );\n }\n\n @MonkeyEcxCoreService({\n httpResponse: {\n httpCodeIgnore: [404]\n },\n requestInProgress: {\n showProgress: false\n }\n })\n public init(callback: Function, environment: any, identifyCode: string, monkeyecxCode?: string) {\n const { monkeyecxService, configBoostrapSubject$ } = this;\n\n monkeyecxService\n .get(`/assets/boostrap.json?t=${MonkeyUtils.getRandomString(30)}`, {\n observe: 'response'\n })\n .subscribe(\n (resp: any) => {\n const { headers, body } = resp;\n const monkeyCode = headers.get('monkey-code') || monkeyecxCode;\n if (monkeyCode) {\n this.getWhiteLabelSettings(monkeyCode, body, callback, environment, identifyCode);\n configBoostrapSubject$.next(body);\n } else {\n console.error(`Boostrap ${monkeyCode} Configuration not found!`);\n }\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n console.error('Boostrap Configuration not found!');\n throwError(err);\n }\n );\n }\n\n public config(): Observable<any> {\n return this.configSubject$.asObservable();\n }\n\n public boostrapConfig(): Observable<any> {\n return this.configBoostrapSubject$.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of, BehaviorSubject } from 'rxjs';\nimport { MonkeyEcxConfigService } from '../config/monkeyecx-config.service';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxConfig, MonkeyEcxMeCredentials, MonkeyEcxTokenCredentials } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxTokenStorageService {\n private token: MonkeyEcxTokenCredentials;\n\n private token$: BehaviorSubject<MonkeyEcxTokenCredentials>;\n\n private me$: BehaviorSubject<MonkeyEcxMeCredentials>;\n\n private config: MonkeyEcxConfig = null;\n\n constructor(private monkeyecxConfigService: MonkeyEcxConfigService) {\n this.token = {\n username: '',\n program: '',\n accessToken: '',\n refreshToken: '',\n companyId: '',\n governmentId: '',\n companyTypeUrl: '',\n companyType: '',\n programAdmin: false,\n programType: '',\n role: '',\n _clearIgnore: {\n ignore: ['username', 'program']\n }\n };\n this.token$ = new BehaviorSubject(null);\n this.me$ = new BehaviorSubject(null);\n\n this.monkeyecxConfigService.config().subscribe((_: MonkeyEcxConfig) => {\n this.config = _;\n });\n }\n\n private setAllTokens(token: MonkeyEcxTokenCredentials) {\n const { token$ } = this;\n Object.entries(token).forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n localStorage.setItem(key, value);\n }\n });\n token$.next(token);\n }\n\n private getAllTokens(): MonkeyEcxTokenCredentials {\n const { token } = this;\n const handledToken = {\n ...token\n };\n Object.entries(token).forEach(([key, value]) => {\n handledToken[key] = localStorage.getItem(key);\n });\n\n return handledToken;\n }\n\n private setAllMe(me: MonkeyEcxMeCredentials) {\n const { me$ } = this;\n let previousMe = JSON.parse(localStorage.getItem('me'));\n Object.entries(me).forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n previousMe = {\n ...previousMe,\n [key]: value\n };\n }\n });\n\n localStorage.setItem('me', JSON.stringify(previousMe));\n me$.next(previousMe);\n }\n\n private getAllMe(): MonkeyEcxMeCredentials {\n const me = localStorage.getItem('me');\n return JSON.parse(me) as MonkeyEcxMeCredentials;\n }\n\n public tokenHasChanged(): Observable<MonkeyEcxTokenCredentials> {\n return this.token$.asObservable();\n }\n\n public meHasChanged(): Observable<MonkeyEcxMeCredentials> {\n return this.me$.asObservable() || null;\n }\n\n public getToken(): MonkeyEcxTokenCredentials {\n return this.getAllTokens();\n }\n\n public getMe(): MonkeyEcxMeCredentials {\n return this.getAllMe();\n }\n\n public setToken(token: MonkeyEcxTokenCredentials) {\n this.setAllTokens(token);\n }\n\n public setMe(me: MonkeyEcxMeCredentials) {\n this.setAllMe(me);\n }\n\n public clear(force?: boolean): Observable<boolean> {\n const { token } = this;\n try {\n Object.entries(token).forEach(([key, value]) => {\n if (\n token._clearIgnore.ignore.filter((val: any) => {\n return val === key;\n }).length <= 0 ||\n force === true\n ) {\n localStorage.removeItem(key);\n }\n });\n localStorage.removeItem('me');\n } catch (error) {\n return of(false);\n }\n return of(true);\n }\n\n /**\n * @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])\n */\n public clearCredentials(fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']) {\n fields?.forEach((key: string) => {\n localStorage.removeItem(key);\n });\n }\n}\n","import { ChangeDetectorRef, Directive, ElementRef, Input, OnInit } from '@angular/core';\nimport { MonkeyEcxTokenCredentials } from '../interfaces';\nimport { MonkeyEcxTokenStorageService } from '../services/storage';\n\n@Directive({\n selector: '[monkeyecxSecurity]'\n})\nexport class MonkeyEcxSecurityDirective implements OnInit {\n @Input('securityRoles') roles: string[];\n\n @Input('securityByExclusion') byExclusion: boolean = false;\n\n private tokenCredentials: MonkeyEcxTokenCredentials;\n\n constructor(\n private elementRef: ElementRef,\n private tokenStorageService: MonkeyEcxTokenStorageService,\n private cdr: ChangeDetectorRef\n ) {\n // not to do\n }\n\n private getRole(): string {\n const { tokenCredentials } = this;\n\n if (!tokenCredentials) return '';\n\n if (tokenCredentials?.programAdmin === 'true') {\n return 'PROGRAM_ADMIN';\n }\n\n return tokenCredentials?.role || '';\n }\n\n private handleAccess() {\n const { roles, byExclusion } = this;\n let display = 'none';\n const found = roles?.indexOf(this.getRole());\n if (byExclusion) {\n display = 'block';\n if (found > -1) {\n display = 'none';\n }\n } else {\n display = 'none';\n if (found > -1) {\n display = 'block';\n }\n }\n\n if (!roles || roles.length === 0 || (this.getRole() === 'PROGRAM_ADMIN')) display = 'block';\n this.elementRef.nativeElement.style.display = display;\n this.cdr.detectChanges();\n }\n\n ngOnInit() {\n this.elementRef.nativeElement.style.display = 'none';\n this.cdr.detectChanges();\n\n this.tokenStorageService.tokenHasChanged().subscribe(() => {\n this.tokenCredentials = this.tokenStorageService.getToken();\n this.handleAccess();\n });\n\n this.tokenCredentials = this.tokenStorageService.getToken();\n this.handleAccess();\n }\n}\n","import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[monkeyecxTooltip]'\n})\nexport class MonkeyEcxTooltipDirective {\n @Input() tooltipDelay: number;\n\n @Input() tooltipPosition: string;\n\n @Input() tooltipText: string;\n\n @Input() tooltipTitle: string;\n\n offset = 10;\n\n tooltip: HTMLElement;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n // not to do\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n if (!this.tooltip) {\n this.show();\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.tooltip) {\n this.hide();\n }\n }\n\n @HostListener('click')\n clickout() {\n if (this.tooltip) {\n this.hide();\n }\n }\n\n show() {\n this.create();\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'monkey-tooltip-show');\n }\n\n hide() {\n this.renderer.removeClass(this.tooltip, 'monkey-tooltip-show');\n this.renderer.removeChild(document.body, this.tooltip);\n\n this.tooltip = null;\n }\n\n create() {\n const tooltipElement = document.createElement('div');\n\n this.tooltip = this.renderer.createElement('span');\n\n if (this.tooltipTitle) {\n const tooltipTitleElement = document.createElement('span');\n\n tooltipTitleElement.innerText = `${this.tooltipTitle}`;\n tooltipTitleElement.className = 'monkey-tooltip-title';\n\n tooltipElement.appendChild(tooltipTitleElement);\n }\n\n if (this.tooltipText) {\n const tooltipTextElement = document.createElement('span');\n\n tooltipTextElement.innerText = `${this.tooltipText}`;\n tooltipTextElement.className = 'monkey-tooltip-description';\n tooltipElement.appendChild(tooltipTextElement);\n }\n\n this.renderer.appendChild(this.tooltip, tooltipElement);\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.renderer.addClass(this.tooltip, 'monkey-tooltip');\n this.renderer.addClass(this.tooltip, `monkey-tooltip-${this.tooltipPosition}`);\n\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.tooltipDelay}ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.tooltipDelay}ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.tooltipDelay}ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.tooltipDelay}ms`);\n }\n\n setPosition() {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n let top: number;\n let left: number;\n\n if (this.tooltipPosition === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'bottom') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.tooltipPosition === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MonkeyEcxDragDropDirective } from './monkeyecx-drag-drop';\nimport { MonkeyEcxFormatCurrency } from './monkeyecx-format-currency';\nimport { MonkeyEcxFormatUpper } from './monkeyecx-format-upper';\nimport { MonkeyEcxOnlyAlphaNumericDirective } from './monkeyecx-only-alpha-numeric-directive';\nimport { MonkeyEcxOnlyNumbersDirective } from './monkeyecx-only-number-directive';\nimport { MonkeyEcxSecurityDirective } from './monkeyecx-security-directive';\nimport { MonkeyEcxTooltipDirective } from './monkeyecx-tooltip-directive';\n\n@NgModule({\n declarations: [\n MonkeyEcxDragDropDirective,\n MonkeyEcxFormatCurrency,\n MonkeyEcxFormatUpper,\n MonkeyEcxOnlyAlphaNumericDirective,\n MonkeyEcxOnlyNumbersDirective,\n MonkeyEcxSecurityDirective,\n MonkeyEcxTooltipDirective\n ],\n exports: [\n MonkeyEcxDragDropDirective,\n MonkeyEcxFormatCurrency,\n MonkeyEcxFormatUpper,\n MonkeyEcxOnlyAlphaNumericDirective,\n MonkeyEcxOnlyNumbersDirective,\n MonkeyEcxSecurityDirective,\n MonkeyEcxTooltipDirective\n ]\n})\nexport class MonkeyEcxDirectivesModule {}\n","/* eslint-disable no-console */\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpErrorResponse, HttpRequest } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxAuthenticationService {\n constructor() {\n // not to do\n }\n\n hadAtLeastOneLogin = () => {\n console.error('hadAtLeastOneLogin needs to be declared!');\n return null;\n };\n\n redirectApp = () => {\n console.error('redirectApp needs to be declared!');\n return null;\n };\n\n redirectLoginWelcomeBack = () => {\n console.error('redirectLoginWelcomeBack needs to be declared!');\n return null;\n };\n\n isAuthorized = (): boolean => {\n console.error('isAuthorized needs to be declared!');\n return false;\n };\n\n getRequestWithHeaders = (request: HttpRequest<any>): HttpRequest<any> => {\n console.error('getRequestWithHeaders needs to be declared!');\n return null;\n };\n\n getRequestWithHeadersOb = (request: HttpRequest<any>): Observable<any> => {\n console.error('getRequestWithHeadersOb needs to be declared!');\n return null;\n };\n\n refreshShouldHappen = (response: HttpErrorResponse): boolean => {\n console.error('refreshShouldHappen needs to be declared!');\n return false;\n };\n\n refreshToken = (): Observable<any> => {\n console.error('refreshToken needs to be declared!');\n return null;\n };\n\n init(\n args: {\n hadAtLeastOneLogin?: any,\n redirectApp?: any,\n redirectLoginWelcomeBack?: any,\n isAuthorized?: any,\n getRequestWithHeaders?: any,\n getRequestWithHeadersOb?: any,\n refreshShouldHappen?: any,\n refreshToken?: any\n }\n ) {\n this.hadAtLeastOneLogin = args?.hadAtLeastOneLogin || this.hadAtLeastOneLogin.bind(this);\n this.redirectApp = args?.redirectApp || this.redirectApp.bind(this);\n this.redirectLoginWelcomeBack = args?.redirectLoginWelcomeBack ||\n this.redirectLoginWelcomeBack.bind(this);\n this.isAuthorized = args?.isAuthorized || this.isAuthorized.bind(this);\n this.getRequestWithHeaders = args?.getRequestWithHeaders ||\n this.getRequestWithHeaders.bind(this);\n this.getRequestWithHeadersOb = args?.getRequestWithHeadersOb.bind(this);\n this.refreshShouldHappen = args?.refreshShouldHappen || this.refreshShouldHappen.bind(this);\n this.refreshToken = args?.refreshToken || this.refreshToken.bind(this);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { MonkeyEcxAuthenticationService } from './monkeyecx-authentication.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxAuthGuardLogin implements CanActivate {\n constructor(private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService) {\n // not to do\n }\n\n canActivate(): Observable<boolean> | Promise<boolean> | boolean {\n if (this.monkeyecxAuthenticationService.isAuthorized()) {\n this.monkeyecxAuthenticationService.redirectApp();\n return false;\n }\n if (this.monkeyecxAuthenticationService.hadAtLeastOneLogin()) {\n this.monkeyecxAuthenticationService.redirectLoginWelcomeBack();\n return false;\n }\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { MonkeyEcxAuthenticationService } from './monkeyecx-authentication.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxAuthGuard implements CanActivate {\n constructor(private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService) {\n // not to do\n }\n\n canActivate(): Observable<boolean> | Promise<boolean> | boolean {\n const { monkeyecxAuthenticationService } = this;\n\n if (monkeyecxAuthenticationService.isAuthorized()) {\n return true;\n }\n\n monkeyecxAuthenticationService.redirectLoginWelcomeBack();\n\n return false;\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MonkeyStyleGuideSnackbarService } from 'monkey-style-guide';\nimport { MonkeyEcxAuthenticationService } from '../auth';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\nimport { MonkeyEcxTokenStorageService } from '../storage';\nimport { MonkeyEcxCommonsService } from '../commons';\nimport { MonkeyEcxServiceCredentials } from '../../interfaces';\nimport { MonkeyEcxUtils } from '../../utils/utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxHttpErrorHandlingService extends MonkeyEcxCommonsService {\n constructor(\n monkeyecxService: MonkeyEcxService,\n tokenStorage: MonkeyEcxTokenStorageService,\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\n private router: Router,\n private snackbarService: MonkeyStyleGuideSnackbarService,\n private translateService: TranslateService\n ) {\n super(monkeyecxService, tokenStorage);\n\n super.resolve(null, null);\n\n this.geti18n(this.translateService, 'SERVICES.WARNING');\n }\n\n private isHttpCodeIgnoreMessage(tp: MonkeyEcxServiceCredentials, httpCode: number): boolean {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !tp?.httpResponse) {\n return false;\n }\n\n const found = tp?.httpResponse?.httpCodeIgnore?.indexOf(httpCode) > -1;\n\n return found;\n }\n\n private isHttpCodeIgnoreRedirect(\n tp: MonkeyEcxServiceCredentials,\n httpCode: number\n ): boolean {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !tp?.httpResponse) {\n return false;\n }\n\n const found = tp?.httpResponse?.httpCodeIgnoreRedirect?.indexOf(httpCode) > -1;\n\n return found;\n }\n\n private getMessageType(status: number): 'theme' | 'warning' | 'success' | 'error' | 'question' {\n if (status === 409 || status === 400) {\n return 'warning';\n }\n\n return 'error';\n }\n\n private showMessage(\n message: string,\n error: HttpErrorResponse,\n mkc: MonkeyEcxServiceCredentials\n ) {\n const { snackbarService } = this;\n if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {\n snackbarService.show({\n title: this.__i18n?.TITLE,\n message,\n type: this.getMessageType(error.status),\n duration: 4000,\n horizontalPosition: 'center',\n verticalPosition: 'top'\n });\n }\n }\n\n private handleMessage(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\n // eslint-disable-next-line camelcase\n const { notifications, error_description, message } = error.error;\n let customMessage = '';\n\n if (message) {\n customMessage = message;\n }\n\n // eslint-disable-next-line camelcase\n if (error_description) {\n // eslint-disable-next-line camelcase\n customMessage = error_description;\n }\n\n if (notifications) {\n customMessage = notifications;\n }\n\n if (!customMessage) {\n if (error.error instanceof Blob) {\n const blob = new Blob([error.error], {\n type: 'application/json'\n });\n const reader = new FileReader();\n reader.addEventListener('loadend', (e) => {\n const text = e.target.result;\n const jsonResp = JSON.parse(text as string);\n customMessage = jsonResp.notifications;\n this.showMessage(customMessage, error, mkc);\n });\n reader.readAsText(blob);\n } else {\n this.showMessage(this.__i18n['ERROR-HANDLING']?.ERROR, error, mkc);\n }\n } else {\n this.showMessage(customMessage, error, mkc);\n }\n }\n\n public handleError(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\n const { router } = this;\n const { status } = error;\n\n const routes = {\n 403: 'forbidden',\n 500: 'service-problems',\n 503: 'service-problems'\n };\n\n const found = routes[status];\n let timeout = 0;\n\n if (found && !this.isHttpCodeIgnoreRedirect(mkc, error.status)) {\n const route = `/app/pages/${found}`.toLowerCase();\n timeout = 800;\n router.navigate([route]);\n }\n\n setTimeout(() => {\n this.handleMessage(error, mkc);\n }, timeout);\n }\n\n public handleErrorRefreshToken(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\n if (error.status === 401 || error.status === 400) {\n NgZone.call(this.monkeyecxAuthenticationService.redirectLoginWelcomeBack());\n } else if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {\n this.handleMessage(error, mkc);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\nimport { VersionChangedComponent } from '../../../components/version-changed';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxOthersErrorsHandlingService {\n constructor(private modalService: MonkeyStyleGuideModalService) {\n // not to do\n }\n\n public handleError(error: any) {\n const { modalService } = this;\n const { message } = error;\n\n if (new RegExp(/Loading chunk [\\d]+ failed/).test(message)) {\n modalService.open(VersionChangedComponent, {\n color: 'theme',\n size: 'md'\n });\n }\n }\n}\n","import { Injectable, Injector, ErrorHandler } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { MonkeyEcxHttpErrorHandlingService } from './monkeyecx-http-error-handling.service';\nimport { MonkeyEcxHandlingService } from '../monkeyecx-handling.service';\nimport { MonkeyEcxOthersErrorsHandlingService } from './monkeyecx-others-errors-handling.service';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxServiceCredentials } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxErrorHandlingService implements ErrorHandler {\n constructor(private injector: Injector) {\n // not to do\n }\n\n handleError(error: any, type?: string) {\n const { injector } = this;\n const handlingService = injector.get(MonkeyEcxHandlingService);\n const httpErrorHandlingService = injector.get(MonkeyEcxHttpErrorHandlingService);\n const othersErrorsHandlingService = injector.get(MonkeyEcxOthersErrorsHandlingService);\n\n if (error instanceof HttpErrorResponse) {\n const sCredentials: MonkeyEcxServiceCredentials = handlingService.getMonkeyEcxServiceCredentials();\n if (MonkeyEcxUtils.persistNullEmptyUndefined(type) && type === 'refresh_token') {\n httpErrorHandlingService.handleErrorRefreshToken(error, sCredentials);\n } else httpErrorHandlingService.handleError(error, sCredentials);\n } else {\n othersErrorsHandlingService.handleError(error);\n }\n }\n}\n","import { ErrorHandler, NgModule } from '@angular/core';\nimport { ModuleWithProviders } from '@angular/compiler/src/core';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyEcxErrorHandlingService } from './monkeyecx-error-handling.service';\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class MonkeyEcxErrorHandlingModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: MonkeyEcxErrorHandlingModule,\n providers: [\n {\n provide: ErrorHandler,\n useClass: MonkeyEcxErrorHandlingService\n }\n ]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map, mergeMap, take } from 'rxjs/operators';\nimport { MonkeyEcxAuthenticationService } from '../services/auth';\nimport { MonkeyEcxErrorHandlingService } from '../services/error';\n\nexport interface Headers {\n name: string;\n value: string;\n}\n\n@Injectable()\nexport class MonkeyEcxHttpConfigErrorInterceptor implements HttpInterceptor {\n constructor(\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\n private monkeyecxErrorHandlingService: MonkeyEcxErrorHandlingService\n ) {\n // no to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return next.handle(request).pipe(\n map((event: HttpEvent<any>) => {\n return event;\n }),\n catchError((error: HttpErrorResponse) => {\n if (this.monkeyecxAuthenticationService.refreshShouldHappen(error)) {\n return this.monkeyecxAuthenticationService.refreshToken().pipe(\n take(1),\n map(() => {\n return this.monkeyecxAuthenticationService.getRequestWithHeaders(request);\n }),\n mergeMap((resp: any) => {\n return next.handle(resp).pipe(\n catchError((error: any) => {\n this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');\n return throwError(null);\n })\n );\n }),\n catchError((error: any) => {\n this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');\n return throwError(null);\n })\n );\n }\n return throwError(error);\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map, mergeMap, take } from 'rxjs/operators';\nimport { MonkeyEcxErrorHandlingService } from '../services/error';\nimport { MonkeyEcxAuthenticationService } from '../services/auth';\n\n@Injectable()\nexport class MonkeyEcxHttpConfigHeaderInterceptor implements HttpInterceptor {\n constructor(\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\n private monkeyecxErrorHandlingService: MonkeyEcxErrorHandlingService\n ) {\n // not to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return this.monkeyecxAuthenticationService.getRequestWithHeadersOb(request).pipe(\n take(1),\n map((event: any) => {\n return event;\n }),\n mergeMap((resp: any) => {\n request = request.clone({\n setHeaders: resp\n });\n return next.handle(request);\n }),\n catchError((error: HttpErrorResponse) => {\n this.monkeyecxErrorHandlingService.handleError(error);\n return throwError(error);\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { MonkeyEcxRequestProgressQueue, MonkeyEcxRequestQueue } from '../../interfaces';\nimport { Statics } from '../../utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestQueueHandlingService {\n private queue: MonkeyEcxRequestQueue[] = [];\n\n private queues$: BehaviorSubject<MonkeyEcxRequestQueue[]>;\n\n private newQueue = new BehaviorSubject(false);\n\n constructor() {\n this.queues$ = new BehaviorSubject([]);\n }\n\n private addToQueue(q: MonkeyEcxRequestQueue) {\n this.queue.push(q);\n this.queues$.next(this.queue);\n this.newQueue.next(true);\n }\n\n private markQueueItemAsFinish(q: MonkeyEcxRequestQueue, status: number, action?: Function) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (val.status === Statics.MonkeyEcxQueueEvents.OnGoing) {\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || Statics.MonkeyEcxQueueEvents.Finished,\n action\n };\n }\n }\n return valSaved;\n })\n ];\n this.queues$.next(this.queue);\n }\n\n private updateQueue(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n const { total, loaded } = progress;\n const currentPecentage = Math.floor((loaded / total) * 100);\n const totalPercentage = 100;\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n progress: {\n loaded,\n total,\n currentPercentage: currentPecentage,\n totalPercentage\n }\n };\n }\n return valSaved;\n })\n ];\n\n this.queues$.next(this.queue);\n }\n\n private deleteQueue(q: MonkeyEcxRequestQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return null;\n }\n return valSaved;\n })\n ].filter((_: any) => {\n return _;\n });\n\n this.queues$.next(this.queue);\n }\n\n public setQueue(q: MonkeyEcxRequestQueue) {\n this.addToQueue(q);\n }\n\n public getQueue(): Observable<MonkeyEcxRequestQueue[]> {\n return this.queues$.asObservable();\n }\n\n public finishQueueItem(q: MonkeyEcxRequestQueue, action?: Function, status?: number) {\n this.markQueueItemAsFinish(q, status, action);\n }\n\n public removeQueueItem(q: MonkeyEcxRequestQueue) {\n this.deleteQueue(q);\n }\n\n public updateQueueItem(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n this.updateQueue(q, progress);\n }\n\n public hasNewQueue(): Observable<boolean> {\n return this.newQueue.pipe(\n map((_: any) => {\n return _;\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { MonkeyEcxRequestProgressQueue, MonkeyEcxRequestQueue } from '../../interfaces';\nimport { Statics } from '../../utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestQueueModalHandlingService {\n private queue: MonkeyEcxRequestQueue[] = [];\n\n private queues$: BehaviorSubject<MonkeyEcxRequestQueue[]>;\n\n private newQueue$ = new BehaviorSubject(false);\n\n private allQueueFinished$ = new BehaviorSubject(false);\n\n constructor() {\n this.queues$ = new BehaviorSubject([]);\n }\n\n private addToQueue(q: MonkeyEcxRequestQueue) {\n this.queue.push(q);\n this.queues$.next(this.queue);\n this.newQueue$.next(true);\n }\n\n private markQueueItemAsFinish(q: MonkeyEcxRequestQueue, status: number, action?: Function) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (val.status === Statics.MonkeyEcxQueueEvents.OnGoing) {\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || Statics.MonkeyEcxQueueEvents.Finished,\n action\n };\n }\n }\n return valSaved;\n })\n ];\n this.queues$.next(this.queue);\n }\n\n private updateQueue(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n const { total, loaded } = progress;\n const currentPecentage = Math.floor((loaded / total) * 100);\n const totalPercentage = 100;\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n progress: {\n loaded,\n total,\n currentPercentage: currentPecentage,\n totalPercentage\n }\n };\n }\n return valSaved;\n })\n ];\n\n this.queues$.next(this.queue);\n }\n\n private deleteQueue(q: MonkeyEcxRequestQueue) {\n const saved = [...this.queue];\n this.queue = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return null;\n }\n return valSaved;\n })\n ].filter((_: any) => {\n return _;\n });\n\n this.queues$.next(this.queue);\n if (this.queue.length <= 0) {\n this.allQueueFinished$.next(true);\n }\n }\n\n public setQueue(q: MonkeyEcxRequestQueue) {\n this.addToQueue(q);\n }\n\n public getQueue(): Observable<MonkeyEcxRequestQueue[]> {\n return this.queues$.asObservable();\n }\n\n public finishQueueItem(q: MonkeyEcxRequestQueue, action?: Function, status?: number) {\n this.markQueueItemAsFinish(q, status, action);\n }\n\n public removeQueueItem(q: MonkeyEcxRequestQueue) {\n this.deleteQueue(q);\n }\n\n public updateQueueItem(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\n this.updateQueue(q, progress);\n }\n\n public hasNewQueue(): Observable<boolean> {\n return this.newQueue$.pipe(\n map((_: any) => {\n return _;\n })\n );\n }\n\n public hasAllQueueFinished(): Observable<boolean> {\n return this.allQueueFinished$.pipe(\n map((_: any) => {\n return _;\n })\n );\n }\n}\n","/* eslint-disable max-len */\nimport { Injectable, Injector } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { MonkeyEcxRequestQueueHandlingService } from '../services/request-queue';\nimport { MonkeyEcxHandlingService } from '../services/monkeyecx-handling.service';\nimport { MonkeyEcxRequestQueue } from '../interfaces';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Injectable()\nexport class MonkeyEcxHttpConfigQueueInterceptor implements HttpInterceptor {\n constructor(\n private injector: Injector,\n private monkeyecxRequestQueueHandlingService: MonkeyEcxRequestQueueHandlingService\n ) {\n // not to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const { injector, isQueueProperty } = this;\n const monkeyecxHandlingService = injector.get(MonkeyEcxHandlingService);\n\n const monkeyecxRequestQueue: MonkeyEcxRequestQueue = monkeyecxHandlingService.getMonkeyEcxRequestQueue();\n if (isQueueProperty(monkeyecxRequestQueue)) {\n this.monkeyecxRequestQueueHandlingService.setQueue(monkeyecxRequestQueue);\n }\n\n return next.handle(request).pipe(\n finalize(() => {\n if (isQueueProperty(monkeyecxRequestQueue)) {\n this.monkeyecxRequestQueueHandlingService.finishQueueItem(monkeyecxRequestQueue);\n }\n })\n );\n }\n\n private isQueueProperty(mrq: MonkeyEcxRequestQueue): boolean {\n return (\n MonkeyEcxUtils.persistNullEmptyUndefined(mrq) &&\n MonkeyEcxUtils.persistNullEmptyUndefined(mrq.item.name)\n );\n }\n}\n","/* eslint-disable max-len */\nimport { Injectable, Injector } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { MonkeyEcxHandlingService } from '../services/monkeyecx-handling.service';\nimport { MonkeyEcxRequestLoadingInProgress } from '../interfaces';\nimport { MonkeyEcxUtils } from '../utils/utils';\nimport { MonkeyEcxProgressBarService } from '../../components';\n\n@Injectable()\nexport class MonkeyEcxHttpConfigLoadingInProgressInterceptor implements HttpInterceptor {\n constructor(private injector: Injector) {\n // no to do\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const { injector, isLoadingInProgressProperty } = this;\n const handlingService: MonkeyEcxHandlingService = injector.get(MonkeyEcxHandlingService);\n const progressBarService: MonkeyEcxProgressBarService = injector.get(\n MonkeyEcxProgressBarService\n );\n\n const inProgress: MonkeyEcxRequestLoadingInProgress = handlingService.getMonkeyEcxServiceCredentials()\n ? handlingService.getMonkeyEcxServiceCredentials().requestInProgress\n : null;\n if (isLoadingInProgressProperty(inProgress)) {\n progressBarService.show();\n }\n\n return next.handle(request).pipe(\n finalize(() => {\n if (isLoadingInProgressProperty(inProgress)) {\n progressBarService.hide();\n }\n })\n );\n }\n\n private isLoadingInProgressProperty(mlp: MonkeyEcxRequestLoadingInProgress): boolean {\n return MonkeyEcxUtils.persistNullEmptyUndefined(mlp) &&\n MonkeyEcxUtils.persistNullEmptyUndefined(mlp.showProgress)\n ? mlp.showProgress\n : true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ModuleWithProviders } from '@angular/compiler/src/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyEcxHttpConfigErrorInterceptor } from './monkeyecx-http-config-error.interceptor';\nimport { MonkeyEcxHttpConfigHeaderInterceptor } from './monkeyecx-http-config-header.interceptor';\nimport { MonkeyEcxHttpConfigQueueInterceptor } from './monkeyecx-http-config-queue.interceptor';\nimport { MonkeyEcxHttpConfigLoadingInProgressInterceptor } from './monkeyecx-http-config-loading-in-progress.interceptor';\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class MonkeyEcxHttpConfigInterceptorModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: MonkeyEcxHttpConfigInterceptorModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigHeaderInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigErrorInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigQueueInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MonkeyEcxHttpConfigLoadingInProgressInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","export interface Link {\n href: string;\n type: string;\n}\n\nexport class MonkeyEcxModel {\n _links: any;\n\n public getAction(type: string): Link {\n const { _links } = this;\n if (!_links) return null;\n const link = _links[type.toLowerCase()];\n return link;\n }\n}\n","/* eslint-disable indent */\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MonkeyEcxConfigService } from './monkeyecx-config.service';\n\n@NgModule()\nexport class MonkeyEcxConfigModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: MonkeyEcxConfigModule\n ) {\n if (parentModule) {\n throw new Error('MonkeyEcxConfigModule is already loaded. Import it in the AppModule only!');\n }\n }\n\n static forRoot(): ModuleWithProviders<MonkeyEcxConfigModule> {\n return {\n ngModule: MonkeyEcxConfigModule,\n providers: [MonkeyEcxConfigService]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { initialize, LDClient, LDFlagSet } from 'launchdarkly-js-client-sdk';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MonkeyEcxConfigService } from './monkeyecx-config.service';\nimport { MonkeyEcxConfig, MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxFeatureToggleService {\n private readonly flagSubject$ = new BehaviorSubject(null);\n\n private flags: LDFlagSet;\n\n private ldClient: LDClient;\n\n constructor(private monkeyConfigService: MonkeyEcxConfigService) {\n // not to do\n }\n\n private getAllFlags(): void {\n this.flags = this.ldClient.allFlags();\n\n this.flagSubject$.next(true);\n }\n\n private identify(config: MonkeyEcxConfig, environment: any): void {\n if (config) {\n const email = 'monkey@monkey.exchange';\n const user = {\n email,\n key: `${config.program?.token}#${email}`\n };\n\n if (!this.ldClient) {\n this.ldClient = initialize(environment.launchDarklyClientSideID, user);\n\n this.ldClient.on('change', this.getAllFlags.bind(this));\n this.ldClient.on('ready', this.getAllFlags.bind(this));\n } else {\n this.ldClient.identify(user, null, this.getAllFlags);\n }\n }\n }\n\n public apply(configBoostrap: MonkeyEcxConfigBoostrap, environment: any) {\n if (environment.launchDarklyClientSideID) {\n this.monkeyConfigService.config().subscribe((config) => {\n this.identify(config, environment);\n });\n } else {\n this.flagSubject$.next(true);\n }\n }\n\n public get onFlags(): Observable<any> {\n return this.flagSubject$.asObservable();\n }\n\n public getFlag(flag: string): boolean | null {\n const flagValue = this.flags?.[flag];\n\n return MonkeyUtils.persistNullEmptyUndefined(flagValue) ? flagValue : null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MonkeyEcxRequestSchedule } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxLoggedHandlingService {\n private schedules: MonkeyEcxRequestSchedule[] = [];\n\n constructor() {\n // not to do\n }\n\n private destroySchedule() {\n this.schedules.forEach((sch: MonkeyEcxRequestSchedule) => {\n clearInterval(sch.interval);\n });\n this.schedules = [];\n }\n\n public addSchedule(sch: MonkeyEcxRequestSchedule[]) {\n this.schedules = sch;\n }\n\n public destroy() {\n this.destroySchedule();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxRequestDownload } from '../../interfaces';\nimport { MonkeyEcxDownloadEvents } from '../../utils/statics';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestDownloadHandlingService {\n private download: MonkeyEcxRequestDownload[] = [];\n\n private download$: BehaviorSubject<MonkeyEcxRequestDownload[]>;\n\n constructor() {\n this.download$ = new BehaviorSubject([]);\n }\n\n private addTo(q: MonkeyEcxRequestDownload) {\n this.download.push(q);\n this.download$.next(this.download);\n }\n\n private markItemAsFinish(q: MonkeyEcxRequestDownload, status: number) {\n const saved = [...this.download];\n this.download = [\n ...saved\n .map((val: any) => {\n if (val.status === MonkeyEcxDownloadEvents.OnGoing) {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || MonkeyEcxDownloadEvents.Finished\n };\n }\n return valSaved;\n }\n return null;\n })\n .filter((_: any) => {\n return _;\n })\n ];\n\n this.download = this.download.filter((_: any) => {\n return _.status === MonkeyEcxDownloadEvents.OnGoing;\n });\n this.download$.next(this.download);\n }\n\n private updateItem(q: MonkeyEcxRequestDownload, loaded?: number, total?: number) {\n const saved = [...this.download];\n this.download = [\n ...saved.map((val: any) => {\n const valSaved = {\n ...val\n };\n const currentPecentage = Math.floor((loaded / total) * 100);\n const totalPercentage = 100;\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n loaded,\n total,\n currentPercentage: currentPecentage,\n totalPercentage\n };\n }\n return valSaved;\n })\n ];\n this.download$.next(this.download);\n }\n\n public set(q: MonkeyEcxRequestDownload) {\n this.addTo(q);\n }\n\n public get(): Observable<MonkeyEcxRequestDownload[]> {\n return this.download$.asObservable();\n }\n\n public update(q: MonkeyEcxRequestDownload, loaded?: number, total?: number) {\n this.updateItem(q, loaded, total);\n }\n\n public finishItem(q: MonkeyEcxRequestDownload, status?: number) {\n this.markItemAsFinish(q, status);\n }\n\n public hasDownloadOnGoing(): boolean {\n const found = this.download.find((_: any) => {\n return _.status === MonkeyEcxDownloadEvents.OnGoing;\n });\n return MonkeyEcxUtils.persistNullEmptyUndefined(found);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { Statics } from '../../utils';\nimport { MonkeyEcxRequestDownloaded } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestDownloadedHandlingService {\n private downloaded: MonkeyEcxRequestDownloaded[] = [];\n\n private downloaded$: BehaviorSubject<MonkeyEcxRequestDownloaded[]>;\n\n constructor() {\n this.downloaded$ = new BehaviorSubject([]);\n }\n\n private addTo(q: MonkeyEcxRequestDownloaded) {\n this.downloaded.push(q);\n this.downloaded$.next(this.downloaded);\n }\n\n private markItemAsFinish(q: MonkeyEcxRequestDownloaded, status: number) {\n const saved = [...this.downloaded];\n this.downloaded = [\n ...saved.map((val: any) => {\n if (val.status === Statics.MonkeyEcxDownloadEvents.OnGoing) {\n const valSaved = {\n ...val\n };\n if (valSaved.item.id === q.item.id) {\n return {\n ...valSaved,\n status: status || Statics.MonkeyEcxDownloadEvents.Finished,\n action: q.action\n };\n }\n return valSaved;\n }\n return val;\n })\n ];\n this.downloaded$.next(this.downloaded);\n }\n\n public set(q: MonkeyEcxRequestDownloaded) {\n this.addTo(q);\n }\n\n public get(): Observable<MonkeyEcxRequestDownloaded[]> {\n return this.downloaded$.asObservable();\n }\n\n public finishItem(q: MonkeyEcxRequestDownloaded, status?: number) {\n this.markItemAsFinish(q, status);\n }\n\n public hasDownloadOnGoing(): boolean {\n const found = this.downloaded.find((_: any) => {\n return _.status === Statics.MonkeyEcxDownloadEvents.OnGoing;\n });\n return MonkeyEcxUtils.persistNullEmptyUndefined(found);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRouteSnapshot } from '@angular/router';\nimport { MonkeyEcxUtils } from '../../utils/utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxDiscoveryParamsService {\n constructor(private router: Router) {\n // not to do\n }\n\n private getLastChild(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n if (route.firstChild) {\n return this.getLastChild(route.firstChild);\n }\n\n return route;\n }\n\n public setData(field: string, value: any): any {\n const { root } = this.router.routerState.snapshot;\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\n route.data[field] = value;\n }\n\n public getData(field: string): any {\n const { root } = this.router.routerState.snapshot;\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\n\n const found: any = MonkeyEcxUtils.persistNullEmptyUndefined(route) ? route.data[field] : null;\n return found;\n }\n\n public getDataFromCurrentNavigation(field: string): any {\n const navigation = this.router.getCurrentNavigation();\n let state: any = null;\n if (MonkeyEcxUtils.persistNullEmptyUndefined(navigation)) {\n state = navigation.extras.state;\n }\n\n return state ? state[field] : null;\n }\n\n public getParam(param: string): string | null {\n const { root } = this.router.routerState.snapshot;\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\n let found: string = MonkeyEcxUtils.persistNullEmptyUndefined(route)\n ? route.paramMap.get(param)\n : '';\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(found)) found = this.getData(param);\n return found;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\nimport { MonkeyEcxLoggedHandlingService } from '../logged';\nimport { MonkeyEcxUtils } from '../../utils/utils';\nimport { MonkeyEcxRequestSchedule } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxRequestScheduleService {\n private schedule: MonkeyEcxRequestSchedule[] = [];\n\n constructor(\n public monkeyecxService: MonkeyEcxService,\n private monkeyecxLoggedHandlingService: MonkeyEcxLoggedHandlingService\n ) {\n // not to do\n }\n\n private addToSchedule(q: MonkeyEcxRequestSchedule) {\n this.schedule.push(q);\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\n }\n\n private removeFromSchedule(q: MonkeyEcxRequestSchedule) {\n clearInterval(q.interval);\n const saved = [...this.schedule];\n this.schedule = [\n ...saved.map((sch: MonkeyEcxRequestSchedule) => {\n const savedLocal = {\n ...sch\n };\n if (sch.id === q.id) {\n return null;\n }\n return savedLocal;\n })\n ].filter((_: any) => {\n return _;\n });\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\n }\n\n private removeFromScheduleById(id: string) {\n const q = this.getScheduleById(id);\n clearInterval(q.interval);\n const saved = [...this.schedule];\n this.schedule = [\n ...saved.map((sch: MonkeyEcxRequestSchedule) => {\n const savedLocal = {\n ...sch\n };\n if (sch.id === q.id) {\n return null;\n }\n return savedLocal;\n })\n ].filter((_: any) => {\n return _;\n });\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\n }\n\n @MonkeyEcxCoreService({\n httpResponse: {\n httpCodeIgnore: [400, 403, 404, 500, 503]\n },\n requestInProgress: {\n showProgress: false\n }\n })\n private doCall(sch: MonkeyEcxRequestSchedule) {\n const { url, method, params, data, action } = sch;\n this.monkeyecxService[method.toLowerCase()]<any>(`${url}`, params).subscribe(\n (resp: any) => {\n action(\n {\n ...data,\n ...resp\n },\n sch\n );\n },\n () => {\n this.removeFromSchedule(sch);\n }\n );\n }\n\n public setSchedule(q: MonkeyEcxRequestSchedule, delay: number = 3000) {\n const interval = setInterval(() => {\n this.doCall({\n ...q,\n interval\n });\n }, delay);\n\n const sch = {\n ...q,\n id: `${MonkeyEcxUtils.getRandomString(40)}`,\n interval\n };\n\n this.addToSchedule(sch);\n return sch;\n }\n\n public removeSchedule(q: MonkeyEcxRequestSchedule) {\n this.removeFromSchedule(q);\n }\n\n public removeScheduleById(id: string) {\n this.removeFromScheduleById(id);\n }\n\n public getScheduleById(id: string) {\n const q = this.schedule.find((sch: MonkeyEcxRequestSchedule) => {\n return sch.id === id;\n });\n return q;\n }\n}\n","import { MonkeyEcxUtils } from '../utils/utils';\n\n/* eslint-disable no-unused-vars */\nexport enum OpSearch {\n LIKE = ':*:value*',\n BETWEEN = ':first AND :last',\n OR = 'OR',\n AND = 'AND',\n GT = '>:value',\n LT = '<:value',\n EQUAL = '::value'\n}\n\nexport class MonkeyEcxSpecificationSearch {\n constructor() {\n // not to do\n }\n\n private handleValue(value: any) {\n return Object.entries(value).map(([key, value1]) => {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(value1)) {\n return null;\n }\n if (Array.isArray(value1)) {\n if (key === OpSearch.BETWEEN) {\n return `${key}`.replace(':first', value1[0]).replace(':last', value1[1]);\n }\n }\n return `${key}`.replace(':value', value1.toString());\n })[0];\n }\n\n private queryVisitor(value: any) {\n const okay = Object.entries(value).map(([key1, value1]) => {\n if (key1 === OpSearch.OR || key1 === OpSearch.AND) {\n const join = (value1 as any[])\n .map((_: any) => {\n return Object.entries(_).map(([key2, value2]) => {\n if (value2 instanceof Object) {\n value2 = this.handleValue(value2);\n }\n return this.criteriaParser(key2, value2);\n })[0];\n })\n .filter((_: any) => {\n return _;\n })\n .join(` ${key1} `);\n return `${join ? `(${join})` : ''}`;\n }\n if (value1 instanceof Object) {\n value1 = this.handleValue(value1);\n }\n return this.criteriaParser(key1, value1);\n });\n return okay\n .filter((_: any) => {\n return _;\n })\n .join(' AND ');\n }\n\n private criteriaParser(key: string, value: any | any[]) {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n return '';\n }\n if (value instanceof Object) {\n return this.queryVisitor(value);\n }\n return `${key}${value}`;\n }\n\n public build(spec: any): string {\n try {\n return this.queryVisitor(spec);\n } catch (e) {\n throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);\n }\n }\n\n public buildMoreThanOne(field: string, op = OpSearch.EQUAL) {\n try {\n if (!this[field]) return [];\n\n const filters = this[field]?.split(',')?.map((filter: string) => {\n if (!filter) return null;\n return {\n [field]: {\n [op]: `${filter}`\n }\n };\n }).filter((val: any) => { return val; });\n return filters || [];\n } catch (e) {\n throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\nimport { CommonModule } from '@angular/common';\nimport {\n MonkeyStyleGuideModalService,\n MonkeyStyleGuideModule,\n MonkeyStyleGuideSettingsService,\n MonkeyStyleGuideSnackbarService\n} from 'monkey-style-guide';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ServiceWorkerModule } from '@angular/service-worker';\nimport { ClosedToMaintenanceModule } from './components/closed-to-maintenance';\nimport { VersionChangedModule } from './components/version-changed';\nimport {\n MonkeyEcxConfigModule,\n MonkeyEcxErrorHandlingModule,\n MonkeyEcxHttpConfigInterceptorModule\n} from './core';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n TranslateModule.forRoot(),\n MonkeyEcxConfigModule.forRoot(),\n MonkeyEcxHttpConfigInterceptorModule.forRoot(),\n MonkeyEcxErrorHandlingModule.forRoot(),\n MonkeyStyleGuideModule,\n ServiceWorkerModule.register('ngsw-worker.js'),\n ClosedToMaintenanceModule,\n VersionChangedModule\n ],\n providers: [\n MonkeyStyleGuideModalService,\n MonkeyStyleGuideSettingsService,\n MonkeyStyleGuideSnackbarService\n ]\n})\nexport class MonkeyFrontCoreModuleModule {}\n","/*\n * Public API Surface of monkey-front-core\n */\nexport * from './lib/components';\nexport * from './lib/core';\nexport * from './lib/monkey-front-core.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["moment","moment_","Pipe","Component","ViewEncapsulation","Input","formatNumber","TranslateService","CurrencyPipe","NgModule","CommonModule","MonkeyButtonModule","MonkeyIconModule","MonkeyInputModule","MonkeyModalModule","TranslateModule","BehaviorSubject","filter","NavigationStart","NavigationEnd","NavigationError","NavigationCancel","Injectable","Statics.MonkeyEcxQueueEvents","Statics.MonkeyEcxUploadEvents","DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties","DecoratorsUtils.buildQueuePropertys","MonkeyUtils","DecoratorsUtils.buildDownloadPropertys","DecoratorsUtils.buildUploadPropertys","EventEmitter","Directive","Output","HostBinding","HostListener","NG_VALUE_ACCESSOR","forwardRef","Self","HttpParams","take","takeWhile","throwError","map","catchError","DOCUMENT","Inject","registerLocaleData","localePTBR","datadogRum","first","interval","concat","of","NgZone","HttpErrorResponse","ErrorHandler","mergeMap","finalize","HTTP_INTERCEPTORS","Optional","SkipSelf","initialize","Statics.MonkeyEcxDownloadEvents","OpSearch","HttpClientModule","MonkeyStyleGuideModule","MonkeyStyleGuideModalService","MonkeyStyleGuideSettingsService","MonkeyStyleGuideSnackbarService","ServiceWorkerModule"],"mappings":"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"}