ngx-sp-infra 5.2.4 → 5.2.6

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.
@@ -2891,6 +2891,35 @@ class IconsList {
2891
2891
  { nome: "contas-a-receber", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2892
2892
  <path d="M10.3379 0.757076C11.2261 -0.35577 12.9861 -0.226761 13.6895 1.04516L13.9023 1.4309L13.9492 1.50024C14.07 1.64972 14.2718 1.7154 14.4609 1.65844L14.5889 1.62524C15.8591 1.35154 16.843 2.76962 16.1416 3.86352L16.0654 3.97192L15.6172 4.55981C18.5094 6.82231 20.9998 11.2147 21 14.2893L20.9863 14.6897C20.6962 18.805 15.9894 22.0001 12.0811 22.0002L11.7002 21.9905C7.864 21.7935 3.30458 18.6725 3.01465 14.6897L3 14.2893C3.00018 11.2735 5.47518 6.98949 8.34375 4.69165L7.65527 3.73461C7.23103 3.13917 7.23728 2.44022 7.60059 1.93188C7.96182 1.4268 8.61931 1.18864 9.31934 1.37524L9.43066 1.39575C9.69074 1.42299 9.94977 1.30751 10.1025 1.08813L10.2549 0.869381L10.3379 0.757076ZM12.0811 4.08715C11.5946 4.08715 11.0416 4.22771 10.4395 4.51977L10.1777 4.65454C8.67459 5.47377 7.11211 7.08651 5.91895 8.95825C4.71939 10.8401 4.00011 12.8157 4 14.2893C4.00013 16.0355 5.02908 17.702 6.64551 18.9739C8.26065 20.2447 10.3186 21.0002 12.0811 21.0002C13.8405 21.0001 15.8537 20.2465 17.4258 18.9807C18.9973 17.7152 19.9999 16.0483 20 14.2893C19.9999 12.4417 18.9146 9.85199 17.2578 7.67993C16.5627 6.76865 15.793 5.96936 15.0107 5.35571L15.0068 5.36254L14.6084 5.05883L14.5703 5.02954C13.6532 4.39813 12.8024 4.08725 12.0811 4.08715ZM12.8145 1.52954C12.4698 0.906158 11.6237 0.824711 11.1621 1.33129L11.0752 1.43969L10.9238 1.65844C10.5347 2.21794 9.85545 2.4935 9.19336 2.37133L9.06152 2.34106C8.73105 2.25297 8.51405 2.3741 8.41406 2.51391C8.31675 2.65045 8.27474 2.88205 8.46875 3.15454L9.15234 4.10473C9.22888 4.055 9.30507 4.00576 9.38184 3.95922L9.69922 3.77661C10.5017 3.33935 11.3102 3.08715 12.0811 3.08715L12.2705 3.09204C13.0978 3.13549 13.955 3.46204 14.7969 3.98559L15.2705 3.36547L15.3154 3.29419C15.4939 2.95726 15.2102 2.54835 14.832 2.5979L14.75 2.61547C14.1243 2.80425 13.454 2.55959 13.0947 2.02563L13.0273 1.9143L12.8145 1.52954Z" fill="currentColor"/>
2893
2893
  <path d="M12.5703 8.35742C12.8465 8.35742 13.0703 8.58128 13.0703 8.85742V9.91504H15.9033L16.0039 9.9248C16.2319 9.97131 16.4033 10.1733 16.4033 10.415C16.4033 10.6567 16.2319 10.8588 16.0039 10.9053L15.9033 10.915H13.0703V12.6426H14.2363L14.4941 12.6494C15.0934 12.6839 15.6754 12.8396 16.1387 13.1104C16.661 13.4156 17.0703 13.8993 17.0703 14.5059C17.0702 15.1124 16.6609 15.5961 16.1387 15.9014C15.6755 16.172 15.0933 16.3278 14.4941 16.3623L14.2363 16.3691H13.0703V17.4287C13.0702 17.7048 12.8464 17.9287 12.5703 17.9287C12.2942 17.9287 12.0704 17.7048 12.0703 17.4287V16.3691H8.57031C8.29428 16.3691 8.07039 16.1452 8.07031 15.8691C8.07043 15.5931 8.29431 15.3692 8.57031 15.3691H12.0703V13.6426H10.9033C10.2155 13.6425 9.53026 13.4841 9.00098 13.1748C8.51136 12.8886 8.12196 12.4447 8.0752 11.8906L8.07031 11.7783C8.07045 11.1721 8.47898 10.688 9.00098 10.3828C9.53026 10.0735 10.2155 9.9151 10.9033 9.91504H12.0703V8.85742C12.0703 8.58128 12.2942 8.35742 12.5703 8.35742ZM13.0703 15.3691H14.2363L14.4404 15.3633C14.9094 15.3358 15.3322 15.2148 15.6348 15.0381C15.987 14.8321 16.0702 14.6225 16.0703 14.5059C16.0703 14.3892 15.9872 14.1797 15.6348 13.9736C15.3322 13.7968 14.9095 13.6759 14.4404 13.6484L14.2363 13.6426H13.0703V15.3691ZM10.9033 10.915C10.3538 10.9151 9.85154 11.0441 9.50586 11.2461C9.15357 11.4521 9.07045 11.6616 9.07031 11.7783L9.07422 11.8262C9.09478 11.9473 9.19693 12.131 9.50586 12.3115C9.85153 12.5135 10.3538 12.6425 10.9033 12.6426H12.0703V10.915H10.9033Z" fill="currentColor"/>
2894
+ </svg>` },
2895
+ { nome: "carrinho-compras", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2896
+ <path d="M8.73526 22.5C9.53444 22.5 10.1823 21.8284 10.1823 21C10.1823 20.1716 9.53444 19.5 8.73526 19.5C7.93607 19.5 7.28821 20.1716 7.28821 21C7.28821 21.8284 7.93607 22.5 8.73526 22.5Z" fill="currentColor"/>
2897
+ <path d="M18.8647 22.5C19.6638 22.5 20.3117 21.8284 20.3117 21C20.3117 20.1716 19.6638 19.5 18.8647 19.5C18.0655 19.5 17.4176 20.1716 17.4176 21C17.4176 21.8284 18.0655 22.5 18.8647 22.5Z" fill="currentColor"/>
2898
+ <path d="M21.7587 5.25015H5.71092L5.11762 2.10015C5.0838 1.9282 4.99287 1.77398 4.86067 1.66435C4.72847 1.55472 4.56337 1.49661 4.3941 1.50015H1.5V3.00015H3.80081L6.56467 17.4002C6.5985 17.5721 6.68943 17.7263 6.82163 17.836C6.95383 17.9456 7.11893 18.0037 7.2882 18.0002H20.3116V16.5002H7.88149L7.2882 13.5002H20.3116C20.4789 13.5044 20.6424 13.4484 20.7743 13.3418C20.9062 13.2351 20.9984 13.0843 21.0352 12.9152L22.4822 6.16515C22.5065 6.05387 22.5059 5.93832 22.4806 5.8273C22.4552 5.71628 22.4058 5.61271 22.336 5.52448C22.2663 5.43625 22.178 5.36568 22.078 5.31814C21.9779 5.2706 21.8687 5.24735 21.7587 5.25015ZM19.7328 12.0002H7.01326L6.00033 6.75015H20.8543L19.7328 12.0002Z" fill="currentColor"/>
2899
+ </svg>` },
2900
+ { nome: "verificado-custom", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2901
+ <path d="M0 11.668C0 10.3147 0.899229 9.09187 2.41504 8.13086C1.93894 6.46951 2.03887 5.03431 2.83301 4.08789C3.8079 2.92619 5.64636 2.71767 7.84961 3.31348C9.01659 1.26127 10.5597 0.000232697 12.2285 0C13.9382 0 15.4555 1.32313 16.5332 3.46484C18.6809 3.11585 20.4663 3.47663 21.4482 4.64648C22.3162 5.68086 22.4228 7.18706 21.8945 8.88672C23.2216 9.88724 23.9998 11.0741 24 12.332C24 13.7782 22.9736 15.0767 21.2646 16.0645C21.7045 17.6782 21.5926 19.07 20.8164 19.9951C19.8682 21.125 18.1025 21.3557 15.9795 20.8193C14.8218 22.7935 13.3077 24 11.6748 24C10.0245 23.9998 8.55383 22.7668 7.48438 20.7549C5.36585 21.0859 3.6067 20.7206 2.63477 19.5625C1.74681 18.5043 1.65728 16.9529 2.22754 15.2051C0.825705 14.1859 1.52201e-05 12.9643 0 11.668Z" fill="currentColor"/>
2902
+ <path d="M16.8306 8.90491L13.7368 11.9049L10.6431 14.9049L7.83057 12.1776" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
2903
+ </svg>` },
2904
+ { nome: "coluna", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2905
+ <rect x="4.5" y="4.5" width="15" height="15" rx="1.5" stroke="currentColor"/>
2906
+ <rect x="8.5" y="4.5" width="1" height="15" fill="currentColor"/>
2907
+ <rect x="14.5" y="4.5" width="1" height="15" fill="currentColor"/>
2908
+ </svg>` },
2909
+ { nome: "campos-customizados", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2910
+ <path d="M8.21359 7.58594C7.58338 7.58594 7.01567 7.69531 6.51046 7.91406C6.01046 8.1276 5.58338 8.4401 5.22921 8.85156C4.88025 9.25781 4.61203 9.75 4.42453 10.3281C4.23703 10.9062 4.14328 11.5573 4.14328 12.2812C4.14328 13.2396 4.29171 14.0729 4.58859 14.7812C4.89067 15.4844 5.33859 16.0286 5.93234 16.4141C6.5313 16.7995 7.27869 16.9922 8.17453 16.9922C8.68494 16.9922 9.16411 16.9505 9.61203 16.8672C10.0652 16.7786 10.5053 16.6693 10.9323 16.5391V17.6953C10.5157 17.8516 10.0782 17.9661 9.61984 18.0391C9.1615 18.1172 8.61723 18.1562 7.98703 18.1562C6.82557 18.1562 5.85421 17.9167 5.07296 17.4375C4.29692 16.9531 3.71359 16.2708 3.32296 15.3906C2.93755 14.5104 2.74484 13.4714 2.74484 12.2734C2.74484 11.4089 2.86463 10.6198 3.10421 9.90625C3.349 9.1875 3.70317 8.56771 4.16671 8.04688C4.63546 7.52604 5.20838 7.125 5.88546 6.84375C6.56775 6.55729 7.349 6.41406 8.22921 6.41406C8.80734 6.41406 9.36463 6.47135 9.90109 6.58594C10.4375 6.70052 10.9219 6.86458 11.3542 7.07812L10.823 8.20312C10.4584 8.03646 10.0573 7.89323 9.61984 7.77344C9.18755 7.64844 8.7188 7.58594 8.21359 7.58594ZM18.5989 7.58594C17.9687 7.58594 17.401 7.69531 16.8958 7.91406C16.3958 8.1276 15.9687 8.4401 15.6145 8.85156C15.2656 9.25781 14.9974 9.75 14.8099 10.3281C14.6224 10.9062 14.5286 11.5573 14.5286 12.2812C14.5286 13.2396 14.677 14.0729 14.9739 14.7812C15.276 15.4844 15.7239 16.0286 16.3177 16.4141C16.9166 16.7995 17.664 16.9922 18.5599 16.9922C19.0703 16.9922 19.5494 16.9505 19.9974 16.8672C20.4505 16.7786 20.8906 16.6693 21.3177 16.5391V17.6953C20.901 17.8516 20.4635 17.9661 20.0052 18.0391C19.5468 18.1172 19.0026 18.1562 18.3724 18.1562C17.2109 18.1562 16.2395 17.9167 15.4583 17.4375C14.6822 16.9531 14.0989 16.2708 13.7083 15.3906C13.3229 14.5104 13.1302 13.4714 13.1302 12.2734C13.1302 11.4089 13.25 10.6198 13.4895 9.90625C13.7343 9.1875 14.0885 8.56771 14.552 8.04688C15.0208 7.52604 15.5937 7.125 16.2708 6.84375C16.9531 6.55729 17.7343 6.41406 18.6145 6.41406C19.1927 6.41406 19.75 6.47135 20.2864 6.58594C20.8229 6.70052 21.3072 6.86458 21.7395 7.07812L21.2083 8.20312C20.8437 8.03646 20.4427 7.89323 20.0052 7.77344C19.5729 7.64844 19.1041 7.58594 18.5989 7.58594Z" fill="currentColor"/>
2911
+ </svg>` },
2912
+ { nome: "condicional", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2913
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M22 9V15H16V9H22ZM22 8C22.5523 8 23 8.44772 23 9V15C23 15.5523 22.5523 16 22 16H16C15.4477 16 15 15.5523 15 15V12.5H12.5V19V19.5H12H9V22C9 22.5523 8.55229 23 8 23H2C1.44772 23 1 22.5523 1 22V16C1 15.4477 1.44772 15 2 15H8C8.55229 15 9 15.4477 9 16V18.5H11.5V12V5.5H9V8C9 8.55228 8.55229 9 8 9H2C1.44772 9 1 8.55228 1 8V2C1 1.44772 1.44772 1 2 1H8C8.55229 1 9 1.44772 9 2V4.5H12H12.5V5V11.5H15V9C15 8.44772 15.4477 8 16 8H22ZM2 2H8V8H2V2ZM2 22H8V16H2V22Z" fill="currentColor"/>
2914
+ </svg>` },
2915
+ { nome: "ponto", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2916
+ <circle cx="12" cy="12" r="4" fill="currentColor"/>
2917
+ </svg>` },
2918
+ { nome: "impressora-nova", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2919
+ <path d="M4.875 10.0254H19.125C20.214 10.0254 21.0996 10.911 21.0996 12V15.5625C21.0996 15.9984 20.7484 16.3496 20.3125 16.3496H18.7246V19.125C18.7246 20.214 17.839 21.0996 16.75 21.0996H7.25C6.16095 21.0996 5.27539 20.214 5.27539 19.125V16.3496H3.6875C3.25158 16.3496 2.90039 15.9984 2.90039 15.5625V12C2.90039 10.911 3.78595 10.0254 4.875 10.0254ZM6.84961 19.5254H17.1504V15.1621H6.84961V19.5254ZM18.5312 11.3027C18.189 11.3027 17.8602 11.4386 17.6182 11.6807C17.3761 11.9227 17.2402 12.2515 17.2402 12.5938C17.2402 12.936 17.3761 13.2648 17.6182 13.5068C17.8602 13.7489 18.189 13.8848 18.5312 13.8848C18.8735 13.8848 19.2023 13.7489 19.4443 13.5068C19.6864 13.2648 19.8223 12.936 19.8223 12.5938C19.8223 12.2515 19.6864 11.9227 19.4443 11.6807C19.2023 11.4386 18.8735 11.3027 18.5312 11.3027ZM17.1504 5.79688L15.8281 4.47461H6.84961V8.03711H5.27539V4.875C5.27539 3.78595 6.16095 2.90039 7.25 2.90039H15.6631C16.1885 2.90049 16.691 3.10719 17.0605 3.47656L18.1484 4.56445C18.5178 4.93398 18.7245 5.4365 18.7246 5.96191V8.03711H17.1504V5.79688Z" stroke="currentColor" stroke-width="0.8"/>
2920
+ </svg>` },
2921
+ { nome: "sem-imagem", categoria: "", tags: [], svg: `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2922
+ <path d="M21 4.53571C21.4125 4.53571 21.75 4.84107 21.75 5.21429V18.7772L21.5156 18.5016L15.1406 11.0373C14.9297 10.7871 14.5969 10.6429 14.25 10.6429C13.9031 10.6429 13.575 10.7871 13.3594 11.0373L9.46875 15.5922L8.03906 13.7812C7.82812 13.5141 7.49062 13.3571 7.125 13.3571C6.75938 13.3571 6.42188 13.5141 6.21094 13.7855L2.46094 18.5355L2.25 18.7984V18.7857V5.21429C2.25 4.84107 2.5875 4.53571 3 4.53571H21ZM3 2.5C1.34531 2.5 0 3.71719 0 5.21429V18.7857C0 20.2828 1.34531 21.5 3 21.5H21C22.6547 21.5 24 20.2828 24 18.7857V5.21429C24 3.71719 22.6547 2.5 21 2.5H3ZM6.75 10.6429C7.04547 10.6429 7.33806 10.5902 7.61104 10.4879C7.88402 10.3856 8.13206 10.2356 8.34099 10.0466C8.54992 9.85758 8.71566 9.63316 8.82873 9.38618C8.9418 9.13919 9 8.87448 9 8.60714C9 8.33981 8.9418 8.07509 8.82873 7.82811C8.71566 7.58112 8.54992 7.35671 8.34099 7.16768C8.13206 6.97864 7.88402 6.82869 7.61104 6.72639C7.33806 6.62408 7.04547 6.57143 6.75 6.57143C6.45453 6.57143 6.16194 6.62408 5.88896 6.72639C5.61598 6.82869 5.36794 6.97864 5.15901 7.16768C4.95008 7.35671 4.78434 7.58112 4.67127 7.82811C4.5582 8.07509 4.5 8.33981 4.5 8.60714C4.5 8.87448 4.5582 9.13919 4.67127 9.38618C4.78434 9.63316 4.95008 9.85758 5.15901 10.0466C5.36794 10.2356 5.61598 10.3856 5.88896 10.4879C6.16194 10.5902 6.45453 10.6429 6.75 10.6429Z" fill="currentColor"/>
2894
2923
  </svg>` },
2895
2924
  ];
