oxpi-nglib 3.0.1 → 3.0.3

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 (136) hide show
  1. package/fesm2022/oxpi-nglib.mjs +53 -30
  2. package/fesm2022/oxpi-nglib.mjs.map +1 -1
  3. package/package.json +1 -1
  4. package/types/oxpi-nglib.d.ts +3 -0
  5. package/esm2022/lib/animations/animations.mjs +0 -22
  6. package/esm2022/lib/cadastros/clientes/clientes/clientes-form.component.mjs +0 -32
  7. package/esm2022/lib/cadastros/clientes/clientes/clientes.component.mjs +0 -165
  8. package/esm2022/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.mjs +0 -73
  9. package/esm2022/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.mjs +0 -71
  10. package/esm2022/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.mjs +0 -113
  11. package/esm2022/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.mjs +0 -44
  12. package/esm2022/lib/cadastros/fornecedores/fornecedores/fornecedores.component.mjs +0 -165
  13. package/esm2022/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.mjs +0 -73
  14. package/esm2022/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.mjs +0 -71
  15. package/esm2022/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.mjs +0 -108
  16. package/esm2022/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.mjs +0 -79
  17. package/esm2022/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +0 -68
  18. package/esm2022/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.mjs +0 -50
  19. package/esm2022/lib/cadastros/funcionarios/funcionarios/funcionarios.component.mjs +0 -157
  20. package/esm2022/lib/controls/alert-dialog/alert-dialog.component.mjs +0 -23
  21. package/esm2022/lib/controls/busy-indicator/busy-indicator.component.mjs +0 -19
  22. package/esm2022/lib/controls/check-button/check-button.component.mjs +0 -35
  23. package/esm2022/lib/controls/image-viewer/image-viewer.component.mjs +0 -73
  24. package/esm2022/lib/controls/item-card/item-card.component.mjs +0 -38
  25. package/esm2022/lib/controls/month-year-picker/month-year-picker.component.mjs +0 -125
  26. package/esm2022/lib/controls/numeric-picker/numeric-picker.component.mjs +0 -102
  27. package/esm2022/lib/controls/paginator/paginator.component.mjs +0 -70
  28. package/esm2022/lib/controls/radio-button-group/radio-button-group.component.mjs +0 -40
  29. package/esm2022/lib/controls/selecao-list-item/selecao-list-item.component.mjs +0 -17
  30. package/esm2022/lib/models/entidades/funcionario.mjs +0 -12
  31. package/esm2022/lib/models/entidades/id-nome-model.mjs +0 -2
  32. package/esm2022/lib/models/entidades/login-item.mjs +0 -2
  33. package/esm2022/lib/models/entidades/login-result.mjs +0 -2
  34. package/esm2022/lib/models/entidades/operador.mjs +0 -17
  35. package/esm2022/lib/models/entidades/ownership.mjs +0 -15
  36. package/esm2022/lib/models/entidades/permissoes.mjs +0 -2
  37. package/esm2022/lib/models/entidades/pessoa.mjs +0 -9
  38. package/esm2022/lib/models/entidades/sensores-def.mjs +0 -2
  39. package/esm2022/lib/models/entidades/setor-estoque.mjs +0 -9
  40. package/esm2022/lib/models/entidades/suite-base.mjs +0 -2
  41. package/esm2022/lib/models/entidades/usuario.mjs +0 -2
  42. package/esm2022/lib/models/infra/busy-state.mjs +0 -26
  43. package/esm2022/lib/models/infra/convert-setting-to-string.mjs +0 -29
  44. package/esm2022/lib/models/infra/lazy-trigger.mjs +0 -17
  45. package/esm2022/lib/models/infra/number-parser.mjs +0 -67
  46. package/esm2022/lib/models/infra/ordem.mjs +0 -17
  47. package/esm2022/lib/models/infra/paging-result.mjs +0 -2
  48. package/esm2022/lib/models/infra/selecao-utils.mjs +0 -47
  49. package/esm2022/lib/models/infra/utils-methods.mjs +0 -99
  50. package/esm2022/lib/models/infra/validations.mjs +0 -25
  51. package/esm2022/lib/models/settings/PagamentoRecebimentoSearchSetting.mjs +0 -13
  52. package/esm2022/lib/models/settings/consumo-produto-search-setting.mjs +0 -18
  53. package/esm2022/lib/models/settings/duplicata-search-setting.mjs +0 -13
  54. package/esm2022/lib/models/settings/ocupacao-filter-setting.mjs +0 -14
  55. package/esm2022/lib/models/settings/ocupacao-search-setting.mjs +0 -37
  56. package/esm2022/lib/models/settings/produto-search-setting.mjs +0 -13
  57. package/esm2022/lib/models/settings/search-setting.mjs +0 -60
  58. package/esm2022/lib/models/settings/suites-intervencoes-setting.mjs +0 -4
  59. package/esm2022/lib/models/tuple.mjs +0 -2
  60. package/esm2022/lib/oxpi-nglib.module.mjs +0 -173
  61. package/esm2022/lib/providers/auth-data.service.mjs +0 -242
  62. package/esm2022/lib/providers/common-web-service.mjs +0 -206
  63. package/esm2022/lib/providers/export.file.service.mjs +0 -29
  64. package/esm2022/lib/providers/focus.service.mjs +0 -84
  65. package/esm2022/lib/providers/notification.service.mjs +0 -39
  66. package/esm2022/lib/providers/preference.service.mjs +0 -42
  67. package/esm2022/lib/providers/safe-html.pipe.mjs +0 -20
  68. package/esm2022/lib/providers/screen-helper.service.mjs +0 -97
  69. package/esm2022/oxpi-nglib.mjs +0 -5
  70. package/esm2022/public-api.mjs +0 -69
  71. package/index.d.ts +0 -5
  72. package/lib/animations/animations.d.ts +0 -2
  73. package/lib/cadastros/clientes/clientes/clientes-form.component.d.ts +0 -13
  74. package/lib/cadastros/clientes/clientes/clientes.component.d.ts +0 -36
  75. package/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.d.ts +0 -27
  76. package/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.d.ts +0 -27
  77. package/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.d.ts +0 -35
  78. package/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.d.ts +0 -14
  79. package/lib/cadastros/fornecedores/fornecedores/fornecedores.component.d.ts +0 -36
  80. package/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.d.ts +0 -27
  81. package/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.d.ts +0 -27
  82. package/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.d.ts +0 -35
  83. package/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.d.ts +0 -27
  84. package/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.d.ts +0 -27
  85. package/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.d.ts +0 -19
  86. package/lib/cadastros/funcionarios/funcionarios/funcionarios.component.d.ts +0 -36
  87. package/lib/controls/alert-dialog/alert-dialog.component.d.ts +0 -15
  88. package/lib/controls/busy-indicator/busy-indicator.component.d.ts +0 -9
  89. package/lib/controls/check-button/check-button.component.d.ts +0 -12
  90. package/lib/controls/image-viewer/image-viewer.component.d.ts +0 -27
  91. package/lib/controls/item-card/item-card.component.d.ts +0 -19
  92. package/lib/controls/month-year-picker/month-year-picker.component.d.ts +0 -33
  93. package/lib/controls/numeric-picker/numeric-picker.component.d.ts +0 -28
  94. package/lib/controls/paginator/paginator.component.d.ts +0 -24
  95. package/lib/controls/radio-button-group/radio-button-group.component.d.ts +0 -19
  96. package/lib/controls/selecao-list-item/selecao-list-item.component.d.ts +0 -6
  97. package/lib/models/entidades/funcionario.d.ts +0 -20
  98. package/lib/models/entidades/id-nome-model.d.ts +0 -8
  99. package/lib/models/entidades/login-item.d.ts +0 -6
  100. package/lib/models/entidades/login-result.d.ts +0 -20
  101. package/lib/models/entidades/operador.d.ts +0 -10
  102. package/lib/models/entidades/ownership.d.ts +0 -20
  103. package/lib/models/entidades/permissoes.d.ts +0 -196
  104. package/lib/models/entidades/pessoa.d.ts +0 -41
  105. package/lib/models/entidades/sensores-def.d.ts +0 -6
  106. package/lib/models/entidades/setor-estoque.d.ts +0 -9
  107. package/lib/models/entidades/suite-base.d.ts +0 -10
  108. package/lib/models/entidades/usuario.d.ts +0 -34
  109. package/lib/models/infra/busy-state.d.ts +0 -7
  110. package/lib/models/infra/convert-setting-to-string.d.ts +0 -5
  111. package/lib/models/infra/lazy-trigger.d.ts +0 -8
  112. package/lib/models/infra/number-parser.d.ts +0 -15
  113. package/lib/models/infra/ordem.d.ts +0 -13
  114. package/lib/models/infra/paging-result.d.ts +0 -11
  115. package/lib/models/infra/selecao-utils.d.ts +0 -12
  116. package/lib/models/infra/utils-methods.d.ts +0 -6
  117. package/lib/models/infra/validations.d.ts +0 -6
  118. package/lib/models/settings/PagamentoRecebimentoSearchSetting.d.ts +0 -10
  119. package/lib/models/settings/consumo-produto-search-setting.d.ts +0 -26
  120. package/lib/models/settings/duplicata-search-setting.d.ts +0 -18
  121. package/lib/models/settings/ocupacao-filter-setting.d.ts +0 -14
  122. package/lib/models/settings/ocupacao-search-setting.d.ts +0 -62
  123. package/lib/models/settings/produto-search-setting.d.ts +0 -14
  124. package/lib/models/settings/search-setting.d.ts +0 -27
  125. package/lib/models/settings/suites-intervencoes-setting.d.ts +0 -7
  126. package/lib/models/tuple.d.ts +0 -4
  127. package/lib/oxpi-nglib.module.d.ts +0 -54
  128. package/lib/providers/auth-data.service.d.ts +0 -26
  129. package/lib/providers/common-web-service.d.ts +0 -81
  130. package/lib/providers/export.file.service.d.ts +0 -10
  131. package/lib/providers/focus.service.d.ts +0 -15
  132. package/lib/providers/notification.service.d.ts +0 -12
  133. package/lib/providers/preference.service.d.ts +0 -11
  134. package/lib/providers/safe-html.pipe.d.ts +0 -10
  135. package/lib/providers/screen-helper.service.d.ts +0 -28
  136. package/public-api.d.ts +0 -64
