keevo-components 2.0.28 → 2.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/fesm2022/keevo-components.mjs +1 -1
  2. package/fesm2022/keevo-components.mjs.map +1 -1
  3. package/lib/api/base-components/base-component-dropdown.d.ts +1 -1
  4. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
  5. package/lib/components/kv-stepper/kv-stepper.component.d.ts +1 -1
  6. package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
  7. package/package.json +1 -3
  8. package/esm2022/keevo-components.mjs +0 -5
  9. package/esm2022/lib/api/base-components/base-component-button.mjs +0 -39
  10. package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -104
  11. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -302
  12. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -91
  13. package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -80
  14. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
  15. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -238
  16. package/esm2022/lib/api/base-components/base-component-input.mjs +0 -101
  17. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -174
  18. package/esm2022/lib/api/base-components/base-component-table.mjs +0 -354
  19. package/esm2022/lib/api/base-components/base-component.mjs +0 -51
  20. package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
  21. package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
  22. package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
  23. package/esm2022/lib/api/components/chart/orchartnode.mjs +0 -2
  24. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  25. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +0 -2
  26. package/esm2022/lib/api/components/table/action-item.mjs +0 -2
  27. package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -46
  28. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
  29. package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
  30. package/esm2022/lib/api/components/table/table.config.mjs +0 -2
  31. package/esm2022/lib/api/components/table/table.paginate.mjs +0 -10
  32. package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
  33. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
  34. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +0 -2
  35. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +0 -3
  36. package/esm2022/lib/api/directives/directives.module.mjs +0 -30
  37. package/esm2022/lib/api/directives/drag/drag.directive.mjs +0 -52
  38. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +0 -31
  39. package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
  40. package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
  41. package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -131
  42. package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
  43. package/esm2022/lib/api/modules/primeng.module.mjs +0 -275
  44. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +0 -47
  45. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
  46. package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
  47. package/esm2022/lib/api/pipes/pipes.module.mjs +0 -39
  48. package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
  49. package/esm2022/lib/api/services/base.api.service.mjs +0 -74
  50. package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -62
  51. package/esm2022/lib/api/services/chat.service.mjs +0 -37
  52. package/esm2022/lib/api/services/component.service.mjs +0 -37
  53. package/esm2022/lib/api/services/docs.service.mjs +0 -129
  54. package/esm2022/lib/api/services/form.service.mjs +0 -95
  55. package/esm2022/lib/api/services/image.cutter.service.mjs +0 -191
  56. package/esm2022/lib/api/services/imagens.service.mjs +0 -28
  57. package/esm2022/lib/api/services/notification.service.mjs +0 -69
  58. package/esm2022/lib/api/services/object.service.mjs +0 -39
  59. package/esm2022/lib/api/services/orgchart.service.mjs +0 -64
  60. package/esm2022/lib/api/types/breadcrumb.model.mjs +0 -2
  61. package/esm2022/lib/components/keevo-components.module.mjs +0 -214
  62. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -133
  63. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -55
  64. package/esm2022/lib/components/kv-button/kv-button.component.mjs +0 -51
  65. package/esm2022/lib/components/kv-button/kv-button.module.mjs +0 -28
  66. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -25
  67. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -39
  68. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
  69. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
  70. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
  71. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +0 -60
  72. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +0 -31
  73. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -34
  74. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
  75. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -166
  76. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
  77. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +0 -183
  78. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +0 -44
  79. package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
  80. package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
  81. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +0 -162
  82. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +0 -18
  83. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +0 -46
  84. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +0 -20
  85. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +0 -68
  86. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +0 -24
  87. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +0 -29
  88. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +0 -34
  89. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +0 -26
  90. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +0 -28
  91. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +0 -11
  92. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +0 -19
  93. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +0 -27
  94. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +0 -32
  95. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +0 -135
  96. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +0 -18
  97. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -29
  98. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -102
  99. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -150
  100. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -168
  101. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -30
  102. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
  103. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
  104. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -38
  105. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -50
  106. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
  107. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
  108. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -131
  109. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -60
  110. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -60
  111. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +0 -46
  112. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +0 -36
  113. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -42
  114. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +0 -58
  115. package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
  116. package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
  117. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +0 -28
  118. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +0 -72
  119. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +0 -430
  120. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +0 -15
  121. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -16
  122. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
  123. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
  124. package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -62
  125. package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
  126. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -98
  127. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -20
  128. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -225
  129. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -59
  130. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -215
  131. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -41
  132. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +0 -205
  133. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +0 -51
  134. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -144
  135. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -39
  136. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -62
  137. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
  138. package/esm2022/lib/components/kv-report/kv-report.component.mjs +0 -44
  139. package/esm2022/lib/components/kv-report/kv-report.module.mjs +0 -24
  140. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +0 -74
  141. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +0 -47
  142. package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -673
  143. package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -40
  144. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -323
  145. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -45
  146. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +0 -516
  147. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +0 -40
  148. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +0 -18
  149. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +0 -24
  150. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -331
  151. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -39
  152. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -70
  153. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
  154. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +0 -40
  155. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -68
  156. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +0 -22
  157. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +0 -78
  158. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +0 -87
  159. package/esm2022/public-api.mjs +0 -261