2896
2925
  // #endregion LISTA COMPLETA DE ÍCONES - ÍCONES NOVOS DEVEM SER ADICIONADOS AQUI
@@ -10873,6 +10902,8 @@ class SearchLogApi {
10873
10902
  this.IS_SLOW = false;
10874
10903
  this.ROW_LIMIT = 0;
10875
10904
  this.ROW_OFF_SET = 0;
10905
+ this.ORDERBY = "";
10906
+ this.ORDERISASC = false;
10876
10907
  }
10877
10908
  }
10878
10909
 
@@ -10901,16 +10932,23 @@ class HomeLogApiComponent {
10901
10932
  this.dateFinalFin = null;
10902
10933
  this.isError = true;
10903
10934
  this.isSlow = false;
10935
+ this.counterLabel = "";
10904
10936
  this.counter = 0;
10905
10937
  this.page = 1;
10906
10938
  this.itemsPerPage = 10;
10907
10939
  this.isListLoading = true;
10940
+ this.headerOrdering = {
10941
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
10942
+ 'API': { isAsc: false, orderingId: 'ApiOrigem', isActive: false },
10943
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
10944
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
10945
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
10946
+ };
10908
10947
  this.componentPesquisa = new SearchFiltersComponent;
10909
10948
  // Função chamada quando ocorre uma mudança na ordenação
10910
10949
  this.currentSortColumn = '';
10911
10950
  this.sortDirection = {};
10912
10951
  this.module = window.location.href.includes('Corporativo') ? "Corporativo" : "ConfigErp";
10913
- console.log(this.module == 'ConfigErp');
10914
10952
  if (this.module == 'ConfigErp' && (!this._tenantService.tenantId || this._tenantService.tenantId == 0)) {
10915
10953
  this._messageService.showAlertInfo("Você deve selecionar um domínio para executar esta opção.");
10916
10954
  this._router.navigate(["/home"]);
@@ -10945,6 +10983,7 @@ class HomeLogApiComponent {
10945
10983
  }
10946
10984
  // #region GetList
10947
10985
  getLogsList(search = '') {
10986
+ this.isListLoading = true;
10948
10987
  this.$retLogList = new RetLogsApi();
10949
10988
  this.searchLogApi.TEXTO_PESQUISA = search;
10950
10989
  this.searchLogApi.DATA_INICIAL_INI = this.dateInicioIni;
@@ -10961,6 +11000,7 @@ class HomeLogApiComponent {
10961
11000
  this.$logList = response.LogsApi;
10962
11001
  this.counter = response.Count;
10963
11002
  this.isListLoading = false;
11003
+ this.GetTableCounter(this.searchLogApi.ROW_LIMIT, response.Count);
10964
11004
  },
10965
11005
  error: error => {
10966
11006
  this.$retLogList = new RetLogsApi();
@@ -10994,20 +11034,25 @@ class HomeLogApiComponent {
10994
11034
  this.page = 1;
10995
11035
  }
10996
11036
  }
11037
+ GetTableCounter(rowLimit, totalCount) {
11038
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
11039
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
11040
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
11041
+ }
10997
11042
  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' };
11043
+ this.searchLogApi.ORDERBY = this.headerOrdering[event].orderingId;
11044
+ for (const key in this.headerOrdering) {
11045
+ if (key != event) {
11046
+ this.headerOrdering[key].isActive = false;
11047
+ this.headerOrdering[key].isAsc = false;
11048
+ }
11049
+ else {
11050
+ this.headerOrdering[key].isActive = true;
11051
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11052
+ }
11008
11053
  }
11009
- // Realiza a ordenação dos dados da tabela
11010
- this.sortData();
11054
+ this.searchLogApi.ORDERISASC = this.headerOrdering[event].isAsc;
11055
+ this.getLogsList();
11011
11056
  }
11012
11057
  // Função de ordenação dos dados da tabela
11013
11058
  sortData() {
@@ -11053,11 +11098,11 @@ class HomeLogApiComponent {
11053
11098
  }));
11054
11099
  }
