coer-elements 0.0.19 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. package/components/lib/coer-filebox/coer-filebox.component.d.ts +1 -1
  2. package/components/lib/coer-grid/coer-grid.component.d.ts +1 -1
  3. package/components/lib/coer-grid/coer-grid.extension.d.ts +1 -1
  4. package/components/lib/coer-grid/coer-grid.templates.d.ts +1 -1
  5. package/components/lib/coer-page-title/coer-page-title.component.d.ts +1 -1
  6. package/directives/lib/life-cycle.directive.d.ts +5 -3
  7. package/esm2022/components/lib/coer-filebox/coer-filebox.component.mjs +1 -1
  8. package/esm2022/components/lib/coer-grid/coer-grid.component.mjs +1 -1
  9. package/esm2022/components/lib/coer-grid/coer-grid.extension.mjs +1 -1
  10. package/esm2022/components/lib/coer-grid/coer-grid.templates.mjs +1 -1
  11. package/esm2022/components/lib/coer-page-title/coer-page-title.component.mjs +1 -1
  12. package/esm2022/components/lib/coer-tab/coer-tab.component.mjs +1 -1
  13. package/esm2022/directives/lib/life-cycle.directive.mjs +6 -2
  14. package/esm2022/interfaces/index.mjs +36 -2
  15. package/esm2022/interfaces/lib/coer-menu/menu-selected.interface.mjs +2 -0
  16. package/esm2022/interfaces/lib/service/http-request.interface.mjs +2 -0
  17. package/esm2022/interfaces/lib/service/http-response.interface.mjs +2 -0
  18. package/esm2022/interfaces/lib/service/patch.interface.mjs +2 -0
  19. package/esm2022/pipes/lib/no-image.pipe.mjs +2 -2
  20. package/esm2022/public_api.mjs +1 -1
  21. package/esm2022/signals/index.mjs +3 -1
  22. package/esm2022/signals/lib/is-menu-open.signal.mjs +3 -0
  23. package/esm2022/signals/lib/menu.signal.mjs +3 -0
  24. package/esm2022/tools/index.mjs +3 -2
  25. package/esm2022/tools/lib/breadcrumbs.class.mjs +1 -1
  26. package/esm2022/tools/lib/menu.class.mjs +1 -1
  27. package/esm2022/tools/lib/page.class.mjs +1 -1
  28. package/esm2022/tools/lib/screen.class.mjs +1 -1
  29. package/esm2022/tools/lib/service.class.mjs +248 -0
  30. package/esm2022/tools/lib/source.class.mjs +1 -1
  31. package/fesm2022/coer-elements.mjs +257 -4
  32. package/fesm2022/coer-elements.mjs.map +1 -1
  33. package/interfaces/index.d.ts +30 -1
  34. package/{src/interfaces/lib/coer-menu/menu-selected.interface.ts → interfaces/lib/coer-menu/menu-selected.interface.d.ts} +10 -11
  35. package/interfaces/lib/service/http-request.interface.d.ts +10 -0
  36. package/interfaces/lib/service/http-response.interface.d.ts +6 -0
  37. package/package.json +1 -1
  38. package/public_api.d.ts +1 -5
  39. package/signals/index.d.ts +2 -0
  40. package/signals/lib/is-menu-open.signal.d.ts +1 -0
  41. package/signals/lib/menu.signal.d.ts +2 -0
  42. package/styles/angular-material.scss +12 -0
  43. package/{src/styles → styles}/bootstrap.scss +3 -3
  44. package/tools/index.d.ts +2 -1
  45. package/tools/lib/breadcrumbs.class.d.ts +1 -1
  46. package/tools/lib/menu.class.d.ts +1 -1
  47. package/tools/lib/page.class.d.ts +1 -2
  48. package/tools/lib/screen.class.d.ts +1 -1
  49. package/tools/lib/service.class.d.ts +39 -0
  50. package/tools/lib/source.class.d.ts +1 -1
  51. package/esm2022/interfaces/coer-filebox/index.mjs +0 -3
  52. package/esm2022/interfaces/coer-grid/index.mjs +0 -21
  53. package/esm2022/interfaces/lib/patch.interface.mjs +0 -2
  54. package/esm2022/interfaces/page-title/index.mjs +0 -3
  55. package/interfaces/coer-filebox/index.d.ts +0 -2
  56. package/interfaces/coer-grid/index.d.ts +0 -20
  57. package/interfaces/page-title/index.d.ts +0 -2
  58. package/src/interfaces/coer-filebox/index.ts +0 -2
  59. package/src/interfaces/coer-grid/index.ts +0 -20
  60. package/src/interfaces/coer-menu/index.ts +0 -3
  61. package/src/interfaces/index.ts +0 -4
  62. package/src/interfaces/lib/app-source.interface.ts +0 -4
  63. package/src/interfaces/lib/coer-filebox/file-image.interface.ts +0 -14
  64. package/src/interfaces/lib/coer-filebox/file.interface.ts +0 -5
  65. package/src/interfaces/lib/coer-grid/grid-button-by-row.interface.ts +0 -7
  66. package/src/interfaces/lib/coer-grid/grid-checkbox.interface.ts +0 -5
  67. package/src/interfaces/lib/coer-grid/grid-coer-numberbox.interface.ts +0 -12
  68. package/src/interfaces/lib/coer-grid/grid-coer-selectbox.interface.ts +0 -9
  69. package/src/interfaces/lib/coer-grid/grid-coer-switch.interface.ts +0 -6
  70. package/src/interfaces/lib/coer-grid/grid-coer-textbox.interface.ts +0 -11
  71. package/src/interfaces/lib/coer-grid/grid-column.interface.ts +0 -23
  72. package/src/interfaces/lib/coer-grid/grid-data-source.interface.ts +0 -6
  73. package/src/interfaces/lib/coer-grid/grid-header-button.interface.ts +0 -8
  74. package/src/interfaces/lib/coer-grid/grid-header-export-button.interface.ts +0 -10
  75. package/src/interfaces/lib/coer-grid/grid-header.interface.ts +0 -5
  76. package/src/interfaces/lib/coer-grid/grid-import.interface.ts +0 -4
  77. package/src/interfaces/lib/coer-grid/grid-input-checkbox.interface.ts +0 -5
  78. package/src/interfaces/lib/coer-grid/grid-input-switch-change.interface.ts +0 -5
  79. package/src/interfaces/lib/coer-grid/grid-input-textbox.interface.ts +0 -5
  80. package/src/interfaces/lib/coer-grid/grid-item.interface.ts +0 -5
  81. package/src/interfaces/lib/coer-grid/grid-keyup-enter.interface.ts +0 -6
  82. package/src/interfaces/lib/coer-grid/grid-length.interface.ts +0 -5
  83. package/src/interfaces/lib/coer-grid/grid-search.interface.ts +0 -4
  84. package/src/interfaces/lib/coer-grid/grid-sort.interface.ts +0 -5
  85. package/src/interfaces/lib/coer-menu/menu-option-selected.interface.ts +0 -10
  86. package/src/interfaces/lib/coer-menu/menu.interface.ts +0 -6
  87. package/src/interfaces/lib/coer-ref.interface.ts +0 -11
  88. package/src/interfaces/lib/page-title/breadcrumb.interface.ts +0 -6
  89. package/src/interfaces/lib/page-title/go-back.interface.ts +0 -6
  90. package/src/interfaces/lib/patch.interface.ts +0 -5
  91. package/src/interfaces/lib/screen-size.interface.ts +0 -5
  92. package/src/interfaces/page-title/index.ts +0 -2
  93. package/src/styles/angular-material.scss +0 -12
  94. /package/{src/images → images}/no-image.png +0 -0
  95. /package/{src/images → images}/no-user.png +0 -0
  96. /package/interfaces/lib/{patch.interface.d.ts → service/patch.interface.d.ts} +0 -0
  97. /package/{src/styles → styles}/colors.scss +0 -0
  98. /package/{src/styles → styles}/containers.scss +0 -0
  99. /package/{src/styles → styles}/cursores.scss +0 -0
  100. /package/{src/styles → styles}/index.scss +0 -0
  101. /package/{src/styles → styles}/layout.scss +0 -0
  102. /package/{src/styles → styles}/scroll-bar.scss +0 -0