@@ -24,9 +24,11 @@ import * as i2$2 from '@angular/material/checkbox';
24
24
  import { MatCheckboxModule } from '@angular/material/checkbox';
25
25
  import * as i4$1 from '@angular/material/datepicker';
26
26
  import { MatDatepickerModule } from '@angular/material/datepicker';
27
+ import * as i4$2 from '@angular/material/menu';
28
+ import { MatMenuModule } from '@angular/material/menu';
29
+ import * as FileSaver from 'file-saver';
27
30
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
28
31
  import { DomSanitizer } from '@angular/platform-browser';
29
- import * as FileSaver from 'file-saver';
30
32
 
31
33
  function valTextEmpty(v) {
32
34
  return v === null ||
@@ -193,6 +195,10 @@ class CommonWebService {
193
195
  const url = this.FORNECEDOR_BASE_URL + id;
194
196
  return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
195
197
  }
198
+ baixarExcelFornecedores(setting) {
199
+ const url = this.FORNECEDOR_BASE_URL + 'ExportaExcel/';
200
+ return this.http.post(url, JSON.stringify(setting), this.getExcelOptions());
201
+ }
196
202
  getOperadores() {
197
203
  const url = this.OPERADOR_BASE_URL;
198
204
  return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
@@ -1850,6 +1856,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
1850
1856
  type: Input
1851
1857
  }] } });