11055
11100
  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" }] }); }
11101
+ 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
11102
  }
11058
11103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogApiComponent, decorators: [{
11059
11104
  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"] }]
11105
+ 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
11106
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsApiService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11062
11107
  type: ViewChild,
11063
11108
  args: [SearchFiltersComponent]
@@ -11178,6 +11223,8 @@ class SearchLogDataAccess {
11178
11223
  this.IS_SLOW = false;
11179
11224
  this.ROW_LIMIT = 0;
11180
11225
  this.ROW_OFF_SET = 0;
11226
+ this.ORDERBY = "";
11227
+ this.ORDERISASC = false;
11181
11228
  }
11182
11229
  }
11183
11230
 
@@ -11208,6 +11255,12 @@ class HomeLogDataAccessComponent {
11208
11255
  this.page = 1;
11209
11256
  this.itemsPerPage = 10;
11210
11257
  this.isListLoading = true;
11258
+ this.headerOrdering = {
11259
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
11260
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
11261
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
11262
+ };
11263
+ this.counterLabel = "";
11211
11264
  this.componentPesquisa = new SearchFiltersComponent;
11212
11265
  // Função chamada quando ocorre uma mudança na ordenação
11213
11266
  this.currentSortColumn = '';
@@ -11244,6 +11297,7 @@ class HomeLogDataAccessComponent {
11244
11297
  }
11245
11298
  // #region GetList
11246
11299
  getLogsList(search = '') {
11300
+ this.isListLoading = true;
11247
11301
  this.$retLogList = new RetLogsDataAccess();
11248
11302
  this.SearchLogDataAccess.TEXTO_PESQUISA = search;
11249
11303
  this.SearchLogDataAccess.DATA_INI = this.dateIni;
@@ -11259,6 +11313,7 @@ class HomeLogDataAccessComponent {
11259
11313
  this.counter = response.Count;
11260
11314
  console.log(this.itemsPerPage);
11261
11315
  this.isListLoading = false;
11316
+ this.GetTableCounter(this.SearchLogDataAccess.ROW_LIMIT, response.Count);
11262
11317
  },
11263
11318
  error: error => {
11264
11319
  this.$retLogList = new RetLogsDataAccess();
@@ -11293,19 +11348,19 @@ class HomeLogDataAccessComponent {
11293
11348
  }
11294
11349
  }
11295
11350
  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' };
11351
+ this.SearchLogDataAccess.ORDERBY = this.headerOrdering[event].orderingId;
11352
+ for (const key in this.headerOrdering) {
11353
+ if (key != event) {
11354
+ this.headerOrdering[key].isActive = false;
11355
+ this.headerOrdering[key].isAsc = false;
11356
+ }
11357
+ else {
11358
+ this.headerOrdering[key].isActive = true;
11359
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11360
+ }
11306
11361
  }
11307
- // Realiza a ordenação dos dados da tabela
11308
- this.sortData();
11362
+ this.SearchLogDataAccess.ORDERISASC = this.headerOrdering[event].isAsc;
11363
+ this.getLogsList();
11309
11364
  }
11310
11365
  // Função de ordenação dos dados da tabela
11311
11366
  sortData() {
@@ -11348,12 +11403,17 @@ class HomeLogDataAccessComponent {
11348
11403
  textoPesquisa: this.componentPesquisa.search
11349
11404
  }));
11350
11405
  }