@@ -25,6 +25,7 @@ import Swal from 'sweetalert2';
25
25
  import * as XLSX from 'xlsx';
26
26
  import { Observable } from 'rxjs';
27
27
  import moment from 'moment';
28
+ import { HttpClient, HttpRequest } from '@angular/common/http';
28
29
 
29
30
  class CoerRefDirective {
30
31
  constructor(template) {
@@ -51,10 +52,14 @@ class LifeCycleDirective {
51
52
  constructor(element) {
52
53
  this.element = element;
53
54
  //Outputs
55
+ this.OnChanges = output();
54
56
  this.onInit = output();
55
57
  this.afterViewInit = output();
56
58
  this.onDestroy = output();
57
59
  }
60
+ ngOnChanges(changes) {
61
+ this.OnChanges.emit(changes);
62
+ }
58
63
  ngOnInit() {
59
64
  this.onInit.emit(this.element.nativeElement);
60
65
  }
@@ -65,7 +70,7 @@ class LifeCycleDirective {
65
70
  this.onDestroy.emit(this.element.nativeElement);
66
71
  }
67
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LifeCycleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
68
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: LifeCycleDirective, selector: "[lifecycle]", outputs: { onInit: "onInit", afterViewInit: "afterViewInit", onDestroy: "onDestroy" }, ngImport: i0 }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: LifeCycleDirective, selector: "[lifecycle]", outputs: { OnChanges: "OnChanges", onInit: "onInit", afterViewInit: "afterViewInit", onDestroy: "onDestroy" }, usesOnChanges: true, ngImport: i0 }); }
69
74
  }