1852
1858
 
1859
+ class ExportFileService {
1860
+ empresaNomeFile;
1861
+ constructor() { }
1862
+ start(empresaNomeFile) {
1863
+ this.empresaNomeFile = empresaNomeFile.replace(' ', "_").toLowerCase();
1864
+ ;
1865
+ }
1866
+ exportarExcel(r, fileName) {
1867
+ const blob = new Blob([r], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
1868
+ FileSaver.saveAs(blob, `${fileName}.${this.empresaNomeFile}.xlsx`);
1869
+ }
1870
+ printHtml(r) {
1871
+ const s = r + '<script>window.onload = function() { window.print(); }</script>';
1872
+ const blob = new Blob([s], { type: 'text/html' });
1873
+ const url = window.URL.createObjectURL(blob);
1874
+ const w = window.open(url, '_blank', 'noreferrer');
1875
+ }
1876
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ExportFileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1877
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ExportFileService, providedIn: 'root' });
1878
+ }
1879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ExportFileService, decorators: [{
1880
+ type: Injectable,
1881
+ args: [{
1882
+ providedIn: 'root'
1883
+ }]
1884
+ }], ctorParameters: () => [] });
1885
+
1853
1886
  class FornecedoresAddDialogComponent {
1854
1887
  ws = inject(CommonWebService);
1855
1888
  notification = inject(NotificationService);
@@ -1975,6 +2008,7 @@ class FornecedoresComponent {
1975
2008
  notification = inject(NotificationService);
1976
2009
  dialog = inject(MatDialog);
1977
2010
  screenHelper = inject(ScreenHelperService);
2011
+ exFile = inject(ExportFileService);
1978
2012
  cdr = inject(ChangeDetectorRef);
1979
2013
  mobile;
1980
2014
  isBusy = false;
@@ -2092,6 +2126,22 @@ class FornecedoresComponent {
2092
2126
  this.atualiza();
2093
2127
  });
2094
2128
  }