11406
+ GetTableCounter(rowLimit, totalCount) {
11407
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
11408
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
11409
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
11410
+ }
11351
11411
  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" }] }); }
11412
+ 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
11413
  }
11354
11414
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogDataAccessComponent, decorators: [{
11355
11415
  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"] }]
11416
+ 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
11417
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsDataAccessService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11358
11418
  type: ViewChild,
11359
11419
  args: [SearchFiltersComponent]
@@ -11478,6 +11538,8 @@ class SearchLogEmail {
11478
11538
  this.IS_ERROR = false;
11479
11539
  this.ROW_LIMIT = 0;
11480
11540
  this.ROW_OFF_SET = 0;
11541
+ this.ORDERBY = "";
11542
+ this.ORDERISASC = false;
11481
11543
  }
11482
11544
  }
11483
11545
 
@@ -11505,10 +11567,18 @@ class HomeLogEmailComponent {
11505
11567
  this.dateFinalIni = null;
11506
11568
  this.dateFinalFin = null;
11507
11569
  this.isError = true;
11570
+ this.counterLabel = "";
11508
11571
  this.counter = 0;
11509
11572
  this.page = 1;
11510
11573
  this.itemsPerPage = 10;
11511
11574
  this.isListLoading = true;
11575
+ this.headerOrdering = {
11576
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
11577
+ 'Destinatário': { isAsc: false, orderingId: 'Destinatario', isActive: false },
11578
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
11579
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
11580
+ 'Módulo': { isAsc: false, orderingId: 'Modulo', isActive: false },
11581
+ };
11512
11582
  this.componentPesquisa = new SearchFiltersComponent;
11513
11583
  // Função chamada quando ocorre uma mudança na ordenação
11514
11584
  this.currentSortColumn = '';
@@ -11546,6 +11616,7 @@ class HomeLogEmailComponent {
11546
11616
  }
11547
11617
  // #region GetList
11548
11618
  getLogsList(search = '') {
11619
+ this.isListLoading = true;
11549
11620
  this.$retLogList = new RetLogsEmail();
11550
11621
  this.searchLogEmail.TEXTO_PESQUISA = search;
11551
11622
  this.searchLogEmail.DATA_INICIAL_INI = this.dateInicioIni;
@@ -11561,6 +11632,7 @@ class HomeLogEmailComponent {
11561
11632
  this.$logList = response.LogsEmail;
11562
11633
  this.counter = response.Count;
11563
11634
  this.isListLoading = false;
11635
+ this.GetTableCounter(this.searchLogEmail.ROW_LIMIT, response.Count);
11564
11636
  },
11565
11637
  error: error => {
11566
11638
  this.$retLogList = new RetLogsEmail();
@@ -11595,19 +11667,19 @@ class HomeLogEmailComponent {
11595
11667
  }
11596
11668
  }
11597
11669
  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' };
11670
+ this.searchLogEmail.ORDERBY = this.headerOrdering[event].orderingId;
11671
+ for (const key in this.headerOrdering) {
11672
+ if (key != event) {
11673
+ this.headerOrdering[key].isActive = false;
11674
+ this.headerOrdering[key].isAsc = false;
11675
+ }
11676
+ else {
11677
+ this.headerOrdering[key].isActive = true;
11678
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11679
+ }
11608
11680
  }
11609
- // Realiza a ordenação dos dados da tabela
11610
- this.sortData();
11681
+ this.searchLogEmail.ORDERISASC = this.headerOrdering[event].isAsc;
11682
+ this.getLogsList();
11611
11683
  }
11612
11684
  // Função de ordenação dos dados da tabela
11613
11685
  sortData() {
@@ -11651,12 +11723,17 @@ class HomeLogEmailComponent {
11651
11723
  textoPesquisa: this.componentPesquisa.search
11652
11724
  }));
11653
11725
  }
