coer-elements 0.0.10 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/components/index.d.ts +1 -0
  2. package/components/lib/coer-button/coer-button.component.d.ts +44 -0
  3. package/components/lib/components.module.d.ts +6 -4
  4. package/esm2022/components/index.mjs +2 -1
  5. package/esm2022/components/lib/coer-button/coer-button.component.mjs +133 -0
  6. package/esm2022/components/lib/components.module.mjs +15 -9
  7. package/esm2022/interfaces/index.mjs +7 -0
  8. package/esm2022/interfaces/lib/app-source.interface.mjs +2 -0
  9. package/esm2022/interfaces/lib/breadcrumb.interface.mjs +2 -0
  10. package/esm2022/interfaces/lib/coer-ref.interface.mjs +2 -0
  11. package/esm2022/interfaces/lib/go-back.interface.mjs +2 -0
  12. package/esm2022/interfaces/lib/patch.interface.mjs +2 -0
  13. package/esm2022/interfaces/lib/screen-size.interface.mjs +2 -0
  14. package/esm2022/public_api.mjs +2 -1
  15. package/esm2022/signals/index.mjs +4 -0
  16. package/esm2022/signals/lib/breakpoint.signal.mjs +4 -0
  17. package/esm2022/signals/lib/is-loading.signal.mjs +3 -0
  18. package/esm2022/signals/lib/is-modal-open.signal.mjs +3 -0
  19. package/esm2022/tools/index.mjs +9 -2
  20. package/esm2022/tools/lib/breadcrumbs.class.mjs +63 -0
  21. package/esm2022/tools/lib/control-value.class.mjs +46 -0
  22. package/esm2022/tools/lib/date-time.class.mjs +22 -0
  23. package/esm2022/tools/lib/files.class.mjs +91 -0
  24. package/esm2022/tools/lib/generi-tools.mjs +199 -0
  25. package/esm2022/tools/lib/page.class.mjs +156 -0
  26. package/esm2022/tools/lib/screen.class.mjs +43 -0
  27. package/esm2022/tools/lib/source.class.mjs +80 -0
  28. package/fesm2022/coer-elements.mjs +836 -54
  29. package/fesm2022/coer-elements.mjs.map +1 -1
  30. package/interfaces/index.d.ts +6 -0
  31. package/interfaces/lib/app-source.interface.d.ts +4 -0
  32. package/interfaces/lib/breadcrumb.interface.d.ts +6 -0
  33. package/interfaces/lib/coer-ref.interface.d.ts +10 -0
  34. package/interfaces/lib/go-back.interface.d.ts +6 -0
  35. package/interfaces/lib/patch.interface.d.ts +5 -0
  36. package/interfaces/lib/screen-size.interface.d.ts +5 -0
  37. package/package.json +1 -1
  38. package/public_api.d.ts +1 -0
  39. package/signals/index.d.ts +3 -0
  40. package/signals/lib/breakpoint.signal.d.ts +1 -0
  41. package/signals/lib/is-loading.signal.d.ts +1 -0
  42. package/signals/lib/is-modal-open.signal.d.ts +1 -0
  43. package/src/interfaces/index.ts +6 -0
  44. package/src/interfaces/lib/app-source.interface.ts +4 -0
  45. package/src/interfaces/lib/breadcrumb.interface.ts +6 -0
  46. package/src/interfaces/lib/coer-ref.interface.ts +11 -0
  47. package/src/interfaces/lib/go-back.interface.ts +6 -0
  48. package/src/interfaces/lib/patch.interface.ts +5 -0
  49. package/src/interfaces/lib/screen-size.interface.ts +5 -0
  50. package/tools/index.d.ts +8 -1
  51. package/tools/lib/breadcrumbs.class.d.ts +18 -0
  52. package/tools/lib/date-time.class.d.ts +11 -0
  53. package/tools/lib/files.class.d.ts +16 -0
  54. package/tools/lib/generi-tools.d.ts +32 -0
  55. package/tools/lib/page.class.d.ts +60 -0
  56. package/tools/lib/screen.class.d.ts +11 -0
  57. package/tools/lib/source.class.d.ts +20 -0
  58. package/esm2022/tools/lib/controlValue.mjs +0 -46
  59. /package/tools/lib/{controlValue.d.ts → control-value.class.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"coer-elements.mjs","sources":["../../../projects/coer-elements/src/components/lib/coer-alert/coer-alert.component.ts","../../../projects/coer-elements/src/components/lib/coer-alert/coer-alert.component.html","../../../projects/coer-elements/src/components/lib/components.module.ts","../../../projects/coer-elements/src/tools/lib/controlValue.ts","../../../projects/coer-elements/src/coer-elements.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport * as bootstrap from 'bootstrap';\r\nimport Swal from 'sweetalert2'\r\n\r\n@Component({\r\n selector: 'coer-alert',\r\n templateUrl: './coer-alert.component.html',\r\n styleUrls: ['./coer-alert.component.scss']\r\n})\r\nexport class CoerAlert {\r\n\r\n /** */\r\n public Success(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Success';\r\n const alertSuccessTitle = document.getElementById('alert-success-title')!;\r\n alertSuccessTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-check-circle fa-beat');\r\n const alertSuccessIcon = document.getElementById('alert-success-icon')!;\r\n this.SetIcon(alertSuccessIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertSuccessMessage = document.getElementById('alert-success-message')!;\r\n alertSuccessMessage.innerHTML = message;\r\n\r\n //Toast\r\n const alertSuccess = document.getElementById('alert-success')!;\r\n this.SetAutoHide(alertSuccess, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertSuccess);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n public Error(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Error';\r\n const alertErrorTitle = document.getElementById('alert-error-title')!;\r\n alertErrorTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-exclamation-octagon fa-beat');\r\n const alertErrorIcon = document.getElementById('alert-error-icon')!;\r\n this.SetIcon(alertErrorIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertErrorBody = document.getElementById('alert-error-message')!;\r\n alertErrorBody.innerHTML = message;\r\n\r\n //Toast\r\n const alertError = document.getElementById('alert-error')!;\r\n this.SetAutoHide(alertError, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertError);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n public Info(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Info';\r\n const alertInfoTitle = document.getElementById('alert-info-title')!;\r\n alertInfoTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-info-circle fa-beat');\r\n const alertInfoIcon = document.getElementById('alert-info-icon')!;\r\n this.SetIcon(alertInfoIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertInfoBody = document.getElementById('alert-info-message')!;\r\n alertInfoBody.innerHTML = message;\r\n\r\n //Toast\r\n const alertInfo = document.getElementById('alert-info')!;\r\n this.SetAutoHide(alertInfo, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertInfo);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n public Warning(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Warning';\r\n const alertWarningTitle = document.getElementById('alert-warning-title')!;\r\n alertWarningTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-exclamation-triangle-fill fa-beat');\r\n const alertWarningIcon = document.getElementById('alert-warning-icon')!;\r\n this.SetIcon(alertWarningIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertWarningBody = document.getElementById('alert-warning-message')!;\r\n alertWarningBody.innerHTML = message;\r\n\r\n //Toast\r\n const alertWarning = document.getElementById('alert-warning')!;\r\n this.SetAutoHide(alertWarning, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertWarning);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n protected Close(alert: 'alert-success' | 'alert-error' | 'alert-info' | 'alert-warning') {\r\n return new Promise<void>(Resolve => {\r\n const element = document.getElementById(alert)!;\r\n const toast = bootstrap.Toast.getOrCreateInstance(element);\r\n toast.hide();\r\n\r\n setTimeout(() => { Resolve() }, 200);\r\n })\r\n }\r\n\r\n\r\n /** */\r\n public Confirm(\r\n message: string = 'Proceed?',\r\n alertType: 'warning' | 'danger' | 'success' | 'info' = 'warning',\r\n icon: string | null = null) {\r\n return new Promise<boolean>(Resolve => {\r\n let color: string;\r\n let iconType: 'warning' | 'error' | 'success' | 'info';\r\n switch(alertType) {\r\n case 'danger': {\r\n if (icon == null) icon = 'bi-exclamation-octagon';\r\n iconType = 'error';\r\n color = '#dc3545'; //red\r\n break;\r\n };\r\n\r\n case 'success': {\r\n if (icon == null) icon = 'bi-check-circle';\r\n iconType = 'info';\r\n color = '#198754'; //green\r\n break;\r\n };\r\n\r\n case 'info': {\r\n if (icon == null) icon = 'bi-info-circle';\r\n iconType = 'error';\r\n color = '#0d6efd'; //blue\r\n break\r\n };\r\n\r\n default: {\r\n if (icon == null) icon = 'bi-exclamation-triangle-fill';\r\n iconType = 'warning';\r\n color = '#ffc107'; //yellow\r\n break;\r\n }\r\n }\r\n\r\n switch(icon) {\r\n case 'delete': icon = 'fa-regular fa-trash-can'; break;\r\n }\r\n\r\n Swal.fire({\r\n icon: iconType,\r\n iconColor: 'transparent',\r\n iconHtml: `<i class=\"${icon}\" style=\"color: ${color};\"></i>`,\r\n html: message,\r\n showConfirmButton: true,\r\n confirmButtonText: 'Yes',\r\n confirmButtonColor: color,\r\n focusConfirm: true,\r\n showDenyButton: true,\r\n denyButtonColor: color,\r\n focusDeny: false,\r\n reverseButtons: true,\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: true,\r\n customClass: {\r\n denyButton: 'sweet-alert-button',\r\n confirmButton: 'sweet-alert-button'\r\n }\r\n }).then(({ value }) => setTimeout(() => Resolve(value)));\r\n });\r\n }\r\n\r\n\r\n /** */\r\n private SetIcon(element: HTMLElement, icon: string): void {\r\n for (const item of [...element.classList.value.split(' ')]) {\r\n if (item.length > 0) {\r\n element.classList.remove(item);\r\n element.classList.remove('q');\r\n }\r\n }\r\n\r\n icon = icon.trim();\r\n const hasWhiteSpaces: RegExp = / /;\r\n if (hasWhiteSpaces.test(icon)) {\r\n const classes = icon.split(' ');\r\n for (const icon of classes) element.classList.add(icon);\r\n }\r\n\r\n else element.classList.add(icon);\r\n }\r\n\r\n\r\n /** */\r\n private SetAutoHide(element: HTMLElement, autohide: number | null): void {\r\n element.removeAttribute('data-bs-autohide');\r\n element.removeAttribute('data-bs-delay');\r\n\r\n if (autohide && autohide > 0) {\r\n if (autohide < 1000) autohide = 1000;\r\n element.setAttribute('data-bs-autohide', 'true');\r\n element.setAttribute('data-bs-delay', String(autohide));\r\n }\r\n\r\n else element.setAttribute('data-bs-autohide', 'false');\r\n }\r\n\r\n\r\n /** */\r\n private GetIcon(title: string, icon: string | null, iconDefault: string): string {\r\n if (icon == null || icon == '') {\r\n title = title.replaceAll(' ', '').toUpperCase();\r\n\r\n switch(title) {\r\n case 'ENABLED': return 'fa-solid fa-thumbs-up fa-flip-horizontal';\r\n case 'ACTIVE': return 'fa-solid fa-thumbs-up fa-flip-horizontal';\r\n case 'ACTIVED': return 'fa-solid fa-thumbs-up fa-flip-horizontal';\r\n case 'DISABLE': return 'fa-solid fa-thumbs-down fa-flip-horizontal';\r\n case 'DISABLED': return 'fa-solid fa-thumbs-down fa-flip-horizontal';\r\n case 'DELETE': return 'fa-regular fa-trash-can';\r\n case 'DELETED': return 'fa-regular fa-trash-can';\r\n default: return iconDefault;\r\n }\r\n }\r\n\r\n return icon;\r\n }\r\n}","<aside class=\"toast-container coer-alert\">\r\n <!-- Success -->\r\n <div id=\"alert-success\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-success-icon\"></i>\r\n <strong id=\"alert-success-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-success')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-success-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Error -->\r\n <div id=\"alert-error\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-error-icon\"></i>\r\n <strong id=\"alert-error-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-error')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-error-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Info -->\r\n <div id=\"alert-info\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-info-icon\"></i>\r\n <strong id=\"alert-info-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-info')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-info-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Warning -->\r\n <div id=\"alert-warning\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-warning-icon\"></i>\r\n <strong id=\"alert-warning-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-warning')\" class=\"btn-close\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-warning-message\"></pre>\r\n </div>\r\n </div>\r\n</aside>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n//import { DirectivesModule } from 'src/app/shared/directives/directives.module';\r\n//import { PipesModule } from 'src/app/shared/pipes/pipes.module';\r\n\r\n//Angular Material\r\n//import { MatButtonModule } from '@angular/material/button';\r\n//import { MatCheckboxModule } from '@angular/material/checkbox';\r\n//import { MatInputModule } from '@angular/material/input';\r\n//import { MatFormFieldModule } from '@angular/material/form-field';\r\n//import { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\n//import { MatTabsModule } from '@angular/material/tabs';\r\n\r\n//Components\r\nimport { CoerAlert } from './coer-alert/coer-alert.component';\r\n//import { CoerButton } from './coer-button/coer-button.component';\r\n//import { CoerCheckbox } from './coer-checkbox/coer-checkbox.component';\r\n//import { CoerFilebox } from './coer-filebox/coer-filebox.component';\r\n//import { CoerForm } from './coer-form/coer-form.component';\r\n//import { CoerGrid } from './coer-grid/coer-grid.component';\r\n//import { CoerModal } from './coer-modal/coer-modal.component';\r\n//import { CoerNumberBox } from './coer-numberbox/coer-numberbox.component';\r\n//import { CoerPageTitle } from './coer-page-title/coer-page-title.component';\r\n//import { CoerSelectbox } from './coer-selectbox/coer-selectbox.component';\r\n//import { CoerSwitch } from './coer-switch/coer-switch.component';\r\n//import { CoerTab } from './coer-tab/coer-tab.component';\r\n//import { CoerTextarea } from './coer-textarea/coer-textarea.component';\r\n//import { CoerTextBox } from './coer-textbox/coer-textbox.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n //PipesModule,\r\n //MatButtonModule,\r\n //MatCheckboxModule,\r\n //MatInputModule,\r\n //MatFormFieldModule,\r\n //MatSlideToggleModule,\r\n //MatTabsModule,\r\n //DirectivesModule\r\n ],\r\n declarations: [\r\n CoerAlert,\r\n //CoerButton,\r\n //CoerCheckbox,\r\n //CoerFilebox,\r\n //CoerForm,\r\n //CoerGrid,\r\n //CoerModal,\r\n //CoerNumberBox,\r\n //CoerPageTitle,\r\n //CoerSelectbox,\r\n //CoerSwitch,\r\n //CoerTextarea,\r\n //CoerTab,\r\n //CoerTextBox,\r\n ],\r\n exports: [\r\n CoerAlert,\r\n //CoerButton,\r\n //CoerCheckbox,\r\n //CoerFilebox,\r\n //CoerForm,\r\n //CoerGrid,\r\n //CoerModal,\r\n //CoerNumberBox,\r\n //CoerPageTitle,\r\n //CoerSelectbox,\r\n //CoerSwitch,\r\n //CoerTextarea,\r\n //CoerTab,\r\n //CoerTextBox,\r\n ]\r\n})\r\nexport class ComponentsModule { }\r\n//export * from './coer-alert/coer-alert.component';\r\n//export * from './coer-button/coer-button.component';\r\n//export * from './coer-checkbox/coer-checkbox.component';\r\n//export * from './coer-filebox/coer-filebox.component';\r\n//export * from './coer-filebox/coer-filebox.interface';\r\n//export * from './coer-form/coer-form.component';\r\n//export * from './coer-grid/coer-grid.component';\r\n//export * from './coer-grid/coer-grid.interface';\r\n//export * from './coer-grid/coer-grid.templates';\r\n//export * from './coer-modal/coer-modal.component';\r\n//export * from './coer-numberbox/coer-numberbox.component';\r\n//export * from './coer-page-title/coer-page-title.component';\r\n//export * from './coer-page-title/pageTitle.interface';\r\n//export * from './coer-selectbox/coer-selectbox.component';\r\n//export * from './coer-switch/coer-switch.component';\r\n//export * from './coer-tab/coer-tab.component';\r\n//export * from './coer-textbox/coer-textbox.component';","import { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { forwardRef } from \"@angular/core\";\r\n\r\nexport const CONTROL_VALUE = <T>(component: T) => {\r\n return {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => component),\r\n multi: true\r\n }\r\n}\r\n\r\n\r\nexport class ControlValue implements ControlValueAccessor {\r\n\r\n //Variables\r\n protected _value: any;\r\n private _isTouched: boolean = false;\r\n protected _UpdateValue!: Function;\r\n private _IsTouched!: Function;\r\n\r\n\r\n public get isTouched() {\r\n return this._isTouched;\r\n }\r\n\r\n\r\n /** */\r\n protected SetValue(value: any): void {\r\n if(typeof this._UpdateValue === 'function') {\r\n this._UpdateValue(value);\r\n }\r\n\r\n this._value = value;\r\n }\r\n\r\n\r\n /** */\r\n public SetTouched(isTouched: boolean): void {\r\n if(typeof this._IsTouched === 'function') {\r\n this._IsTouched(isTouched);\r\n }\r\n\r\n this._isTouched = isTouched;\r\n }\r\n\r\n\r\n /** */\r\n public writeValue(value: any): void {\r\n this._value = value;\r\n }\r\n\r\n\r\n /** */\r\n public registerOnChange(callback: Function): void {\r\n this._UpdateValue = callback;\r\n }\r\n\r\n\r\n /** */\r\n public registerOnTouched(callback: Function): void {\r\n this._IsTouched = callback;\r\n }\r\n\r\n \r\n /** */\r\n public setDisabledState(isDisabled: boolean): void {}\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coer-elements.mjs","sources":["../../../projects/coer-elements/src/components/lib/coer-alert/coer-alert.component.ts","../../../projects/coer-elements/src/components/lib/coer-alert/coer-alert.component.html","../../../projects/coer-elements/src/tools/lib/generi-tools.ts","../../../projects/coer-elements/src/tools/lib/breadcrumbs.class.ts","../../../projects/coer-elements/src/tools/lib/control-value.class.ts","../../../projects/coer-elements/src/tools/lib/date-time.class.ts","../../../projects/coer-elements/src/tools/lib/files.class.ts","../../../projects/coer-elements/src/tools/lib/source.class.ts","../../../projects/coer-elements/src/tools/lib/page.class.ts","../../../projects/coer-elements/src/tools/lib/screen.class.ts","../../../projects/coer-elements/src/components/lib/coer-button/coer-button.component.ts","../../../projects/coer-elements/src/components/lib/coer-button/coer-button.component.html","../../../projects/coer-elements/src/components/lib/components.module.ts","../../../projects/coer-elements/src/signals/lib/breakpoint.signal.ts","../../../projects/coer-elements/src/signals/lib/is-loading.signal.ts","../../../projects/coer-elements/src/signals/lib/is-modal-open.signal.ts","../../../projects/coer-elements/src/coer-elements.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport * as bootstrap from 'bootstrap';\r\nimport Swal from 'sweetalert2'\r\n\r\n@Component({\r\n selector: 'coer-alert',\r\n templateUrl: './coer-alert.component.html',\r\n styleUrls: ['./coer-alert.component.scss']\r\n})\r\nexport class CoerAlert {\r\n\r\n /** */\r\n public Success(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Success';\r\n const alertSuccessTitle = document.getElementById('alert-success-title')!;\r\n alertSuccessTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-check-circle fa-beat');\r\n const alertSuccessIcon = document.getElementById('alert-success-icon')!;\r\n this.SetIcon(alertSuccessIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertSuccessMessage = document.getElementById('alert-success-message')!;\r\n alertSuccessMessage.innerHTML = message;\r\n\r\n //Toast\r\n const alertSuccess = document.getElementById('alert-success')!;\r\n this.SetAutoHide(alertSuccess, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertSuccess);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n public Error(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Error';\r\n const alertErrorTitle = document.getElementById('alert-error-title')!;\r\n alertErrorTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-exclamation-octagon fa-beat');\r\n const alertErrorIcon = document.getElementById('alert-error-icon')!;\r\n this.SetIcon(alertErrorIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertErrorBody = document.getElementById('alert-error-message')!;\r\n alertErrorBody.innerHTML = message;\r\n\r\n //Toast\r\n const alertError = document.getElementById('alert-error')!;\r\n this.SetAutoHide(alertError, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertError);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n public Info(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Info';\r\n const alertInfoTitle = document.getElementById('alert-info-title')!;\r\n alertInfoTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-info-circle fa-beat');\r\n const alertInfoIcon = document.getElementById('alert-info-icon')!;\r\n this.SetIcon(alertInfoIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertInfoBody = document.getElementById('alert-info-message')!;\r\n alertInfoBody.innerHTML = message;\r\n\r\n //Toast\r\n const alertInfo = document.getElementById('alert-info')!;\r\n this.SetAutoHide(alertInfo, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertInfo);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n public Warning(message: string | null = null, title: string | null = null, icon: string | null = null, autohide: number | null = 3000): void {\r\n //Title\r\n if (!title || title == '') title = 'Warning';\r\n const alertWarningTitle = document.getElementById('alert-warning-title')!;\r\n alertWarningTitle.textContent = title;\r\n\r\n //Icon\r\n icon = this.GetIcon(title, icon, 'bi-exclamation-triangle-fill fa-beat');\r\n const alertWarningIcon = document.getElementById('alert-warning-icon')!;\r\n this.SetIcon(alertWarningIcon, icon);\r\n\r\n //Message\r\n if (!message) message = '';\r\n const alertWarningBody = document.getElementById('alert-warning-message')!;\r\n alertWarningBody.innerHTML = message;\r\n\r\n //Toast\r\n const alertWarning = document.getElementById('alert-warning')!;\r\n this.SetAutoHide(alertWarning, autohide);\r\n\r\n const toast = bootstrap.Toast.getOrCreateInstance(alertWarning);\r\n toast.show();\r\n }\r\n\r\n\r\n /** */\r\n protected Close(alert: 'alert-success' | 'alert-error' | 'alert-info' | 'alert-warning') {\r\n return new Promise<void>(Resolve => {\r\n const element = document.getElementById(alert)!;\r\n const toast = bootstrap.Toast.getOrCreateInstance(element);\r\n toast.hide();\r\n\r\n setTimeout(() => { Resolve() }, 200);\r\n })\r\n }\r\n\r\n\r\n /** */\r\n public Confirm(\r\n message: string = 'Proceed?',\r\n alertType: 'warning' | 'danger' | 'success' | 'info' = 'warning',\r\n icon: string | null = null) {\r\n return new Promise<boolean>(Resolve => {\r\n let color: string;\r\n let iconType: 'warning' | 'error' | 'success' | 'info';\r\n switch(alertType) {\r\n case 'danger': {\r\n if (icon == null) icon = 'bi-exclamation-octagon';\r\n iconType = 'error';\r\n color = '#dc3545'; //red\r\n break;\r\n };\r\n\r\n case 'success': {\r\n if (icon == null) icon = 'bi-check-circle';\r\n iconType = 'info';\r\n color = '#198754'; //green\r\n break;\r\n };\r\n\r\n case 'info': {\r\n if (icon == null) icon = 'bi-info-circle';\r\n iconType = 'error';\r\n color = '#0d6efd'; //blue\r\n break\r\n };\r\n\r\n default: {\r\n if (icon == null) icon = 'bi-exclamation-triangle-fill';\r\n iconType = 'warning';\r\n color = '#ffc107'; //yellow\r\n break;\r\n }\r\n }\r\n\r\n switch(icon) {\r\n case 'delete': icon = 'fa-regular fa-trash-can'; break;\r\n }\r\n\r\n Swal.fire({\r\n icon: iconType,\r\n iconColor: 'transparent',\r\n iconHtml: `<i class=\"${icon}\" style=\"color: ${color};\"></i>`,\r\n html: message,\r\n showConfirmButton: true,\r\n confirmButtonText: 'Yes',\r\n confirmButtonColor: color,\r\n focusConfirm: true,\r\n showDenyButton: true,\r\n denyButtonColor: color,\r\n focusDeny: false,\r\n reverseButtons: true,\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: true,\r\n customClass: {\r\n denyButton: 'sweet-alert-button',\r\n confirmButton: 'sweet-alert-button'\r\n }\r\n }).then(({ value }) => setTimeout(() => Resolve(value)));\r\n });\r\n }\r\n\r\n\r\n /** */\r\n private SetIcon(element: HTMLElement, icon: string): void {\r\n for (const item of [...element.classList.value.split(' ')]) {\r\n if (item.length > 0) {\r\n element.classList.remove(item);\r\n element.classList.remove('q');\r\n }\r\n }\r\n\r\n icon = icon.trim();\r\n const hasWhiteSpaces: RegExp = / /;\r\n if (hasWhiteSpaces.test(icon)) {\r\n const classes = icon.split(' ');\r\n for (const icon of classes) element.classList.add(icon);\r\n }\r\n\r\n else element.classList.add(icon);\r\n }\r\n\r\n\r\n /** */\r\n private SetAutoHide(element: HTMLElement, autohide: number | null): void {\r\n element.removeAttribute('data-bs-autohide');\r\n element.removeAttribute('data-bs-delay');\r\n\r\n if (autohide && autohide > 0) {\r\n if (autohide < 1000) autohide = 1000;\r\n element.setAttribute('data-bs-autohide', 'true');\r\n element.setAttribute('data-bs-delay', String(autohide));\r\n }\r\n\r\n else element.setAttribute('data-bs-autohide', 'false');\r\n }\r\n\r\n\r\n /** */\r\n private GetIcon(title: string, icon: string | null, iconDefault: string): string {\r\n if (icon == null || icon == '') {\r\n title = title.replaceAll(' ', '').toUpperCase();\r\n\r\n switch(title) {\r\n case 'ENABLED': return 'fa-solid fa-thumbs-up fa-flip-horizontal';\r\n case 'ACTIVE': return 'fa-solid fa-thumbs-up fa-flip-horizontal';\r\n case 'ACTIVED': return 'fa-solid fa-thumbs-up fa-flip-horizontal';\r\n case 'DISABLE': return 'fa-solid fa-thumbs-down fa-flip-horizontal';\r\n case 'DISABLED': return 'fa-solid fa-thumbs-down fa-flip-horizontal';\r\n case 'DELETE': return 'fa-regular fa-trash-can';\r\n case 'DELETED': return 'fa-regular fa-trash-can';\r\n default: return iconDefault;\r\n }\r\n }\r\n\r\n return icon;\r\n }\r\n}","<aside class=\"toast-container coer-alert\">\r\n <!-- Success -->\r\n <div id=\"alert-success\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-success-icon\"></i>\r\n <strong id=\"alert-success-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-success')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-success-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Error -->\r\n <div id=\"alert-error\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-error-icon\"></i>\r\n <strong id=\"alert-error-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-error')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-error-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Info -->\r\n <div id=\"alert-info\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-info-icon\"></i>\r\n <strong id=\"alert-info-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-info')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-info-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Warning -->\r\n <div id=\"alert-warning\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-warning-icon\"></i>\r\n <strong id=\"alert-warning-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-warning')\" class=\"btn-close\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-warning-message\"></pre>\r\n </div>\r\n </div>\r\n</aside>","import { signal } from \"@angular/core\";\r\nconst reference_signal = signal<any>({});\r\n\r\nexport const Tools = {\r\n /** Generate a Guid */\r\n GetGuid: (seed: string = 'coer-system') => {\r\n let time = new Date().getTime();\r\n seed = seed.toString().trim()\r\n return seed + `-xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g, (c) => {\r\n const random = (time + Math.random() * 16) % 16 | 0\r\n time = Math.floor(time / 16)\r\n return (c == 'x' ? random : (random & 0x3 | 0x8)).toString(16)\r\n })\r\n },\r\n\r\n\r\n /** Returns true if the value is null or undefined, false otherwise */\r\n IsNull: <T>(value: T | null | undefined): boolean => {\r\n if (value === undefined) return true;\r\n if (value === null) return true;\r\n return false;\r\n },\r\n\r\n\r\n /** Returns true if the value is not null or undefined, false otherwise */\r\n IsNotNull: <T>(value: T | null | undefined): boolean => {\r\n if (value === undefined) return false;\r\n if (value === null) return false;\r\n return true;\r\n },\r\n\r\n\r\n /** Returns true if the value is null or undefined or contains only whitespace, false otherwise */\r\n IsOnlyWhiteSpace: <T>(value: T | null | undefined): boolean => {\r\n if (value === undefined) return true;\r\n if (value === null) return true;\r\n if((value as string).toString().trim() === '') return true;\r\n return false;\r\n },\r\n\r\n\r\n /** Break reference of a object or array */\r\n BreakReference: <T>(object: T): T => {\r\n if (object === undefined) return undefined as T;\r\n if (object === null) return null as T;\r\n const OBJECT = JSON.parse(JSON.stringify(object))\r\n return (Array.isArray(OBJECT)) ? [...OBJECT] : { ...OBJECT }\r\n },\r\n\r\n\r\n /** Clean extra whitespaces */\r\n CleanUpBlanks: (text: string | number): string => {\r\n if(Tools.IsNull(text)) return '';\r\n let worlds: string[] = String(text).split(' ');\r\n worlds = worlds.filter(x => x.length > 0);\r\n return worlds.join(' ');\r\n },\r\n\r\n\r\n /** Get properties of an object */\r\n GetObjectProperties: <T>(obj: T | null | undefined): string[] => {\r\n const properties: string[] = [];\r\n if(Tools.IsNull(obj)) return properties;\r\n for(const property in obj) properties.push(String(property));\r\n return properties;\r\n },\r\n\r\n\r\n /**\r\n * Set an index and merge more arrays of the same type\r\n * */\r\n SetIndex: <T>(array: T[], ...args: T[][]): T[] => {\r\n let index = 0;\r\n for (const arg of args) {\r\n array = Tools.BreakReference(array).concat(Tools.BreakReference(arg));\r\n }\r\n\r\n return Tools.BreakReference(array).map(item => Object.assign({ index: index++ }, item));\r\n },\r\n\r\n\r\n /** Set First Char To Lower */\r\n FirstCharToLower: (text: string | null | undefined): string => {\r\n if (Tools.IsNull(text)) return '';\r\n\r\n const textArray: string[] = [];\r\n for(let i = 0; i < text!.length; i++) {\r\n if(i === 0) textArray.push(text![i].toLowerCase());\r\n else textArray.push(text![i]);\r\n }\r\n\r\n return textArray.join('');\r\n },\r\n\r\n\r\n /** Set First Char To Upper */\r\n FirstCharToUpper: (text: string | null | undefined): string => {\r\n if (Tools.IsNull(text)) return '';\r\n\r\n const textArray: string[] = [];\r\n for(let i = 0; i < text!.length; i++) {\r\n if(i === 0) textArray.push(text![i].toUpperCase());\r\n else textArray.push(text![i]);\r\n }\r\n\r\n return textArray.join('');\r\n },\r\n\r\n\r\n /** Sort an array in ascending order by property */\r\n SortBy: <T>(array: T[], property: string, propertyType: 'string' | 'number' = 'string'): T[] => {\r\n switch (propertyType) {\r\n case 'string': {\r\n return array.sort((x: any, y: any) => {\r\n if (String(x[property]).toUpperCase().trim() < String(y[property]).toUpperCase().trim()) return -1;\r\n else if (String(x[property]).toUpperCase().trim() > String(y[property]).toUpperCase().trim()) return 1;\r\n else return 0;\r\n });\r\n }\r\n\r\n case 'number': {\r\n return array.sort((x: any, y: any) => Number(x[property] - Number(y[property])));\r\n }\r\n }\r\n },\r\n\r\n\r\n /** Sort an array in descending order by property */\r\n SortByDesc: <T>(array: T[], property: string, propertyType: 'string' | 'number' = 'string'): T[] => {\r\n switch (propertyType) {\r\n case 'string': {\r\n return array.sort((x: any, y: any) => {\r\n if (String(x[property]).toUpperCase().trim() < String(y[property]).toUpperCase().trim()) return 1;\r\n else if (String(x[property]).toUpperCase().trim() > String(y[property]).toUpperCase().trim()) return -1;\r\n else return 0;\r\n });\r\n }\r\n\r\n case 'number': {\r\n return array.sort((x: any, y: any) => Number(Number(y[property])) - x[property]);\r\n }\r\n }\r\n },\r\n\r\n\r\n /** Return a string with forman numeric */\r\n GetNumericFormat: (value: string | number | null | undefined, decimals: number = 0): string => {\r\n if (value == undefined\r\n || value == null\r\n || value.toString().trim() == ''\r\n || isNaN(Number(value))) {\r\n return '0';\r\n }\r\n\r\n let valueInteger = '';\r\n let valueDecimal = '';\r\n value = value.toString().replaceAll(' ', '');\r\n\r\n if (value.includes('.') || (decimals > 0)) {\r\n valueInteger = value.includes('.') ? value.split('.')[0] : value;\r\n\r\n if (decimals > 0) {\r\n const PADDING = decimals - valueDecimal.length;\r\n valueDecimal = value.includes('.') ? value.split('.')[1] : '';\r\n for(let i = 0; i < PADDING; i++) valueDecimal += '0';\r\n valueDecimal = valueDecimal.substring(0, decimals);\r\n valueDecimal = `.${valueDecimal}`;\r\n }\r\n }\r\n\r\n else {\r\n valueInteger = value;\r\n }\r\n\r\n let counter = 0;\r\n const VALUE_INTEGER_ARRAY: string[] = [];\r\n for(const char of valueInteger.split('').reverse()) {\r\n if (counter == 3) {\r\n VALUE_INTEGER_ARRAY.push(',');\r\n counter = 0;\r\n }\r\n\r\n VALUE_INTEGER_ARRAY.push(char);\r\n ++counter;\r\n }\r\n\r\n valueInteger = VALUE_INTEGER_ARRAY.reverse().join('');\r\n return `${valueInteger}${valueDecimal}`;\r\n },\r\n\r\n\r\n /** Wait the time indicated */\r\n Sleep: (milliseconds: number = 0, reference: string | null = null) => {\r\n if (Tools.IsNull(reference)) {\r\n return new Promise(Resolve => setTimeout(Resolve, milliseconds));\r\n }\r\n\r\n else return new Promise<void>(Resolve => {\r\n reference = reference!.replaceAll(' ', '_').toLowerCase();\r\n\r\n if (reference_signal().hasOwnProperty(reference)) {\r\n clearInterval(reference_signal()[reference!]);\r\n }\r\n\r\n reference_signal.set(Object.assign(reference_signal(), {\r\n [reference!]: setTimeout(() => {\r\n Resolve();\r\n clearInterval(reference_signal()[reference!]);\r\n const _reference = { ...reference_signal() };\r\n delete _reference[reference!];\r\n reference_signal.set({ ..._reference });\r\n }, milliseconds)\r\n }));\r\n });\r\n }\r\n};","import { IAppSource } from \"../../interfaces\";\r\nimport { Tools } from './generi-tools';\r\n\r\nexport class Breadcrumbs {\r\n\r\n private static readonly storage = 'COER-System';\r\n\r\n /** */\r\n public static Add(page: string, path: string): void {\r\n const breadcrumbs = this.Get();\r\n const paths = breadcrumbs.map(item => item.path);\r\n\r\n if (!paths.includes(path)) {\r\n breadcrumbs.push({ page, path });\r\n this.Save(breadcrumbs);\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public static Get(): IAppSource[] {\r\n let storage = sessionStorage.getItem(this.storage) as any;\r\n\r\n if (storage) {\r\n storage = JSON.parse(storage);\r\n\r\n if (storage.hasOwnProperty('breadcrumbs')) {\r\n return Tools.BreakReference(storage.breadcrumbs);\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n\r\n /** */\r\n public static GetFirst(): IAppSource | null {\r\n const breadcrumbs = this.Get();\r\n return (breadcrumbs.length > 0) ? breadcrumbs.shift()! : null;\r\n }\r\n\r\n\r\n /** */\r\n public static Save(breadcrumbs: IAppSource[]): void {\r\n let storage = sessionStorage.getItem(this.storage) as any;\r\n if (storage) storage = JSON.parse(storage);\r\n storage = Object.assign({}, storage, { breadcrumbs });\r\n sessionStorage.setItem(this.storage, JSON.stringify(storage));\r\n }\r\n\r\n\r\n /** */\r\n public static Remove(path: string): void {\r\n let breadcrumbs = this.Get();\r\n const index = breadcrumbs.findIndex(x => x.path.toLowerCase().trim() === path.toLowerCase().trim());\r\n\r\n if (index >= 0) {\r\n breadcrumbs = Tools.BreakReference(breadcrumbs).splice(0, index + 1);\r\n this.Save(breadcrumbs);\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public static SetLast(page: string, path: string): void {\r\n const breadcrumbs = this.Get();\r\n\r\n if (breadcrumbs.length > 0) {\r\n breadcrumbs[breadcrumbs.length - 1] = { page, path };\r\n this.Save(breadcrumbs);\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public static RemoveLast(): void {\r\n const breadcrumbs = this.Get();\r\n\r\n if (breadcrumbs.length > 0) {\r\n breadcrumbs.pop();\r\n this.Save(breadcrumbs);\r\n }\r\n }\r\n}","import { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { forwardRef } from \"@angular/core\";\r\n\r\nexport const CONTROL_VALUE = <T>(component: T) => {\r\n return {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => component),\r\n multi: true\r\n }\r\n}\r\n\r\n\r\nexport class ControlValue implements ControlValueAccessor {\r\n\r\n //Variables\r\n protected _value: any;\r\n private _isTouched: boolean = false;\r\n protected _UpdateValue!: Function;\r\n private _IsTouched!: Function;\r\n\r\n\r\n public get isTouched() {\r\n return this._isTouched;\r\n }\r\n\r\n\r\n /** */\r\n protected SetValue(value: any): void {\r\n if(typeof this._UpdateValue === 'function') {\r\n this._UpdateValue(value);\r\n }\r\n\r\n this._value = value;\r\n }\r\n\r\n\r\n /** */\r\n public SetTouched(isTouched: boolean): void {\r\n if(typeof this._IsTouched === 'function') {\r\n this._IsTouched(isTouched);\r\n }\r\n\r\n this._isTouched = isTouched;\r\n }\r\n\r\n\r\n /** */\r\n public writeValue(value: any): void {\r\n this._value = value;\r\n }\r\n\r\n\r\n /** */\r\n public registerOnChange(callback: Function): void {\r\n this._UpdateValue = callback;\r\n }\r\n\r\n\r\n /** */\r\n public registerOnTouched(callback: Function): void {\r\n this._IsTouched = callback;\r\n }\r\n\r\n \r\n /** */\r\n public setDisabledState(isDisabled: boolean): void {}\r\n}","import moment from \"moment\";\r\n\r\nexport class DateTime {\r\n /** Get UTC Offset */\r\n public static GetOffset(): number {\r\n return moment().utcOffset();\r\n }\r\n\r\n\r\n /** Convert UTC Date to Local Zone */\r\n public static ToLocalZone(utcDate: string | Date | moment.Moment): string {\r\n return moment(utcDate).add(DateTime.GetOffset(), 'minutes').format('YYYY-MM-DD HH:mm:ss');\r\n }\r\n\r\n\r\n /** Convert Local Zone Date to UTC */\r\n public static ToUTC(utcDate: string | Date | moment.Moment): string {\r\n return moment(utcDate).subtract(DateTime.GetOffset(), 'minutes').format('YYYY-MM-DD HH:mm:ss');\r\n }\r\n\r\n\r\n /** DD MMM YYYY */\r\n public static GetDateFormat(date: string | Date | moment.Moment): string {\r\n if ((typeof date === 'string')) date = date.replaceAll('/', '-');\r\n return moment(date).parseZone().local(true).format('DD MMM YYYY');\r\n }\r\n}","import { Tools } from \"../\";\r\nimport * as XLSX from 'xlsx';\r\n\r\nexport class Files {\r\n public static readonly EXCEL_EXTENSIONS: string[] = ['xls', 'xlsx', 'csv'];\r\n\r\n /** Get Extension File */\r\n public static GetExtension(file: File): string | null {\r\n const fileName = file.name;\r\n\r\n if (fileName.includes('.')) {\r\n let worlds = fileName.split('.') as string[];\r\n\r\n if (worlds.length > 0) {\r\n let extension = worlds.pop()!;\r\n extension = extension.trim().toLowerCase();\r\n if (extension.length > 0) return extension;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n /** Is Excel File */\r\n public static IsExcel(file: File): boolean {\r\n const EXTENSION = Files.GetExtension(file);\r\n\r\n return Tools.IsNotNull(EXTENSION)\r\n ? this.EXCEL_EXTENSIONS.includes(EXTENSION!)\r\n : false;\r\n }\r\n\r\n\r\n /** Read excel file */\r\n public static ReadExcel<T>(file: File) {\r\n return new Promise<{ columns: string[]; rows: T[]; }>(Resolve => {\r\n let columns: string[] = [];\r\n let rows: T[] = [];\r\n\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(file);\r\n\r\n reader.onload = () => {\r\n const dataBytes = new Uint8Array(reader.result as any);\r\n\r\n if (dataBytes) {\r\n const workbook = XLSX.read(dataBytes, {});\r\n const sheet = workbook.Sheets[workbook.SheetNames[0]];\r\n let dataSheet: any[] = XLSX.utils.sheet_to_json(sheet, {\r\n header: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']\r\n });\r\n\r\n //Get Headers\r\n for(const column in dataSheet[0]) {\r\n columns.push(Tools.FirstCharToLower(String(dataSheet[0][column]).replaceAll(' ', '')));\r\n }\r\n\r\n //Get Rows\r\n rows = XLSX.utils.sheet_to_json(sheet, { header: columns });\r\n rows.shift();\r\n\r\n rows = rows.map(row => {\r\n const item = Tools.BreakReference<any>(row);\r\n delete item['__rowNum__'];\r\n return item;\r\n });\r\n }\r\n\r\n Resolve({ columns, rows });\r\n }\r\n\r\n reader.onerror = () => { Resolve({ columns, rows }) }\r\n });\r\n }\r\n\r\n\r\n /** Export to excel file */\r\n public static ExportExcel<T>(data: T[], fileName: string = 'coer_report', sheetName: string = 'Sheet1') {\r\n sheetName = Tools.CleanUpBlanks(sheetName);\r\n fileName = Tools.CleanUpBlanks(fileName);\r\n\r\n if(fileName.endsWith('.xls') || fileName.endsWith('.xlsx') || fileName.endsWith('.csv')) {\r\n if (fileName.includes('.xls')) {\r\n fileName = fileName.replaceAll('.xls', '.xlsx');\r\n }\r\n\r\n if (fileName.includes('.csv')) {\r\n fileName = fileName.replaceAll('.csv', '.xlsx');\r\n }\r\n }\r\n\r\n else {\r\n fileName += '.xlsx';\r\n }\r\n\r\n const WORK_SHEET = XLSX.utils.json_to_sheet(data);\r\n const WORK_BOOK = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(WORK_BOOK, WORK_SHEET, sheetName);\r\n XLSX.writeFile(WORK_BOOK, fileName);\r\n }\r\n\r\n\r\n /** Convert file to string base64 */\r\n public static ConvertToBase64(file: File) {\r\n return new Promise<string>(Resolve => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = () => {\r\n Resolve(reader.result?.toString() || '');\r\n }\r\n\r\n reader.onerror = () => Resolve('');\r\n });\r\n }\r\n}","import { inject } from \"@angular/core\";\r\nimport { Router } from '@angular/router';\r\nimport { IAppSource } from \"../../interfaces\";\r\nimport { Breadcrumbs } from \"./breadcrumbs.class\";\r\nimport { Tools } from './generi-tools';\r\n\r\nexport class Source {\r\n\r\n private static readonly storage = 'COER-System';\r\n\r\n /** */\r\n public static Set(page: string): void {\r\n const ROUTER = inject(Router);\r\n\r\n let path = ROUTER.url;\r\n if (path.includes('?')) path = path.split('?')[0];\r\n\r\n Breadcrumbs.Add(page, path);\r\n\r\n const breadcrumbs = Breadcrumbs.Get();\r\n\r\n if(breadcrumbs.length >= 2) {\r\n breadcrumbs.pop();\r\n const breadcrumb = breadcrumbs.pop()!;\r\n this.Save({ page: breadcrumb.page, path: breadcrumb.path });\r\n }\r\n\r\n else this.Save(null);\r\n }\r\n\r\n\r\n /** */\r\n private static Save(source: IAppSource | null): void {\r\n let storage = sessionStorage.getItem(this.storage) as any;\r\n if (storage) storage = JSON.parse(storage);\r\n storage = Object.assign({}, storage, { source });\r\n sessionStorage.setItem(this.storage, JSON.stringify(storage));\r\n }\r\n\r\n\r\n /** */\r\n public static Get(): IAppSource | null {\r\n let storage = sessionStorage.getItem(this.storage) as any;\r\n\r\n if (storage) {\r\n storage = JSON.parse(storage);\r\n\r\n if (storage.hasOwnProperty('source')) {\r\n return storage.source;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n /** */\r\n public static GetRoot(): IAppSource | null {\r\n const breadcrumbs = Breadcrumbs.Get();\r\n return (breadcrumbs.length > 0) ? breadcrumbs.shift()! : null;\r\n }\r\n\r\n\r\n /** */\r\n public static SetPageResponse<T>(pageResponse: T): void {\r\n let storage = sessionStorage.getItem(this.storage) as any;\r\n storage = JSON.parse(storage);\r\n storage = Object.assign({}, storage, { pageResponse });\r\n sessionStorage.setItem(this.storage, JSON.stringify(storage));\r\n }\r\n\r\n\r\n /** */\r\n public static GetPageResponse<T>(): T | null {\r\n let storage = sessionStorage.getItem(this.storage) as any;\r\n\r\n if (storage) {\r\n storage = JSON.parse(storage);\r\n\r\n if (storage.hasOwnProperty('pageResponse')) {\r\n return Tools.BreakReference(storage.pageResponse);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n /** */\r\n public static ClearPageResponse(): void {\r\n let storage = sessionStorage.getItem(this.storage) as any;\r\n storage = JSON.parse(storage);\r\n\r\n if (storage.hasOwnProperty('pageResponse')) {\r\n delete storage.pageResponse;\r\n }\r\n\r\n storage = Object.assign({}, storage);\r\n sessionStorage.setItem(this.storage, JSON.stringify(storage));\r\n }\r\n\r\n\r\n /** */\r\n public static Reset(): void {\r\n sessionStorage.removeItem(this.storage);\r\n }\r\n}","import { AfterViewInit, Component, Inject, inject, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IAppSource, IBreadcrumb, IGoBack } from '../../interfaces';\r\nimport { CoerAlert } from '../../components';\r\nimport { Breadcrumbs } from './breadcrumbs.class';\r\nimport { Source } from './source.class';\r\nimport { Tools } from './generi-tools';\r\n\r\n@Component({ template: '' })\r\nexport class Page implements AfterViewInit, OnDestroy {\r\n\r\n //Injection\r\n protected readonly alert = inject(CoerAlert);\r\n protected readonly router = inject(Router);\r\n private readonly activatedRoute = inject(ActivatedRoute);\r\n\r\n /** */\r\n protected isUpdate: boolean = false;\r\n\r\n /** */\r\n protected isLoading: boolean = false;\r\n\r\n /** */\r\n protected isReadyPage: boolean = false;\r\n\r\n /** */\r\n protected enableAnimations: boolean = false;\r\n\r\n /** */\r\n protected routeParams: any;\r\n\r\n /** */\r\n protected queryParams: any;\r\n\r\n /** */\r\n protected breadcrumbs: IBreadcrumb[] = [];\r\n\r\n /** */\r\n protected pageResponse: any = null;\r\n\r\n /** */\r\n protected goBack: IGoBack = { show: false };\r\n\r\n //Private Variables\r\n private _page: string = '';\r\n private _source: IAppSource | null = null;\r\n private _preventDestroy: boolean = false;\r\n\r\n\r\n constructor(@Inject(String) page: string) {\r\n this.SetPageName(page);\r\n this.SetSource();\r\n this.GetSource();\r\n this.GetNavigation();\r\n this.SetGoBack();\r\n this.GetPageResponse();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.routeParams = this.activatedRoute.snapshot.params;\r\n this.queryParams = this.activatedRoute.snapshot.queryParams;\r\n\r\n setTimeout(() => {\r\n this.isReadyPage = true;\r\n this.RunPage();\r\n setTimeout(() => { this.enableAnimations = true }, 1000);\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (!this._preventDestroy) Source.ClearPageResponse();\r\n }\r\n\r\n /** Main method. Starts after ngAfterViewInit() */\r\n protected RunPage(): void {};\r\n\r\n\r\n /** Rename the last breadcrumb and update the url id */\r\n protected SetPageName(name: string, id: string | number | null = null): void {\r\n this._page = name;\r\n\r\n let path = this.router.url;\r\n if (path.includes('?')) path = path.split('?')[0];\r\n\r\n if (id) {\r\n const PATH_ARRAY = path.split('/');\r\n const PATH_ID = Tools.BreakReference(PATH_ARRAY).pop();\r\n if (PATH_ID) {\r\n PATH_ARRAY[PATH_ARRAY.length - 1] = String(id);\r\n path = PATH_ARRAY.join('/');\r\n }\r\n }\r\n\r\n if (this.breadcrumbs.length > 0) {\r\n this.breadcrumbs[this.breadcrumbs.length - 1].page = name;\r\n this.breadcrumbs[this.breadcrumbs.length - 1].path = path;\r\n Breadcrumbs.SetLast(name, path);\r\n }\r\n\r\n this.router.navigateByUrl(path)\r\n }\r\n\r\n\r\n /** */\r\n private SetSource(): void {\r\n Source.Set(this._page);\r\n }\r\n\r\n\r\n /** */\r\n private GetSource(): void {\r\n this._source = Source.Get();\r\n }\r\n\r\n\r\n /** */\r\n protected GetPageResponse(): void {\r\n this.pageResponse = Source.GetPageResponse();\r\n }\r\n\r\n\r\n /** */\r\n private GetNavigation(): void {\r\n if (this._source) {\r\n this.breadcrumbs = Breadcrumbs.Get().map(item => Object.assign({\r\n page: item.page,\r\n path: item.path,\r\n click: this.GoBack(item.path)\r\n }));\r\n }\r\n\r\n else this.breadcrumbs = [{ page: this._page }];\r\n }\r\n\r\n\r\n /** */\r\n private SetGoBack(): void {\r\n if (this._source) {\r\n this.goBack = {\r\n show: true,\r\n path: this._source.path,\r\n click: this.GoBack()\r\n };\r\n }\r\n }\r\n\r\n\r\n /** */\r\n private GoBack = (path?: string) => (() => {\r\n if (path) Breadcrumbs.Remove(path);\r\n else Breadcrumbs.RemoveLast();\r\n });\r\n\r\n\r\n /** Navigate to previous page */\r\n protected GoToSource<T>(pageResponse: T | null = null): void {\r\n if(this._source) {\r\n Breadcrumbs.RemoveLast();\r\n this.SetPageResponse(pageResponse);\r\n Tools.Sleep().then(_ => this.router.navigateByUrl(this._source!.path));\r\n }\r\n };\r\n\r\n\r\n /** */\r\n protected SetPageResponse<T>(pageResponse: T | null = null): void {\r\n if (Tools.IsNotNull(pageResponse)) {\r\n this._preventDestroy = true;\r\n Source.SetPageResponse(pageResponse);\r\n }\r\n };\r\n\r\n\r\n /** */\r\n protected ReloadPage(): void {\r\n Breadcrumbs.RemoveLast();\r\n setTimeout(() => window.location.reload());\r\n }\r\n\r\n\r\n /** */\r\n protected Log(value: any, log: string | null = null): void {\r\n if (Tools.IsNotNull(log)) console.log({ log, value });\r\n else console.log(value);\r\n }\r\n}","\r\nimport { Observable } from \"rxjs\";\r\nimport { IScreenSize } from \"../../interfaces\";\r\n\r\nexport class Screen {\r\n\r\n public static get WINDOW_WIDTH(): number {\r\n return window.innerWidth;\r\n }\r\n\r\n\r\n public static get WINDOW_HEIGHT(): number {\r\n return window.innerHeight;\r\n }\r\n\r\n\r\n public static get DEVICE_WIDTH(): number {\r\n return window.screen.width;\r\n }\r\n\r\n\r\n public static get DEVICE_HEIGHT(): number {\r\n return window.screen.height;\r\n }\r\n\r\n\r\n public static get BREAKPOINT(): 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' {\r\n if (window.innerWidth < 576) return 'xs';\r\n else if (window.innerWidth >= 576 && window.innerWidth < 768) return 'sm';\r\n else if (window.innerWidth >= 768 && window.innerWidth < 992) return 'md';\r\n else if (window.innerWidth >= 992 && window.innerWidth < 1200) return 'lg';\r\n else if (window.innerWidth >= 1200 && window.innerWidth < 1400) return 'xl';\r\n else return 'xxl';\r\n }\r\n\r\n\r\n /** */\r\n public static Resize = new Observable<IScreenSize>(subscriber => {\r\n window.addEventListener(\"load\", () => {\r\n window.dispatchEvent(new Event('resize'));\r\n });\r\n\r\n window.onresize = () => {\r\n subscriber.next({\r\n width: this.WINDOW_WIDTH,\r\n height: this.WINDOW_HEIGHT,\r\n breakpoin: this.BREAKPOINT\r\n });\r\n }\r\n });\r\n}","import { Component, computed, EventEmitter, input, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Tools } from '../../../tools'\r\nimport { Tooltip } from 'bootstrap';\r\n\r\n@Component({\r\n selector: 'coer-button',\r\n templateUrl: './coer-button.component.html',\r\n styleUrl: './coer-button.component.scss',\r\n})\r\nexport class CoerButton implements OnInit, OnDestroy {\r\n\r\n //Variables\r\n protected _id: string = Tools.GetGuid('coer-button');\r\n private _element!: HTMLButtonElement;\r\n private _tooltip: string = '';\r\n private _tooltipElement!: Tooltip;\r\n\r\n //Inputs\r\n @Input() id: string = '';\r\n public color = input<'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'navigation'>('default');\r\n public type = input<'filled' | 'outline' | 'icon'| 'icon-outline' | 'icon-no-border'>('filled');\r\n public icon = input<'new' | 'save' | 'cancel' | 'import' | 'excel' | 'menu' | 'delete' | 'edit' | 'go' | 'back' | ''>('');\r\n public iconPosition = input<'left' | 'right'>('left');\r\n public animation = input<boolean>(false);\r\n public isLoading = input<boolean>(false);\r\n public isDisabled = input<boolean>(false);\r\n public isInvisible = input<boolean>(false);\r\n public width = input<string>('125px');\r\n public minWidth = input<string>('30px');\r\n public height = input<string>('40px');\r\n public minHeight = input<string>('30px');\r\n public marginTop = input<string>('0px');\r\n public marginRight = input<string>('0px');\r\n public marginBottom = input<string>('0px');\r\n public marginLeft = input<string>('0px');\r\n public path = input<string | (string | number)[]>([]);\r\n public tooltipPosition = input<'top' | 'right' | 'bottom' | 'left'>('left');\r\n\r\n @Input() set tooltip(value: string) {\r\n this._tooltip = value;\r\n if (value && this._tooltipElement) {\r\n this._tooltipElement.setContent({ '.tooltip-inner': this._tooltip });\r\n }\r\n }\r\n\r\n //Outputs\r\n @Output() onClick = new EventEmitter<MouseEvent>();\r\n\r\n\r\n //computed\r\n protected _isEnable = computed<boolean>(() => {\r\n return !this.isLoading() && !this.isDisabled() && !this.isInvisible();\r\n });\r\n\r\n\r\n //computed\r\n protected _icon = computed<string>(() => {\r\n switch(this.icon()) {\r\n case 'new': return 'fa-solid fa-plus fa-lg';\r\n case 'save': return 'fa-solid fa-floppy-disk fa-lg';\r\n case 'cancel': return 'fa-solid fa-xmark fa-lg';\r\n case 'import': return 'fa-solid fa-file-arrow-up fa-lg';\r\n case 'excel': return 'bi bi-filetype-xlsx fa-lg';\r\n case 'menu': return 'fa-solid fa-bars';\r\n case 'delete': return 'fa-solid fa-trash-can';\r\n case 'edit': return 'fa-solid fa-pen fa-lg';\r\n case 'go': return 'bi bi-box-arrow-right';\r\n case 'back': return 'bi bi-box-arrow-left';\r\n default: return '';\r\n }\r\n });\r\n\r\n\r\n ngOnInit() {\r\n this.SetToolTip();\r\n this.SetEvents();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this._tooltipElement) {\r\n Tools.Sleep().then(() => this._tooltipElement.dispose());\r\n }\r\n }\r\n\r\n\r\n /** */\r\n private SetEvents(): void {\r\n Tools.Sleep().then(() => {\r\n this._element = document.getElementById(`${this._id}-inner-button`)! as HTMLButtonElement;\r\n\r\n if (Tools.IsNotNull(this._element)) {\r\n this._element.addEventListener('focus', () => {\r\n if (!this._isEnable()) this.Blur();\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n private SetToolTip(): void {\r\n Tools.Sleep().then(() => {\r\n const htmlElement = document.getElementById(`${this._id}-container`)!;\r\n\r\n if (Tools.IsNotNull(htmlElement)) {\r\n htmlElement.addEventListener('mouseleave', () => {\r\n if (Tools.IsNotNull(htmlElement) && Tools.IsNotNull(this._tooltipElement)) {\r\n this._tooltipElement.hide();\r\n }\r\n });\r\n\r\n this._tooltipElement = new Tooltip(htmlElement, {\r\n html: true,\r\n title: this._tooltip,\r\n placement: this.tooltipPosition\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n /** */\r\n protected Click(event: MouseEvent) {\r\n if (this._isEnable()) {\r\n this.onClick.emit(event);\r\n }\r\n\r\n this.Blur();\r\n }\r\n\r\n\r\n /** */\r\n public Focus(timeout: number = 0): void {\r\n Tools.Sleep(timeout).then(() => {\r\n if (this._isEnable()) this._element.focus();\r\n });\r\n }\r\n\r\n\r\n /** */\r\n public Blur(): void {\r\n Tools.Sleep().then(() => {\r\n this._element.blur();\r\n });\r\n }\r\n}","<div [ngClass]=\"{ 'coer-button': true, 'invisible': isInvisible() }\">\r\n <a [id]=\"_id + '-container'\"\r\n [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation() }\"\r\n [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft() }\">\r\n @if(type() =='filled' || type() == 'outline') {\r\n <button mat-button\r\n [id]=\"_id + '-inner-button'\"\r\n type=\"button\"\r\n (click)=\"Click($event)\"\r\n [ngClass]=\"{\r\n 'primary-filled': (color() == 'primary' && type() =='filled'),\r\n 'secondary-filled': (color() == 'secondary' && type() =='filled'),\r\n 'success-filled': (color() == 'success' && type() =='filled'),\r\n 'warning-filled': (color() == 'warning' && type() =='filled'),\r\n 'danger-filled': (color() == 'danger' && type() =='filled'),\r\n 'navigation-filled': (color() == 'navigation' && type() =='filled'),\r\n 'primary-outline': (color() == 'primary' && type() =='outline'),\r\n 'secondary-outline': (color() == 'secondary' && type() =='outline'),\r\n 'success-outline': (color() == 'success' && type() =='outline'),\r\n 'warning-outline': (color() == 'warning' && type() =='outline'),\r\n 'danger-outline': (color() == 'danger' && type() =='outline'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'readonly': isDisabled(),\r\n 'cursor-wait': isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width': width(),\r\n 'min-width': minWidth(),\r\n 'height': height(),\r\n 'min-height': minHeight()\r\n }\">\r\n <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n <span *ngIf=\"(iconPosition() == 'left')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n\r\n <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n <ng-content></ng-content>\r\n </span>\r\n\r\n <span *ngIf=\"(iconPosition() == 'right')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n </span>\r\n\r\n <ng-template #loading>\r\n <span class=\"slot fa-fade\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"spinner-border\"></i>\r\n </span>\r\n </ng-template>\r\n </button>\r\n }\r\n\r\n @else {\r\n @if (type() == 'icon') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click($event)\"\r\n [ngClass]=\"{\r\n 'primary-filled': (color() == 'primary'),\r\n 'secondary-filled': (color() == 'secondary'),\r\n 'success-filled': (color() == 'success'),\r\n 'warning-filled': (color() == 'warning'),\r\n 'danger-filled': (color() == 'danger'),\r\n 'navigation-filled': (color() == 'navigation'),\r\n 'readonly': (isDisabled() || isLoading()),\r\n 'cursor-wait': isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-outline') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click($event)\"\r\n [ngClass]=\"{\r\n 'primary-outline': (color() == 'primary'),\r\n 'secondary-outline': (color() == 'secondary'),\r\n 'success-outline': (color() == 'success'),\r\n 'warning-outline': (color() == 'warning'),\r\n 'danger-outline': (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'readonly': (isDisabled() || isLoading()),\r\n 'cursor-wait': isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-no-border') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click($event)\"\r\n [ngClass]=\"{\r\n 'primary-outline': (color() == 'primary'),\r\n 'secondary-outline': (color() == 'secondary'),\r\n 'success-outline': (color() == 'success'),\r\n 'warning-outline': (color() == 'warning'),\r\n 'danger-outline': (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'readonly': (isDisabled() || isLoading()),\r\n 'icon-no-border': true\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n }\r\n </a>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n//import { DirectivesModule } from 'src/app/shared/directives/directives.module';\r\n//import { PipesModule } from 'src/app/shared/pipes/pipes.module';\r\n\r\n//Angular Material\r\nimport { MatButtonModule } from '@angular/material/button';\r\n//import { MatCheckboxModule } from '@angular/material/checkbox';\r\n//import { MatInputModule } from '@angular/material/input';\r\n//import { MatFormFieldModule } from '@angular/material/form-field';\r\n//import { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\n//import { MatTabsModule } from '@angular/material/tabs';\r\n\r\n//Components\r\nimport { CoerAlert } from './coer-alert/coer-alert.component';\r\nimport { CoerButton } from './coer-button/coer-button.component';\r\n//import { CoerCheckbox } from './coer-checkbox/coer-checkbox.component';\r\n//import { CoerFilebox } from './coer-filebox/coer-filebox.component';\r\n//import { CoerForm } from './coer-form/coer-form.component';\r\n//import { CoerGrid } from './coer-grid/coer-grid.component';\r\n//import { CoerModal } from './coer-modal/coer-modal.component';\r\n//import { CoerNumberBox } from './coer-numberbox/coer-numberbox.component';\r\n//import { CoerPageTitle } from './coer-page-title/coer-page-title.component';\r\n//import { CoerSelectbox } from './coer-selectbox/coer-selectbox.component';\r\n//import { CoerSwitch } from './coer-switch/coer-switch.component';\r\n//import { CoerTab } from './coer-tab/coer-tab.component';\r\n//import { CoerTextarea } from './coer-textarea/coer-textarea.component';\r\n//import { CoerTextBox } from './coer-textbox/coer-textbox.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n //PipesModule,\r\n MatButtonModule,\r\n //MatCheckboxModule,\r\n //MatInputModule,\r\n //MatFormFieldModule,\r\n //MatSlideToggleModule,\r\n //MatTabsModule,\r\n //DirectivesModule\r\n ],\r\n declarations: [\r\n CoerAlert,\r\n CoerButton,\r\n //CoerCheckbox,\r\n //CoerFilebox,\r\n //CoerForm,\r\n //CoerGrid,\r\n //CoerModal,\r\n //CoerNumberBox,\r\n //CoerPageTitle,\r\n //CoerSelectbox,\r\n //CoerSwitch,\r\n //CoerTextarea,\r\n //CoerTab,\r\n //CoerTextBox,\r\n ],\r\n exports: [\r\n CoerAlert,\r\n CoerButton,\r\n //CoerCheckbox,\r\n //CoerFilebox,\r\n //CoerForm,\r\n //CoerGrid,\r\n //CoerModal,\r\n //CoerNumberBox,\r\n //CoerPageTitle,\r\n //CoerSelectbox,\r\n //CoerSwitch,\r\n //CoerTextarea,\r\n //CoerTab,\r\n //CoerTextBox,\r\n ]\r\n})\r\nexport class ComponentsModule { }\r\n//export * from './coer-alert/coer-alert.component';\r\n//export * from './coer-button/coer-button.component';\r\n//export * from './coer-checkbox/coer-checkbox.component';\r\n//export * from './coer-filebox/coer-filebox.component';\r\n//export * from './coer-filebox/coer-filebox.interface';\r\n//export * from './coer-form/coer-form.component';\r\n//export * from './coer-grid/coer-grid.component';\r\n//export * from './coer-grid/coer-grid.interface';\r\n//export * from './coer-grid/coer-grid.templates';\r\n//export * from './coer-modal/coer-modal.component';\r\n//export * from './coer-numberbox/coer-numberbox.component';\r\n//export * from './coer-page-title/coer-page-title.component';\r\n//export * from './coer-page-title/pageTitle.interface';\r\n//export * from './coer-selectbox/coer-selectbox.component';\r\n//export * from './coer-switch/coer-switch.component';\r\n//export * from './coer-tab/coer-tab.component';\r\n//export * from './coer-textbox/coer-textbox.component';","import { signal } from '@angular/core';\r\nimport { Screen } from '../../tools';\r\nexport const breakpointSIGNAL = signal<'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(Screen?.BREAKPOINT || 'xs');","import { signal } from \"@angular/core\";\r\nexport const isLoadingSIG = signal<boolean>(false);","import { signal } from \"@angular/core\";\r\nexport const isModalOpenSIG = signal<boolean>(false);","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './lib/app-source.interface';
2
+ export * from './lib/breadcrumb.interface';
3
+ export * from './lib/coer-ref.interface';
4
+ export * from './lib/go-back.interface';
5
+ export * from './lib/patch.interface';
6
+ export * from './lib/screen-size.interface';
@@ -0,0 +1,4 @@
1
+ export interface IAppSource {
2
+ page: string;
3
+ path: string;
4
+ }
@@ -0,0 +1,6 @@
1
+ export interface IBreadcrumb {
2
+ page: string;
3
+ path?: string | null;
4
+ queryParams?: any;
5
+ click?: (() => any);
6
+ }
@@ -0,0 +1,10 @@
1
+ import { TemplateRef, WritableSignal } from '@angular/core';
2
+ export interface ICoerRef {
3
+ coerRef: WritableSignal<string>;
4
+ title: WritableSignal<string>;
5
+ icon: WritableSignal<string>;
6
+ isDisabled: WritableSignal<boolean>;
7
+ show: WritableSignal<boolean>;
8
+ tooltip: WritableSignal<string>;
9
+ template: TemplateRef<any>;
10
+ }
@@ -0,0 +1,6 @@
1
+ export interface IGoBack {
2
+ show: boolean;
3
+ path?: string | null;
4
+ queryParams?: any;
5
+ click?: (() => any);
6
+ }
@@ -0,0 +1,5 @@
1
+ export interface IPatch {
2
+ op: 'remove' | 'add' | 'replace';
3
+ path: string;
4
+ value: any;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface IScreenSize {
2
+ width: number;
3
+ height: number;
4
+ breakpoin: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coer-elements",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "author": "Christian Omar Escamilla Rodríguez",
5
5
  "keywords": [
6
6
  "coer",
package/public_api.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './components';
2
+ export * from './signals';
2
3
  export * from './tools';
@@ -0,0 +1,3 @@
1
+ export * from './lib/breakpoint.signal';
2
+ export * from './lib/is-loading.signal';
3
+ export * from './lib/is-modal-open.signal';
@@ -0,0 +1 @@
1
+ export declare const breakpointSIGNAL: import("@angular/core").WritableSignal<"xs" | "sm" | "md" | "lg" | "xl" | "xxl">;
@@ -0,0 +1 @@
1
+ export declare const isLoadingSIG: import("@angular/core").WritableSignal<boolean>;
@@ -0,0 +1 @@
1
+ export declare const isModalOpenSIG: import("@angular/core").WritableSignal<boolean>;
@@ -0,0 +1,6 @@
1
+ export * from './lib/app-source.interface';
2
+ export * from './lib/breadcrumb.interface';
3
+ export * from './lib/coer-ref.interface';
4
+ export * from './lib/go-back.interface';
5
+ export * from './lib/patch.interface';
6
+ export * from './lib/screen-size.interface';
@@ -0,0 +1,4 @@
1
+ export interface IAppSource {
2
+ page: string;
3
+ path: string;
4
+ }
@@ -0,0 +1,6 @@
1
+ export interface IBreadcrumb {
2
+ page: string;
3
+ path?: string | null;
4
+ queryParams?: any;
5
+ click?: (() => any);
6
+ }
@@ -0,0 +1,11 @@
1
+ import { TemplateRef, WritableSignal } from '@angular/core';
2
+
3
+ export interface ICoerRef {
4
+ coerRef: WritableSignal<string>;
5
+ title: WritableSignal<string>;
6
+ icon: WritableSignal<string>;
7
+ isDisabled: WritableSignal<boolean>;
8
+ show: WritableSignal<boolean>;
9
+ tooltip: WritableSignal<string>;
10
+ template: TemplateRef<any>;
11
+ }
@@ -0,0 +1,6 @@
1
+ export interface IGoBack {
2
+ show: boolean;
3
+ path?: string | null;
4
+ queryParams?: any;
5
+ click?: (() => any);
6
+ }
@@ -0,0 +1,5 @@
1
+ export interface IPatch {
2
+ op: 'remove' | 'add' | 'replace';
3
+ path: string;
4
+ value: any;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface IScreenSize {
2
+ width: number;
3
+ height: number;
4
+ breakpoin: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
5
+ }
package/tools/index.d.ts CHANGED
@@ -1 +1,8 @@
1
- export * from './lib/controlValue';
1
+ export * from './lib/breadcrumbs.class';
2
+ export * from './lib/control-value.class';
3
+ export * from './lib/date-time.class';
4
+ export * from './lib/files.class';
5
+ export * from './lib/generi-tools';
6
+ export * from './lib/page.class';
7
+ export * from './lib/screen.class';
8
+ export * from './lib/source.class';
@@ -0,0 +1,18 @@
1
+ import { IAppSource } from "../../interfaces";
2
+ export declare class Breadcrumbs {
3
+ private static readonly storage;
4
+ /** */
5
+ static Add(page: string, path: string): void;
6
+ /** */
7
+ static Get(): IAppSource[];
8
+ /** */
9
+ static GetFirst(): IAppSource | null;
10
+ /** */
11
+ static Save(breadcrumbs: IAppSource[]): void;
12
+ /** */
13
+ static Remove(path: string): void;
14
+ /** */
15
+ static SetLast(page: string, path: string): void;
16
+ /** */
17
+ static RemoveLast(): void;
18
+ }
@@ -0,0 +1,11 @@
1
+ import moment from "moment";
2
+ export declare class DateTime {
3
+ /** Get UTC Offset */
4
+ static GetOffset(): number;
5
+ /** Convert UTC Date to Local Zone */
6
+ static ToLocalZone(utcDate: string | Date | moment.Moment): string;
7
+ /** Convert Local Zone Date to UTC */
8
+ static ToUTC(utcDate: string | Date | moment.Moment): string;
9
+ /** DD MMM YYYY */
10
+ static GetDateFormat(date: string | Date | moment.Moment): string;
11
+ }
@@ -0,0 +1,16 @@
1
+ export declare class Files {
2
+ static readonly EXCEL_EXTENSIONS: string[];
3
+ /** Get Extension File */
4
+ static GetExtension(file: File): string | null;
5
+ /** Is Excel File */
6
+ static IsExcel(file: File): boolean;
7
+ /** Read excel file */
8
+ static ReadExcel<T>(file: File): Promise<{
9
+ columns: string[];
10
+ rows: T[];
11
+ }>;
12
+ /** Export to excel file */
13
+ static ExportExcel<T>(data: T[], fileName?: string, sheetName?: string): void;
14
+ /** Convert file to string base64 */
15
+ static ConvertToBase64(file: File): Promise<string>;
16
+ }
@@ -0,0 +1,32 @@
1
+ export declare const Tools: {
2
+ /** Generate a Guid */
3
+ GetGuid: (seed?: string) => string;
4
+ /** Returns true if the value is null or undefined, false otherwise */
5
+ IsNull: <T>(value: T | null | undefined) => boolean;
6
+ /** Returns true if the value is not null or undefined, false otherwise */
7
+ IsNotNull: <T_1>(value: T_1 | null | undefined) => boolean;
8
+ /** Returns true if the value is null or undefined or contains only whitespace, false otherwise */
9
+ IsOnlyWhiteSpace: <T_2>(value: T_2 | null | undefined) => boolean;
10
+ /** Break reference of a object or array */
11
+ BreakReference: <T_3>(object: T_3) => T_3;
12
+ /** Clean extra whitespaces */
13
+ CleanUpBlanks: (text: string | number) => string;
14
+ /** Get properties of an object */
15
+ GetObjectProperties: <T_4>(obj: T_4 | null | undefined) => string[];
16
+ /**
17
+ * Set an index and merge more arrays of the same type
18
+ * */
19
+ SetIndex: <T_5>(array: T_5[], ...args: T_5[][]) => T_5[];
20
+ /** Set First Char To Lower */
21
+ FirstCharToLower: (text: string | null | undefined) => string;
22
+ /** Set First Char To Upper */
23
+ FirstCharToUpper: (text: string | null | undefined) => string;
24
+ /** Sort an array in ascending order by property */
25
+ SortBy: <T_6>(array: T_6[], property: string, propertyType?: 'string' | 'number') => T_6[];
26
+ /** Sort an array in descending order by property */
27
+ SortByDesc: <T_7>(array: T_7[], property: string, propertyType?: 'string' | 'number') => T_7[];
28
+ /** Return a string with forman numeric */
29
+ GetNumericFormat: (value: string | number | null | undefined, decimals?: number) => string;
30
+ /** Wait the time indicated */
31
+ Sleep: (milliseconds?: number, reference?: string | null) => Promise<unknown>;
32
+ };
@@ -0,0 +1,60 @@
1
+ import { AfterViewInit, OnDestroy } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { IBreadcrumb, IGoBack } from '../../interfaces';
4
+ import { CoerAlert } from '../../components';
5
+ import * as i0 from "@angular/core";
6
+ export declare class Page implements AfterViewInit, OnDestroy {
7
+ protected readonly alert: CoerAlert;
8
+ protected readonly router: Router;
9
+ private readonly activatedRoute;
10
+ /** */
11
+ protected isUpdate: boolean;
12
+ /** */
13
+ protected isLoading: boolean;
14
+ /** */
15
+ protected isReadyPage: boolean;
16
+ /** */
17
+ protected enableAnimations: boolean;
18
+ /** */
19
+ protected routeParams: any;
20
+ /** */
21
+ protected queryParams: any;
22
+ /** */
23
+ protected breadcrumbs: IBreadcrumb[];
24
+ /** */
25
+ protected pageResponse: any;
26
+ /** */
27
+ protected goBack: IGoBack;
28
+ private _page;
29
+ private _source;
30
+ private _preventDestroy;
31
+ constructor(page: string);
32
+ ngAfterViewInit(): void;
33
+ ngOnDestroy(): void;
34
+ /** Main method. Starts after ngAfterViewInit() */
35
+ protected RunPage(): void;
36
+ /** Rename the last breadcrumb and update the url id */
37
+ protected SetPageName(name: string, id?: string | number | null): void;
38
+ /** */
39
+ private SetSource;
40
+ /** */
41
+ private GetSource;
42
+ /** */
43
+ protected GetPageResponse(): void;
44
+ /** */
45
+ private GetNavigation;
46
+ /** */
47
+ private SetGoBack;
48
+ /** */
49
+ private GoBack;
50
+ /** Navigate to previous page */
51
+ protected GoToSource<T>(pageResponse?: T | null): void;
52
+ /** */
53
+ protected SetPageResponse<T>(pageResponse?: T | null): void;
54
+ /** */
55
+ protected ReloadPage(): void;
56
+ /** */
57
+ protected Log(value: any, log?: string | null): void;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<Page, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<Page, "ng-component", never, {}, {}, never, never, false, never>;
60
+ }