2129
+ baixarExcel() {
2130
+ this.isBusy = true;
2131
+ this.ws.baixarExcelFornecedores(this.setting)
2132
+ .subscribe({
2133
+ next: r => {
2134
+ this.exFile.exportarExcel(r, 'fornecedores');
2135
+ this.isBusy = false;
2136
+ this.cdr.markForCheck();
2137
+ },
2138
+ error: err => {
2139
+ this.isBusy = false;
2140
+ this.notification.showHttpError(err);
2141
+ this.cdr.markForCheck();
2142
+ }
2143
+ });
2144
+ }
2095
2145
  salvar() {
2096
2146
  const item = this.selectedItem;
2097
2147
  if (!item)
@@ -2117,11 +2167,11 @@ class FornecedoresComponent {
2117
2167
  });
2118
2168
  }
2119
2169
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: FornecedoresComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: FornecedoresComponent, isStandalone: true, selector: "app-fornecedores", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\r\n@if (mobile) {\r\n <div class=\"tool-panel\">\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n@if (items) {\r\n <div class=\"result-container\">\r\n @if (mobile) {\r\n <div class=\"cards-container cards-container-shadow\">\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" (click)=\"abreCadastro(i)\"></ox-item-card>\r\n }\r\n </div>\r\n }\r\n @if (!mobile) {\r\n <div class=\"listagem-desktop-grid\">\r\n <div class=\"listagem-column-container listagem-list-column\">\r\n <h3>Fornecedores</h3>\r\n <div class=\"tool-panel tool-panel-float\">\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"listagem-list-container\">\r\n @if (items.length === 0) {\r\n <h4 class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\r\n }\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" [class.selected]=\"i === selectedItem\"\r\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\r\n }\r\n </div>\r\n </div>\r\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\r\n @if (!selectedItem) {\r\n <h3 class=\"selecione-um-item-msg\">Selecione um fornecedor no lado direito</h3>\r\n }\r\n @if (selectedItem) {\r\n <h3>{{selectedItem.nome | uppercase}}</h3>\r\n }\r\n <div class=\"listagem-form-container\">\r\n @if (selectedItem) {\r\n <app-fornecedores-form [@fade] [model]=\"selectedItem\"></app-fornecedores-form>\r\n }\r\n </div>\r\n <div class=\"listagem-form-acoes\">\r\n @if (selectedItem) {\r\n <button (click)=\"salvar()\" mat-fab color=\"primary\" tabindex=\"20\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n}", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#f0f0f0}:host{background-color:#fafafa}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado", "ownership"] }, { kind: "component", type: FornecedoresFormComponent, selector: "app-fornecedores-form", inputs: ["model"] }, { kind: "pipe", type: i4.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2170
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: FornecedoresComponent, isStandalone: true, selector: "app-fornecedores", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\r\n<mat-menu #menuImportarExportar=\"matMenu\">\r\n <button mat-menu-item (click)=\"baixarExcel()\">\r\n <mat-icon>file_download</mat-icon>\r\n <span>Baixar em Excel</span>\r\n </button>\r\n</mat-menu>\r\n@if (mobile) {\r\n <div class=\"tool-panel\">\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button [matMenuTriggerFor]=\"menuImportarExportar\">\r\n <mat-icon aria-label=\"Importar/Exportar\">drive_folder_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n@if (items) {\r\n <div class=\"result-container\">\r\n @if (mobile) {\r\n <div class=\"cards-container cards-container-shadow\">\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" (click)=\"abreCadastro(i)\"></ox-item-card>\r\n }\r\n </div>\r\n }\r\n @if (!mobile) {\r\n <div class=\"listagem-desktop-grid\">\r\n <div class=\"listagem-column-container listagem-list-column\">\r\n <h3>Fornecedores</h3>\r\n <div class=\"tool-panel tool-panel-float\">\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button [matMenuTriggerFor]=\"menuImportarExportar\">\r\n <mat-icon aria-label=\"Importar/Exportar\">drive_folder_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"listagem-list-container\">\r\n @if (items.length === 0) {\r\n <h4 class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\r\n }\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" [class.selected]=\"i === selectedItem\"\r\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\r\n }\r\n </div>\r\n </div>\r\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\r\n @if (!selectedItem) {\r\n <h3 class=\"selecione-um-item-msg\">Selecione um fornecedor no lado direito</h3>\r\n }\r\n @if (selectedItem) {\r\n <h3>{{selectedItem.nome | uppercase}}</h3>\r\n }\r\n <div class=\"listagem-form-container\">\r\n @if (selectedItem) {\r\n <app-fornecedores-form [@fade] [model]=\"selectedItem\"></app-fornecedores-form>\r\n }\r\n </div>\r\n <div class=\"listagem-form-acoes\">\r\n @if (selectedItem) {\r\n <button (click)=\"salvar()\" mat-fab color=\"primary\" tabindex=\"20\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n}", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#f0f0f0}:host{background-color:#fafafa}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado", "ownership"] }, { kind: "component", type: FornecedoresFormComponent, selector: "app-fornecedores-form", inputs: ["model"] }, { kind: "pipe", type: i4.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2121
2171
  }