11726
+ GetTableCounter(rowLimit, totalCount) {
11727
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
11728
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
11729
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
11730
+ }
11654
11731
  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" }] }); }
11732
+ 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
11733
  }
11657
11734
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogEmailComponent, decorators: [{
11658
11735
  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"] }]
11736
+ 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
11737
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsEmailService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11661
11738
  type: ViewChild,
11662
11739
  args: [SearchFiltersComponent]
@@ -11771,6 +11848,8 @@ class SearchLogGeral {
11771
11848
  this.DATA_FIN = null;
11772
11849
  this.ROW_LIMIT = 0;
11773
11850
  this.ROW_OFF_SET = 0;
11851
+ this.ORDERBY = "";
11852
+ this.ORDERISASC = false;
11774
11853
  }
11775
11854
  }
11776
11855
 
@@ -11799,6 +11878,12 @@ class LogsGeralComponent {
11799
11878
  this.page = 1;
11800
11879
  this.itemsPerPage = 10;
11801
11880
  this.isListLoading = true;
11881
+ this.counterLabel = "";
11882
+ this.headerOrdering = {
11883
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
11884
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
11885
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
11886
+ };
11802
11887
  this.componentPesquisa = new SearchFiltersComponent;
11803
11888
  // Função chamada quando ocorre uma mudança na ordenação
11804
11889
  this.currentSortColumn = '';
@@ -11845,6 +11930,7 @@ class LogsGeralComponent {
11845
11930
  this.$logList = response.LogsGeral;
11846
11931
  this.counter = response.Count;
11847
11932
  this.isListLoading = false;
11933
+ this.GetTableCounter(this.searchLogGeral.ROW_LIMIT, response.Count);
11848
11934
  },
11849
11935
  error: error => {
11850
11936
  this.$retLogList = new RetLogsGeral();
@@ -11878,19 +11964,19 @@ class LogsGeralComponent {
11878
11964
  }
11879
11965
  }
11880
11966
  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' };
11967
+ this.searchLogGeral.ORDERBY = this.headerOrdering[event].orderingId;
11968
+ for (const key in this.headerOrdering) {
11969
+ if (key != event) {
11970
+ this.headerOrdering[key].isActive = false;
11971
+ this.headerOrdering[key].isAsc = false;
11972
+ }
11973
+ else {
11974
+ this.headerOrdering[key].isActive = true;
11975
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
11976
+ }
11891
11977
  }
11892
- // Realiza a ordenação dos dados da tabela
11893
- this.sortData();
11978
+ this.searchLogGeral.ORDERISASC = this.headerOrdering[event].isAsc;
11979
+ this.getLogsList();
11894
11980
  }
11895
11981
  // Função de ordenação dos dados da tabela
11896
11982
  sortData() {
@@ -11931,12 +12017,17 @@ class LogsGeralComponent {
11931
12017
  dateFin: this.dateFin,
11932
12018
  }));