70
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LifeCycleDirective, decorators: [{
71
76
  type: Directive,
@@ -331,7 +336,7 @@ const Tools = {
331
336
 
332
337
  class NoImagePipe {
333
338
  transform(value) {
334
- const NO_IMAGE = '../../images/no-image.png';
339
+ const NO_IMAGE = '../../../images/no-image.png';
335
340
  if (Tools.IsOnlyWhiteSpace(value)) {
336
341
  return NO_IMAGE;
337
342
  }
@@ -3234,7 +3239,7 @@ class CoerTab {
3234
3239
  this._tooltipList.splice(index, 1);
3235
3240
  }
3236
3241
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerTab, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3237
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CoerTab, selector: "coer-tab", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: false, isRequired: false, transformFunction: null }, alignTabs: { classPropertyName: "alignTabs", publicName: "alignTabs", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSelectedTab: "onSelectedTab" }, queries: [{ propertyName: "contentRef", predicate: CoerRefDirective }], viewQueries: [{ propertyName: "matTabGroup", first: true, predicate: ["matTabGroup"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"coer-tab\">\r\n <mat-tab-group #matTabGroup\r\n mat-stretch-tabs=\"false\"\r\n [selectedIndex]=\"_selectedIndex\"\r\n (selectedIndexChange)=\"SelectedIndexChange($event)\">\r\n\r\n @for(tab of contentList(); track tab.coerRef()) {\r\n @if(tab.show()) {\r\n <mat-tab [label]=\"tab.coerRef()\" [disabled]=\"tab.isDisabled()\">\r\n <ng-template mat-tab-label>\r\n <span [id]=\"SetToolTip(tab)\" class=\"tab\" lifecycle (onDestroy)=\"RemoveTooltip($event)\">\r\n <i [class]=\"GetIcon(tab)\"></i>\r\n <span [class]=\"GetIcon(tab).length > 0 ? 'ms-2' : ''\">\r\n {{ GetTitle(tab) }}\r\n </span>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template matTabContent>\r\n <div class=\"tab-content\"\r\n [ngStyle]=\"{\r\n 'height': height(),\r\n 'min-height': minHeight(),\r\n 'max-height': maxHeight()\r\n }\">\r\n\r\n <ng-container [ngTemplateOutlet]=\"tab.template\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </mat-tab>\r\n }\r\n }\r\n </mat-tab-group>\r\n</div>", styles: ["div.coer-tab *{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031}div.coer-tab .text-blue{color:#0d6efd!important}div.coer-tab .text-blue-bold{color:#0d6efd!important;font-weight:700!important}div.coer-tab .background-blue{background-color:#0d6efd!important}div.coer-tab .background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}div.coer-tab .border-blue{border-color:#0d6efd!important}div.coer-tab .text-gray{color:#6c757d!important}div.coer-tab .text-gray-bold{color:#6c757d!important;font-weight:700!important}div.coer-tab .background-gray{background-color:#6c757d!important}div.coer-tab .background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}div.coer-tab .border-gray{border-color:#6c757d!important}div.coer-tab .text-green{color:#198754!important}div.coer-tab .text-green-bold{color:#198754!important;font-weight:700!important}div.coer-tab .background-green{background-color:#198754!important}div.coer-tab .background-border-green{background-color:#198754!important;border-color:#198754!important}div.coer-tab .border-green{border-color:#198754!important}div.coer-tab .text-yellow{color:#ffc107!important}div.coer-tab .text-yellow-bold{color:#ffc107!important;font-weight:700!important}div.coer-tab .background-yellow{background-color:#ffc107!important}div.coer-tab .background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}div.coer-tab .border-yellow{border-color:#ffc107!important}div.coer-tab .text-red{color:#dc3545!important}div.coer-tab .text-red-bold{color:#dc3545!important;font-weight:700!important}div.coer-tab .background-red{background-color:#dc3545!important}div.coer-tab .background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}div.coer-tab .border-red{border-color:#dc3545!important}div.coer-tab .text-white{color:#f5f5f5!important}div.coer-tab .text-white-bold{color:#f5f5f5!important;font-weight:700!important}div.coer-tab .background-white{background-color:#f5f5f5!important}div.coer-tab .background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}div.coer-tab .border-white{border-color:#f5f5f5!important}div.coer-tab .text-black{color:#252525!important}div.coer-tab .text-black-bold{color:#252525!important;font-weight:700!important}div.coer-tab .background-black{background-color:#252525!important}div.coer-tab .background-border-black{background-color:#252525!important;border-color:#252525!important}div.coer-tab .border-black{border-color:#252525!important}div.coer-tab .text-orange{color:#fd6031!important}div.coer-tab .text-orange-bold{color:#fd6031!important;font-weight:700!important}div.coer-tab .background-orange{background-color:#fd6031!important}div.coer-tab .background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}div.coer-tab .border-orange{border-color:#fd6031!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header{background-color:#f5f5f562!important;border-bottom:1px solid whitesmoke!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header div.mat-mdc-tab-label-container div.mat-mdc-tab-list div.mat-mdc-tab-labels div.mdc-tab.mat-mdc-tab{padding:0!important;height:35px!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header div.mat-mdc-tab-label-container div.mat-mdc-tab-list div.mat-mdc-tab-labels div.mdc-tab--active.mdc-tab-indicator--active *{color:#fd6031!important;border-color:#fd6031!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header span.tab{padding:10px 20px!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper{overflow:visible!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper mat-tab-body{overflow:visible!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper mat-tab-body div.mat-mdc-tab-body-content{width:auto!important;overflow:visible!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper mat-tab-body div.mat-mdc-tab-body-content div.tab-content{padding:5px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$4.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i2$4.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2$4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2$4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: LifeCycleDirective, selector: "[lifecycle]", outputs: ["onInit", "afterViewInit", "onDestroy"] }] }); }
3242
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CoerTab, selector: "coer-tab", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: false, isRequired: false, transformFunction: null }, alignTabs: { classPropertyName: "alignTabs", publicName: "alignTabs", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSelectedTab: "onSelectedTab" }, queries: [{ propertyName: "contentRef", predicate: CoerRefDirective }], viewQueries: [{ propertyName: "matTabGroup", first: true, predicate: ["matTabGroup"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"coer-tab\">\r\n <mat-tab-group #matTabGroup\r\n mat-stretch-tabs=\"false\"\r\n [selectedIndex]=\"_selectedIndex\"\r\n (selectedIndexChange)=\"SelectedIndexChange($event)\">\r\n\r\n @for(tab of contentList(); track tab.coerRef()) {\r\n @if(tab.show()) {\r\n <mat-tab [label]=\"tab.coerRef()\" [disabled]=\"tab.isDisabled()\">\r\n <ng-template mat-tab-label>\r\n <span [id]=\"SetToolTip(tab)\" class=\"tab\" lifecycle (onDestroy)=\"RemoveTooltip($event)\">\r\n <i [class]=\"GetIcon(tab)\"></i>\r\n <span [class]=\"GetIcon(tab).length > 0 ? 'ms-2' : ''\">\r\n {{ GetTitle(tab) }}\r\n </span>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template matTabContent>\r\n <div class=\"tab-content\"\r\n [ngStyle]=\"{\r\n 'height': height(),\r\n 'min-height': minHeight(),\r\n 'max-height': maxHeight()\r\n }\">\r\n\r\n <ng-container [ngTemplateOutlet]=\"tab.template\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </mat-tab>\r\n }\r\n }\r\n </mat-tab-group>\r\n</div>", styles: ["div.coer-tab *{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031}div.coer-tab .text-blue{color:#0d6efd!important}div.coer-tab .text-blue-bold{color:#0d6efd!important;font-weight:700!important}div.coer-tab .background-blue{background-color:#0d6efd!important}div.coer-tab .background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}div.coer-tab .border-blue{border-color:#0d6efd!important}div.coer-tab .text-gray{color:#6c757d!important}div.coer-tab .text-gray-bold{color:#6c757d!important;font-weight:700!important}div.coer-tab .background-gray{background-color:#6c757d!important}div.coer-tab .background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}div.coer-tab .border-gray{border-color:#6c757d!important}div.coer-tab .text-green{color:#198754!important}div.coer-tab .text-green-bold{color:#198754!important;font-weight:700!important}div.coer-tab .background-green{background-color:#198754!important}div.coer-tab .background-border-green{background-color:#198754!important;border-color:#198754!important}div.coer-tab .border-green{border-color:#198754!important}div.coer-tab .text-yellow{color:#ffc107!important}div.coer-tab .text-yellow-bold{color:#ffc107!important;font-weight:700!important}div.coer-tab .background-yellow{background-color:#ffc107!important}div.coer-tab .background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}div.coer-tab .border-yellow{border-color:#ffc107!important}div.coer-tab .text-red{color:#dc3545!important}div.coer-tab .text-red-bold{color:#dc3545!important;font-weight:700!important}div.coer-tab .background-red{background-color:#dc3545!important}div.coer-tab .background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}div.coer-tab .border-red{border-color:#dc3545!important}div.coer-tab .text-white{color:#f5f5f5!important}div.coer-tab .text-white-bold{color:#f5f5f5!important;font-weight:700!important}div.coer-tab .background-white{background-color:#f5f5f5!important}div.coer-tab .background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}div.coer-tab .border-white{border-color:#f5f5f5!important}div.coer-tab .text-black{color:#252525!important}div.coer-tab .text-black-bold{color:#252525!important;font-weight:700!important}div.coer-tab .background-black{background-color:#252525!important}div.coer-tab .background-border-black{background-color:#252525!important;border-color:#252525!important}div.coer-tab .border-black{border-color:#252525!important}div.coer-tab .text-orange{color:#fd6031!important}div.coer-tab .text-orange-bold{color:#fd6031!important;font-weight:700!important}div.coer-tab .background-orange{background-color:#fd6031!important}div.coer-tab .background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}div.coer-tab .border-orange{border-color:#fd6031!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header{background-color:#f5f5f562!important;border-bottom:1px solid whitesmoke!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header div.mat-mdc-tab-label-container div.mat-mdc-tab-list div.mat-mdc-tab-labels div.mdc-tab.mat-mdc-tab{padding:0!important;height:35px!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header div.mat-mdc-tab-label-container div.mat-mdc-tab-list div.mat-mdc-tab-labels div.mdc-tab--active.mdc-tab-indicator--active *{color:#fd6031!important;border-color:#fd6031!important}div.coer-tab mat-tab-group mat-tab-header.mat-mdc-tab-header span.tab{padding:10px 20px!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper{overflow:visible!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper mat-tab-body{overflow:visible!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper mat-tab-body div.mat-mdc-tab-body-content{width:auto!important;overflow:visible!important}div.coer-tab mat-tab-group div.mat-mdc-tab-body-wrapper mat-tab-body div.mat-mdc-tab-body-content div.tab-content{padding:5px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$4.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i2$4.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2$4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2$4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: LifeCycleDirective, selector: "[lifecycle]", outputs: ["OnChanges", "onInit", "afterViewInit", "onDestroy"] }] }); }
3238
3243
  }
3239
3244
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerTab, decorators: [{
3240
3245
  type: Component,
@@ -3537,6 +3542,10 @@ const breakpointSIGNAL = signal(Screen?.BREAKPOINT || 'xs');
3537
3542
 
3538
3543
  const isLoadingSIGNAL = signal(false);
3539
3544
 
3545
+ const isMenuOpenSIGNAL = signal(false);
3546
+
3547
+ const menuSIGNAL = signal([]);
3548
+
3540
3549
  class Breadcrumbs {
3541
3550
  static { this.storage = 'COER-System'; }
3542
3551
  /** */
@@ -3824,9 +3833,253 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3824
3833
  args: [String]
3825
3834
  }] }] });
3826
3835
 
3836
+ class Service {
3837
+ constructor() {
3838
+ //Injections
3839
+ this.alert = inject(CoerAlert);
3840
+ this.http = inject(HttpClient);
3841
+ this.httpCode = {
3842
+ Ok: 200,
3843
+ Created: 201,
3844
+ NoContent: 204,
3845
+ BadRequest: 400,
3846
+ Unauthorize: 401,
3847
+ NotFound: 404,
3848
+ NotAllowed: 405,
3849
+ NotAcceptable: 406,
3850
+ Conflict: 409,
3851
+ PayloadTooLarge: 413,
3852
+ InnerError: 500
3853
+ };
3854
+ }
3855
+ /** */
3856
+ ReleaseSubscription(subscription) {
3857
+ if (subscription && !subscription.closed)
3858
+ subscription.unsubscribe();
3859
+ }
3860
+ /** HTTP GET */
3861
+ HTTP_GET(request) {
3862
+ return new Promise(Resolve => {
3863
+ this.ReleaseSubscription(this._GET$);
3864
+ this._GET$ = this.http.request(new HttpRequest("GET", request.url, { params: request.queryParams, headers: request.headers })).subscribe({
3865
+ next: (response) => {
3866
+ if (response.type > 0) {
3867
+ Resolve({
3868
+ body: Tools.BreakReference(response.body),
3869
+ status: response.status,
3870
+ message: response.statusText,
3871
+ ok: true
3872
+ });
3873
+ }
3874
+ },
3875
+ error: (httpError) => {
3876
+ this.ReleaseSubscription(this._GET$);
3877
+ this.AlertError(httpError, request.alertError);
3878
+ Resolve({
3879
+ body: {},
3880
+ status: httpError.status,
3881
+ message: httpError.error?.message || httpError.error,
3882
+ ok: false
3883
+ });
3884
+ },
3885
+ complete: () => {
3886
+ this.ReleaseSubscription(this._GET$);
3887
+ if (Tools.IsNotOnlyWhiteSpace(request.alertSuccess)) {
3888
+ this.alert.Success(request.alertSuccess);
3889
+ }
3890
+ }
3891
+ });
3892
+ });
3893
+ }
3894
+ /** HTTP POST */
3895
+ HTTP_POST(request) {
3896
+ return new Promise(Resolve => {
3897
+ this.ReleaseSubscription(this._POST$);
3898
+ this._POST$ = this.http.request(new HttpRequest("POST", request.url, request.body, { params: request.queryParams, headers: request.headers })).subscribe({
3899
+ next: (response) => {
3900
+ if (response.type > 0) {
3901
+ Resolve({
3902
+ body: Tools.BreakReference(response.body),
3903
+ status: response.status,
3904
+ message: response.statusText,
3905
+ ok: true
3906
+ });
3907
+ }
3908
+ },
3909
+ error: (httpError) => {
3910
+ this.ReleaseSubscription(this._POST$);
3911
+ this.AlertError(httpError, request.alertError);
3912
+ Resolve({
3913
+ body: {},
3914
+ status: httpError.status,
3915
+ message: httpError.error?.message || httpError.error,
3916
+ ok: false
3917
+ });
3918
+ },
3919
+ complete: () => {
3920
+ this.ReleaseSubscription(this._POST$);
3921
+ if (Tools.IsNotOnlyWhiteSpace(request.alertSuccess)) {
3922
+ this.alert.Success(request.alertSuccess);
3923
+ }
3924
+ }
3925
+ });
3926
+ });
3927
+ }
3928
+ /** HTTP PUT */
3929
+ HTTP_PUT(request) {
3930
+ return new Promise(Resolve => {
3931
+ this.ReleaseSubscription(this._PUT$);
3932
+ this._PUT$ = this.http.request(new HttpRequest("PUT", request.url, request.body, { params: request.queryParams, headers: request.headers })).subscribe({
3933
+ next: (response) => {
3934
+ if (response.type > 0) {
3935
+ Resolve({
3936
+ body: {},
3937
+ status: response.status,
3938
+ message: response.statusText,
3939
+ ok: true
3940
+ });
3941
+ }
3942
+ },
3943
+ error: (httpError) => {
3944
+ this.ReleaseSubscription(this._PUT$);
3945
+ this.AlertError(httpError, request.alertError);
3946
+ Resolve({
3947
+ body: {},
3948
+ status: httpError.status,
3949
+ message: httpError.error?.message || httpError.error,
3950
+ ok: false
3951
+ });
3952
+ },
3953
+ complete: () => {
3954
+ this.ReleaseSubscription(this._PUT$);
3955
+ if (Tools.IsNotOnlyWhiteSpace(request.alertSuccess)) {
3956
+ this.alert.Success(request.alertSuccess, 'Updated', 'fa-solid fa-arrows-rotate fa-spin');
3957
+ }
3958
+ }
3959
+ });
3960
+ });
3961
+ }
3962
+ /** HTTP PATCH */
3963
+ HTTP_PATCH(request) {
3964
+ return new Promise(Resolve => {
3965
+ this.ReleaseSubscription(this._PATCH$);
3966
+ this._PATCH$ = this.http.request(new HttpRequest("PATCH", request.url, request.body, { params: request.queryParams, headers: request.headers })).subscribe({
3967
+ next: (response) => {
3968
+ if (response.type > 0) {
3969
+ Resolve({
3970
+ body: {},
3971
+ status: response.status,
3972
+ message: response.statusText,
3973
+ ok: true
3974
+ });
3975
+ }
3976
+ },
3977
+ error: (httpError) => {
3978
+ this.ReleaseSubscription(this._PATCH$);
3979
+ this.AlertError(httpError, request.alertError);
3980
+ Resolve({
3981
+ body: {},
3982
+ status: httpError.status,
3983
+ message: httpError.error?.message || httpError.error,
3984
+ ok: false
3985
+ });
3986
+ },
3987
+ complete: () => {
3988
+ this.ReleaseSubscription(this._PATCH$);
3989
+ if (Tools.IsNotOnlyWhiteSpace(request.alertSuccess)) {
3990
+ this.alert.Success(request.alertSuccess, 'Updated', 'fa-solid fa-arrows-rotate fa-spin');
3991
+ }
3992
+ }
3993
+ });
3994
+ });
3995
+ }
3996
+ /** HTTP DELETE */
3997
+ HTTP_DELETE(request) {
3998
+ return new Promise(Resolve => {
3999
+ this.ReleaseSubscription(this._DELETE$);
4000
+ this._DELETE$ = this.http.request(new HttpRequest("DELETE", request.url, { params: request.queryParams, headers: request.headers })).subscribe({
4001
+ next: (response) => {
4002
+ if (response.type > 0) {
4003
+ Resolve({
4004
+ body: {},
4005
+ status: response.status,
4006
+ message: response.statusText,
4007
+ ok: true
4008
+ });
4009
+ }
4010
+ },
4011
+ error: (httpError) => {
4012
+ this.ReleaseSubscription(this._DELETE$);
4013
+ this.AlertError(httpError, request.alertError);
4014
+ Resolve({
4015
+ body: {},
4016
+ status: httpError.status,
4017
+ message: httpError.error?.message || httpError.error,
4018
+ ok: false
4019
+ });
4020
+ },
4021
+ complete: () => {
4022
+ this.ReleaseSubscription(this._DELETE$);
4023
+ if (Tools.IsNotOnlyWhiteSpace(request.alertSuccess)) {
4024
+ this.alert.Success(request.alertSuccess, 'Deleted', 'fa-regular fa-trash-can');
4025
+ }
4026
+ }
4027
+ });
4028
+ });
4029
+ }
4030
+ /** */
4031
+ AlertError(httpError, message) {
4032
+ if (httpError.status >= 500) {
4033
+ if (Tools.IsNotOnlyWhiteSpace(message)) {
4034
+ this.alert.Error('', message, 'fa-solid fa-bug', null);
4035
+ }
4036
+ }
4037
+ else if (httpError.status < 500) {
4038
+ switch (httpError.status) {
4039
+ case 400: {
4040
+ this.alert.Warning(httpError.error?.message || httpError.error, 'Bad Request', 'fa-regular fa-face-grin-beam-sweat fa-lg');
4041
+ break;
4042
+ }
4043
+ case 401: {
4044
+ this.alert.Warning(httpError.error?.message || httpError.error, 'Unauthorize', 'fa-regular fa-face-rolling-eyes fa-lg');
4045
+ break;
4046
+ }
4047
+ case 404: {
4048
+ this.alert.Warning(httpError.error?.message || httpError.error, 'Not Found', 'fa-regular fa-face-meh fa-lg');
4049
+ break;
4050
+ }
4051
+ case 405: {
4052
+ this.alert.Warning(httpError.error?.message || httpError.error, 'Not Allowed', 'fa-regular fa-face-grimace fa-lg');
4053
+ break;
4054
+ }
4055
+ case 406: {
4056
+ this.alert.Warning(httpError.error?.message || httpError.error, 'Not Acceptable', 'fa-regular fa-face-frown-open fa-lg');
4057
+ break;
4058
+ }
4059
+ case 409: {
4060
+ this.alert.Warning(httpError.error?.message || httpError.error, 'Conflict', 'fa-regular fa-face-dizzy fa-lg');
4061
+ break;
4062
+ }
4063
+ case 413: {
4064
+ this.alert.Warning(httpError.error?.message || httpError.error, 'Too Large', 'fa-regular fa-face-flushed fa-lg');
4065
+ break;
4066
+ }
4067
+ default: {
4068
+ if (httpError.status <= 0) {
4069
+ this.alert.Warning('Without Connection', 'WEB API DOWN', 'fa-solid fa-plug-circle-xmark fa-lg', null);
4070
+ }
4071
+ else
4072
+ this.alert.Warning(httpError.error?.message || httpError.error);
4073
+ break;
4074
+ }
4075
+ }
4076
+ }
4077
+ }
4078
+ }
4079
+
3827
4080
  /**
3828
4081
  * Generated bundle index. Do not edit.
3829
4082
  */
3830
4083
 
3831
- export { Breadcrumbs, CONTROL_VALUE, CoerAlert, CoerButton, CoerCheckbox, CoerFilebox, CoerForm, CoerGrid, CoerModal, CoerNumberBox, CoerPageTitle, CoerRefDirective, CoerSelectbox, CoerSwitch, CoerTab, CoerTextBox, CoerTextarea, ComponentsModule, ControlValue, DateTime, DirectivesModule, Files, GridTemplates, HtmlPipe, LifeCycleDirective, Menu, NoImagePipe, NumericFormatPipe, Page, PipesModule, Screen, Source, Tools, breakpointSIGNAL, isLoadingSIGNAL, isModalOpenSIGNAL };
4084
+ export { Breadcrumbs, CONTROL_VALUE, CoerAlert, CoerButton, CoerCheckbox, CoerFilebox, CoerForm, CoerGrid, CoerModal, CoerNumberBox, CoerPageTitle, CoerRefDirective, CoerSelectbox, CoerSwitch, CoerTab, CoerTextBox, CoerTextarea, ComponentsModule, ControlValue, DateTime, DirectivesModule, Files, GridTemplates, HtmlPipe, LifeCycleDirective, Menu, NoImagePipe, NumericFormatPipe, Page, PipesModule, Screen, Service, Source, Tools, breakpointSIGNAL, isLoadingSIGNAL, isMenuOpenSIGNAL, isModalOpenSIGNAL, menuSIGNAL };
3832
4085
  //# sourceMappingURL=coer-elements.mjs.map