2122
2172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: FornecedoresComponent, decorators: [{
2123
2173
  type: Component,
2124
- args: [{ selector: 'app-fornecedores', animations: [fadeAnimation], changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, MatButtonModule, MatIconModule, BusyIndicatorComponent, ItemCardComponent, FornecedoresFormComponent], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\r\n@if (mobile) {\r\n <div class=\"tool-panel\">\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n@if (items) {\r\n <div class=\"result-container\">\r\n @if (mobile) {\r\n <div class=\"cards-container cards-container-shadow\">\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" (click)=\"abreCadastro(i)\"></ox-item-card>\r\n }\r\n </div>\r\n }\r\n @if (!mobile) {\r\n <div class=\"listagem-desktop-grid\">\r\n <div class=\"listagem-column-container listagem-list-column\">\r\n <h3>Fornecedores</h3>\r\n <div class=\"tool-panel tool-panel-float\">\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"listagem-list-container\">\r\n @if (items.length === 0) {\r\n <h4 class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\r\n }\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" [class.selected]=\"i === selectedItem\"\r\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\r\n }\r\n </div>\r\n </div>\r\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\r\n @if (!selectedItem) {\r\n <h3 class=\"selecione-um-item-msg\">Selecione um fornecedor no lado direito</h3>\r\n }\r\n @if (selectedItem) {\r\n <h3>{{selectedItem.nome | uppercase}}</h3>\r\n }\r\n <div class=\"listagem-form-container\">\r\n @if (selectedItem) {\r\n <app-fornecedores-form [@fade] [model]=\"selectedItem\"></app-fornecedores-form>\r\n }\r\n </div>\r\n <div class=\"listagem-form-acoes\">\r\n @if (selectedItem) {\r\n <button (click)=\"salvar()\" mat-fab color=\"primary\" tabindex=\"20\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n}", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#f0f0f0}:host{background-color:#fafafa}\n"] }]
2174
+ args: [{ selector: 'app-fornecedores', animations: [fadeAnimation], changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, MatButtonModule, MatIconModule, MatMenuModule, BusyIndicatorComponent, ItemCardComponent, FornecedoresFormComponent], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\r\n<mat-menu #menuImportarExportar=\"matMenu\">\r\n <button mat-menu-item (click)=\"baixarExcel()\">\r\n <mat-icon>file_download</mat-icon>\r\n <span>Baixar em Excel</span>\r\n </button>\r\n</mat-menu>\r\n@if (mobile) {\r\n <div class=\"tool-panel\">\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button [matMenuTriggerFor]=\"menuImportarExportar\">\r\n <mat-icon aria-label=\"Importar/Exportar\">drive_folder_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n@if (items) {\r\n <div class=\"result-container\">\r\n @if (mobile) {\r\n <div class=\"cards-container cards-container-shadow\">\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" (click)=\"abreCadastro(i)\"></ox-item-card>\r\n }\r\n </div>\r\n }\r\n @if (!mobile) {\r\n <div class=\"listagem-desktop-grid\">\r\n <div class=\"listagem-column-container listagem-list-column\">\r\n <h3>Fornecedores</h3>\r\n <div class=\"tool-panel tool-panel-float\">\r\n <div class=\"tool-section\">\r\n <label>Pesquisa</label>\r\n <div class=\"search-input-container\">\r\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\r\n (input)=\"lazyTrigger.fire()\">\r\n </div>\r\n </div>\r\n <div class=\"tool-section ordem-sm2\">\r\n <label>A\u00E7\u00F5es</label>\r\n <div class=\"tool-row\">\r\n <button mat-icon-button (click)=\"atualiza()\">\r\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\r\n </button>\r\n @if (allowAdd) {\r\n <button mat-icon-button (click)=\"novo()\">\r\n <mat-icon aria-label=\"Novo\">add</mat-icon>\r\n </button>\r\n }\r\n @if (selectedItem && allowExcluir) {\r\n <button mat-icon-button (click)=\"excluir()\" [@fade]>\r\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button [matMenuTriggerFor]=\"menuImportarExportar\">\r\n <mat-icon aria-label=\"Importar/Exportar\">drive_folder_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"listagem-list-container\">\r\n @if (items.length === 0) {\r\n <h4 class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\r\n }\r\n @for (i of items; track i) {\r\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" [class.selected]=\"i === selectedItem\"\r\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\r\n }\r\n </div>\r\n </div>\r\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\r\n @if (!selectedItem) {\r\n <h3 class=\"selecione-um-item-msg\">Selecione um fornecedor no lado direito</h3>\r\n }\r\n @if (selectedItem) {\r\n <h3>{{selectedItem.nome | uppercase}}</h3>\r\n }\r\n <div class=\"listagem-form-container\">\r\n @if (selectedItem) {\r\n <app-fornecedores-form [@fade] [model]=\"selectedItem\"></app-fornecedores-form>\r\n }\r\n </div>\r\n <div class=\"listagem-form-acoes\">\r\n @if (selectedItem) {\r\n <button (click)=\"salvar()\" mat-fab color=\"primary\" tabindex=\"20\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n}", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#f0f0f0}:host{background-color:#fafafa}\n"] }]
2125
2175
  }], ctorParameters: () => [] });
2126
2176
 
2127
2177
  class SelecaoFornecedorDialogComponent {
@@ -3119,33 +3169,6 @@ class SuitesIntervencoesSetting extends SearchSetting {
3119
3169
  status;
3120
3170
  }
3121
3171
 
3122
- class ExportFileService {
3123
- empresaNomeFile;
3124
- constructor() { }
3125
- start(empresaNomeFile) {
3126
- this.empresaNomeFile = empresaNomeFile.replace(' ', "_").toLowerCase();
3127
- ;
3128
- }
3129
- exportarExcel(r, fileName) {
3130
- const blob = new Blob([r], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
3131
- FileSaver.saveAs(blob, `${fileName}.${this.empresaNomeFile}.xlsx`);
3132
- }
3133
- printHtml(r) {
3134
- const s = r + '<script>window.onload = function() { window.print(); }</script>';
3135
- const blob = new Blob([s], { type: 'text/html' });
3136
- const url = window.URL.createObjectURL(blob);
3137
- const w = window.open(url, '_blank', 'noreferrer');
3138
- }
3139
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ExportFileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3140
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ExportFileService, providedIn: 'root' });
3141
- }
3142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ExportFileService, decorators: [{
3143
- type: Injectable,
3144
- args: [{
3145
- providedIn: 'root'
3146
- }]
3147
- }], ctorParameters: () => [] });
3148
-
3149
3172
  class Preferences {
3150
3173
  constructor() {
3151
3174
  }