11933
12019
  }
12020
+ GetTableCounter(rowLimit, totalCount) {
12021
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
12022
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
12023
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
12024
+ }
11934
12025
  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" }] }); }
12026
+ 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
12027
  }
11937
12028
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LogsGeralComponent, decorators: [{
11938
12029
  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"] }]
12030
+ 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
12031
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsGeralService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
11941
12032
  type: ViewChild,
11942
12033
  args: [SearchFiltersComponent]
@@ -12063,6 +12154,8 @@ class SearchLogReport {
12063
12154
  this.IS_ERROR = true;
12064
12155
  this.ROW_LIMIT = 0;
12065
12156
  this.ROW_OFF_SET = 0;
12157
+ this.ORDERBY = "";
12158
+ this.ORDERISASC = false;
12066
12159
  }
12067
12160
  }
12068
12161
 
@@ -12092,6 +12185,14 @@ class HomeLogsReportComponent {
12092
12185
  this.page = 1;
12093
12186
  this.itemsPerPage = 10;
12094
12187
  this.isListLoading = true;
12188
+ this.counterLabel = "";
12189
+ this.headerOrdering = {
12190
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
12191
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
12192
+ 'Produto': { isAsc: false, orderingId: 'Product', isActive: false },
12193
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
12194
+ 'Report': { isAsc: false, orderingId: 'Report', isActive: false },
12195
+ };
12095
12196
  this.componentPesquisa = new SearchFiltersComponent;
12096
12197
  // Função chamada quando ocorre uma mudança na ordenação
12097
12198
  this.currentSortColumn = '';
@@ -12140,6 +12241,7 @@ class HomeLogsReportComponent {
12140
12241
  this.$logList = response.LogsReport;
12141
12242
  this.isListLoading = false;
12142
12243
  this.counter = response.Count;
12244
+ this.GetTableCounter(this.searchLogReport.ROW_LIMIT, response.Count);
12143
12245
  },
12144
12246
  error: error => {
12145
12247
  this.$retLogList = new RetLogsReport();
@@ -12174,19 +12276,19 @@ class HomeLogsReportComponent {
12174
12276
  }
12175
12277
  }
12176
12278
  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' };
12279
+ this.searchLogReport.ORDERBY = this.headerOrdering[event].orderingId;
12280
+ for (const key in this.headerOrdering) {
12281
+ if (key != event) {
12282
+ this.headerOrdering[key].isActive = false;
12283
+ this.headerOrdering[key].isAsc = false;
12284
+ }
12285
+ else {
12286
+ this.headerOrdering[key].isActive = true;
12287
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
12288
+ }
12187
12289
  }
12188
- // Realiza a ordenação dos dados da tabela
12189
- this.sortData();
12290
+ this.searchLogReport.ORDERISASC = this.headerOrdering[event].isAsc;
12291
+ this.getLogsList();
12190
12292
  }
12191
12293
  // Função de ordenação dos dados da tabela
12192
12294
  sortData() {
@@ -12228,12 +12330,17 @@ class HomeLogsReportComponent {
12228
12330
  textoPesquisa: this.componentPesquisa.search
12229
12331
  }));