@@ -1,91 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { BaseComponentCrud } from './base-component-crud';
3
- import { TablePaginate } from '../components/table/table.paginate';
4
- import { loading } from '../../components/kv-loader/kv-loader.service';
5
- import { KvTableComponent } from '../../components/kv-table/kv-table.component';
6
- import { KvTreetableComponent } from '../../components/kv-tree-table/kv-tree-table.component';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "primeng/dynamicdialog";
9
- import * as i2 from "../services/notification.service";
10
- import * as i3 from "@angular/router";
11
- export class BaseComponentCrudList extends BaseComponentCrud {
12
- constructor(dialogService, notificationService, router) {
13
- super(dialogService, notificationService);
14
- this.router = router;
15
- this.dataSource = [];
16
- this.totalRecords = 0;
17
- this.actionsPageList = [];
18
- }
19
- ngOnInit() {
20
- this.loadFilters();
21
- this.configureTable();
22
- // Tabela não configurada para paginação
23
- if (!this.tableConfig?.lazy)
24
- this.loadTable(new TablePaginate());
25
- }
26
- /**
27
- * Método que seta o registro selecionado na tabela
28
- * @param event - Registro
29
- */
30
- activeItem(event) {
31
- this.selectedItem = event;
32
- }
33
- /**
34
- * Método que dispara o carregamento da tabela
35
- * @param obs - Observable de carregamento dos dados
36
- */
37
- loadData(obs) {
38
- obs.pipe(loading()).subscribe({
39
- next: (res) => {
40
- if (res) {
41
- if (Array.isArray(res)) {
42
- //Tratamento para retorno do tipo listar ([])
43
- this.totalRecords = res.length;
44
- this.dataSource = res;
45
- }
46
- else {
47
- //Tratamento para retorno do tipo listarPaginado (<int,[]>)
48
- this.totalRecords = res.item1;
49
- this.dataSource = res.item2;
50
- }
51
- }
52
- },
53
- error: (e) => {
54
- this.toastError(e);
55
- },
56
- });
57
- }
58
- /**
59
- * Método que dispara a paginação
60
- */
61
- paginate(event) {
62
- this.loadTable(event);
63
- }
64
- /**
65
- * Método que dispara a atualização da página inteira
66
- */
67
- refresh() {
68
- this.loadTable(new TablePaginate());
69
- }
70
- resetTable() {
71
- this.table?.resetTable();
72
- }
73
- resetTreeTable() {
74
- this.treetable?.resetTreeTable();
75
- }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrudList, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentCrudList, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: KvTableComponent, descendants: true }, { propertyName: "treetable", first: true, predicate: KvTreetableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
78
- }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrudList, decorators: [{
80
- type: Component,
81
- args: [{
82
- template: '',
83
- }]
84
- }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.Router }], propDecorators: { table: [{
85
- type: ViewChild,
86
- args: [KvTableComponent]
87
- }], treetable: [{
88
- type: ViewChild,
89
- args: [KvTreetableComponent]
90
- }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFLbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7OztBQUs5RixNQUFNLE9BQWdCLHFCQUNwQixTQUFRLGlCQUFpQjtJQVd6QixZQUNFLGFBQTRCLEVBQzVCLG1CQUF3QyxFQUNqQyxNQUFjO1FBRXJCLEtBQUssQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUZuQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWnZCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFHckIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsb0JBQWUsR0FBaUIsRUFBRSxDQUFDO0lBV25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSTtZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUE4QkQ7OztPQUdHO0lBQ08sVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFFBQVEsQ0FBQyxHQUFvQjtRQUNyQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzVCLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNSLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUN2Qiw2Q0FBNkM7d0JBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQzt3QkFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7b0JBQ3hCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTiwyREFBMkQ7d0JBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO29CQUM5QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sUUFBUSxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxPQUFPO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVTLFVBQVU7UUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBN0dtQixxQkFBcUI7a0dBQXJCLHFCQUFxQiwyRkFTOUIsZ0JBQWdCLDRFQUNoQixvQkFBb0IsdUVBWnJCLEVBQUU7OzJGQUVRLHFCQUFxQjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt5SUFVOEIsS0FBSztzQkFBakMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ00sU0FBUztzQkFBekMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q3J1ZCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQtY3J1ZCc7XHJcbmltcG9ydCB7IFRhYmxlUGFnaW5hdGUgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnBhZ2luYXRlJztcclxuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZyc7XHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi1pdGVtJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBsb2FkaW5nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmVlVGFibGVDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL3RyZWUtdGFibGUvdHJlZS10YWJsZS5jb25maWcnO1xyXG5pbXBvcnQgeyBLdlRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9rdi10YWJsZS9rdi10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBLdlRyZWV0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMva3YtdHJlZS10YWJsZS9rdi10cmVlLXRhYmxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50Q3J1ZExpc3RcclxuICBleHRlbmRzIEJhc2VDb21wb25lbnRDcnVkXHJcbiAgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGFTb3VyY2U6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIHRhYmxlQ29uZmlnITogVGFibGVDb25maWcgfCBUcmVlVGFibGVDb25maWc7XHJcbiAgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xyXG4gIGFjdGlvbnNQYWdlTGlzdDogQWN0aW9uSXRlbVtdID0gW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoS3ZUYWJsZUNvbXBvbmVudCkgdGFibGUhOiBLdlRhYmxlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoS3ZUcmVldGFibGVDb21wb25lbnQpIHRyZWV0YWJsZSE6IEt2VHJlZXRhYmxlQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkaWFsb2dTZXJ2aWNlLCBub3RpZmljYXRpb25TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2FkRmlsdGVycygpO1xyXG4gICAgdGhpcy5jb25maWd1cmVUYWJsZSgpO1xyXG5cclxuICAgIC8vIFRhYmVsYSBuw6NvIGNvbmZpZ3VyYWRhIHBhcmEgcGFnaW5hw6fDo29cclxuICAgIGlmICghdGhpcy50YWJsZUNvbmZpZz8ubGF6eSkgdGhpcy5sb2FkVGFibGUobmV3IFRhYmxlUGFnaW5hdGUoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRhcyB0YWJlbGFzIGRvIGNvbXBvbmVudGUgZGUgbGlzdGFcclxuICAgKi9cclxuICBhYnN0cmFjdCBjb25maWd1cmVUYWJsZSgpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGVkacOnw6NvIGRlIHJlZ2lzdHJvc1xyXG4gICAqIEBwYXJhbSByZWdpc3RyeSAtIFJlZ2lzdHJvIHF1ZSBlc3TDoSBzZW5kbyBlZGl0YWRvXHJcbiAgICpcclxuICAgKi9cclxuICBhYnN0cmFjdCBlZGl0KHJlZ2lzdHJ5OiBhbnkpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNhcnJlZ2FtZW50byBkb3MgZmlsdHJvcyBkYSB0ZWxhXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgbG9hZEZpbHRlcnMoKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBjYXJyZWdhciBhIHRhYmVsYSBkbyBjb21wb25lbnRlIGRlIGxpc3RhXHJcbiAgICogQHBhcmFtIHRhYmxlUGFnaW5hdGUgLSBDbGFzc2UgZG9zIGRhZG9zIGRhIHBhZ2luYcOnw6NvIGRhIHRhYmVsYVxyXG4gICAqL1xyXG4gIGFic3RyYWN0IGxvYWRUYWJsZSh0YWJsZVBhZ2luYXRlOiBUYWJsZVBhZ2luYXRlKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIGJvdMOjbyBkZSBub3ZvIHJlZ2lzdHJvXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgbmV3UmVnaXN0cnkoKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBxdWUgc2V0YSBvIHJlZ2lzdHJvIHNlbGVjaW9uYWRvIG5hIHRhYmVsYVxyXG4gICAqIEBwYXJhbSBldmVudCAtIFJlZ2lzdHJvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGFjdGl2ZUl0ZW0oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBldmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgbyBjYXJyZWdhbWVudG8gZGEgdGFiZWxhXHJcbiAgICogQHBhcmFtIG9icyAtIE9ic2VydmFibGUgZGUgY2FycmVnYW1lbnRvIGRvcyBkYWRvc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsb2FkRGF0YShvYnM6IE9ic2VydmFibGU8YW55Pikge1xyXG4gICAgb2JzLnBpcGUobG9hZGluZygpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XHJcbiAgICAgICAgICAgIC8vVHJhdGFtZW50byBwYXJhIHJldG9ybm8gZG8gdGlwbyBsaXN0YXIgKFtdKVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJlcztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vVHJhdGFtZW50byBwYXJhIHJldG9ybm8gZG8gdGlwbyBsaXN0YXJQYWdpbmFkbyAoPGludCxbXT4pXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzLml0ZW0xO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSByZXMuaXRlbTI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0RXJyb3IoZSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgYSBwYWdpbmHDp8Ojb1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBwYWdpbmF0ZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRUYWJsZShldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIHF1ZSBkaXNwYXJhIGEgYXR1YWxpemHDp8OjbyBkYSBww6FnaW5hIGludGVpcmFcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMubG9hZFRhYmxlKG5ldyBUYWJsZVBhZ2luYXRlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlc2V0VGFibGUoKSB7XHJcbiAgICB0aGlzLnRhYmxlPy5yZXNldFRhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVzZXRUcmVlVGFibGUoKSB7XHJcbiAgICB0aGlzLnRyZWV0YWJsZT8ucmVzZXRUcmVlVGFibGUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,80 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { FormService } from '../services/form.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "primeng/dynamicdialog";
5
- import * as i2 from "../services/notification.service";
6
- export class BaseComponentCrud {
7
- constructor(dialogService, notificationService) {
8
- this.dialogService = dialogService;
9
- this.notificationService = notificationService;
10
- this.isReport = false;
11
- this.itemsReport = [];
12
- }
13
- /**
14
- * Fecha um relatório
15
- */
16
- closeReport() {
17
- this.isReport = false;
18
- }
19
- /**
20
- * Abre um form dialog
21
- * @param componentType - Componente que será renderizado
22
- * @param callBackFunction - Função de callback que deverá ser chamada após o fechamento do dialog
23
- * @param paramsDialog - Parâmetros do dialog
24
- */
25
- openDialog(componentType, callBackFunction, paramsDialog) {
26
- // FormService.openDialog(
27
- // this.dialogService,
28
- // componentType,
29
- // callBackFunction,
30
- // paramsDialog);
31
- const dialogRef = FormService.openDialog(this.dialogService, componentType, callBackFunction, paramsDialog);
32
- // Garante que o estado atual seja mantido no histórico
33
- // window.history.pushState(null, '', window.location.href);
34
- // Configura a ação para quando o botão de voltar do navegador é pressionado
35
- window.onpopstate = function () {
36
- // Verifica se o dialog está aberto antes de fechá-lo
37
- if (dialogRef && dialogRef.close) {
38
- // dialogRef.onClose.subscribe(callBackFunction());
39
- dialogRef.close();
40
- }
41
- };
42
- }
43
- /**
44
- * Imprime um relatório na tela
45
- * @param obs - Observable com o carregamento do relatório
46
- */
47
- printReportFilter(obs) {
48
- obs
49
- //.pipe(loading())
50
- .subscribe({
51
- next: (res) => {
52
- this.itemsReport = res;
53
- this.isReport = true;
54
- },
55
- error: (e) => {
56
- this.toastError(e);
57
- },
58
- });
59
- }
60
- /**
61
- * Exibe um toast com um erro
62
- * @param err - Erro
63
- */
64
- toastError(err) {
65
- if (err) {
66
- if (err.message) {
67
- this.notificationService.toastError(err.message);
68
- }
69
- }
70
- }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrud, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentCrud, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrud, decorators: [{
75
- type: Component,
76
- args: [{
77
- template: '',
78
- }]
79
- }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.NotificationService }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQU9yRSxNQUFNLE9BQWdCLGlCQUFpQjtJQUlyQyxZQUNTLGFBQTRCLEVBQzVCLG1CQUF3QztRQUR4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBTDFDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7SUFLMUIsQ0FBQztJQUVKOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDTyxVQUFVLENBQ2xCLGFBQXdCLEVBQ3hCLGdCQUEwQixFQUMxQixZQUEyQjtRQUUzQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBRW5CLE1BQU0sU0FBUyxHQUFxQixXQUFXLENBQUMsVUFBVSxDQUN4RCxJQUFJLENBQUMsYUFBYSxFQUNsQixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLFlBQVksQ0FDYixDQUFDO1FBRUYsdURBQXVEO1FBQ3ZELDREQUE0RDtRQUU1RCw0RUFBNEU7UUFDNUUsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUNsQixxREFBcUQ7WUFDckQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqQyxtREFBbUQ7Z0JBQ25ELFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQixDQUFDLEdBQW9CO1FBQzlDLEdBQUc7WUFDRCxrQkFBa0I7YUFDakIsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO2dCQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN2QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVUsQ0FBQyxHQUFRO1FBQzNCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQWpGbUIsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0RBRjNCLEVBQUU7OzJGQUVRLGlCQUFpQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtU2VydmljZSwgcGFyYW1zRGlhbG9nIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudENydWQge1xyXG4gIHB1YmxpYyBpc1JlcG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpdGVtc1JlcG9ydDogYW55ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogRmVjaGEgdW0gcmVsYXTDs3Jpb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZVJlcG9ydCgpIHtcclxuICAgIHRoaXMuaXNSZXBvcnQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFicmUgdW0gZm9ybSBkaWFsb2dcclxuICAgKiBAcGFyYW0gY29tcG9uZW50VHlwZSAtIENvbXBvbmVudGUgcXVlIHNlcsOhIHJlbmRlcml6YWRvXHJcbiAgICogQHBhcmFtIGNhbGxCYWNrRnVuY3Rpb24gLSBGdW7Dp8OjbyBkZSBjYWxsYmFjayBxdWUgZGV2ZXLDoSBzZXIgY2hhbWFkYSBhcMOzcyBvIGZlY2hhbWVudG8gZG8gZGlhbG9nXHJcbiAgICogQHBhcmFtIHBhcmFtc0RpYWxvZyAtIFBhcsOibWV0cm9zIGRvIGRpYWxvZ1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBvcGVuRGlhbG9nKFxyXG4gICAgY29tcG9uZW50VHlwZTogVHlwZTxhbnk+LFxyXG4gICAgY2FsbEJhY2tGdW5jdGlvbjogRnVuY3Rpb24sXHJcbiAgICBwYXJhbXNEaWFsb2c/OiBwYXJhbXNEaWFsb2dcclxuICApIHtcclxuICAgIC8vIEZvcm1TZXJ2aWNlLm9wZW5EaWFsb2coXHJcbiAgICAvLyAgIHRoaXMuZGlhbG9nU2VydmljZSxcclxuICAgIC8vICAgY29tcG9uZW50VHlwZSxcclxuICAgIC8vICAgY2FsbEJhY2tGdW5jdGlvbixcclxuICAgIC8vICAgcGFyYW1zRGlhbG9nKTtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYgPSBGb3JtU2VydmljZS5vcGVuRGlhbG9nKFxyXG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UsXHJcbiAgICAgIGNvbXBvbmVudFR5cGUsXHJcbiAgICAgIGNhbGxCYWNrRnVuY3Rpb24sXHJcbiAgICAgIHBhcmFtc0RpYWxvZ1xyXG4gICAgKTtcclxuXHJcbiAgICAvLyBHYXJhbnRlIHF1ZSBvIGVzdGFkbyBhdHVhbCBzZWphIG1hbnRpZG8gbm8gaGlzdMOzcmljb1xyXG4gICAgLy8gd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsICcnLCB3aW5kb3cubG9jYXRpb24uaHJlZik7XHJcblxyXG4gICAgLy8gQ29uZmlndXJhIGEgYcOnw6NvIHBhcmEgcXVhbmRvIG8gYm90w6NvIGRlIHZvbHRhciBkbyBuYXZlZ2Fkb3Igw6kgcHJlc3Npb25hZG9cclxuICAgIHdpbmRvdy5vbnBvcHN0YXRlID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAvLyBWZXJpZmljYSBzZSBvIGRpYWxvZyBlc3TDoSBhYmVydG8gYW50ZXMgZGUgZmVjaMOhLWxvXHJcbiAgICAgIGlmIChkaWFsb2dSZWYgJiYgZGlhbG9nUmVmLmNsb3NlKSB7XHJcbiAgICAgICAgLy8gZGlhbG9nUmVmLm9uQ2xvc2Uuc3Vic2NyaWJlKGNhbGxCYWNrRnVuY3Rpb24oKSk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXByaW1lIHVtIHJlbGF0w7NyaW8gbmEgdGVsYVxyXG4gICAqIEBwYXJhbSBvYnMgLSBPYnNlcnZhYmxlIGNvbSBvIGNhcnJlZ2FtZW50byBkbyByZWxhdMOzcmlvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHByaW50UmVwb3J0RmlsdGVyKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICBvYnNcclxuICAgICAgLy8ucGlwZShsb2FkaW5nKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pdGVtc1JlcG9ydCA9IHJlcztcclxuICAgICAgICAgIHRoaXMuaXNSZXBvcnQgPSB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0RXJyb3IoZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGliZSB1bSB0b2FzdCBjb20gdW0gZXJyb1xyXG4gICAqIEBwYXJhbSBlcnIgLSBFcnJvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHRvYXN0RXJyb3IoZXJyOiBhbnkpIHtcclxuICAgIGlmIChlcnIpIHtcclxuICAgICAgaWYgKGVyci5tZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoZXJyLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { Component, Input, ViewChild } from "@angular/core";
2
- import { BaseComponentDropDown } from "./base-component-dropdown";
3
- import { KvDropdownComponent } from "../../components/kv-inputs/kv-dropdown/kv-dropdown.component";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/component.service";
6
- import * as i2 from "primeng/dynamicdialog";
7
- export class BaseComponentDropDownExternal extends BaseComponentDropDown {
8
- constructor(componentService, dialogService) {
9
- super(componentService, dialogService);
10
- }
11
- ngAfterViewInit() {
12
- super.ngAfterViewInit();
13
- if (this.dropDownComponent) {
14
- this.dropDownComponent.formControl = this.formControl;
15
- }
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentDropDownExternal, deps: [{ token: i1.ComponentService }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentDropDownExternal, selector: "ng-component", inputs: { formGroup: "formGroup" }, viewQueries: [{ propertyName: "dropDownComponent", first: true, predicate: KvDropdownComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentDropDownExternal, decorators: [{
21
- type: Component,
22
- args: [{
23
- template: '',
24
- }]
25
- }], ctorParameters: () => [{ type: i1.ComponentService }, { type: i2.DialogService }], propDecorators: { formGroup: [{
26
- type: Input
27
- }], dropDownComponent: [{
28
- type: ViewChild,
29
- args: [KvDropdownComponent]
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtZHJvcGRvd24tZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bi1leHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7O0FBS25HLE1BQU0sT0FBZ0IsNkJBQThCLFNBQVEscUJBQXFCO0lBSzdFLFlBQ0ksZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBQzVCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRVEsZUFBZTtRQUNwQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUQsQ0FBQztJQUNMLENBQUM7OEdBakJpQiw2QkFBNkI7a0dBQTdCLDZCQUE2QiwySUFHcEMsbUJBQW1CLHVFQUxwQixFQUFFOzsyRkFFTSw2QkFBNkI7a0JBSGxELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7aUhBR1ksU0FBUztzQkFBakIsS0FBSztnQkFDMEIsaUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2R5bmFtaWNkaWFsb2dcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnREcm9wRG93biB9IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duXCI7XHJcbmltcG9ydCB7IEt2RHJvcGRvd25Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9rdi1pbnB1dHMva3YtZHJvcGRvd24va3YtZHJvcGRvd24uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnREcm9wRG93bkV4dGVybmFsIGV4dGVuZHMgQmFzZUNvbXBvbmVudERyb3BEb3duIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gICAgQFZpZXdDaGlsZChLdkRyb3Bkb3duQ29tcG9uZW50KSBkcm9wRG93bkNvbXBvbmVudCE6IEt2RHJvcGRvd25Db21wb25lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgY29tcG9uZW50U2VydmljZTogQ29tcG9uZW50U2VydmljZSxcclxuICAgICAgICBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoY29tcG9uZW50U2VydmljZSwgZGlhbG9nU2VydmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5kcm9wRG93bkNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3BEb3duQ29tcG9uZW50LmZvcm1Db250cm9sID0gdGhpcy5mb3JtQ29udHJvbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,238 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
- import { debounceTime, finalize, of } from 'rxjs';
3
- import { BaseComponentInput } from './base-component-input';
4
- import { ObjectService } from '../services/object.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../services/component.service";
7
- import * as i2 from "primeng/dynamicdialog";
8
- export class BaseComponentDropDown extends BaseComponentInput {
9
- constructor(componentService, dialogService) {
10
- super(componentService);
11
- this.dialogService = dialogService;
12
- this.capitalize = false;
13
- this.filter = true;
14
- this.lazy = false;
15
- this.loading = false;
16
- this.showAddButton = false;
17
- this.showClear = true;
18
- this.onAddClick = new EventEmitter();
19
- this.onClick = new EventEmitter();
20
- this.onLoadCombo = new EventEmitter();
21
- this.onSelectionChange = new EventEmitter();
22
- this.onSelectionValue = new EventEmitter();
23
- this.requestComplete = new EventEmitter();
24
- this.onFilter = new EventEmitter();
25
- this.prepositions = [
26
- 'de',
27
- 'da',
28
- 'do',
29
- 'em',
30
- 'no',
31
- 'na',
32
- 'para',
33
- 'por',
34
- 'com',
35
- 'a',
36
- 'o',
37
- 'e',
38
- ];
39
- this.loadingCombo = () => {
40
- if (!this.lazy) {
41
- return (src) => {
42
- this.loading = true;
43
- return src.pipe(finalize(() => {
44
- this.loading = false;
45
- }));
46
- };
47
- }
48
- };
49
- this.registerOnTouched(() => { });
50
- }
51
- ngOnInit() {
52
- super.ngOnInit();
53
- this.setPlaceHolder('Selecione um valor');
54
- if (!this.lazy)
55
- this.carregarCombo();
56
- }
57
- addClick(event) {
58
- this.onAddClick.emit(event);
59
- }
60
- carregarCombo(filtro) {
61
- if (filtro) {
62
- this.carregarComboObs(this.listarCombo(filtro));
63
- }
64
- else {
65
- this.carregarComboObs(this.listar());
66
- }
67
- }
68
- carregarComboObs(obs) {
69
- if (obs) {
70
- obs
71
- .pipe(debounceTime(450), this.loadingCombo())
72
- .subscribe({
73
- next: (data) => {
74
- this.options = this.capitalizeOptions(data);
75
- this.filteredOptions = this.options;
76
- this.requestComplete.emit(true);
77
- },
78
- error: (error) => {
79
- console.log(error);
80
- },
81
- });
82
- }
83
- }
84
- emptyMessage() {
85
- return (this.lazy ? 'Digite para pesquisar' : 'Nenhum resultado encontrado');
86
- }
87
- filterOptions(field, value) {
88
- if (this.options) {
89
- let lista = ObjectService.filterObject(this.options, field, value);
90
- if (lista?.length > 0) {
91
- of(lista).subscribe((opts) => {
92
- this.filteredOptions = this.capitalizeOptions(opts);
93
- });
94
- }
95
- else
96
- this.filteredOptions = [];
97
- }
98
- }
99
- listar() { }
100
- listarCombo(value) { }
101
- openDialog(componentType, width, height) {
102
- const ref = this.dialogService.open(componentType, {
103
- width: width || '70%',
104
- height: height,
105
- closable: false,
106
- maximizable: true,
107
- data: { popup: true },
108
- });
109
- ref.onClose.subscribe((id) => {
110
- if (id) {
111
- this.listar()
112
- .pipe(this.loadingCombo())
113
- .subscribe((data) => {
114
- this.options = this.capitalizeOptions(data);
115
- this.filteredOptions = this.options;
116
- if (id)
117
- this.formControl?.setValue(id);
118
- });
119
- }
120
- });
121
- }
122
- onInputChange(event) {
123
- this.onSelectionValue.emit(event);
124
- //Em nossas implementações o metodo é chamado 2 vezes, em seua segunda chamada o event se torna o objeto selecionado e não o valor, dessa forma o if abaixo apenas emite o objeto
125
- if (!event?.originalEvent) {
126
- this.onSelectionChange.emit(event);
127
- return;
128
- }
129
- if (this.formControl) {
130
- const controlName = this.getName(this.formControl);
131
- if (controlName) {
132
- let currentItem = ObjectService.findObject(this.options, this.optionValue ?? controlName, event?.value);
133
- this.onSelectionChange.emit(currentItem);
134
- }
135
- }
136
- }
137
- onInputClick(event) {
138
- this.onClick.emit(event);
139
- }
140
- onInputFilter(event) {
141
- if (event) {
142
- this.onFilter.emit(event.filter);
143
- if (event.filter) {
144
- if (event.filter.length > 2) {
145
- let fil = { termoPesquisa: event.filter };
146
- this.carregarCombo(fil);
147
- this.onLoadCombo.emit(fil);
148
- }
149
- }
150
- }
151
- }
152
- writeValue(value) {
153
- if (this.lazy && value) {
154
- let fil = { id: value };
155
- this.carregarCombo(fil);
156
- this.onLoadCombo.emit(fil);
157
- }
158
- this.value = value;
159
- }
160
- transformCapitalize(value) {
161
- if (!value)
162
- return value;
163
- return value
164
- .split(' ')
165
- .map((word, index) => {
166
- if (index !== 0 &&
167
- this.prepositions.includes(word.toLocaleLowerCase())) {
168
- return word.toLocaleLowerCase();
169
- }
170
- return (word.charAt(0).toLocaleUpperCase() + word.slice(1).toLocaleLowerCase());
171
- })
172
- .join(' ');
173
- }
174
- capitalizeOptions(options) {
175
- if (this.capitalize) {
176
- return options?.map((option) => {
177
- option[this.optionLabel] = this.transformCapitalize(option[this.optionLabel]);
178
- return option;
179
- });
180
- }
181
- return options;
182
- }
183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentDropDown, deps: [{ token: i1.ComponentService }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
184
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentDropDown, selector: "ng-component", inputs: { filteredOptions: "filteredOptions", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", nameForSelectionChange: "nameForSelectionChange", optionDisabled: "optionDisabled", capitalize: "capitalize", group: "group", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", filter: "filter", lazy: "lazy", loading: "loading", showAddButton: "showAddButton", showClear: "showClear", widthField: "widthField" }, outputs: { onAddClick: "onAddClick", onClick: "onClick", onLoadCombo: "onLoadCombo", onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue", requestComplete: "requestComplete", onFilter: "onFilter" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
185
- }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentDropDown, decorators: [{
187
- type: Component,
188
- args: [{
189
- template: '',
190
- }]
191
- }], ctorParameters: () => [{ type: i1.ComponentService }, { type: i2.DialogService }], propDecorators: { filteredOptions: [{
192
- type: Input
193
- }], options: [{
194
- type: Input
195
- }], optionLabel: [{
196
- type: Input
197
- }], optionValue: [{
198
- type: Input
199
- }], nameForSelectionChange: [{
200
- type: Input
201
- }], optionDisabled: [{
202
- type: Input
203
- }], capitalize: [{
204
- type: Input
205
- }], group: [{
206
- type: Input
207
- }], optionGroupLabel: [{
208
- type: Input
209
- }], optionGroupChildren: [{
210
- type: Input
211
- }], filter: [{
212
- type: Input
213
- }], lazy: [{
214
- type: Input
215
- }], loading: [{
216
- type: Input
217
- }], showAddButton: [{
218
- type: Input
219
- }], showClear: [{
220
- type: Input
221
- }], widthField: [{
222
- type: Input
223
- }], onAddClick: [{
224
- type: Output
225
- }], onClick: [{
226
- type: Output
227
- }], onLoadCombo: [{
228
- type: Output
229
- }], onSelectionChange: [{
230
- type: Output
231
- }], onSelectionValue: [{
232
- type: Output
233
- }], requestComplete: [{
234
- type: Output
235
- }], onFilter: [{
236
- type: Output
237
- }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBYyxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFNM0QsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxrQkFBdUI7SUFtRHpFLFlBQ0UsZ0JBQWtDLEVBQzFCLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRmhCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdkM3QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBTTVCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDdkIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFHekIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FB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LE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVHlwZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudElucHV0IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudC1pbnB1dCc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE9iamVjdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vYmplY3Quc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRyb0NvbWJvIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kcm9wZG93bi9maWx0cm8uY29tYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudERyb3BEb3duIGV4dGVuZHMgQmFzZUNvbXBvbmVudElucHV0PGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBmaWx0ZXJlZE9wdGlvbnMhOiBhbnlbXTtcclxuICBASW5wdXQoKSBvcHRpb25zITogYW55W107XHJcbiAgQElucHV0KCkgb3B0aW9uTGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb3B0aW9uVmFsdWUhOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0cmluZyBxdWUgc2Vyw6EgdXRpbGl6YWRhIHBhcmEgYnVzY2FyIGEgb3DDp8OjbyBubyBtw6l0b2RvIG9uU2VsZWN0aW9uQ2hhbmdlXHJcbiAgICogQGlucHV0XHJcbiAgICovXHJcbiAgQElucHV0KCkgbmFtZUZvclNlbGVjdGlvbkNoYW5nZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBvcHRpb25EaXNhYmxlZCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgY2FwaXRhbGl6ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBncm91cCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgb3B0aW9uR3JvdXBMYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBvcHRpb25Hcm91cENoaWxkcmVuITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBmaWx0ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGxhenk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dBZGRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93Q2xlYXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHdpZHRoRmllbGQ/OiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkFkZENsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTG9hZENvbWJvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvblZhbHVlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVxdWVzdENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25GaWx0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwcmVwb3NpdGlvbnM6IHN0cmluZ1tdID0gW1xyXG4gICAgJ2RlJyxcclxuICAgICdkYScsXHJcbiAgICAnZG8nLFxyXG4gICAgJ2VtJyxcclxuICAgICdubycsXHJcbiAgICAnbmEnLFxyXG4gICAgJ3BhcmEnLFxyXG4gICAgJ3BvcicsXHJcbiAgICAnY29tJyxcclxuICAgICdhJyxcclxuICAgICdvJyxcclxuICAgICdlJyxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gICAgdGhpcy5yZWdpc3Rlck9uVG91Y2hlZCgoKSA9PiB7IH0pO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5zZXRQbGFjZUhvbGRlcignU2VsZWNpb25lIHVtIHZhbG9yJyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmxhenkpIHRoaXMuY2FycmVnYXJDb21ibygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFkZENsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkFkZENsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhcnJlZ2FyQ29tYm8oZmlsdHJvPzogZmlsdHJvQ29tYm8pOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoZmlsdHJvKSB7XHJcbiAgICAgIHRoaXMuY2FycmVnYXJDb21ib09icyh0aGlzLmxpc3RhckNvbWJvKGZpbHRybykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FycmVnYXJDb21ib09icyh0aGlzLmxpc3RhcigpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjYXJyZWdhckNvbWJvT2JzKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICBpZiAob2JzKSB7XHJcbiAgICAgIG9ic1xyXG4gICAgICAgIC5waXBlXHJcbiAgICAgICAgKFxyXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDQ1MCksXHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDb21ibygpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNhcGl0YWxpemVPcHRpb25zKGRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcclxuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0Q29tcGxldGUuZW1pdCh0cnVlKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbXB0eU1lc3NhZ2UoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMubGF6eSA/ICdEaWdpdGUgcGFyYSBwZXNxdWlzYXInIDogJ05lbmh1bSByZXN1bHRhZG8gZW5jb250cmFkbycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbHRlck9wdGlvbnMoZmllbGQ6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucykge1xyXG4gICAgICBsZXQgbGlzdGEgPSBPYmplY3RTZXJ2aWNlLmZpbHRlck9iamVjdCh0aGlzLm9wdGlvbnMsIGZpZWxkLCB2YWx1ZSk7XHJcbiAgICAgIGlmIChsaXN0YT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG9mKGxpc3RhKS5zdWJzY3JpYmUoKG9wdHM6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuY2FwaXRhbGl6ZU9wdGlvbnMob3B0cyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGxpc3RhcigpOiBhbnkgeyB9XHJcbiAgcHJvdGVjdGVkIGxpc3RhckNvbWJvKHZhbHVlOiBhbnkpOiBhbnkgeyB9XHJcblxyXG4gIGxvYWRpbmdDb21ibyA9ICgpOiBhbnkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmxhenkpIHtcclxuICAgICAgcmV0dXJuIChzcmM6IE9ic2VydmFibGU8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIHNyYy5waXBlKGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwcm90ZWN0ZWQgb3BlbkRpYWxvZyhcclxuICAgIGNvbXBvbmVudFR5cGU6IFR5cGU8YW55PixcclxuICAgIHdpZHRoPzogc3RyaW5nLFxyXG4gICAgaGVpZ2h0Pzogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCByZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3Blbihjb21wb25lbnRUeXBlLCB7XHJcbiAgICAgIHdpZHRoOiB3aWR0aCB8fCAnNzAlJyxcclxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXHJcbiAgICAgIGNsb3NhYmxlOiBmYWxzZSxcclxuICAgICAgbWF4aW1pemFibGU6IHRydWUsXHJcbiAgICAgIGRhdGE6IHsgcG9wdXA6IHRydWUgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIHJlZi5vbkNsb3NlLnN1YnNjcmliZSgoaWQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoaWQpIHtcclxuICAgICAgICB0aGlzLmxpc3RhcigpXHJcbiAgICAgICAgICAucGlwZSh0aGlzLmxvYWRpbmdDb21ibygpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY2FwaXRhbGl6ZU9wdGlvbnMoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAoaWQpIHRoaXMuZm9ybUNvbnRyb2w/LnNldFZhbHVlKGlkKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25TZWxlY3Rpb25WYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgIC8vRW0gbm9zc2FzIGltcGxlbWVudGHDp8O1ZXMgbyBtZXRvZG8gw6kgY2hhbWFkbyAyIHZlemVzLCBlbSBzZXVhIHNlZ3VuZGEgY2hhbWFkYSBvIGV2ZW50IHNlIHRvcm5hIG8gb2JqZXRvIHNlbGVjaW9uYWRvIGUgbsOjbyBvIHZhbG9yLCBkZXNzYSBmb3JtYSBvIGlmIGFiYWl4byBhcGVuYXMgZW1pdGUgbyBvYmpldG9cclxuICAgIGlmKCFldmVudD8ub3JpZ2luYWxFdmVudCl7XHJcbiAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbCkge1xyXG4gICAgICBjb25zdCBjb250cm9sTmFtZSA9IHRoaXMuZ2V0TmFtZSh0aGlzLmZvcm1Db250cm9sIGFzIEZvcm1Db250cm9sKTtcclxuICAgICAgaWYgKGNvbnRyb2xOYW1lKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJdGVtID0gT2JqZWN0U2VydmljZS5maW5kT2JqZWN0KFxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICAgICAgdGhpcy5vcHRpb25WYWx1ZT8/Y29udHJvbE5hbWUsXHJcbiAgICAgICAgICBldmVudD8udmFsdWVcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdChjdXJyZW50SXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5wdXRDbGljayhldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0RmlsdGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLm9uRmlsdGVyLmVtaXQoZXZlbnQuZmlsdGVyKVxyXG5cclxuICAgICAgaWYgKGV2ZW50LmZpbHRlcikge1xyXG4gICAgICAgIGlmIChldmVudC5maWx0ZXIubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgbGV0IGZpbCA9IHsgdGVybW9QZXNxdWlzYTogZXZlbnQuZmlsdGVyIH0gYXMgZmlsdHJvQ29tYm87XHJcbiAgICAgICAgICB0aGlzLmNhcnJlZ2FyQ29tYm8oZmlsKTtcclxuICAgICAgICAgIHRoaXMub25Mb2FkQ29tYm8uZW1pdChmaWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sYXp5ICYmIHZhbHVlKSB7XHJcbiAgICAgIGxldCBmaWwgPSB7IGlkOiB2YWx1ZSB9IGFzIGZpbHRyb0NvbWJvO1xyXG4gICAgICB0aGlzLmNhcnJlZ2FyQ29tYm8oZmlsKTtcclxuICAgICAgdGhpcy5vbkxvYWRDb21iby5lbWl0KGZpbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgdHJhbnNmb3JtQ2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuXHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdmFsdWU7XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlXHJcbiAgICAgIC5zcGxpdCgnICcpXHJcbiAgICAgIC5tYXAoKHdvcmQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgaW5kZXggIT09IDAgJiZcclxuICAgICAgICAgIHRoaXMucHJlcG9zaXRpb25zLmluY2x1ZGVzKHdvcmQudG9Mb2NhbGVMb3dlckNhc2UoKSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHJldHVybiB3b3JkLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICB3b3JkLmNoYXJBdCgwKS50b0xvY2FsZVVwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKS50b0xvY2FsZUxvd2VyQ2FzZSgpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgICAgLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIGNhcGl0YWxpemVPcHRpb25zKG9wdGlvbnM6IGFueVtdKTogYW55W10ge1xyXG5cclxuICAgIGlmICh0aGlzLmNhcGl0YWxpemUpIHtcclxuICAgICAgcmV0dXJuIG9wdGlvbnM/Lm1hcCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICBvcHRpb25bdGhpcy5vcHRpb25MYWJlbF0gPSB0aGlzLnRyYW5zZm9ybUNhcGl0YWxpemUob3B0aW9uW3RoaXMub3B0aW9uTGFiZWxdKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcbn0iXX0=
@@ -1,101 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
2
- import { BaseComponent } from './base-component';
3
- import { KvErrorComponent } from '../../components/kv-error/kv-error.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/component.service";
6
- export class BaseComponentInput extends BaseComponent {
7
- constructor(componentService) {
8
- super();
9
- this.componentService = componentService;
10
- this.hasError = false;
11
- this.showAsterisk = false;
12
- this.placeholder = '';
13
- this.autocomplete = '';
14
- this.onBlur = new EventEmitter();
15
- this.onInput = new EventEmitter();
16
- this.onClose = new EventEmitter();
17
- }
18
- get baseInputClass() {
19
- return `${this.hasError ? 'ng-invalid ng-dirty' : ''} !important`;
20
- }
21
- erroMessage() {
22
- if (!this.formControl?.errors)
23
- return;
24
- let message = '';
25
- if (this.formControl.errors) {
26
- const objErrors = this.formControl.errors;
27
- if (objErrors.erroMessage)
28
- message = objErrors.erroMessage;
29
- }
30
- return message;
31
- }
32
- getName(control) {
33
- return (Object.entries(control.parent?.controls ?? []).find(([_, value]) => value === control)?.[0] ?? null);
34
- }
35
- hasControlError() {
36
- if (!this.formControl)
37
- return false;
38
- return ((this.formControl.dirty || this.formControl.touched) &&
39
- this.formControl.errors !== null);
40
- }
41
- ngAfterViewInit() {
42
- this.viewErrors.forEach((c) => {
43
- c.emitError.subscribe((res) => {
44
- this.hasError = res;
45
- this.componentService.changeDetectorRef.detectChanges();
46
- });
47
- });
48
- }
49
- ngAfterContentInit() {
50
- this.contentErrors.forEach((c) => {
51
- c.emitError.subscribe((res) => {
52
- this.hasError = res;
53
- });
54
- });
55
- }
56
- ngOnInit() {
57
- this.formControl = this.componentService.getFormControl();
58
- if (this.formControl?.errors)
59
- this.showAsterisk = true;
60
- }
61
- onInputBlur(event) {
62
- if (this.onTouched)
63
- this.onTouched();
64
- this.onBlur.emit(event);
65
- }
66
- onInputClose(event) {
67
- this.onClose.emit(event);
68
- }
69
- onInputInput(event) {
70
- this.onInput.emit(event);
71
- }
72
- setPlaceHolder(p) {
73
- if (!this.placeholder)
74
- this.placeholder = p;
75
- }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentInput, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentInput, selector: "ng-component", inputs: { placeholder: "placeholder", autocomplete: "autocomplete" }, outputs: { onBlur: "onBlur", onInput: "onInput", onClose: "onClose" }, queries: [{ propertyName: "contentErrors", predicate: KvErrorComponent }], viewQueries: [{ propertyName: "viewErrors", predicate: KvErrorComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
78
- }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentInput, decorators: [{
80
- type: Component,
81
- args: [{
82
- template: '',
83
- }]
84
- }], ctorParameters: () => [{ type: i1.ComponentService }], propDecorators: { placeholder: [{
85
- type: Input
86
- }], autocomplete: [{
87
- type: Input
88
- }], onBlur: [{
89
- type: Output
90
- }], onInput: [{
91
- type: Output
92
- }], onClose: [{
93
- type: Output
94
- }], viewErrors: [{
95
- type: ViewChildren,
96
- args: [KvErrorComponent]
97
- }], contentErrors: [{
98
- type: ContentChildren,
99
- args: [KvErrorComponent]
100
- }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFLaEYsTUFBTSxPQUFnQixrQkFDcEIsU0FBUSxhQUFnQjtJQW1CeEIsWUFBK0IsZ0JBQWtDO1FBQy9ELEtBQUssRUFBRSxDQUFDO1FBRHFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFmdkQsYUFBUSxHQUF3QixLQUFLLENBQUM7UUFDekMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFbkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFHekIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFRMUQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTTtZQUFFLE9BQU87UUFFdEMsSUFBSSxPQUFPLEdB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aUJBQ2I7cUZBU1UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBRXlCLFVBQVU7c0JBQXpDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUU5QixhQUFhO3NCQURaLGVBQWU7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZHJlbixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLdkVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9rdi1lcnJvci9rdi1lcnJvci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudElucHV0PFQ+XHJcbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXRcclxue1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgfCB1bmRlZmluZWQ7XHJcbiAgcHJvdGVjdGVkIGhhc0Vycm9yOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBc3RlcmlzayA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmcgPSAnJztcclxuICBcclxuXHJcbiAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihLdkVycm9yQ29tcG9uZW50KSB2aWV3RXJyb3JzITogUXVlcnlMaXN0PEt2RXJyb3JDb21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oS3ZFcnJvckNvbXBvbmVudClcclxuICBjb250ZW50RXJyb3JzITogUXVlcnlMaXN0PEt2RXJyb3JDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcG9uZW50U2VydmljZTogQ29tcG9uZW50U2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYmFzZUlucHV0Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmhhc0Vycm9yID8gJ25nLWludmFsaWQgbmctZGlydHknIDogJyd9ICFpbXBvcnRhbnRgO1xyXG4gIH1cclxuXHJcbiAgZXJyb01lc3NhZ2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghdGhpcy5mb3JtQ29udHJvbD8uZXJyb3JzKSByZXR1cm47XHJcblxyXG4gICAgbGV0IG1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLmZvcm1Db250cm9sLmVycm9ycykge1xyXG4gICAgICBjb25zdCBvYmpFcnJvcnMgPSB0aGlzLmZvcm1Db250cm9sLmVycm9ycyBhcyBhbnk7XHJcbiAgICAgIGlmIChvYmpFcnJvcnMuZXJyb01lc3NhZ2UpIG1lc3NhZ2UgPSBvYmpFcnJvcnMuZXJyb01lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1lc3NhZ2U7XHJcbiAgfVxyXG5cclxuICBnZXROYW1lKGNvbnRyb2w6IEZvcm1Db250cm9sKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBPYmplY3QuZW50cmllcyhjb250cm9sLnBhcmVudD8uY29udHJvbHMgPz8gW10pLmZpbmQoXHJcbiAgICAgICAgKFtfLCB2YWx1ZV0pID0+IHZhbHVlID09PSBjb250cm9sXHJcbiAgICAgICk/LlswXSA/PyBudWxsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaGFzQ29udHJvbEVycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAodGhpcy5mb3JtQ29udHJvbC5kaXJ0eSB8fCB0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQpICYmXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzICE9PSBudWxsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RXJyb3JzLmZvckVhY2goKGMpID0+IHtcclxuICAgICAgYy5lbWl0RXJyb3Iuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLmhhc0Vycm9yID0gcmVzO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRlbnRFcnJvcnMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICBjLmVtaXRFcnJvci5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSByZXM7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZ2V0Rm9ybUNvbnRyb2woKTtcclxuXHJcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbD8uZXJyb3JzKSB0aGlzLnNob3dBc3RlcmlzayA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvbklucHV0Qmx1cihldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZCkgdGhpcy5vblRvdWNoZWQoKTtcclxuXHJcbiAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXRDbG9zZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2xvc2UuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0SW5wdXQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uSW5wdXQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0UGxhY2VIb2xkZXIocDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXIpIHRoaXMucGxhY2Vob2xkZXIgPSBwO1xyXG4gIH1cclxufVxyXG4iXX0=