ngx-sp-infra 5.2.4 → 5.2.5

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.
@@ -10873,6 +10873,8 @@ class SearchLogApi {
10873
10873
  this.IS_SLOW = false;
10874
10874
  this.ROW_LIMIT = 0;
10875
10875
  this.ROW_OFF_SET = 0;
10876
+ this.ORDERBY = "";
10877
+ this.ORDERISASC = false;
10876
10878
  }
10877
10879
  }
10878
10880
 
@@ -10901,16 +10903,23 @@ class HomeLogApiComponent {
10901
10903
  this.dateFinalFin = null;
10902
10904
  this.isError = true;
10903
10905
  this.isSlow = false;
10906
+ this.counterLabel = "";
10904
10907
  this.counter = 0;
10905
10908
  this.page = 1;
10906
10909
  this.itemsPerPage = 10;
10907
10910
  this.isListLoading = true;
10911
+ this.headerOrdering = {
10912
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
10913
+ 'API': { isAsc: false, orderingId: 'ApiOrigem', isActive: false },
10914
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
10915
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
10916
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
10917
+ };
10908
10918
  this.componentPesquisa = new SearchFiltersComponent;
10909
10919
  // Função chamada quando ocorre uma mudança na ordenação
10910
10920
  this.currentSortColumn = '';
10911
10921
  this.sortDirection = {};
10912
10922
  this.module = window.location.href.includes('Corporativo') ? "Corporativo" : "ConfigErp";
10913
- console.log(this.module == 'ConfigErp');
10914
10923
  if (this.module == 'ConfigErp' && (!this._tenantService.tenantId || this._tenantService.tenantId == 0)) {
10915
10924
  this._messageService.showAlertInfo("Você deve selecionar um domínio para executar esta opção.");
10916
10925
  this._router.navigate(["/home"]);
@@ -10945,6 +10954,7 @@ class HomeLogApiComponent {
10945
10954
  }
10946
10955
  // #region GetList
10947
10956
  getLogsList(search = '') {
10957
+ this.isListLoading = true;
10948
10958
  this.$retLogList = new RetLogsApi();
10949
10959
  this.searchLogApi.TEXTO_PESQUISA = search;
10950
10960
  this.searchLogApi.DATA_INICIAL_INI = this.dateInicioIni;
@@ -10961,6 +10971,7 @@ class HomeLogApiComponent {
10961
10971
  this.$logList = response.LogsApi;
10962
10972
  this.counter = response.Count;
10963
10973
  this.isListLoading = false;
10974
+ this.GetTableCounter(this.searchLogApi.ROW_LIMIT, response.Count);
10964
10975
  },
10965
10976
  error: error => {
10966
10977
  this.$retLogList = new RetLogsApi();
@@ -10994,20 +11005,25 @@ class HomeLogApiComponent {
10994
11005
  this.page = 1;
10995
11006
  }
10996
11007
  }
11008
+ GetTableCounter(rowLimit, totalCount) {
11009
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
11010
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
11011
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
11012
+ }
10997
11013
  onSortChange(event) {
10998
- const { direction, column } = event;
10999
- // Verifica se a coluna atualmente selecionada é a mesma da nova seleção
11000
- if (this.currentSortColumn === column) {
11001
- // Alterna entre 'asc' e 'desc' para a direção de ordenação da coluna
11002
- this.sortDirection[column] = this.sortDirection[column] === 'asc' ? 'asc' : 'desc';
11003
- }
11004
- else {
11005
- // Define a nova coluna e a direção de ordenação como 'asc'
11006
- this.currentSortColumn = column;
11007
- this.sortDirection = { [column]: 'asc' };
11014
+ this.searchLogApi.ORDERBY = this.headerOrdering[event].orderingId;
11015
+ for (const key in this.headerOrdering) {
11016
+ if (key != event) {
11017
+ this.headerOrdering[key].isActive = false;
11018
+ this.headerOrdering[key].isAsc = false;
11019
+ }
11020
+ else {
11021
+ this.headerOrdering[key].isActive = true;
11022
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11023
+ }
11008
11024
  }
11009
- // Realiza a ordenação dos dados da tabela
11010
- this.sortData();
11025
+ this.searchLogApi.ORDERISASC = this.headerOrdering[event].isAsc;
11026
+ this.getLogsList();
11011
11027
  }
11012
11028
  // Função de ordenação dos dados da tabela
11013
11029
  sortData() {
@@ -11053,11 +11069,11 @@ class HomeLogApiComponent {
11053
11069
  }));
11054
11070
  }
11055
11071
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogApiComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: LogsApiService }, { token: TenantService }, { token: MessageService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
11056
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogApiComponent, isStandalone: true, selector: "app-home-log-api", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log API'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log API' ]\"\n [breadcrumbList]=\"['Configura\u00E7\u00E3o ERP', 'Log']\"\n pageTitle=\"Log API\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <div class=\"col-12 row\">\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00E9todo ou API do Log\"\n class=\"mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n\n </div>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioFin\">\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalFin\">\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n <div class=\"mt-4\">\n <lib-table [list]=\"$logList\" [counts]=\"[ 5,15,25 ]\" paginationID=\"simpleTable\" *ngIf=\"!this.isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn:'Id' },\n { name: 'Usu\u00E1rio', widthClass: 'col-1', orderColumn:'NomeUsuarioLogado' },\n { name: 'API', widthClass: 'col-2', orderColumn:'ApiOrigem' },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2', orderColumn:'DtHora' },\n { name: 'Data/Hora final ocorr\u00EAncia', widthClass: 'col-3', orderColumn:'DtHoraFim' },\n { name: 'M\u00E9todo de origem', widthClass: 'col-2', orderColumn:'MetodoOrigem' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\" >\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage: itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.ApiOrigem }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-api/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }] }); }
11072
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogApiComponent, isStandalone: true, selector: "app-home-log-api", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log API'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log API' ]\"\n [breadcrumbList]=\"['Configura\u00E7\u00E3o ERP', 'Log']\"\n pageTitle=\"Log API\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <div class=\"col-12 row\">\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00E9todo ou API do Log\"\n class=\"mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n\n </div>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioFin\">\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalFin\">\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n <div class=\"mt-4\" *ngIf=\"!this.isListLoading; else loading\">\n <span>{{this.counterLabel}}</span>\n <lib-table [usePagination]=\"false\"\n [showCounter]=\"false\" [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1'},\n { name: 'Usu\u00E1rio', widthClass: 'col-1', icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'API', widthClass: 'col-2', icon: {\n name: this.headerOrdering['API'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2', icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora final ocorr\u00EAncia', widthClass: 'col-3', orderColumn:'DtHoraFim', icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'M\u00E9todo de origem', widthClass: 'col-2', orderColumn:'MetodoOrigem', icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"(iconClick)=\"onSortChange($event)\">\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogApi.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.ApiOrigem }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-api/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "component", type: i12.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
11057
11073
  }