12230
12332
  }
12333
+ GetTableCounter(rowLimit, totalCount) {
12334
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
12335
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
12336
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
12337
+ }
12231
12338
  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" }] }); }
12339
+ 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
12340
  }
12234
12341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogsReportComponent, decorators: [{
12235
12342
  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"] }]
12343
+ 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
12344
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsReportService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
12238
12345
  type: ViewChild,
12239
12346
  args: [SearchFiltersComponent]
@@ -12356,6 +12463,8 @@ class SearchLogTimer {
12356
12463
  this.IS_SLOW = false;
12357
12464
  this.ROW_LIMIT = 0;
12358
12465
  this.ROW_OFF_SET = 0;
12466
+ this.ORDERBY = "";
12467
+ this.ORDERISASC = false;
12359
12468
  }
12360
12469
  }
12361
12470
 
@@ -12384,10 +12493,19 @@ class HomeLogTimerComponent {
12384
12493
  this.dateFinalFin = null;
12385
12494
  this.isError = true;
12386
12495
  this.isSlow = false;
12496
+ this.counterLabel = "";
12387
12497
  this.counter = 0;
12388
12498
  this.page = 1;
12389
12499
  this.itemsPerPage = 10;
12390
12500
  this.isListLoading = true;
12501
+ this.headerOrdering = {
12502
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
12503
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
12504
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
12505
+ 'Módulo': { isAsc: false, orderingId: 'Modulo', isActive: false },
12506
+ 'Nome do Timer': { isAsc: false, orderingId: 'TimerOrigem', isActive: false },
12507
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
12508
+ };
12391
12509
  this.componentPesquisa = new SearchFiltersComponent;
12392
12510
  // Função chamada quando ocorre uma mudança na ordenação
12393
12511
  this.currentSortColumn = '';
@@ -12442,6 +12560,7 @@ class HomeLogTimerComponent {
12442
12560
  this.$logList = response.LogsTimer;
12443
12561
  this.counter = response.Count;
12444
12562
  this.isListLoading = false;
12563
+ this.GetTableCounter(this.searchLogTimer.ROW_LIMIT, response.Count);
12445
12564
  },
12446
12565
  error: error => {
12447
12566
  this.$retLogList = new RetLogsTimer();
@@ -12476,19 +12595,19 @@ class HomeLogTimerComponent {
12476
12595
  }
12477
12596
  }
12478
12597
  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' };
12598
+ this.searchLogTimer.ORDERBY = this.headerOrdering[event].orderingId;
12599
+ for (const key in this.headerOrdering) {
12600
+ if (key != event) {
12601
+ this.headerOrdering[key].isActive = false;
12602
+ this.headerOrdering[key].isAsc = false;
12603
+ }
12604
+ else {
12605
+ this.headerOrdering[key].isActive = true;
12606
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
12607
+ }
12489
12608
  }
12490
- // Realiza a ordenação dos dados da tabela
12491
- this.sortData();
12609
+ this.searchLogTimer.ORDERISASC = this.headerOrdering[event].isAsc;
12610
+ this.getLogsList();
12492
12611
  }
12493
12612
  // Função de ordenação dos dados da tabela
12494
12613
  sortData() {
@@ -12533,12 +12652,17 @@ class HomeLogTimerComponent {
12533
12652
  textoPesquisa: this.componentPesquisa.search
12534
12653
  }));