11058
11074
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogApiComponent, decorators: [{
11059
11075
  type: Component,
11060
- args: [{ selector: 'app-home-log-api', imports: [FormsModule, NgIf, NgFor, TooltipModule, RouterLink, DatePipe, InfraModule, NgxPaginationModule], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log API'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log API' ]\"\n [breadcrumbList]=\"['Configura\u00E7\u00E3o ERP', 'Log']\"\n pageTitle=\"Log API\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <div class=\"col-12 row\">\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00E9todo ou API do Log\"\n class=\"mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n\n </div>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioFin\">\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalFin\">\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n <div class=\"mt-4\">\n <lib-table [list]=\"$logList\" [counts]=\"[ 5,15,25 ]\" paginationID=\"simpleTable\" *ngIf=\"!this.isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn:'Id' },\n { name: 'Usu\u00E1rio', widthClass: 'col-1', orderColumn:'NomeUsuarioLogado' },\n { name: 'API', widthClass: 'col-2', orderColumn:'ApiOrigem' },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2', orderColumn:'DtHora' },\n { name: 'Data/Hora final ocorr\u00EAncia', widthClass: 'col-3', orderColumn:'DtHoraFim' },\n { name: 'M\u00E9todo de origem', widthClass: 'col-2', orderColumn:'MetodoOrigem' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\" >\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage: itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.ApiOrigem }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-api/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
11076
+ args: [{ selector: 'app-home-log-api', imports: [FormsModule, NgIf, NgFor, TooltipModule, RouterLink, DatePipe, InfraModule, NgxPaginationModule], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log API'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log API' ]\"\n [breadcrumbList]=\"['Configura\u00E7\u00E3o ERP', 'Log']\"\n pageTitle=\"Log API\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <div class=\"col-12 row\">\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00E9todo ou API do Log\"\n class=\"mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n\n </div>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioFin\">\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalFin\">\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n <div class=\"mt-4\" *ngIf=\"!this.isListLoading; else loading\">\n <span>{{this.counterLabel}}</span>\n <lib-table [usePagination]=\"false\"\n [showCounter]=\"false\" [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1'},\n { name: 'Usu\u00E1rio', widthClass: 'col-1', icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'API', widthClass: 'col-2', icon: {\n name: this.headerOrdering['API'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2', icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora final ocorr\u00EAncia', widthClass: 'col-3', orderColumn:'DtHoraFim', icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'M\u00E9todo de origem', widthClass: 'col-2', orderColumn:'MetodoOrigem', icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"(iconClick)=\"onSortChange($event)\">\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogApi.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.ApiOrigem }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-api/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
11061
11077
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsApiService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11062
11078
  type: ViewChild,
11063
11079
  args: [SearchFiltersComponent]
@@ -11178,6 +11194,8 @@ class SearchLogDataAccess {
11178
11194
  this.IS_SLOW = false;
11179
11195
  this.ROW_LIMIT = 0;
11180
11196
  this.ROW_OFF_SET = 0;
11197
+ this.ORDERBY = "";
11198
+ this.ORDERISASC = false;
11181
11199
  }
11182
11200
  }
11183
11201
 
@@ -11208,6 +11226,12 @@ class HomeLogDataAccessComponent {
11208
11226
  this.page = 1;
11209
11227
  this.itemsPerPage = 10;
11210
11228
  this.isListLoading = true;
11229
+ this.headerOrdering = {
11230
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
11231
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
11232
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
11233
+ };
11234
+ this.counterLabel = "";
11211
11235
  this.componentPesquisa = new SearchFiltersComponent;
11212
11236
  // Função chamada quando ocorre uma mudança na ordenação
11213
11237
  this.currentSortColumn = '';
@@ -11244,6 +11268,7 @@ class HomeLogDataAccessComponent {
11244
11268
  }
11245
11269
  // #region GetList
11246
11270
  getLogsList(search = '') {
11271
+ this.isListLoading = true;
11247
11272
  this.$retLogList = new RetLogsDataAccess();
11248
11273
  this.SearchLogDataAccess.TEXTO_PESQUISA = search;
11249
11274
  this.SearchLogDataAccess.DATA_INI = this.dateIni;
@@ -11259,6 +11284,7 @@ class HomeLogDataAccessComponent {
11259
11284
  this.counter = response.Count;
11260
11285
  console.log(this.itemsPerPage);
11261
11286
  this.isListLoading = false;
11287
+ this.GetTableCounter(this.SearchLogDataAccess.ROW_LIMIT, response.Count);
11262
11288
  },
11263
11289
  error: error => {
11264
11290
  this.$retLogList = new RetLogsDataAccess();
@@ -11293,19 +11319,19 @@ class HomeLogDataAccessComponent {
11293
11319
  }
11294
11320
  }
11295
11321
  onSortChange(event) {
11296
- const { direction, column } = event;
11297
- // Verifica se a coluna atualmente selecionada é a mesma da nova seleção
11298
- if (this.currentSortColumn === column) {
11299
- // Alterna entre 'asc' e 'desc' para a direção de ordenação da coluna
11300
- this.sortDirection[column] = this.sortDirection[column] === 'asc' ? 'asc' : 'desc';
11301
- }
11302
- else {
11303
- // Define a nova coluna e a direção de ordenação como 'asc'
11304
- this.currentSortColumn = column;
11305
- this.sortDirection = { [column]: 'asc' };
11322
+ this.SearchLogDataAccess.ORDERBY = this.headerOrdering[event].orderingId;
11323
+ for (const key in this.headerOrdering) {
11324
+ if (key != event) {
11325
+ this.headerOrdering[key].isActive = false;
11326
+ this.headerOrdering[key].isAsc = false;
11327
+ }
11328
+ else {
11329
+ this.headerOrdering[key].isActive = true;
11330
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11331
+ }
11306
11332
  }
11307
- // Realiza a ordenação dos dados da tabela
11308
- this.sortData();
11333
+ this.SearchLogDataAccess.ORDERISASC = this.headerOrdering[event].isAsc;
11334
+ this.getLogsList();
11309
11335
  }
11310
11336
  // Função de ordenação dos dados da tabela
11311
11337
  sortData() {
@@ -11348,12 +11374,17 @@ class HomeLogDataAccessComponent {
11348
11374
  textoPesquisa: this.componentPesquisa.search
11349
11375
  }));
11350
11376
  }
11377
+ GetTableCounter(rowLimit, totalCount) {
11378
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
11379
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
11380
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
11381
+ }
11351
11382
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogDataAccessComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: LogsDataAccessService }, { token: TenantService }, { token: MessageService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
11352
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogDataAccessComponent, isStandalone: true, selector: "app-home-log-data-access", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log DataAccesss'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log DataAccesss' ]\"\n pageTitle=\"Log DataAccess\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateIni = null;\n dateFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00E9todo e tipo de conex\u00E3o do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\" />\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\" />\n </div>\n </app-search-filters>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[5, 15, 25]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-3',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHora'\n },\n {\n name: 'M\u00E9todo de origem',\n widthClass: 'col-4',\n orderColumn: 'MetodoOrigem'\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-data-access/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
11383
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogDataAccessComponent, isStandalone: true, selector: "app-home-log-data-access", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log DataAccesss'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log DataAccesss' ]\"\n pageTitle=\"Log DataAccess\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateIni = null;\n dateFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00E9todo e tipo de conex\u00E3o do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\" />\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\" />\n </div>\n </app-search-filters>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{counterLabel}}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10,25,50]\"\n paginationID=\"simpleTable2\"\n\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1'},\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'M\u00E9todo de origem',\n widthClass: 'col-4',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.SearchLogDataAccess.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-data-access/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "component", type: i12.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
11353
11384
  }
11354
11385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogDataAccessComponent, decorators: [{
11355
11386
  type: Component,
11356
- args: [{ selector: 'app-home-log-data-access', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log DataAccesss'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log DataAccesss' ]\"\n pageTitle=\"Log DataAccess\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateIni = null;\n dateFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00E9todo e tipo de conex\u00E3o do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\" />\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\" />\n </div>\n </app-search-filters>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[5, 15, 25]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-3',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHora'\n },\n {\n name: 'M\u00E9todo de origem',\n widthClass: 'col-4',\n orderColumn: 'MetodoOrigem'\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-data-access/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
11387
+ args: [{ selector: 'app-home-log-data-access', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log DataAccesss'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log DataAccesss' ]\"\n pageTitle=\"Log DataAccess\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateIni = null;\n dateFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00E9todo e tipo de conex\u00E3o do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\" />\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\" />\n </div>\n </app-search-filters>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{counterLabel}}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10,25,50]\"\n paginationID=\"simpleTable2\"\n\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1'},\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'M\u00E9todo de origem',\n widthClass: 'col-4',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n\n <div class=\"form-check form-switch ms-3\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.SearchLogDataAccess.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-data-access/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
11357
11388
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsDataAccessService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11358
11389
  type: ViewChild,
11359
11390
  args: [SearchFiltersComponent]
@@ -11478,6 +11509,8 @@ class SearchLogEmail {
11478
11509
  this.IS_ERROR = false;
11479
11510
  this.ROW_LIMIT = 0;
11480
11511
  this.ROW_OFF_SET = 0;
11512
+ this.ORDERBY = "";
11513
+ this.ORDERISASC = false;
11481
11514
  }
11482
11515
  }
11483
11516
 
@@ -11505,10 +11538,18 @@ class HomeLogEmailComponent {
11505
11538
  this.dateFinalIni = null;
11506
11539
  this.dateFinalFin = null;
11507
11540
  this.isError = true;
11541
+ this.counterLabel = "";
11508
11542
  this.counter = 0;
11509
11543
  this.page = 1;
11510
11544
  this.itemsPerPage = 10;
11511
11545
  this.isListLoading = true;
11546
+ this.headerOrdering = {
11547
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
11548
+ 'Destinatário': { isAsc: false, orderingId: 'Destinatario', isActive: false },
11549
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
11550
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
11551
+ 'Módulo': { isAsc: false, orderingId: 'Modulo', isActive: false },
11552
+ };
11512
11553
  this.componentPesquisa = new SearchFiltersComponent;
11513
11554
  // Função chamada quando ocorre uma mudança na ordenação
11514
11555
  this.currentSortColumn = '';
@@ -11546,6 +11587,7 @@ class HomeLogEmailComponent {
11546
11587
  }
11547
11588
  // #region GetList
11548
11589
  getLogsList(search = '') {
11590
+ this.isListLoading = true;
11549
11591
  this.$retLogList = new RetLogsEmail();
11550
11592
  this.searchLogEmail.TEXTO_PESQUISA = search;
11551
11593
  this.searchLogEmail.DATA_INICIAL_INI = this.dateInicioIni;
@@ -11561,6 +11603,7 @@ class HomeLogEmailComponent {
11561
11603
  this.$logList = response.LogsEmail;
11562
11604
  this.counter = response.Count;
11563
11605
  this.isListLoading = false;
11606
+ this.GetTableCounter(this.searchLogEmail.ROW_LIMIT, response.Count);
11564
11607
  },
11565
11608
  error: error => {
11566
11609
  this.$retLogList = new RetLogsEmail();
@@ -11595,19 +11638,19 @@ class HomeLogEmailComponent {
11595
11638
  }
11596
11639
  }
11597
11640
  onSortChange(event) {
11598
- const { direction, column } = event;
11599
- // Verifica se a coluna atualmente selecionada é a mesma da nova seleção
11600
- if (this.currentSortColumn === column) {
11601
- // Alterna entre 'asc' e 'desc' para a direção de ordenação da coluna
11602
- this.sortDirection[column] = this.sortDirection[column] === 'asc' ? 'asc' : 'desc';
11603
- }
11604
- else {
11605
- // Define a nova coluna e a direção de ordenação como 'asc'
11606
- this.currentSortColumn = column;
11607
- this.sortDirection = { [column]: 'asc' };
11641
+ this.searchLogEmail.ORDERBY = this.headerOrdering[event].orderingId;
11642
+ for (const key in this.headerOrdering) {
11643
+ if (key != event) {
11644
+ this.headerOrdering[key].isActive = false;
11645
+ this.headerOrdering[key].isAsc = false;
11646
+ }
11647
+ else {
11648
+ this.headerOrdering[key].isActive = true;
11649
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11650
+ }
11608
11651
  }
11609
- // Realiza a ordenação dos dados da tabela
11610
- this.sortData();
11652
+ this.searchLogEmail.ORDERISASC = this.headerOrdering[event].isAsc;
11653
+ this.getLogsList();
11611
11654
  }
11612
11655
  // Função de ordenação dos dados da tabela
11613
11656
  sortData() {
@@ -11651,12 +11694,17 @@ class HomeLogEmailComponent {
11651
11694
  textoPesquisa: this.componentPesquisa.search
11652
11695
  }));
11653
11696
  }
11697
+ GetTableCounter(rowLimit, totalCount) {
11698
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
11699
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
11700
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
11701
+ }
11654
11702
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogEmailComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: LogsEmailService }, { token: TenantService }, { token: MessageService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
11655
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogEmailComponent, isStandalone: true, selector: "app-home-log-email", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Email'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Email' ]\"\n pageTitle=\"Log Email\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00F3dulo ou destinat\u00E1rio do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-1',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Destinat\u00E1rio',\n widthClass: 'col-2',\n orderColumn: 'Destinatario'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n orderColumn: 'DtHora'\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHoraFim'\n },\n { name: 'M\u00F3dulo', widthClass: 'col-2', orderColumn: 'Modulo' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-2 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\" style=\"overflow: hidden\">\n {{ logs.Destinatario }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.Modulo ? logs.Modulo : \"-\" }}\n </td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-email/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-contentpcenter\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\">\n <span class=\"fw-light fst-italic text-center\">\n Consulta n\u00E3o retornou registros...\n </span>\n </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
11703
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogEmailComponent, isStandalone: true, selector: "app-home-log-email", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Email'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Email' ]\"\n pageTitle=\"Log Email\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00F3dulo ou destinat\u00E1rio do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{counterLabel}}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1'},\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-1',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Destinat\u00E1rio',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Destinat\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'M\u00F3dulo',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['M\u00F3dulo'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogEmail.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-2 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\" style=\"overflow: hidden\">\n {{ logs.Destinatario }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.Modulo ? logs.Modulo : \"-\" }}\n </td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-email/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-contentpcenter\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\">\n <span class=\"fw-light fst-italic text-center\">\n Consulta n\u00E3o retornou registros...\n </span>\n </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "component", type: i12.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
11656
11704
  }
11657
11705
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogEmailComponent, decorators: [{
11658
11706
  type: Component,
11659
- args: [{ selector: 'app-home-log-email', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Email'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Email' ]\"\n pageTitle=\"Log Email\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00F3dulo ou destinat\u00E1rio do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-1',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Destinat\u00E1rio',\n widthClass: 'col-2',\n orderColumn: 'Destinatario'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n orderColumn: 'DtHora'\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHoraFim'\n },\n { name: 'M\u00F3dulo', widthClass: 'col-2', orderColumn: 'Modulo' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-2 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\" style=\"overflow: hidden\">\n {{ logs.Destinatario }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.Modulo ? logs.Modulo : \"-\" }}\n </td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-email/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-contentpcenter\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\">\n <span class=\"fw-light fst-italic text-center\">\n Consulta n\u00E3o retornou registros...\n </span>\n </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
11707
+ args: [{ selector: 'app-home-log-email', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Email'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Email' ]\"\n pageTitle=\"Log Email\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome, m\u00F3dulo ou destinat\u00E1rio do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{counterLabel}}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1'},\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-1',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Destinat\u00E1rio',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Destinat\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'M\u00F3dulo',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['M\u00F3dulo'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent>\n <div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogEmail.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-2 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\" style=\"overflow: hidden\">\n {{ logs.Destinatario }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.Modulo ? logs.Modulo : \"-\" }}\n </td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-email/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n [iconColor]=\"module == 'Corporativo' ? 'blue' : 'gray'\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-contentpcenter\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\">\n <span class=\"fw-light fst-italic text-center\">\n Consulta n\u00E3o retornou registros...\n </span>\n </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
11660
11708
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsEmailService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11661
11709
  type: ViewChild,
11662
11710
  args: [SearchFiltersComponent]
@@ -11771,6 +11819,8 @@ class SearchLogGeral {
11771
11819
  this.DATA_FIN = null;
11772
11820
  this.ROW_LIMIT = 0;
11773
11821
  this.ROW_OFF_SET = 0;
11822
+ this.ORDERBY = "";
11823
+ this.ORDERISASC = false;
11774
11824
  }
11775
11825
  }
11776
11826
 
@@ -11799,6 +11849,12 @@ class LogsGeralComponent {
11799
11849
  this.page = 1;
11800
11850
  this.itemsPerPage = 10;
11801
11851
  this.isListLoading = true;
11852
+ this.counterLabel = "";
11853
+ this.headerOrdering = {
11854
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
11855
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
11856
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
11857
+ };
11802
11858
  this.componentPesquisa = new SearchFiltersComponent;
11803
11859
  // Função chamada quando ocorre uma mudança na ordenação
11804
11860
  this.currentSortColumn = '';
@@ -11845,6 +11901,7 @@ class LogsGeralComponent {
11845
11901
  this.$logList = response.LogsGeral;
11846
11902
  this.counter = response.Count;
11847
11903
  this.isListLoading = false;
11904
+ this.GetTableCounter(this.searchLogGeral.ROW_LIMIT, response.Count);
11848
11905
  },
11849
11906
  error: error => {
11850
11907
  this.$retLogList = new RetLogsGeral();
@@ -11878,19 +11935,19 @@ class LogsGeralComponent {
11878
11935
  }
11879
11936
  }
11880
11937
  onSortChange(event) {
11881
- const { direction, column } = event;
11882
- // Verifica se a coluna atualmente selecionada é a mesma da nova seleção
11883
- if (this.currentSortColumn === column) {
11884
- // Alterna entre 'asc' e 'desc' para a direção de ordenação da coluna
11885
- this.sortDirection[column] = this.sortDirection[column] === 'asc' ? 'asc' : 'desc';
11886
- }
11887
- else {
11888
- // Define a nova coluna e a direção de ordenação como 'asc'
11889
- this.currentSortColumn = column;
11890
- this.sortDirection = { [column]: 'asc' };
11938
+ this.searchLogGeral.ORDERBY = this.headerOrdering[event].orderingId;
11939
+ for (const key in this.headerOrdering) {
11940
+ if (key != event) {
11941
+ this.headerOrdering[key].isActive = false;
11942
+ this.headerOrdering[key].isAsc = false;
11943
+ }
11944
+ else {
11945
+ this.headerOrdering[key].isActive = true;
11946
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11947
+ }
11891
11948
  }
11892
- // Realiza a ordenação dos dados da tabela
11893
- this.sortData();
11949
+ this.searchLogGeral.ORDERISASC = this.headerOrdering[event].isAsc;
11950
+ this.getLogsList();
11894
11951
  }
11895
11952
  // Função de ordenação dos dados da tabela
11896
11953
  sortData() {
@@ -11931,12 +11988,17 @@ class LogsGeralComponent {
11931
11988
  dateFin: this.dateFin,
11932
11989
  }));
11933
11990
  }
11991
+ GetTableCounter(rowLimit, totalCount) {
11992
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
11993
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
11994
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
11995
+ }
11934
11996
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LogsGeralComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: LogsGeralService }, { token: TenantService }, { token: MessageService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
11935
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: LogsGeralComponent, isStandalone: true, selector: "app-logs-geral", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Geral'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Geral' ]\"\n pageTitle=\"Log Geral\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; resetPagination(this.$logList)\"\n placeholder=\"Digite o ID, nome ou m\u00E9todo do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"d-flex col-4\">\n <div class=\"ms-3 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Inicial\" [(ngModel)]=\"dateIni\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n <div class=\"ms-2 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Final\" [(ngModel)]=\"dateFin\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n </div>\n </app-search-filters>\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\">\n <lib-table [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\" *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn:'Id' },\n { name: 'Usu\u00E1rio', widthClass: 'col-3', orderColumn:'NomeUsuarioLogado' },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-3', orderColumn:'DtHora' },\n { name: 'M\u00E9todo Origem', widthClass: 'col-4', orderColumn:'MetodoOrigem' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\" >\n\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage: itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - hh:mm:ss\" }}</td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-geral/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n\n</div>\n <!-- #region TABLE -->\n\n <!-- #endregion TABLE -->\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n\n <!-- #endregion EMPTY LIST -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
11997
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: LogsGeralComponent, isStandalone: true, selector: "app-logs-geral", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Geral'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Geral' ]\"\n pageTitle=\"Log Geral\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; resetPagination(this.$logList)\"\n placeholder=\"Digite o ID, nome ou m\u00E9todo do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"d-flex col-4\">\n <div class=\"ms-3 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Inicial\" [(ngModel)]=\"dateIni\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n <div class=\"ms-2 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Final\" [(ngModel)]=\"dateFin\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n </div>\n </app-search-filters>\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{this.counterLabel}}</span>\n <lib-table [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1' },\n { name: 'Usu\u00E1rio', widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-3', icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'M\u00E9todo Origem', widthClass: 'col-4',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\">\n\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogGeral.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - hh:mm:ss\" }}</td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-geral/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n<div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n</div>\n <!-- #region TABLE -->\n\n <!-- #endregion TABLE -->\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n\n <!-- #endregion EMPTY LIST -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "component", type: i12.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
11936
11998
  }
11937
11999
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LogsGeralComponent, decorators: [{
11938
12000
  type: Component,
11939
- args: [{ selector: 'app-logs-geral', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Geral'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Geral' ]\"\n pageTitle=\"Log Geral\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; resetPagination(this.$logList)\"\n placeholder=\"Digite o ID, nome ou m\u00E9todo do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"d-flex col-4\">\n <div class=\"ms-3 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Inicial\" [(ngModel)]=\"dateIni\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n <div class=\"ms-2 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Final\" [(ngModel)]=\"dateFin\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n </div>\n </app-search-filters>\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\">\n <lib-table [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\" *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn:'Id' },\n { name: 'Usu\u00E1rio', widthClass: 'col-3', orderColumn:'NomeUsuarioLogado' },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-3', orderColumn:'DtHora' },\n { name: 'M\u00E9todo Origem', widthClass: 'col-4', orderColumn:'MetodoOrigem' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\" >\n\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage: itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - hh:mm:ss\" }}</td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-geral/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n\n</div>\n <!-- #region TABLE -->\n\n <!-- #endregion TABLE -->\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n\n <!-- #endregion EMPTY LIST -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
12001
+ args: [{ selector: 'app-logs-geral', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Geral'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Geral' ]\"\n pageTitle=\"Log Geral\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; resetPagination(this.$logList)\"\n placeholder=\"Digite o ID, nome ou m\u00E9todo do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"d-flex col-4\">\n <div class=\"ms-3 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Inicial\" [(ngModel)]=\"dateIni\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n <div class=\"ms-2 input-group\">\n <lib-icon class=\"input-group-text\" iconName=\"calendario\" />\n <input type=\"text\" class=\"form-control\" placeholder=\"Data Final\" [(ngModel)]=\"dateFin\"\n onfocus=\"this.type='datetime-local'\">\n </div>\n </div>\n </app-search-filters>\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{this.counterLabel}}</span>\n <lib-table [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1' },\n { name: 'Usu\u00E1rio', widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-3', icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'M\u00E9todo Origem', widthClass: 'col-4',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\">\n\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogGeral.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-3 align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - hh:mm:ss\" }}</td>\n <td class=\"col-4 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-geral/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n<div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n</div>\n <!-- #region TABLE -->\n\n <!-- #endregion TABLE -->\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n\n <!-- #endregion EMPTY LIST -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
11940
12002
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsGeralService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11941
12003
  type: ViewChild,
11942
12004
  args: [SearchFiltersComponent]
@@ -12063,6 +12125,8 @@ class SearchLogReport {
12063
12125
  this.IS_ERROR = true;
12064
12126
  this.ROW_LIMIT = 0;
12065
12127
  this.ROW_OFF_SET = 0;
12128
+ this.ORDERBY = "";
12129
+ this.ORDERISASC = false;
12066
12130
  }
12067
12131
  }
12068
12132
 
@@ -12092,6 +12156,14 @@ class HomeLogsReportComponent {
12092
12156
  this.page = 1;
12093
12157
  this.itemsPerPage = 10;
12094
12158
  this.isListLoading = true;
12159
+ this.counterLabel = "";
12160
+ this.headerOrdering = {
12161
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
12162
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
12163
+ 'Produto': { isAsc: false, orderingId: 'Product', isActive: false },
12164
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
12165
+ 'Report': { isAsc: false, orderingId: 'Report', isActive: false },
12166
+ };
12095
12167
  this.componentPesquisa = new SearchFiltersComponent;
12096
12168
  // Função chamada quando ocorre uma mudança na ordenação
12097
12169
  this.currentSortColumn = '';
@@ -12140,6 +12212,7 @@ class HomeLogsReportComponent {
12140
12212
  this.$logList = response.LogsReport;
12141
12213
  this.isListLoading = false;
12142
12214
  this.counter = response.Count;
12215
+ this.GetTableCounter(this.searchLogReport.ROW_LIMIT, response.Count);
12143
12216
  },
12144
12217
  error: error => {
12145
12218
  this.$retLogList = new RetLogsReport();
@@ -12174,19 +12247,19 @@ class HomeLogsReportComponent {
12174
12247
  }
12175
12248
  }
12176
12249
  onSortChange(event) {
12177
- const { direction, column } = event;
12178
- // Verifica se a coluna atualmente selecionada é a mesma da nova seleção
12179
- if (this.currentSortColumn === column) {
12180
- // Alterna entre 'asc' e 'desc' para a direção de ordenação da coluna
12181
- this.sortDirection[column] = this.sortDirection[column] === 'asc' ? 'asc' : 'desc';
12182
- }
12183
- else {
12184
- // Define a nova coluna e a direção de ordenação como 'asc'
12185
- this.currentSortColumn = column;
12186
- this.sortDirection = { [column]: 'asc' };
12250
+ this.searchLogReport.ORDERBY = this.headerOrdering[event].orderingId;
12251
+ for (const key in this.headerOrdering) {
12252
+ if (key != event) {
12253
+ this.headerOrdering[key].isActive = false;
12254
+ this.headerOrdering[key].isAsc = false;
12255
+ }
12256
+ else {
12257
+ this.headerOrdering[key].isActive = true;
12258
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
12259
+ }
12187
12260
  }
12188
- // Realiza a ordenação dos dados da tabela
12189
- this.sortData();
12261
+ this.searchLogReport.ORDERISASC = this.headerOrdering[event].isAsc;
12262
+ this.getLogsList();
12190
12263
  }
12191
12264
  // Função de ordenação dos dados da tabela
12192
12265
  sortData() {
@@ -12228,12 +12301,17 @@ class HomeLogsReportComponent {
12228
12301
  textoPesquisa: this.componentPesquisa.search
12229
12302
  }));
12230
12303
  }
12304
+ GetTableCounter(rowLimit, totalCount) {
12305
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
12306
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
12307
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
12308
+ }
12231
12309
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogsReportComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: LogsReportService }, { token: TenantService }, { token: MessageService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
12232
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogsReportComponent, isStandalone: true, selector: "app-home-logs-report", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Report'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Report' ]\"\npageTitle=\"Log Report\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; isError = true; resetPagination(this.$logList);\"\n placeholder=\"Digite o id, nome, m\u00E9todo, produto ou report do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\">\n </div>\n </app-search-filters>\n<!-- <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div> -->\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\">\n <lib-table [list]=\"$logList\" [counts]=\"[ 5,15,25 ]\" paginationID=\"simpleTable\" *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn:'Id' },\n { name: 'Usu\u00E1rio', widthClass: 'col-1', orderColumn:'NomeUsuarioLogado' },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2', orderColumn:'DtHora' },\n { name: 'Produto', widthClass: 'col-2', orderColumn:'Product' },\n { name: 'M\u00E9todo Origem', widthClass: 'col-3', orderColumn:'MetodoOrigem' },\n { name: 'Report', widthClass: 'col-2', orderColumn:'Report' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\" >\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage: itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\" align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"align-middle\">{{ logs.Product ? logs.Product : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem ? logs.MetodoOrigem : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.Report ? logs.Report : \"-\" }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-report/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n\n</div>\n <!-- #region TABLE -->\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
12310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogsReportComponent, isStandalone: true, selector: "app-home-logs-report", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Report'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Report' ]\"\npageTitle=\"Log Report\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; isError = true; resetPagination(this.$logList);\"\n placeholder=\"Digite o id, nome, m\u00E9todo, produto ou report do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\">\n </div>\n </app-search-filters>\n<!-- <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div> -->\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{this.counterLabel}}</span>\n <lib-table [usePagination]=\"false\"\n [showCounter]=\"false\" [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1' },\n { name: 'Usu\u00E1rio', widthClass: 'col-1',icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'Produto', widthClass: 'col-2', icon: {\n name: this.headerOrdering['Produto'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'M\u00E9todo Origem', widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'Report', widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Report'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\">\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogReport.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\" align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"align-middle\">{{ logs.Product ? logs.Product : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem ? logs.MetodoOrigem : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.Report ? logs.Report : \"-\" }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-report/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n<div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n</div>\n <!-- #region TABLE -->\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "component", type: i12.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
12233
12311
  }
12234
12312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogsReportComponent, decorators: [{
12235
12313
  type: Component,
12236
- args: [{ selector: 'app-home-logs-report', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Report'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Report' ]\"\npageTitle=\"Log Report\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; isError = true; resetPagination(this.$logList);\"\n placeholder=\"Digite o id, nome, m\u00E9todo, produto ou report do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\">\n </div>\n </app-search-filters>\n<!-- <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div> -->\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\">\n <lib-table [list]=\"$logList\" [counts]=\"[ 5,15,25 ]\" paginationID=\"simpleTable\" *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn:'Id' },\n { name: 'Usu\u00E1rio', widthClass: 'col-1', orderColumn:'NomeUsuarioLogado' },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2', orderColumn:'DtHora' },\n { name: 'Produto', widthClass: 'col-2', orderColumn:'Product' },\n { name: 'M\u00E9todo Origem', widthClass: 'col-3', orderColumn:'MetodoOrigem' },\n { name: 'Report', widthClass: 'col-2', orderColumn:'Report' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\" >\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage: itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\" align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"align-middle\">{{ logs.Product ? logs.Product : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem ? logs.MetodoOrigem : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.Report ? logs.Report : \"-\" }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-report/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n\n</div>\n <!-- #region TABLE -->\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
12314
+ args: [{ selector: 'app-home-logs-report', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Report'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Report' ]\"\npageTitle=\"Log Report\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateIni = null; dateFin = null; isError = true; resetPagination(this.$logList);\"\n placeholder=\"Digite o id, nome, m\u00E9todo, produto ou report do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n <div class=\"input-group ms-3 w-75\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFin\">\n </div>\n </app-search-filters>\n<!-- <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div> -->\n <!-- #endregion SEARCH AND FILTERS -->\n<div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{this.counterLabel}}</span>\n <lib-table [usePagination]=\"false\"\n [showCounter]=\"false\" [list]=\"$logList\" [counts]=\"[ 10,25,50 ]\" paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1' },\n { name: 'Usu\u00E1rio', widthClass: 'col-1',icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'Data/Hora ocorr\u00EAncia', widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'Produto', widthClass: 'col-2', icon: {\n name: this.headerOrdering['Produto'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n } },\n { name: 'M\u00E9todo Origem', widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'Report', widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Report'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\">\n<div upperContent>\n<div class=\"d-flex\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n</div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogReport.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\" align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"align-middle\">{{ logs.Product ? logs.Product : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.MetodoOrigem ? logs.MetodoOrigem : \"-\" }}</td>\n <td class=\"align-middle\">{{ logs.Report ? logs.Report : \"-\" }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-report/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n<div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n</div>\n <!-- #region TABLE -->\n <!-- #endregion TABLE -->\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
12237
12315
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsReportService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
12238
12316
  type: ViewChild,
12239
12317
  args: [SearchFiltersComponent]
@@ -12356,6 +12434,8 @@ class SearchLogTimer {
12356
12434
  this.IS_SLOW = false;
12357
12435
  this.ROW_LIMIT = 0;
12358
12436
  this.ROW_OFF_SET = 0;
12437
+ this.ORDERBY = "";
12438
+ this.ORDERISASC = false;
12359
12439
  }
12360
12440
  }
12361
12441
 
@@ -12384,10 +12464,19 @@ class HomeLogTimerComponent {
12384
12464
  this.dateFinalFin = null;
12385
12465
  this.isError = true;
12386
12466
  this.isSlow = false;
12467
+ this.counterLabel = "";
12387
12468
  this.counter = 0;
12388
12469
  this.page = 1;
12389
12470
  this.itemsPerPage = 10;
12390
12471
  this.isListLoading = true;
12472
+ this.headerOrdering = {
12473
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
12474
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
12475
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
12476
+ 'Módulo': { isAsc: false, orderingId: 'Modulo', isActive: false },
12477
+ 'Nome do Timer': { isAsc: false, orderingId: 'TimerOrigem', isActive: false },
12478
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
12479
+ };
12391
12480
  this.componentPesquisa = new SearchFiltersComponent;
12392
12481
  // Função chamada quando ocorre uma mudança na ordenação
12393
12482
  this.currentSortColumn = '';
@@ -12442,6 +12531,7 @@ class HomeLogTimerComponent {
12442
12531
  this.$logList = response.LogsTimer;
12443
12532
  this.counter = response.Count;
12444
12533
  this.isListLoading = false;
12534
+ this.GetTableCounter(this.searchLogTimer.ROW_LIMIT, response.Count);
12445
12535
  },
12446
12536
  error: error => {
12447
12537
  this.$retLogList = new RetLogsTimer();
@@ -12476,19 +12566,19 @@ class HomeLogTimerComponent {
12476
12566
  }
12477
12567
  }
12478
12568
  onSortChange(event) {
12479
- const { direction, column } = event;
12480
- // Verifica se a coluna atualmente selecionada é a mesma da nova seleção
12481
- if (this.currentSortColumn === column) {
12482
- // Alterna entre 'asc' e 'desc' para a direção de ordenação da coluna
12483
- this.sortDirection[column] = this.sortDirection[column] === 'asc' ? 'asc' : 'desc';
12484
- }
12485
- else {
12486
- // Define a nova coluna e a direção de ordenação como 'asc'
12487
- this.currentSortColumn = column;
12488
- this.sortDirection = { [column]: 'asc' };
12569
+ this.searchLogTimer.ORDERBY = this.headerOrdering[event].orderingId;
12570
+ for (const key in this.headerOrdering) {
12571
+ if (key != event) {
12572
+ this.headerOrdering[key].isActive = false;
12573
+ this.headerOrdering[key].isAsc = false;
12574
+ }
12575
+ else {
12576
+ this.headerOrdering[key].isActive = true;
12577
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
12578
+ }
12489
12579
  }
12490
- // Realiza a ordenação dos dados da tabela
12491
- this.sortData();
12580
+ this.searchLogTimer.ORDERISASC = this.headerOrdering[event].isAsc;
12581
+ this.getLogsList();
12492
12582
  }
12493
12583
  // Função de ordenação dos dados da tabela
12494
12584
  sortData() {
@@ -12533,12 +12623,17 @@ class HomeLogTimerComponent {
12533
12623
  textoPesquisa: this.componentPesquisa.search
12534
12624
  }));
12535
12625
  }
12626
+ GetTableCounter(rowLimit, totalCount) {
12627
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
12628
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
12629
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
12630
+ }
12536
12631
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogTimerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: LogsTimerService }, { token: TenantService }, { token: MessageService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
12537
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogTimerComponent, isStandalone: true, selector: "app-home-log-timer", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Timer'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Timer' ]\"\n pageTitle=\"Log Timer\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00F3dulo ou nome do timer do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n <!-- <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Lento</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isSlow\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div> -->\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[5, 15, 25]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n orderColumn: 'DtHora'\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHoraFim'\n },\n { name: 'M\u00F3dulo', widthClass: 'col-1', orderColumn: 'Modulo' },\n {\n name: 'Nome do Timer',\n widthClass: 'col-2',\n orderColumn: 'TimerOrigem'\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.Modulo }}</td>\n <td class=\"align-middle\">{{ logs.TimerOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-timer/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
12632
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogTimerComponent, isStandalone: true, selector: "app-home-log-timer", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Timer'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Timer' ]\"\n pageTitle=\"Log Timer\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00F3dulo ou nome do timer do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n <!-- <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Lento</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isSlow\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div> -->\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n\n <div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{counterLabel}}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1',\n\n },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'M\u00F3dulo', widthClass: 'col-1',\n icon: {\n name: this.headerOrdering['M\u00F3dulo'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Nome do Timer',\n widthClass: 'col-2',\n\n icon: {\n name: this.headerOrdering['Nome do Timer'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogTimer.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.Modulo }}</td>\n <td class=\"align-middle\">{{ logs.TimerOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-timer/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "component", type: i12.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
12538
12633
  }
12539
12634
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogTimerComponent, decorators: [{
12540
12635
  type: Component,
12541
- args: [{ selector: 'app-home-log-timer', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Timer'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Timer' ]\"\n pageTitle=\"Log Timer\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00F3dulo ou nome do timer do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n <!-- <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Lento</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isSlow\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div> -->\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[5, 15, 25]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n orderColumn: 'DtHora'\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHoraFim'\n },\n { name: 'M\u00F3dulo', widthClass: 'col-1', orderColumn: 'Modulo' },\n {\n name: 'Nome do Timer',\n widthClass: 'col-2',\n orderColumn: 'TimerOrigem'\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.Modulo }}</td>\n <td class=\"align-middle\">{{ logs.TimerOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-timer/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
12636
+ args: [{ selector: 'app-home-log-timer', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log Timer'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log Timer' ]\"\n pageTitle=\"Log Timer\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, usu\u00E1rio, m\u00F3dulo ou nome do timer do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n <!-- <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Lento</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isSlow\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div> -->\n\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n\n <div class=\"mt-4\" *ngIf=\"!isListLoading; else loading\">\n <span>{{counterLabel}}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1',\n\n },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: 'M\u00F3dulo', widthClass: 'col-1',\n icon: {\n name: this.headerOrdering['M\u00F3dulo'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Nome do Timer',\n widthClass: 'col-2',\n\n icon: {\n name: this.headerOrdering['Nome do Timer'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage: this.searchLogTimer.ROW_LIMIT, currentPage: this.page, totalItems: this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"align-middle\">{{ logs.Id }}</td>\n <td class=\"align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"align-middle\">{{ logs.Modulo }}</td>\n <td class=\"align-middle\">{{ logs.TimerOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-timer/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n class=\"glb-cursor-pointer text-primary\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div\n class=\"d-flex justify-content-end mt-2\"\n *ngIf=\"$logList.length > 0\"\n >\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
12542
12637
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsTimerService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
12543
12638
  type: ViewChild,
12544
12639
  args: [SearchFiltersComponent]
@@ -12660,6 +12755,8 @@ class SearchLogWS {
12660
12755
  this.IS_SLOW = false;
12661
12756
  this.ROW_LIMIT = 0;
12662
12757
  this.ROW_OFF_SET = 0;
12758
+ this.ORDERBY = "";
12759
+ this.ORDERISASC = false;
12663
12760
  }
12664
12761
  }
12665
12762
 
@@ -12692,6 +12789,13 @@ class HomeLogsWSComponent {
12692
12789
  this.page = 1;
12693
12790
  this.itemsPerPage = 10;
12694
12791
  this.isListLoading = true;
12792
+ this.counterLabel = "";
12793
+ this.headerOrdering = {
12794
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
12795
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
12796
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
12797
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
12798
+ };
12695
12799
  this.componentPesquisa = new SearchFiltersComponent;
12696
12800
  // Função chamada quando ocorre uma mudança na ordenação
12697
12801
  this.currentSortColumn = '';
@@ -12746,6 +12850,7 @@ class HomeLogsWSComponent {
12746
12850
  this.$logList = response.LogsWS;
12747
12851
  this.counter = response.Count;
12748
12852
  this.isListLoading = false;
12853
+ this.GetTableCounter(this.searchLogWS.ROW_LIMIT, response.Count);
12749
12854
  },
12750
12855
  error: error => {
12751
12856
  this.$retLogList = new RetLogsWS();
@@ -12779,19 +12884,19 @@ class HomeLogsWSComponent {
12779
12884
  }
12780
12885
  }
12781
12886
  onSortChange(event) {
12782
- const { direction, column } = event;
12783
- // Verifica se a coluna atualmente selecionada é a mesma da nova seleção
12784
- if (this.currentSortColumn === column) {
12785
- // Alterna entre 'asc' e 'desc' para a direção de ordenação da coluna
12786
- this.sortDirection[column] = this.sortDirection[column] === 'asc' ? 'asc' : 'desc';
12787
- }
12788
- else {
12789
- // Define a nova coluna e a direção de ordenação como 'asc'
12790
- this.currentSortColumn = column;
12791
- this.sortDirection = { [column]: 'asc' };
12887
+ this.searchLogWS.ORDERBY = this.headerOrdering[event].orderingId;
12888
+ for (const key in this.headerOrdering) {
12889
+ if (key != event) {
12890
+ this.headerOrdering[key].isActive = false;
12891
+ this.headerOrdering[key].isAsc = false;
12892
+ }
12893
+ else {
12894
+ this.headerOrdering[key].isActive = true;
12895
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
12896
+ }
12792
12897
  }
12793
- // Realiza a ordenação dos dados da tabela
12794
- this.sortData();
12898
+ this.searchLogWS.ORDERISASC = this.headerOrdering[event].isAsc;
12899
+ this.getLogsList();
12795
12900
  }
12796
12901
  // Função de ordenação dos dados da tabela
12797
12902
  sortData() {
@@ -12836,12 +12941,17 @@ class HomeLogsWSComponent {
12836
12941
  textoPesquisa: this.componentPesquisa.search
12837
12942
  }));
12838
12943
  }
12944
+ GetTableCounter(rowLimit, totalCount) {
12945
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
12946
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
12947
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
12948
+ }
12839
12949
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogsWSComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: LogsWSService }, { token: TenantService }, { token: MessageService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
12840
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogsWSComponent, isStandalone: true, selector: "app-home-logs-ws", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log WS'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log WS' ]\"\n pageTitle=\"Log WS\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateInicioIni = null; dateInicioFin = null; dateFinalIni = null; dateFinalFin = null; isError = true; isSlow= false; resetPagination(this.$logList)\"\n placeholder=\"Digite o id, nome ou m\u00E9todo do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n\n </app-search-filters>\n\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioFin\">\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalFin\">\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[5, 15, 25]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!this.isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHora'\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHoraFim'\n },\n { name: 'M\u00E9todo do Origem', widthClass: 'col-2', orderColumn: 'MetodoOrigem' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Lento</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isSlow\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"col-2 align-middle\">{{ logs.DtHoraFim | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"col-3 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-ws/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\"> <span class=\"fw-light fst-italic text-center\"> Consulta\n n\u00E3o retornou registros... </span> </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
12950
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: HomeLogsWSComponent, isStandalone: true, selector: "app-home-logs-ws", host: { listeners: { "window:beforeunload": "setEstadoReload($event)" } }, providers: [TenantService], viewQueries: [{ propertyName: "componentPesquisa", first: true, predicate: SearchFiltersComponent, descendants: true }], ngImport: i0, template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\"\n this.module == 'Corporativo'\n ? ['Corporativo', 'Log', 'Log WS']\n : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log WS']\n \"\n pageTitle=\"Log WS\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome ou m\u00E9todo do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\" *ngIf=\"!this.isListLoading; else loading\">\n <span>{{ this.counterLabel }}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'M\u00E9todo de origem',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage:\n this.searchLogWS.ROW_LIMIT, currentPage: this.page, totalItems:\n this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-3 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-ws/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$logList.length > 0\">\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\">\n <span class=\"fw-light fst-italic text-center\">\n Consulta n\u00E3o retornou registros...\n </span>\n </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["selection", "useSelection", "selectedCount", "usePagination", "list", "counts", "placement", "headers", "emptyListMessage", "showCounter", "hoverable", "usePreviousStyle", "scrollable", "paginationID", "divBorderClass", "tableBorderClass"], outputs: ["itemsPerPageChange", "pageChange", "selectionChange", "iconClick", "colunasModificadas"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: SearchFiltersComponent, selector: "app-search-filters, lib-basic-filters", inputs: ["placeholder", "useIsActive", "basicFilters"], outputs: ["_executeGetBySearch", "_EMIT_CLEAR_EXTRA_INPUT"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }, { kind: "component", type: i12.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
12841
12951
  }
12842
12952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogsWSComponent, decorators: [{
12843
12953
  type: Component,
12844
- args: [{ selector: 'app-home-logs-ws', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n[breadcrumbList]=\" this.module == 'Corporativo' ? ['Corporativo', 'Log', 'Log WS'] : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log WS' ]\"\n pageTitle=\"Log WS\" />\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"dateInicioIni = null; dateInicioFin = null; dateFinalIni = null; dateFinalFin = null; isError = true; isSlow= false; resetPagination(this.$logList)\"\n placeholder=\"Digite o id, nome ou m\u00E9todo do Log\" class=\"d-flex col-12 mb-4\" [useIsActive]=\"false\">\n\n </app-search-filters>\n\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateInicioFin\">\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalIni\">\n <span class=\"input-group-text\">At\u00E9</span>\n <input class=\"form-control\" type=\"datetime-local\" [(ngModel)]=\"dateFinalFin\">\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\">\n <lib-table\n [list]=\"$logList\"\n [counts]=\"[5, 15, 25]\"\n paginationID=\"simpleTable\"\n *ngIf=\"!this.isListLoading; else loading\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1', orderColumn: 'Id' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n orderColumn: 'NomeUsuarioLogado'\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHora'\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n orderColumn: 'DtHoraFim'\n },\n { name: 'M\u00E9todo do Origem', widthClass: 'col-2', orderColumn: 'MetodoOrigem' },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (itemsPerPageChange)=\"itemsPerPage = $event\"\n (pageChange)=\"page = $event\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Erro</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isError\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\" >Lento</label>\n <input class=\"form-check-input\" [(ngModel)]=\"isSlow\"\n type=\"checkbox\" role=\"switch\" id=\"inputSearchDN\">\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { id: 'simpleTable', itemsPerPage:\n itemsPerPage, currentPage: page }; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\">{{ logs.DtHora | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"col-2 align-middle\">{{ logs.DtHoraFim | date: \"dd/MM/yyyy - HH:mm:ss\" }}</td>\n <td class=\"col-3 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a [routerLink]=\"['/logs-ws/detalhes', logs.Id]\" target=\"_blank\" (click)=\"setEstado();\">\n <lib-icon iconName=\"olho\" tooltip=\"Visualizar\" class=\"glb-cursor-pointer text-primary\" [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\" />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n </div>\n\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\"> <span class=\"fw-light fst-italic text-center\"> Consulta\n n\u00E3o retornou registros... </span> </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
12954
+ args: [{ selector: 'app-home-logs-ws', imports: [InfraModule, FormsModule, NgIf, NgFor, TooltipModule, RouterLink, NgxPaginationModule, DatePipe], providers: [TenantService], template: "<!-- #region HEADER -->\n<lib-header\n [breadcrumbList]=\"\n this.module == 'Corporativo'\n ? ['Corporativo', 'Log', 'Log WS']\n : ['Configura\u00E7\u00E3o ERP', 'Log', 'Log WS']\n \"\n pageTitle=\"Log WS\"\n/>\n<!-- #endregion HEADER -->\n\n<!-- #region Corpo -->\n<div class=\"glb-main-container p-3\">\n <!-- #region SEARCH AND FILTERS -->\n <app-search-filters\n (_executeGetBySearch)=\"getLogsList($event.toString())\"\n (_EMIT_CLEAR_EXTRA_INPUT)=\"\n dateInicioIni = null;\n dateInicioFin = null;\n dateFinalIni = null;\n dateFinalFin = null;\n isError = true;\n isSlow = false;\n resetPagination(this.$logList)\n \"\n placeholder=\"Digite o id, nome ou m\u00E9todo do Log\"\n class=\"d-flex col-12 mb-4\"\n [useIsActive]=\"false\"\n >\n </app-search-filters>\n\n <div class=\"row\">\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateInicioFin\"\n />\n </div>\n </div>\n <div class=\"col-6\">\n <label class=\"form-label\">Data/Hora final ocorr\u00EAncia:</label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalIni\"\n />\n <span class=\"input-group-text\">At\u00E9</span>\n <input\n class=\"form-control\"\n type=\"datetime-local\"\n [(ngModel)]=\"dateFinalFin\"\n />\n </div>\n </div>\n </div>\n <!-- #endregion SEARCH AND FILTERS -->\n\n <!-- #region TABLE -->\n <div class=\"mt-4\" *ngIf=\"!this.isListLoading; else loading\">\n <span>{{ this.counterLabel }}</span>\n <lib-table\n [usePagination]=\"false\"\n [showCounter]=\"false\"\n [list]=\"$logList\"\n [counts]=\"[10, 25, 50]\"\n paginationID=\"simpleTable\"\n [headers]=\"[\n { name: 'Id', widthClass: 'col-1' },\n {\n name: 'Usu\u00E1rio',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['Usu\u00E1rio'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'Data/Hora final ocorr\u00EAncia',\n widthClass: 'col-3',\n icon: {\n name: this.headerOrdering['Data/Hora final ocorr\u00EAncia'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n {\n name: 'M\u00E9todo de origem',\n widthClass: 'col-2',\n icon: {\n name: this.headerOrdering['M\u00E9todo de origem'].isAsc\n ? 'seta-cima'\n : 'seta-baixo',\n theme: 'blue',\n emitClick: true\n }\n },\n { name: '', widthClass: 'col-1', customClasses: 'text-end' }\n ]\"\n (iconClick)=\"onSortChange($event)\"\n >\n <div upperContent class=\"d-flex\">\n <div class=\"ms-3 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Erro</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isError\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n <div class=\"ms-2 input-group\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"inputSearchDN\">Lento</label>\n <input\n class=\"form-check-input\"\n [(ngModel)]=\"isSlow\"\n type=\"checkbox\"\n role=\"switch\"\n id=\"inputSearchDN\"\n />\n </div>\n </div>\n </div>\n @for (logs of $logList! | paginate: { itemsPerPage:\n this.searchLogWS.ROW_LIMIT, currentPage: this.page, totalItems:\n this.$retLogList.Count}; track logs) {\n <tr innerRows class=\"align-middle\">\n <td class=\"col-1 align-middle\">{{ logs.Id }}</td>\n <td class=\"col-3 align-middle\">{{ logs.NomeUsuarioLogado }}</td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHora | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-2 align-middle\">\n {{ logs.DtHoraFim | date : \"dd/MM/yyyy - HH:mm:ss\" }}\n </td>\n <td class=\"col-3 align-middle\">{{ logs.MetodoOrigem }}</td>\n <td class=\"acoes-column align-middle\">\n <a\n [routerLink]=\"['/logs-ws/detalhes', logs.Id]\"\n target=\"_blank\"\n (click)=\"setEstado()\"\n >\n <lib-icon\n iconName=\"olho\"\n tooltip=\"Visualizar\"\n class=\"glb-cursor-pointer text-primary\"\n [iconColor]=\"this.module == 'Corporativo' ? 'blue' : 'gray'\"\n />\n </a>\n </td>\n </tr>\n }\n </lib-table>\n <div *ngIf=\"!isListLoading\">\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$logList.length > 0\">\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap\"\n >Itens por p\u00E1gina</label\n >\n <select\n class=\"form-select select-search\"\n (change)=\"onSelectChange($event)\"\n >\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <pagination-controls\n class=\"sp-pagination mt-3\"\n (pageChange)=\"pageChanged($event)\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\"\n nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\"\n [maxSize]=\"5\"\n >\n </pagination-controls>\n </div>\n </div>\n </div>\n\n <!-- #region SPINNER -->\n <ng-template #loading>\n <div class=\"d-flex justify-content-center\">\n <lib-spinner></lib-spinner>\n </div>\n </ng-template>\n <!-- #endregion SPINNER -->\n\n <!-- #region EMPTY LIST -->\n <ng-template #emptyList>\n <tbody class=\"fade-in\">\n <tr>\n <td colspan=\"12\" class=\"align-middle\">\n <span class=\"fw-light fst-italic text-center\">\n Consulta n\u00E3o retornou registros...\n </span>\n </td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST -->\n</div>\n", styles: ["th tr,tr tr,table tr,tbody tr{transition:all .3s}th tr:hover,tr tr:hover,table tr:hover,tbody tr:hover{background-color:#cce5ff}.table-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.fade-in{opacity:0;animation:fadeInAnimation .5s ease-in-out forwards}.fade-in-row{animation:fadeInRowAnimation .5s ease-in-out}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInRowAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acoes-column{text-align:center;width:10%}\n"] }]
12845
12955
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsWSService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
12846
12956
  type: ViewChild,
12847
12957
  args: [SearchFiltersComponent]