12535
12654
  }
12655
+ GetTableCounter(rowLimit, totalCount) {
12656
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
12657
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
12658
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
12659
+ }
12536
12660
  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" }] }); }
12661
+ 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
12662
  }
12539
12663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogTimerComponent, decorators: [{
12540
12664
  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"] }]
12665
+ 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
12666
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsTimerService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
12543
12667
  type: ViewChild,
12544
12668
  args: [SearchFiltersComponent]
@@ -12660,6 +12784,8 @@ class SearchLogWS {
12660
12784
  this.IS_SLOW = false;
12661
12785
  this.ROW_LIMIT = 0;
12662
12786
  this.ROW_OFF_SET = 0;
12787
+ this.ORDERBY = "";
12788
+ this.ORDERISASC = false;
12663
12789
  }
12664
12790
  }
12665
12791
 
@@ -12692,6 +12818,13 @@ class HomeLogsWSComponent {
12692
12818
  this.page = 1;
12693
12819
  this.itemsPerPage = 10;
12694
12820
  this.isListLoading = true;
12821
+ this.counterLabel = "";
12822
+ this.headerOrdering = {
12823
+ 'Usuário': { isAsc: false, orderingId: 'NomeUsuarioLogado', isActive: false },
12824
+ 'Data/Hora ocorrência': { isAsc: false, orderingId: 'DtHora', isActive: false },
12825
+ 'Método de origem': { isAsc: false, orderingId: 'MetodoOrigem', isActive: false },
12826
+ 'Data/Hora final ocorrência': { isAsc: false, orderingId: 'DtHoraFim', isActive: false },
12827
+ };
12695
12828
  this.componentPesquisa = new SearchFiltersComponent;
12696
12829
  // Função chamada quando ocorre uma mudança na ordenação
12697
12830
  this.currentSortColumn = '';
@@ -12746,6 +12879,7 @@ class HomeLogsWSComponent {
12746
12879
  this.$logList = response.LogsWS;
12747
12880
  this.counter = response.Count;
12748
12881
  this.isListLoading = false;
12882
+ this.GetTableCounter(this.searchLogWS.ROW_LIMIT, response.Count);
12749
12883
  },
12750
12884
  error: error => {
12751
12885
  this.$retLogList = new RetLogsWS();
@@ -12779,19 +12913,19 @@ class HomeLogsWSComponent {
12779
12913
  }
12780
12914
  }
12781
12915
  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' };
12916
+ this.searchLogWS.ORDERBY = this.headerOrdering[event].orderingId;
12917
+ for (const key in this.headerOrdering) {
12918
+ if (key != event) {
12919
+ this.headerOrdering[key].isActive = false;
12920
+ this.headerOrdering[key].isAsc = false;
12921
+ }
12922
+ else {
12923
+ this.headerOrdering[key].isActive = true;
12924
+ this.headerOrdering[key].isAsc = !this.headerOrdering[key].isAsc;
12925
+ }
12792
12926
  }
12793
- // Realiza a ordenação dos dados da tabela
12794
- this.sortData();
12927
+ this.searchLogWS.ORDERISASC = this.headerOrdering[event].isAsc;
12928
+ this.getLogsList();
12795
12929
  }
12796
12930
  // Função de ordenação dos dados da tabela
12797
12931
  sortData() {
@@ -12836,12 +12970,17 @@ class HomeLogsWSComponent {
12836
12970
  textoPesquisa: this.componentPesquisa.search
12837
12971
  }));
12838
12972
  }
12973
+ GetTableCounter(rowLimit, totalCount) {
12974
+ const counterInicial = (this.page - 1) * this.itemsPerPage;
12975
+ const counterFinal = ((this.page - 1) * this.itemsPerPage + rowLimit) > totalCount ? totalCount : ((this.page - 1) * this.itemsPerPage + rowLimit);
12976
+ this.counterLabel = `Exibindo ${counterInicial}-${counterFinal} de ${totalCount} registros`;
12977
+ }
12839
12978
  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" }] }); }
12979
+ 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
12980
  }
12842
12981
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HomeLogsWSComponent, decorators: [{
12843
12982
  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"] }]
12983
+ 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
12984
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: LogsWSService }, { type: TenantService }, { type: MessageService }, { type: i4.Router }], propDecorators: { componentPesquisa: [{
12846
12985
  type: ViewChild,
12847
12986
  args: [SearchFiltersComponent]